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()
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')