# first 2 args are None in case of resource discovery
def list_resources (self, creds, version, options):
aggregate = OSAggregate(self)
- rspec = aggregate.get_rspec(version=version, options=options)
+ rspec = aggregate.list_resources(version=version, options=options)
return rspec
def describe(self, creds, urns, version, options):
tenant_name = OSXrn(xrn=slice_hrn, type='slice').get_tenant_name()
aggregate.run_instances(instance_name, tenant_name, rspec_string, key_name, pubkeys)
- return aggregate.get_rspec(slice_xrn=slice_urn, version=rspec.version)
+ return aggregate.describe(slice_xrn=slice_urn, version=rspec.version)
def delete_sliver (self, slice_urn, slice_hrn, creds, options):
aggregate = OSAggregate(self)
return {}
- def get_rspec(self, slice_xrn=None, version=None, options={}):
+ def list_resources(self, 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')
- rspec = self.get_aggregate_rspec(rspec_version, options)
- else:
- rspec_version = version_manager._get_version(version.type, version.version, 'manifest')
- rspec = self.get_slice_rsepc(slice_xrn, rspec_version, options)
-
- return rspec
-
- def get_aggregate_rspec(self, version, options={}):
+ 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 get_slice_rspec(self, xrn, version, options={}):
+ 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)
- return rspec.toxml()
+ result = {'geni_urn': '',
+ 'geni_rspec': rspec.toxml(),
+ 'geni_slivers': []}
+
+ return result
def get_slice_nodes(self, slice_xrn):
# update nova connection
return rspec_leases
- def get_rspec(self, slice_xrn=None, version = None, options={}):
+ def list_resources(self, 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')
- else:
- rspec_version = version_manager._get_version(version.type, version.version, 'manifest')
-
- slice, slivers = self.get_slice_and_slivers(slice_xrn)
+ rspec_version = version_manager._get_version(version.type, version.version, 'ad')
rspec = RSpec(version=rspec_version, user_options=options)
+
+ if not options.get('list_leases') or options.get('list_leases') and options['list_leases'] != 'leases':
+ nodes, links = self.get_nodes_and_links(options=options)
+ rspec.version.add_nodes(nodes)
+ rspec.version.add_links(links)
+ 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)
+ slice, slivers = self.get_slice_and_slivers(urns)
if slice and 'expires' in slice:
rspec.xml.set('expires', datetime_to_string(utcparse(slice['expires'])))
-
+
if not options.get('list_leases') or options.get('list_leases') and options['list_leases'] != 'leases':
- nodes, links = self.get_nodes_and_links(slice_xrn, slice, slivers, options)
+ nodes, links = self.get_nodes_and_links(urns, slice, slivers, options)
rspec.version.add_nodes(nodes)
rspec.version.add_links(links)
# add sliver defaults
if default_sliver:
default_sliver_attribs = default_sliver.get('tags', [])
for attrib in default_sliver_attribs:
- logger.info(attrib)
rspec.version.add_default_sliver_attribute(attrib['tagname'], attrib['value'])
+
if not options.get('list_leases') or options.get('list_leases') and options['list_leases'] != 'resources':
leases = self.get_leases(slice)
rspec.version.add_leases(leases)
+
+ result = {'geni_urn': '',
+ 'geni_rspec': rspec.toxml(),
+ 'geni_slivers': []}
- return rspec.toxml()
-
-
+ return result
# first 2 args are None in case of resource discovery
def list_resources (self, creds, options):
aggregate = PlAggregate(self)
- rspec = aggregate.get_rspec(version=rspec_version, options=options)
+ rspec = aggregate.list_resources(version=rspec_version, options=options)
return rspec
def describe(self, creds, urns, options):
# only used by plc and ple.
slices.handle_peer(site, slice, persons, peer)
- return aggregate.get_rspec(slice_xrn=slice_urn, version=rspec.version)
+ return aggregate.describe_rspec(slice_xrn=slice_urn, version=rspec.version)
def delete_sliver (self, slice_urn, slice_hrn, creds, options):
slicename = hrn_to_pl_slicename(slice_hrn)