From: Vijendar Komalla Date: Wed, 18 Sep 2013 17:27:33 +0000 (-0500) Subject: make get_flavor_id to work if input is flavor id X-Git-Tag: 2014.1~27^2 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=b9cc7aba48b720b2714f7c5acca914a8b73d15cb;p=openstack-build%2Fheat-build.git make get_flavor_id to work if input is flavor id Current implementation of get_flavor_id throws exception if input value is a flavor id. This method is used in couple of resources where input flavor could be flavor id. This change is to avoid throwing exception if the input is flavor id. Fixes bug #1227255 Change-Id: I11054d5f3a34a7e2afea140f8f37a21cb8eba419 --- diff --git a/heat/engine/resources/nova_utils.py b/heat/engine/resources/nova_utils.py index 09578325..740db39c 100644 --- a/heat/engine/resources/nova_utils.py +++ b/heat/engine/resources/nova_utils.py @@ -86,6 +86,7 @@ def get_image_id(nova_client, image_identifier): def get_flavor_id(nova_client, flavor): ''' Get the id for the specified flavor name. + If the specified value is flavor id, just return it. :param nova_client: the nova client to use :param flavor: the name of the flavor to find @@ -98,6 +99,9 @@ def get_flavor_id(nova_client, flavor): if o.name == flavor: flavor_id = o.id break + if o.id == flavor: + flavor_id = o.id + break if flavor_id is None: raise exception.FlavorMissing(flavor_id=flavor) return flavor_id diff --git a/heat/tests/test_nova_utils.py b/heat/tests/test_nova_utils.py index 6c9f04c0..ca3f5559 100644 --- a/heat/tests/test_nova_utils.py +++ b/heat/tests/test_nova_utils.py @@ -62,6 +62,8 @@ class NovaUtilsTests(HeatTestCase): self.m.ReplayAll() self.assertEqual(flav_id, nova_utils.get_flavor_id(self.nova_client, flav_name)) + self.assertEqual(flav_id, nova_utils.get_flavor_id(self.nova_client, + flav_id)) self.assertRaises(exception.FlavorMissing, nova_utils.get_flavor_id, self.nova_client, 'noflavor') self.m.VerifyAll()