From daedfffd95b375f00deacb43b6de5e02ddde6df4 Mon Sep 17 00:00:00 2001 From: Santiago Baldassin Date: Tue, 18 Mar 2014 16:54:26 -0300 Subject: [PATCH] Do not add current tenant to private flavor access Avoid adding the current tenant to the flavor access list when a private flavor is created. In ordeir to add tenants to the flavor access list we should use the add_tenant api. Tempest has to be updated accordingly: https://review.openstack.org/81551 Documentation has to be updated as well: https://review.openstack.org/82175 Partially (just for the V2 API rather than V2 and V3) reverts commit 6ba248635b70860a44e486e7739efa4cc6612ce6 Fixes unittest which was added in the original commit so it checks for the behaviour we have now rather than the behaviour after the backwards incompatible change which is being reverted. Change-Id: I731081b6df0d96df1bc1763d214d28c62bbbb51c Closes-Bug: #1286297 --- .../os-flavor-access/flavor-access-add-tenant-resp.json | 4 ---- .../os-flavor-access/flavor-access-add-tenant-resp.xml | 1 - .../os-flavor-access/flavor-access-list-resp.json | 4 ---- .../os-flavor-access/flavor-access-list-resp.xml | 1 - .../os-flavor-access/flavor-access-remove-tenant-resp.json | 5 +---- .../os-flavor-access/flavor-access-remove-tenant-resp.xml | 4 +--- nova/api/openstack/compute/contrib/flavormanage.py | 3 --- .../api/openstack/compute/contrib/test_flavor_manage.py | 6 +++--- .../os-flavor-access/flavor-access-add-tenant-resp.json.tpl | 4 ---- .../os-flavor-access/flavor-access-add-tenant-resp.xml.tpl | 1 - .../os-flavor-access/flavor-access-list-resp.json.tpl | 4 ---- .../os-flavor-access/flavor-access-list-resp.xml.tpl | 1 - .../flavor-access-remove-tenant-resp.json.tpl | 5 +---- .../flavor-access-remove-tenant-resp.xml.tpl | 4 +--- 14 files changed, 7 insertions(+), 40 deletions(-) diff --git a/doc/api_samples/os-flavor-access/flavor-access-add-tenant-resp.json b/doc/api_samples/os-flavor-access/flavor-access-add-tenant-resp.json index e637ad85ae..b6c1bc77df 100644 --- a/doc/api_samples/os-flavor-access/flavor-access-add-tenant-resp.json +++ b/doc/api_samples/os-flavor-access/flavor-access-add-tenant-resp.json @@ -3,10 +3,6 @@ { "flavor_id": "10", "tenant_id": "fake_tenant" - }, - { - "flavor_id": "10", - "tenant_id": "openstack" } ] } \ No newline at end of file diff --git a/doc/api_samples/os-flavor-access/flavor-access-add-tenant-resp.xml b/doc/api_samples/os-flavor-access/flavor-access-add-tenant-resp.xml index cc102aeed1..1e55ad2f95 100644 --- a/doc/api_samples/os-flavor-access/flavor-access-add-tenant-resp.xml +++ b/doc/api_samples/os-flavor-access/flavor-access-add-tenant-resp.xml @@ -1,5 +1,4 @@ - \ No newline at end of file diff --git a/doc/api_samples/os-flavor-access/flavor-access-list-resp.json b/doc/api_samples/os-flavor-access/flavor-access-list-resp.json index e637ad85ae..b6c1bc77df 100644 --- a/doc/api_samples/os-flavor-access/flavor-access-list-resp.json +++ b/doc/api_samples/os-flavor-access/flavor-access-list-resp.json @@ -3,10 +3,6 @@ { "flavor_id": "10", "tenant_id": "fake_tenant" - }, - { - "flavor_id": "10", - "tenant_id": "openstack" } ] } \ No newline at end of file diff --git a/doc/api_samples/os-flavor-access/flavor-access-list-resp.xml b/doc/api_samples/os-flavor-access/flavor-access-list-resp.xml index cc102aeed1..1e55ad2f95 100644 --- a/doc/api_samples/os-flavor-access/flavor-access-list-resp.xml +++ b/doc/api_samples/os-flavor-access/flavor-access-list-resp.xml @@ -1,5 +1,4 @@ - \ No newline at end of file diff --git a/doc/api_samples/os-flavor-access/flavor-access-remove-tenant-resp.json b/doc/api_samples/os-flavor-access/flavor-access-remove-tenant-resp.json index ebe0423e82..5cab03334d 100644 --- a/doc/api_samples/os-flavor-access/flavor-access-remove-tenant-resp.json +++ b/doc/api_samples/os-flavor-access/flavor-access-remove-tenant-resp.json @@ -1,6 +1,3 @@ { - "flavor_access": [{ - "flavor_id": "10", - "tenant_id": "openstack" - }] + "flavor_access": [] } \ No newline at end of file diff --git a/doc/api_samples/os-flavor-access/flavor-access-remove-tenant-resp.xml b/doc/api_samples/os-flavor-access/flavor-access-remove-tenant-resp.xml index 3c5ef1c5cc..80d1ecc48c 100644 --- a/doc/api_samples/os-flavor-access/flavor-access-remove-tenant-resp.xml +++ b/doc/api_samples/os-flavor-access/flavor-access-remove-tenant-resp.xml @@ -1,4 +1,2 @@ - - - + diff --git a/nova/api/openstack/compute/contrib/flavormanage.py b/nova/api/openstack/compute/contrib/flavormanage.py index b6eac7a616..069396169c 100644 --- a/nova/api/openstack/compute/contrib/flavormanage.py +++ b/nova/api/openstack/compute/contrib/flavormanage.py @@ -71,9 +71,6 @@ class FlavorManageController(wsgi.Controller): flavorid=flavorid, swap=swap, rxtx_factor=rxtx_factor, is_public=is_public) - if not flavor['is_public']: - flavors.add_flavor_access(flavor['flavorid'], - context.project_id, context) req.cache_db_flavor(flavor) except (exception.FlavorExists, exception.FlavorIdExists) as err: diff --git a/nova/tests/api/openstack/compute/contrib/test_flavor_manage.py b/nova/tests/api/openstack/compute/contrib/test_flavor_manage.py index 2f5d362284..c9b378fe80 100644 --- a/nova/tests/api/openstack/compute/contrib/test_flavor_manage.py +++ b/nova/tests/api/openstack/compute/contrib/test_flavor_manage.py @@ -464,7 +464,7 @@ class PrivateFlavorManageTest(test.TestCase): self.flavor_access_controller = flavor_access.FlavorAccessController() self.app = fakes.wsgi_app(init_only=('flavors',)) - def test_create_private_flavor_should_create_flavor_access(self): + def test_create_private_flavor_should_not_grant_flavor_access(self): expected = { "flavor": { "name": "test", @@ -497,8 +497,8 @@ class PrivateFlavorManageTest(test.TestCase): "tenant_id": "%s" % ctxt.project_id, "flavor_id": "%s" % body["flavor"]["id"] } - self.assertTrue(expected_flavor_access_body in - flavor_access_body["flavor_access"]) + self.assertNotIn(expected_flavor_access_body, + flavor_access_body["flavor_access"]) def test_create_public_flavor_should_not_create_flavor_access(self): expected = { diff --git a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-add-tenant-resp.json.tpl b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-add-tenant-resp.json.tpl index 5266ae0840..d797155795 100644 --- a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-add-tenant-resp.json.tpl +++ b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-add-tenant-resp.json.tpl @@ -1,9 +1,5 @@ { "flavor_access": [ - { - "flavor_id": "%(flavor_id)s", - "tenant_id": "openstack" - }, { "flavor_id": "%(flavor_id)s", "tenant_id": "%(tenant_id)s" diff --git a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-add-tenant-resp.xml.tpl b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-add-tenant-resp.xml.tpl index 9c0b4ec1ce..2223052aae 100644 --- a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-add-tenant-resp.xml.tpl +++ b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-add-tenant-resp.xml.tpl @@ -1,5 +1,4 @@ - diff --git a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-list-resp.json.tpl b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-list-resp.json.tpl index 87e337e39c..a6b6dbdcda 100644 --- a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-list-resp.json.tpl +++ b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-list-resp.json.tpl @@ -3,10 +3,6 @@ { "flavor_id": "%(flavor_id)s", "tenant_id": "fake_tenant" - }, - { - "flavor_id": "%(flavor_id)s", - "tenant_id": "openstack" } ] } diff --git a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-list-resp.xml.tpl b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-list-resp.xml.tpl index cc102aeed1..1e55ad2f95 100644 --- a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-list-resp.xml.tpl +++ b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-list-resp.xml.tpl @@ -1,5 +1,4 @@ - \ No newline at end of file diff --git a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-remove-tenant-resp.json.tpl b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-remove-tenant-resp.json.tpl index 4fb4296a30..5cab03334d 100644 --- a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-remove-tenant-resp.json.tpl +++ b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-remove-tenant-resp.json.tpl @@ -1,6 +1,3 @@ { - "flavor_access": [{ - "tenant_id": "openstack", - "flavor_id": "%(flavor_id)s" - }] + "flavor_access": [] } \ No newline at end of file diff --git a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-remove-tenant-resp.xml.tpl b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-remove-tenant-resp.xml.tpl index 480191c726..80d1ecc48c 100644 --- a/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-remove-tenant-resp.xml.tpl +++ b/nova/tests/integrated/api_samples/os-flavor-access/flavor-access-remove-tenant-resp.xml.tpl @@ -1,4 +1,2 @@ - - - +