X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fplanetlab%2Fplslices.py;h=1226f12f0dd1189e5a24142a5257fd16ed61befa;hb=4a2337e7f70cef81a8de37829aa63fc941c4b96e;hp=b39f92bd5fd39a74a26d88abb98cae870336ae19;hpb=5064f82a7a8ae78d7ad0ace873e3870811c4a4b8;p=sfa.git diff --git a/sfa/planetlab/plslices.py b/sfa/planetlab/plslices.py index b39f92bd..1226f12f 100644 --- a/sfa/planetlab/plslices.py +++ b/sfa/planetlab/plslices.py @@ -322,21 +322,23 @@ class PlSlices: - def verify_site(self, slice_xrn, slice_record={}, sfa_peer=None, options={}): - #(slice_hrn, type) = urn_to_hrn(slice_xrn) - #top_auth_hrn = top_auth(slice_hrn) - #site_hrn = '.'.join(slice_hrn.split('.')[:-1]) - #if top_auth_hrn == self.driver.hrn: - # login_base = slice_hrn.split('.')[-2][:12] - #else: - # login_base = hash_loginbase(site_hrn) - plxrn = PlXrn(xrn=slice_xrn) - slice_hrn = plxrn.get_hrn() - type = plxrn.get_type() - site_hrn = plxrn.get_authority_hrn() - authority_name = plxrn.pl_authname() - slicename = plxrn.pl_slicename() - login_base = plxrn.pl_login_base() + def verify_site(self, slice_xrn, slice_record=None, sfa_peer=None, options=None): + if slice_record is None: slice_record={} + if options is None: options={} + (slice_hrn, type) = urn_to_hrn(slice_xrn) + top_auth_hrn = top_auth(slice_hrn) + site_hrn = '.'.join(slice_hrn.split('.')[:-1]) + if top_auth_hrn == self.driver.hrn: + login_base = slice_hrn.split('.')[-2][:12] + else: + login_base = hash_loginbase(site_hrn) + #plxrn = PlXrn(xrn=slice_xrn) + #slice_hrn = plxrn.get_hrn() + #type = plxrn.get_type() + #site_hrn = plxrn.get_authority_hrn() + #authority_name = plxrn.pl_authname() + #slicename = plxrn.pl_slicename() + #login_base = plxrn.pl_login_base() sites = self.driver.shell.GetSites({'peer_id': None},['site_id','name','abbreviated_name','login_base','hrn']) @@ -367,22 +369,23 @@ class PlSlices: return site - def verify_slice(self, slice_hrn, slice_record, sfa_peer, expiration, options={}): - #top_auth_hrn = top_auth(slice_hrn) - #site_hrn = '.'.join(slice_hrn.split('.')[:-1]) - #slice_part = slice_hrn.split('.')[-1] - #if top_auth_hrn == self.driver.hrn: - # login_base = slice_hrn.split('.')[-2][:12] - #else: - # login_base = hash_loginbase(site_hrn) - #slice_name = '_'.join([login_base, slice_part]) - plxrn = PlXrn(xrn=slice_hrn) - slice_hrn = plxrn.get_hrn() - type = plxrn.get_type() - site_hrn = plxrn.get_authority_hrn() - authority_name = plxrn.pl_authname() - slicename = plxrn.pl_slicename() - login_base = plxrn.pl_login_base() + def verify_slice(self, slice_hrn, slice_record, sfa_peer, expiration, options=None): + if options is None: options={} + top_auth_hrn = top_auth(slice_hrn) + site_hrn = '.'.join(slice_hrn.split('.')[:-1]) + slice_part = slice_hrn.split('.')[-1] + if top_auth_hrn == self.driver.hrn: + login_base = slice_hrn.split('.')[-2][:12] + else: + login_base = hash_loginbase(site_hrn) + slice_name = '_'.join([login_base, slice_part]) + #plxrn = PlXrn(xrn=slice_hrn) + #slice_hrn = plxrn.get_hrn() + #type = plxrn.get_type() + #site_hrn = plxrn.get_authority_hrn() + #authority_name = plxrn.pl_authname() + #slicename = plxrn.pl_slicename() + #login_base = plxrn.pl_login_base() slices = self.driver.shell.GetSlices({'peer_id': None},['slice_id','name','hrn']) # Filter slices by HRN @@ -416,7 +419,8 @@ class PlSlices: return self.driver.shell.GetSlices(int(slice['slice_id']))[0] - def verify_persons(self, slice_hrn, slice_record, users, sfa_peer, options={}): + def verify_persons(self, slice_hrn, slice_record, users, sfa_peer, options=None): + if options is None: options={} top_auth_hrn = top_auth(slice_hrn) site_hrn = '.'.join(slice_hrn.split('.')[:-1]) slice_part = slice_hrn.split('.')[-1] @@ -504,7 +508,8 @@ class PlSlices: return persons_to_add - def verify_keys(self, persons_to_verify_keys, options={}): + def verify_keys(self, persons_to_verify_keys, options=None): + if options is None: options={} # we only add keys that comes from sfa to persons in PL for person_id in persons_to_verify_keys: person_sfa_keys = persons_to_verify_keys[person_id].get('keys', []) @@ -518,7 +523,8 @@ class PlSlices: self.driver.shell.AddPersonKey(int(person_id), key) - def verify_slice_attributes(self, slice, requested_slice_attributes, options={}, admin=False): + def verify_slice_attributes(self, slice, requested_slice_attributes, options=None, admin=False): + if options is None: options={} append = options.get('append', True) # get list of attributes users ar able to manage filter = {'category': '*slice*'}