+### $Id$
+### $URL$
+
+from geni.trust.certificate import Keypair, convert_public_key
+from geni.trust.gid import *
+
from geni.util.faults import *
-from geni.util.excep import *
+from geni.util.misc import *
from geni.util.method import Method
from geni.util.parameter import Parameter, Mixed
from geni.util.auth import Auth
from geni.util.record import GeniRecord
-from geni.util.cert import Keypair, convert_public_key
-from geni.util.gid import *
from geni.util.debug import log
-from geni.util.misc import *
class register(Method):
"""
# make sure record has a gid
if 'gid' not in record:
uuid = create_uuid()
- pkey = Keypair()
+ pkey = Keypair(create=True)
if 'keys' in record and record['keys']:
pkey = convert_public_key(record['keys'][0])
-
+
gid_object = self.api.auth.hierarchy.create_gid(name, uuid, pkey)
gid = gid_object.save_to_string(save_parents=True)
record['gid'] = gid
# What roles should this user have?
self.api.plshell.AddRoleToPerson(self.api.plauth, 'user', pointer)
record.set_pointer(pointer)
+
+ # Add the user's key
+ if record['keys']:
+ self.api.plshell.AddPersonKey(self.api.plauth, pointer, {'key_type' : 'ssh', 'key' : record['keys'][0]})
elif (type == "node"):
pl_record = self.api.geni_fields_to_pl_fields(type, name, record)