X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fiotlab%2Fiotlabshell.py;h=605fa98d43a93f3ebdc532a53c03e289b469968d;hb=4a9e6751f9f396f463932133b9d62fc925a99ef6;hp=101de84a55815892400d9f461bff745411651dde;hpb=45ced23005cf8f27b0a5dc71e80d73ebca598e83;p=sfa.git diff --git a/sfa/iotlab/iotlabshell.py b/sfa/iotlab/iotlabshell.py index 101de84a..605fa98d 100644 --- a/sfa/iotlab/iotlabshell.py +++ b/sfa/iotlab/iotlabshell.py @@ -6,7 +6,7 @@ from iotlabcli import auth from iotlabcli import rest from iotlabcli import helpers from iotlabcli import experiment -from urllib2 import HTTPError +from urllib.error import HTTPError class IotLABShell(object): @@ -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' @@ -105,6 +109,7 @@ class IotLABShell(object): files=exp_file) except HTTPError as err: logger.warning("iotlashell reserve_nodes error %s" % err.reason) + logger.error(err) return {'error': err.reason} def get_reserved_nodes(self): @@ -147,7 +152,20 @@ class IotLABShell(object): def add_user(self, slice_user): """ Add LDAP user + { + "firstName":"loic", + "lastName":"test", + "email":"loic.test@lip6.fr", + "organization":"SFA", + "city":"To be defined", + "country":"To be defined", + "motivations":"SFA federation", + "category":"Academic", + "type": "SA", + "sshPublicKey": "ssh-rsa AAAAB3Nz..." + } """ + # pylint:disable=E1123 logger.warning("iotlashell add_user") logger.warning("slice_user: %s" % slice_user) @@ -160,7 +178,9 @@ class IotLABShell(object): "city": "To be defined", "country": "To be defined", "motivations": "SFA federation", - "organization": organization} + "organization": organization, + "category":"Academic" + } email = slice_user['email'] user['email'] = email user['sshPublicKey'] = slice_user['keys'][0]