if 'sfa' not in server_version:
users = pg_users_arg(user_records)
rspec = RSpec(rspec)
- rspec.filter({'component_manager_id': server_version['urn']})
+ cm_hrn = Xrn(xrn=server_version['urn']).get_hrn()
+ cm_urn = Xrn(cm_hrn, type='authority+cm').get_urn()
+ rspec.filter({'component_manager_id': cm_urn})
rspec = RSpecConverter.to_pg_rspec(rspec.toxml(), content_type='request')
else:
users = sfa_users_arg(user_records, slice_record)
from sfa.util.faults import SfaInvalidArgument, InvalidRSpec, SfatablesRejected
-from sfa.util.xrn import urn_to_hrn
+from sfa.util.xrn import Xrn
from sfa.util.method import Method
from sfa.util.sfatablesRuntime import run_sfatables
from sfa.trust.credential import Credential
from sfa.storage.parameter import Parameter, Mixed
from sfa.rspecs.rspec import RSpec
+from sfa.util.sfalogging import logger
class Allocate(Method):
"""
interfaces = ['aggregate', 'slicemgr']
accepts = [
Parameter(str, "Slice URN"),
- Parameter(dict, "List of credentials"),
+ Parameter(type([dict]), "List of credentials"),
Parameter(str, "RSpec"),
Parameter(dict, "options"),
]
from sfa.util.sfalogging import logger
from sfa.util.defaultdict import defaultdict
from sfa.util.sfatime import utcparse, datetime_to_string, datetime_to_epoch
-from sfa.util.xrn import hrn_to_urn, get_leaf
+from sfa.util.xrn import Xrn, hrn_to_urn, get_leaf
from sfa.util.cache import Cache
# one would think the driver should not need to mess with the SFA db, but..
# only used by plc and ple.
slices.handle_peer(site, slice, persons, peer)
- return aggregate.describe(slice_xrn=xrn.get_urn(), version=rspec.version)
+ return aggregate.describe([xrn.get_urn()], version=rspec.version)
def provision(self, urns, options={}):
return self.describe(urns, None, options=options)
def filter(self, filter):
if 'component_manager_id' in filter:
- nodes = self.version.get_node_elements()
+ nodes = self.version.get_nodes()
for node in nodes:
if 'component_manager_id' not in node.attrib or \
node.attrib['component_manager_id'] != filter['component_manager_id']:
parent = node.getparent()
- parent.remove(node)
+ parent.remove(node.element)
def toxml(self, header=True):
# Leases
def get_leases(self, filter=None):
- pass
+ return []
def add_leases(self, leases, network = None, no_dupes=False):
- pass
+ return None
# Utility