+ hrn, type = urn_to_hrn(slice_xrn)
+ # find out where this slice is currently running
+ api.logger.info(hrn)
+ slicename = hrn_to_pl_slicename(hrn)
+
+ slices = api.plshell.GetSlices(api.plauth, [slicename], ['node_ids','person_ids','name','expires'])
+ if len(slices) == 0:
+ raise Exception("Slice %s not found (used %s as slicename internally)" % slice_xrn, slicename)
+ slice = slices[0]
+
+ nodes = api.plshell.GetNodes(api.plauth, slice['node_ids'],
+ ['hostname', 'site_id', 'boot_state', 'last_contact'])
+ site_ids = [node['site_id'] for node in nodes]
+ sites = api.plshell.GetSites(api.plauth, site_ids, ['site_id', 'login_base'])
+ sites_dict = {}
+ for site in sites:
+ sites_dict[site['site_id']] = site['login_base']
+
+ # XX remove me
+ #api.logger.info(slice_xrn)
+ #api.logger.info(slice)
+ #api.logger.info(nodes)
+ # XX remove me
+