def status (self, urns, options=None): if options is None: options={} aggregate = PlAggregate(self) desc = aggregate.describe(urns, version='GENI 3') status = {'geni_urn': desc['geni_urn'], 'geni_slivers': desc['geni_slivers']} return status
def status(self, urns, options={}): aggregate = PlAggregate(self) desc = aggregate.describe(urns, version='GENI 3') status = { 'geni_urn': desc['geni_urn'], 'geni_slivers': desc['geni_slivers'] } return status
def allocate(self, urn, rspec_string, expiration, options={}): xrn = Xrn(urn) aggregate = PlAggregate(self) slices = PlSlices(self) sfa_peer = slices.get_sfa_peer(xrn.get_hrn()) slice_record = None users = options.get('geni_users', []) if users: slice_record = users[0].get('slice_record', {}) # parse rspec rspec = RSpec(rspec_string) requested_attributes = rspec.version.get_slice_attributes() # ensure site record exists site = slices.verify_site(xrn.hrn, slice_record, sfa_peer, options=options) # ensure slice record exists slice = slices.verify_slice(xrn.hrn, slice_record, sfa_peer, expiration=expiration, options=options) # ensure person records exists persons = slices.verify_persons(xrn.hrn, slice, users, sfa_peer, options=options) # ensure slice attributes exists slices.verify_slice_attributes(slice, requested_attributes, options=options) # add/remove slice from nodes request_nodes = rspec.version.get_nodes_with_slivers() nodes = slices.verify_slice_nodes(urn, slice, request_nodes) # add/remove links links slices.verify_slice_links(slice, rspec.version.get_link_requests(), nodes) # add/remove leases rspec_requested_leases = rspec.version.get_leases() leases = slices.verify_slice_leases(slice, rspec_requested_leases) return aggregate.describe([xrn.get_urn()], version=rspec.version)
def allocate (self, urn, rspec_string, expiration, options=None): if options is None: options={} xrn = Xrn(urn) aggregate = PlAggregate(self) slices = PlSlices(self) sfa_peer = slices.get_sfa_peer(xrn.get_hrn()) slice_record=None users = options.get('geni_users', []) if users: slice_record = users[0].get('slice_record', {}) # parse rspec rspec = RSpec(rspec_string) requested_attributes = rspec.version.get_slice_attributes() # ensure site record exists site = slices.verify_site(xrn.hrn, slice_record, sfa_peer, options=options) # ensure slice record exists slice = slices.verify_slice(xrn.hrn, slice_record, sfa_peer, expiration=expiration, options=options) # ensure person records exists persons = slices.verify_persons(xrn.hrn, slice, users, sfa_peer, options=options) # ensure slice attributes exists slices.verify_slice_attributes(slice, requested_attributes, options=options) # add/remove slice from nodes request_nodes = rspec.version.get_nodes_with_slivers() nodes = slices.verify_slice_nodes(urn, slice, request_nodes) # add/remove links links slices.verify_slice_links(slice, rspec.version.get_link_requests(), nodes) # add/remove leases rspec_requested_leases = rspec.version.get_leases() leases = slices.verify_slice_leases(slice, rspec_requested_leases) return aggregate.describe([xrn.get_urn()], version=rspec.version)
def describe(self, urns, version, options=None): if options is None: options={} aggregate = PlAggregate(self) return aggregate.describe(urns, version=version, options=options)
def describe(self, urns, version, options={}): aggregate = PlAggregate(self) return aggregate.describe(urns, version=version, options=options)
def describe(self, urns, version, options={}): aggregate = PlAggregate(self) return aggregate.describe(urns, version=version, options=options)