return -1
# incoming record is the existing sfa_record
- # error message logged if result is False
+ # expected retcod boolean, error message logged if result is False
def remove (self, sfa_record):
return True
# incoming are the sfa_record:
# (*) old_sfa_record is what we have in the db for that hrn
# (*) new_sfa_record is what was passed in the Update call
- # error message logged if result is False
+ # expected retcod boolean, error message logged if result is False
# NOTE 1. about keys
# this is confusing because a user may have several ssh keys in
# the planetlab database, but we need to pick one to generate its cert
# so as much as in principle we should be able to use new_sfa_record['keys']
- # the manager code actually picks one, and it's safer to pass it along
- # rather than depending on the driver code to do the same
- # xxx
+ # the manager code actually picks one (the first one), and it seems safer
+ # to pass it along rather than depending on the driver code to do the same
+ #
# NOTE 2. about keys
# when changing the ssh key through this method the gid gets changed too
# should anything be passed back to the caller in this case ?
convert a list of dictionaries into a dictionary keyed on the
specified dictionary key
"""
- keys = [rec[key] for rec in recs]
- return dict(zip(keys, recs))
+ return dict ( [ (rec[key],rec) for rec in recs ] )
#
# inheriting Driver is not very helpful in the PL case but
#
# so OTOH we inherit PlShell just so one can do driver.GetNodes
# which would not make much sense in the context of other testbeds
-# so ultimately PlDriver might just as well drop the PlShell inheritance
+# so ultimately PlDriver should drop the PlShell inheritance
+# and would have a driver.shell reference to a PlShell instead
#
class PlDriver (Driver, PlShell):
self.AddPersonToSlice,
self.DeletePersonFromSlice)
elif record.type == "authority":
- logger.info("update_membership 'autority' not implemented")
+ logger.info("update_membership 'authority' not implemented")
pass
else:
pass
# build a list of the new person ids, by looking up each person to get
# their pointer
newIdList = []
- # xxx thgen fixme - use SfaTable hardwired for now
- #table = self.SfaTable()
table = SfaTable()
records = table.find({'type': 'user', 'hrn': newList})
for rec in records: