split list_resources and describe into separate methods
[sfa.git] / sfa / openstack / osaggregate.py
index 78b0585..047d142 100644 (file)
@@ -60,29 +60,41 @@ class OSAggregate:
     def __init__(self, driver):
         self.driver = driver
 
-    def get_rspec(self, slice_xrn=None, version=None, options={}):
-        version_manager = VersionManager()
-        version = version_manager.get_version(version)
-        if not slice_xrn:
-            rspec_version = version_manager._get_version(version.type, version.version, 'ad')
-            nodes = self.get_aggregate_nodes()
-        else:
-            rspec_version = version_manager._get_version(version.type, version.version, 'manifest')
-            nodes = self.get_slice_nodes(slice_xrn)
-        rspec = RSpec(version=rspec_version, user_options=options)
-        rspec.version.add_nodes(nodes)
-        return rspec.toxml()
-
     def get_availability_zones(self):
-        # essex release
         zones = self.driver.shell.nova_manager.dns_domains.domains()
-
         if not zones:
             zones = ['cloud']
         else:
             zones = [zone.name for zone in zones]
         return zones
 
+
+    def describe(self, urns, version=None, options={}):
+         
+        return {}
+
+    def list_resources(self, version=None, options={}):
+        version_manager = VersionManager()
+        version = version_manager.get_version(version)
+        rspec_version = version_manager._get_version(version.type, version.version, 'ad')
+        rspec = RSpec(version=version, user_options=options)
+        nodes = self.get_aggregate_nodes()
+        rspec.version.add_nodes(nodes)
+        return rspec.toxml()
+
+    def describe(self, urns, version=None, options={}):
+        version_manager = VersionManager()
+        version = version_manager.get_version(version)
+        rspec_version = version_manager._get_version(version.type, version.version, 'manifest')
+        rspec = RSpec(version=version, user_options=options)
+        nodes = self.get_slice_nodes(slice_xrn)
+        rspec.version.add_nodes(nodes)
+        result = {'geni_urn': '',
+                  'geni_rspec': rspec.toxml(), 
+                  'geni_slivers': []}
+        
+        return result
+
     def get_slice_nodes(self, slice_xrn):
         # update nova connection
         tenant_name = OSXrn(xrn=slice_xrn, type='slice').get_tenant_name()
@@ -94,7 +106,6 @@ class OSAggregate:
         rspec_nodes = []
         for instance in instances:
             rspec_node = Node()
-            
             #TODO: find a way to look up an instances availability zone in essex
             #if instance.availability_zone:
             #    node_xrn = OSXrn(instance.availability_zone, 'node')