fix node urn in manifest rspec
[sfa.git] / sfa / openstack / osaggregate.py
index 602cfe8..17f42d8 100644 (file)
@@ -96,9 +96,12 @@ class OSAggregate:
             #    node_xrn = OSXrn(instance.availability_zone, 'node')
             #else:
             #    node_xrn = OSXrn('cloud', 'node')
-            node_xrn = instance.metatata.get('component_id')
+            node_xrn = instance.metadata.get('component_id')
+            node_xrn
             if not node_xrn:
-                node_xrn = OSXrn('cloud', 'node') 
+                node_xrn = OSXrn('cloud', 'node')
+            else:
+                node_xrn = OSXrn(xrn=node_xrn, 'node') 
 
             rspec_node['component_id'] = node_xrn.urn
             rspec_node['component_name'] = node_xrn.name
@@ -235,7 +238,7 @@ class OSAggregate:
                 image_id = self.driver.shell.nova_manager.images.find(name=image['name'])
                 fw_rules = instance.get('fw_rules', [])
                 group_name = self.create_security_group(slicename, fw_rules)
-                metadata['security_groups'] = [group_name]
+                metadata['security_groups'] = group_name
                 metadata['component_id'] = node['component_id']
                 try: 
                     self.driver.shell.nova_manager.servers.create(flavor=flavor_id,
@@ -255,7 +258,8 @@ class OSAggregate:
         security_group_manager = SecurityGroup(self.driver)
         for instance in instances:
             # deleate this instance's security groups
-            for security_group in instance.metadata.get('security_groups', []):
+            security_group = instance.metadata.get('security_groups', '')
+            if security_group:
                 # dont delete the default security group
                 if security_group != 'default': 
                     security_group_manager.delete_security_group(security_group)