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 e637ad85ae35..b6c1bc77df37 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 cc102aeed1e2..1e55ad2f958c 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 e637ad85ae35..b6c1bc77df37 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 cc102aeed1e2..1e55ad2f958c 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 ebe0423e82f7..5cab03334d89 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 3c5ef1c5cc5d..80d1ecc48c3a 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 b6eac7a61636..069396169c94 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 2f5d362284bc..c9b378fe8021 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 5266ae08406a..d797155795e5 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 9c0b4ec1ce1d..2223052aaefd 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 87e337e39c5f..a6b6dbdcda07 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 cc102aeed1e2..1e55ad2f958c 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 4fb4296a30b7..5cab03334d89 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 480191c726b8..80d1ecc48c3a 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 @@ - - - +