From a0da17b39fc94269862d0113f254b966e133566c Mon Sep 17 00:00:00 2001 From: Angus Salkeld Date: Fri, 6 Jul 2012 18:10:57 +1000 Subject: [PATCH] Add NovaSchedulerHints and correct the implementation of Tags Change-Id: Iaa7ea182414a8fc48a78f5aa6c2c3e1baddb4034 Signed-off-by: Angus Salkeld --- heat/engine/instance.py | 15 ++++++++++++--- heat/tests/test_resources.py | 8 ++++---- heat/tests/test_stacks.py | 4 ++-- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/heat/engine/instance.py b/heat/engine/instance.py index 8d840a79..07de667b 100644 --- a/heat/engine/instance.py +++ b/heat/engine/instance.py @@ -93,6 +93,8 @@ class Instance(resources.Resource): 'Implemented': False}, 'Tags': {'Type': 'List', 'Schema': tags_schema}, + 'NovaSchedulerHints': {'Type': 'List', + 'Schema': tags_schema}, 'Tenancy': {'Type': 'String', 'AllowedValues': ['dedicated', 'default'], 'Implemented': False}, @@ -223,10 +225,16 @@ class Instance(resources.Resource): if o.name == flavor: flavor_id = o.id + tags = {} + if self.properties['Tags']: + for tm in self.properties['Tags']: + tags[tm['Key']] = tm['Value'] + else: + tags = None + scheduler_hints = {} - prop_tags = self.properties['Tags'] - if prop_tags: - for tm in prop_tags: + if self.properties['NovaSchedulerHints']: + for tm in self.properties['NovaSchedulerHints']: scheduler_hints[tm['Key']] = tm['Value'] else: scheduler_hints = None @@ -237,6 +245,7 @@ class Instance(resources.Resource): key_name=key_name, security_groups=security_groups, userdata=server_userdata, + meta=tags, scheduler_hints=scheduler_hints) while server.status == 'BUILD': server.get() diff --git a/heat/tests/test_resources.py b/heat/tests/test_resources.py index c56dd191..eb393ec1 100644 --- a/heat/tests/test_resources.py +++ b/heat/tests/test_resources.py @@ -77,8 +77,8 @@ class instancesTest(unittest.TestCase): self.m.StubOutWithMock(self.fc.servers, 'create') self.fc.servers.create(image=1, flavor=1, key_name='test', name='test_resource_name', security_groups=None, - userdata=server_userdata, scheduler_hints=None).\ - AndReturn(self.fc.servers.list()[1]) + userdata=server_userdata, scheduler_hints=None, + meta=None).AndReturn(self.fc.servers.list()[1]) self.m.ReplayAll() instance.itype_oflavor['256 MB Server'] = '256 MB Server' @@ -123,8 +123,8 @@ class instancesTest(unittest.TestCase): self.m.StubOutWithMock(self.fc.servers, 'create') self.fc.servers.create(image=1, flavor=1, key_name='test', name='test_resource_name', security_groups=None, - userdata=server_userdata, scheduler_hints=None).\ - AndReturn(self.fc.servers.list()[1]) + userdata=server_userdata, scheduler_hints=None, + meta=None).AndReturn(self.fc.servers.list()[1]) self.m.ReplayAll() instance.instance_id = 1234 diff --git a/heat/tests/test_stacks.py b/heat/tests/test_stacks.py index cc3156d5..583488c9 100644 --- a/heat/tests/test_stacks.py +++ b/heat/tests/test_stacks.py @@ -78,8 +78,8 @@ class stacksTest(unittest.TestCase): self.m.StubOutWithMock(self.fc.servers, 'create') self.fc.servers.create(image=744, flavor=3, key_name='test', name='WebServer', security_groups=None, - userdata=server_userdata, scheduler_hints=None).\ - AndReturn(self.fc.servers.list()[-1]) + userdata=server_userdata, scheduler_hints=None, + meta=None).AndReturn(self.fc.servers.list()[-1]) return stack -- 2.45.2