X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fplc%2Fnodes.py;h=75e2e223bd9c9d95f51912685ad9ddb443828c1b;hb=62ca655ce1c1ec97ffd3554fe65c814d652224f2;hp=9a2a8534c4af487c573fce108ad81f26166e14ce;hpb=657e8290ebbb4d6b6bcf337a3bc03aff9b42e62b;p=sfa.git diff --git a/sfa/plc/nodes.py b/sfa/plc/nodes.py index 9a2a8534..75e2e223 100644 --- a/sfa/plc/nodes.py +++ b/sfa/plc/nodes.py @@ -88,7 +88,8 @@ class Nodes(SimpleStorage): self.update(node_details) self.write() - def get_remote_resources(self, hrn = None): + def get_rspec_smgr(self, xrn = None): + hrn, type = urn_to_hrn(xrn) # convert and threshold to ints if self.has_key('timestamp') and self['timestamp']: hr_timestamp = self['timestamp'] @@ -116,7 +117,7 @@ class Nodes(SimpleStorage): if aggregate not in [self.api.auth.client_cred.get_gid_caller().get_hrn()]: try: # get the rspec from the aggregate - agg_rspec = aggregates[aggregate].get_resources(credential, hrn, origin_hrn) + agg_rspec = aggregates[aggregate].get_resources(credential, xrn, origin_hrn) # extract the netspec from each aggregates rspec rspec.parseString(agg_rspec) networks.extend([{'NetSpec': rspec.getDictsByTagName('NetSpec')}]) @@ -130,11 +131,11 @@ class Nodes(SimpleStorage): resourceDict = {'RSpec': resources} # convert rspec dict to xml rspec.parseDict(resourceDict) - return rspec + return rspec.toxml() def refresh_nodes_smgr(self): - rspec = self.get_remote_resources() + rspec = self.get_rspec_smgr() # filter according to policy blist = self.policy['node_blacklist'] wlist = self.policy['node_whitelist'] @@ -154,23 +155,18 @@ class Nodes(SimpleStorage): self.update(nodedict) self.write() - def get_rspec(self, hrn = None): + def get_rspec(self, xrn = None): if self.api.interface in ['slicemgr']: - return self.get_rspec_smgr(hrn) + return self.get_rspec_smgr(xrn) elif self.api.interface in ['aggregate']: - return self.get_rspec_aggregate(hrn) - - def get_rspec_smgr(self, hrn = None): - - rspec = self.get_remote_resources(hrn) - return rspec.toxml() + return self.get_rspec_aggregate(xrn) - def get_rspec_aggregate(self, hrn = None): + def get_rspec_aggregate(self, xrn = None): """ Get resource information from PLC """ - + hrn, type = urn_to_hrn(xrn) slicename = None # Get the required nodes if not hrn: @@ -203,7 +199,7 @@ class Nodes(SimpleStorage): elif self.api.plshell_version in ['4.3']: interface_ids.extend(node['interface_ids']) else: - raise GeniAPIError, "Unsupported plcapi version ", \ + raise SfaAPIError, "Unsupported plcapi version ", \ self.api.plshell_version if self.api.plshell_version in ['4.2']: @@ -211,7 +207,7 @@ class Nodes(SimpleStorage): elif self.api.plshell_version in ['4.3']: interfaces = self.api.plshell.GetInterfaces(self.api.plauth, interface_ids) else: - raise GeniAPIError, "Unsupported plcapi version ", \ + raise SfaAPIError, "Unsupported plcapi version ", \ self.api.plshell_version interface_dict = {} for interface in interfaces: @@ -220,7 +216,7 @@ class Nodes(SimpleStorage): elif self.api.plshell_version in ['4.3']: interface_dict[interface['interface_id']] = interface else: - raise GeniAPIError, "Unsupported plcapi version", \ + raise SfaAPIError, "Unsupported plcapi version", \ self.api.plshell_version # join nodes with thier interfaces @@ -233,7 +229,7 @@ class Nodes(SimpleStorage): for interface_id in node['interface_ids']: node['interfaces'].append(interface_dict[interface_id]) else: - raise GeniAPIError, "Unsupported plcapi version", \ + raise SfaAPIError, "Unsupported plcapi version", \ self.api.plshell_version # convert and threshold to ints @@ -263,5 +259,5 @@ class Nodes(SimpleStorage): # convert the rspec dict to xml rspec = RSpec() rspec.parseDict(resourceDict) - return rspec.toxml() + return rspec