X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fiotlab%2Fiotlabshell.py;h=f237dded88dedbb1cb9bd725dc8879d1b8c0b3d9;hb=3e6097e2d50ff322b45f53fcb22d07fc16adbdb6;hp=363e4b5ed2863a59a8e0ac7db085d09fce15e9ee;hpb=b835890db506439d1925577ccdc9ef4f0b3dc6ac;p=sfa.git diff --git a/sfa/iotlab/iotlabshell.py b/sfa/iotlab/iotlabshell.py index 363e4b5e..f237dded 100644 --- a/sfa/iotlab/iotlabshell.py +++ b/sfa/iotlab/iotlabshell.py @@ -52,7 +52,7 @@ class IotLABShell(object): nodes_dict[node['network_address']] = node return nodes_dict - def get_users(self): + def get_users(self, email=None): """ Get all LDAP users :returns: users with LDAP attributes @@ -79,7 +79,10 @@ class IotLABShell(object): logger.warning("iotlashell get_users") users_dict = {} try: - users = self.api.method('admin/users') + if email: + users = self.api.method('admin/users?email=%s' % email) + else: + users = self.api.method('admin/users') except HTTPError as err: logger.warning("iotlashell get_users error %s" % err.reason) return {'error': err.reason} @@ -94,6 +97,7 @@ class IotLABShell(object): """ # pylint:disable=W0212,R0913,E1123 logger.warning("iotlashell reserve_nodes") + logger.info("login=%s, exp_name=%s, nodes_list=%s, start_time=%s, duration=%s" % (login, exp_name, nodes_list, start_time, duration)) exp_file = helpers.FilesDict() _experiment = experiment._Experiment(exp_name, duration, start_time) _experiment.type = 'physical' @@ -150,16 +154,22 @@ class IotLABShell(object): """ # pylint:disable=E1123 logger.warning("iotlashell add_user") + logger.warning("slice_user: %s" % slice_user) + if 'urn' in slice_user: + organization = slice_user['urn'] + else: + organization = "SFA federation" # single account creation user = {"type": "SA", "city": "To be defined", "country": "To be defined", - "motivations": "SFA federation"} + "motivations": "SFA federation", + "organization": organization} email = slice_user['email'] user['email'] = email user['sshPublicKey'] = slice_user['keys'][0] # ex : onelab.inria - user['structure'] = slice_user['slice_record']['authority'] + user['structure'] = slice_user['urn'].split('+')[1].replace(':','.') email = (email.split('@'))[0] user['firstName'] = email.split('.')[0] try: