git://git.onelab.eu
/
sfa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
geni v3 updates
[sfa.git]
/
sfa
/
managers
/
registry_manager.py
diff --git
a/sfa/managers/registry_manager.py
b/sfa/managers/registry_manager.py
index
03a9043
..
f6277ed
100644
(file)
--- a/
sfa/managers/registry_manager.py
+++ b/
sfa/managers/registry_manager.py
@@
-42,7
+42,13
@@
class RegistryManager:
hrn = urn_to_hrn(xrn)[0]
else:
hrn, type = urn_to_hrn(xrn)
hrn = urn_to_hrn(xrn)[0]
else:
hrn, type = urn_to_hrn(xrn)
-
+
+ # Slivers don't have credentials but users should be able to
+ # specify a sliver xrn and receive the slice's credential
+ if type == 'sliver' or '-' in Xrn(hrn).leaf:
+ slice_xrn = self.driver.sliver_to_slice_xrn(hrn)
+ hrn = slice_xrn.hrn
+
# Is this a root or sub authority
auth_hrn = api.auth.get_authority(hrn)
if not auth_hrn or hrn == api.config.SFA_INTERFACE_HRN:
# Is this a root or sub authority
auth_hrn = api.auth.get_authority(hrn)
if not auth_hrn or hrn == api.config.SFA_INTERFACE_HRN:
@@
-311,6
+317,7
@@
class RegistryManager:
api.auth.hierarchy.create_auth(hrn_to_urn(hrn,'authority'))
# get the GID from the newly created authority
api.auth.hierarchy.create_auth(hrn_to_urn(hrn,'authority'))
# get the GID from the newly created authority
+ auth_info = api.auth.get_auth_info(hrn)
gid = auth_info.get_gid_object()
record.gid=gid.save_to_string(save_parents=True)
gid = auth_info.get_gid_object()
record.gid=gid.save_to_string(save_parents=True)
@@
-390,11
+397,11
@@
class RegistryManager:
dbsession.commit()
# update the PLC information that was specified with the record
dbsession.commit()
# update the PLC information that was specified with the record
- # xxx oddly enough, without this
statement, record.__dict__ as received by
- # the driver seems to be off
+ # xxx oddly enough, without this
useless statement,
+ #
record.__dict__ as received by
the driver seems to be off
# anyway the driver should receive an object
# (and then extract __dict__ itself if needed)
# anyway the driver should receive an object
# (and then extract __dict__ itself if needed)
- print "before driver.update, record=%s"%record
+ print "
DO NOT REMOVE ME
before driver.update, record=%s"%record
if not self.driver.update (record.__dict__, new_record.__dict__, hrn, new_key):
logger.warning("driver.update failed")
if not self.driver.update (record.__dict__, new_record.__dict__, hrn, new_key):
logger.warning("driver.update failed")