import sys
import traceback
-from sfa.util.misc import *
+from sfa.util.namespace import *
from sfa.util.rspec import *
from sfa.util.specdict import *
from sfa.util.faults import *
def refresh_nodes_aggregate(self):
rspec = RSpec()
- rspec.parseString(self.get_rspec())
+ rspec.parseString(self.get_rspec().toxml())
# filter nodes according to policy
blist = self.policy['node_blacklist']
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']
networks = []
rspec = RSpec()
credential = self.api.getCredential()
+ origin_hrn = self.origin_hrn
for aggregate in aggregates:
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')}])
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']
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)
+ return self.get_rspec_aggregate(xrn)
- def get_rspec_smgr(self, hrn = None):
-
- rspec = self.get_remote_resources(hrn)
- return rspec.toxml()
-
- 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:
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']:
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:
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
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
# convert the rspec dict to xml
rspec = RSpec()
rspec.parseDict(resourceDict)
- return rspec.toxml()
+ return rspec