from sfa.rspecs.elements.granularity import Granularity
from sfa.rspecs.version_manager import VersionManager
-from sfa.planetlab.plxrn import PlXrn, hostname_to_urn, hrn_to_pl_slicename, slicename_to_hrn, top_auth, hash_loginbase
+from sfa.planetlab.plxrn import PlXrn, hostname_to_urn
from sfa.planetlab.vlink import get_tc_rate
from sfa.planetlab.topology import Topology
from sfa.storage.model import SliverAllocation
if slice_ids:
filter['slice_id'] = list(slice_ids)
# get all slices
- all_slices = self.driver.shell.GetSlices(filter, ['slice_id', 'name', 'hrn', 'person_ids', 'node_ids', 'slice_tag_ids', 'expires'])
+ fields = ['slice_id', 'name', 'hrn', 'person_ids', 'node_ids', 'slice_tag_ids', 'expires']
+ all_slices = self.driver.shell.GetSlices(filter, fields)
if slice_hrn:
slices = [slice for slice in all_slices if slice['hrn'] == slice_hrn]
else:
slices = all_slices
if not slices:
+ if slice_hrn:
+ logger.error("PlAggregate.get_slivers : no slice found with hrn {}".format(slice_hrn))
+ else:
+ logger.error("PlAggregate.get_slivers : no sliver found with urns {}".format(urns))
return []
slice = slices[0]
slice['hrn'] = slice_hrn
node['urn'] = node['sliver_id']
node['services_user'] = users
slivers.append(node)
+ if not slivers:
+ logger.warning("PlAggregate.get_slivers : slice(s) found but with no sliver {}".format(urns))
return slivers
def node_to_rspec_node(self, node, sites, interfaces, node_tags, pl_initscripts=None, grain=None, options=None):
rspec_node['slivers'] = [rspec_sliver]
# slivers always provide the ssh service
- login = Login({'authentication': 'ssh-keys',
- 'hostname': sliver['hostname'],
+ login = Login({'authentication': 'ssh-keys',
+ 'hostname': sliver['hostname'],
'port':'22',
'username': sliver['name'],
'login': sliver['name']
})
service = ServicesElement({'login': login,
- 'services_user': sliver['services_user']})
- rspec_node['services'] = [service]
- return rspec_node
+ 'services_user': sliver['services_user']})
+ rspec_node['services'] = [service]
+ return rspec_node
def get_slice_tags(self, slice):
slice_tag_ids = []