X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fmanagers%2Fslice_manager_pl.py;h=45d961c2684b3adef3a49eb15bcb08d3b36438bb;hb=e274e7a93ebeabdf5959284a8e72d4be7b77f9bc;hp=915b60cf766efae501cc2501a309286db4fa6d9a;hpb=7c982c37858ad4500fc4c1b71896e2f6efe4a065;p=sfa.git diff --git a/sfa/managers/slice_manager_pl.py b/sfa/managers/slice_manager_pl.py index 915b60cf..45d961c2 100644 --- a/sfa/managers/slice_manager_pl.py +++ b/sfa/managers/slice_manager_pl.py @@ -31,10 +31,41 @@ def get_version(): return version def slice_status(api, slice_xrn, creds ): + 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', 'boot_state', 'last_contact']) + api.logger.info(slice) + api.logger.info(nodes) + result = {} result['geni_urn'] = slice_xrn result['geni_status'] = 'unknown' - result['geni_resources'] = {} + result['pl_login'] = slice['name'] + result['pl_expires'] = slice['expires'] + + resources = [] + + for node in nodes: + res = {} + res['pl_hostname'] = node['hostname'] + res['pl_boot_state'] = node['boot_state'] + res['pl_last_contact'] = node['last_contact'] + res['geni_urn'] = '' + res['geni_status'] = 'unknown' + res['geni_error'] = '' + + resources.append(res) + + result['geni_resources'] = resources return result def create_slice(api, xrn, creds, rspec, users):