X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fplanetlab%2Fplaggregate.py;h=369ff870643a9ae90e044291097d55d6ac205d2b;hb=04e316c48cb231bf75d3b6129cc0cfa06f4b5891;hp=09826f05ab556d439487a98222acc63b070aaae1;hpb=bdc7dae504fff9a63b9de7a32c31183a6c832623;p=sfa.git diff --git a/sfa/planetlab/plaggregate.py b/sfa/planetlab/plaggregate.py index 09826f05..369ff870 100644 --- a/sfa/planetlab/plaggregate.py +++ b/sfa/planetlab/plaggregate.py @@ -1,5 +1,5 @@ #!/usr/bin/python -from sfa.util.xrn import Xrn, hrn_to_urn, urn_to_hrn +from sfa.util.xrn import Xrn, hrn_to_urn, urn_to_hrn, get_authority, get_leaf from sfa.util.sfatime import utcparse, datetime_to_string from sfa.util.sfalogging import logger @@ -108,9 +108,17 @@ class PlAggregate: slice = None if not slice_xrn: return (slice, slivers) + slice_urn = hrn_to_urn(slice_xrn, 'slice') slice_hrn, _ = urn_to_hrn(slice_xrn) - slice_name = hrn_to_pl_slicename(slice_hrn) + site_hrn = get_authority(slice_hrn) + top_auth_hrn = site_hrn.split('.')[0] + if top_auth_hrn == self.driver.hrn: + slice_name = hrn_to_pl_slicename(slice_hrn) + else: + login_base = '8'.join(site_hrn.split('.')) + slice_name = '_'.join([login_base, get_leaf(slice_hrn)]) + slices = self.driver.shell.GetSlices(slice_name) if not slices: return (slice, slivers) @@ -289,12 +297,16 @@ class PlAggregate: site=sites_dict[site_id] #rspec_lease['lease_id'] = lease['lease_id'] - rspec_lease['component_id'] = hostname_to_urn(self.driver.hrn, site['login_base'], lease['hostname']) + rspec_lease['component_id'] = hrn_to_urn(self.driver.shell.GetNodeHrn(lease['hostname']), 'node') + #rspec_lease['component_id'] = hostname_to_urn(self.driver.hrn, site['login_base'], lease['hostname']) if slice_xrn: slice_urn = slice_xrn - slice_hrn = urn_to_hrn(slice_urn) + slice_hrn, _ = urn_to_hrn(slice_urn) + # Check slice HRN + if slice_hrn != self.driver.shell.GetSliceHrn(lease['slice_id']): + self.driver.shell.SetSliceHrn(lease['slice_id'], slice_hrn) else: - slice_hrn = slicename_to_hrn(self.driver.hrn, lease['name']) + slice_hrn = self.driver.shell.GetSliceHrn(lease['slice_id']) slice_urn = hrn_to_urn(slice_hrn, 'slice') rspec_lease['slice_id'] = slice_urn rspec_lease['start_time'] = lease['t_from']