From a5445100050e49e83f73424198d73cd72d672a4d Mon Sep 17 00:00:00 2001 From: Michael Lando Date: Sun, 4 Mar 2018 14:53:33 +0200 Subject: Sync Integ to Master Change-Id: I71e3acc26fa612127756ac04073a522b9cc6cd74 Issue-ID: SDC-977 Signed-off-by: Gitelman, Tal (tg851x) --- .../scripts/import/tosca/importUsersFromYaml.py | 63 ++++++++++++---------- 1 file changed, 36 insertions(+), 27 deletions(-) (limited to 'catalog-be/src/main/resources/scripts/import/tosca/importUsersFromYaml.py') diff --git a/catalog-be/src/main/resources/scripts/import/tosca/importUsersFromYaml.py b/catalog-be/src/main/resources/scripts/import/tosca/importUsersFromYaml.py index 8509855f38..8e69ffcf49 100644 --- a/catalog-be/src/main/resources/scripts/import/tosca/importUsersFromYaml.py +++ b/catalog-be/src/main/resources/scripts/import/tosca/importUsersFromYaml.py @@ -5,22 +5,22 @@ import json import copy import yaml -######################################################################################################################################################## -# # -# Import all users from a given YAML file # -# # -# activation : # -# python importUsersFromYaml.py [-i | --ip=] [-p | --port= ] [-f | --ifile= ] # -# # -# shortest activation (be host = localhost, be port = 8080): # # -# python importUsersFromYaml.py [-f | --ifile= ] # -# # -# PyYAML module shall be added to python. # -# pip install PyYAML>=3.1.0 --proxy=http://one.proxy.att.com:8080 # -######################################################################################################################################################## - - -def importUsers(beHost, bePort, users, adminUser): +######################################################################################################################################################################################### +# # +# Import all users from a given YAML file # +# # +# activation : # +# python importUsersFromYaml.py [-s | --scheme= ] [-i | --ip=] [-p | --port= ] [-f | --ifile= ] # +# # +# shortest activation (be host = localhost, be port = 8080): # +# python importUsersFromYaml.py [-f | --ifile= ] # +# # +# PyYAML module shall be added to python. # +# pip install PyYAML>=3.1.0 --proxy=http://one.proxy.att.com:8080 # +######################################################################################################################################################################################### + + +def importUsers(scheme, beHost, bePort, users, adminUser): result = [] @@ -28,12 +28,12 @@ def importUsers(beHost, bePort, users, adminUser): #print("Going to add user " + user['userId']) - getRes = getUser(beHost, bePort, user) + getRes = getUser(scheme, beHost, bePort, user) userId = getRes[0] error = getRes[1] #print error if ( error != None and error == 404 ): - res = createUser(beHost, bePort, user ,adminUser) + res = createUser(scheme, beHost, bePort, user ,adminUser) result.append(res) else: if ( error == 200 ): @@ -45,7 +45,7 @@ def importUsers(beHost, bePort, users, adminUser): return result -def getUser(beHost, bePort, user): +def getUser(scheme, beHost, bePort, user): if (user.get('userId') == None): print "Ignoring record", user @@ -56,9 +56,12 @@ def getUser(beHost, bePort, user): c = pycurl.Curl() #print type(userId) - url = 'http://' + beHost + ':' + bePort + '/sdc2/rest/v1/user/' + str(userId) + url = scheme + '://' + beHost + ':' + bePort + '/sdc2/rest/v1/user/' + str(userId) c.setopt(c.URL, url) + if scheme == 'https': + c.setopt(c.SSL_VERIFYPEER, 0) + #adminHeader = 'USER_ID: ' + adminUser c.setopt(pycurl.HTTPHEADER, ['Content-Type: application/json', 'Accept: application/json']) c.setopt(c.WRITEFUNCTION, lambda x: None) @@ -81,7 +84,7 @@ def getUser(beHost, bePort, user): -def createUser(beHost, bePort, user, adminUser): +def createUser(scheme, beHost, bePort, user, adminUser): if (user.get('userId') == None): print "Ignoring record", user @@ -92,7 +95,7 @@ def createUser(beHost, bePort, user, adminUser): buffer = StringIO() c = pycurl.Curl() - url = 'http://' + beHost + ':' + bePort + '/sdc2/rest/v1/user' + url = scheme + '://' + beHost + ':' + bePort + '/sdc2/rest/v1/user' c.setopt(c.URL, url) c.setopt(c.POST, 1) @@ -100,7 +103,10 @@ def createUser(beHost, bePort, user, adminUser): c.setopt(pycurl.HTTPHEADER, ['Content-Type: application/json', 'Accept: application/json', adminHeader]) data = json.dumps(user) - c.setopt(c.POSTFIELDS, data) + c.setopt(c.POSTFIELDS, data) + + if scheme == 'https': + c.setopt(c.SSL_VERIFYPEER, 0) c.setopt(c.WRITEFUNCTION, lambda x: None) #print("before perform") @@ -131,7 +137,7 @@ def errorAndExit(errorCode, errorDesc): sys.exit(errorCode) def usage(): - print sys.argv[0], '[-i | --ip=] [-p | --port= ] [-f | --ifile= ]' + print sys.argv[0], '[optional -s | --scheme=, default http] [-i | --ip=] [-p | --port= ] [-f | --ifile= ]' def main(argv): print 'Number of arguments:', len(sys.argv), 'arguments.' @@ -141,9 +147,10 @@ def main(argv): inputfile = None adminUser = 'jh0003' + scheme ='http' try: - opts, args = getopt.getopt(argv,"i:p:f:h:",["ip=","port=","ifile="]) + opts, args = getopt.getopt(argv,"i:p:f:h:s:",["ip=","port=","ifile=","scheme="]) except getopt.GetoptError: usage() errorAndExit(2, 'Invalid input') @@ -159,8 +166,10 @@ def main(argv): bePort = arg elif opt in ("-f", "--ifile"): inputfile = arg + elif opt in ("-s", "--scheme"): + scheme = arg - print 'be host =',beHost,', be port =', bePort,', users file =',inputfile + print 'scheme =',scheme,', be host =',beHost,', be port =', bePort,', users file =',inputfile if ( inputfile == None ): usage() @@ -187,7 +196,7 @@ def main(argv): #activeUsers = filter(lambda x: x.get('status') == None or x['status'] == 'ACTIVE', cloneUsers) - resultTable = importUsers(beHost, bePort, cloneUsers, adminUser) + resultTable = importUsers(scheme, beHost, bePort, cloneUsers, adminUser) g = lambda x: x[1] != 201 and x[1] != 409 -- cgit 1.2.3-korg