diff options
author | Tal Gitelman <tg851x@intl.att.com> | 2018-08-16 16:27:12 +0300 |
---|---|---|
committer | Michael Lando <ml636r@att.com> | 2018-08-20 02:51:19 +0000 |
commit | 3e7c13579da7ff25b308cb577efdd04fd7ca9696 (patch) | |
tree | ec73d5cfecd514d2b31e09aa8ae3eff91ecfb5e1 /catalog-be/src/main/resources/scripts | |
parent | 61919ec216756da63bd43983c3f522b402de4cb6 (diff) |
Import normative improvement
Change-Id: I6db32d8107874b2454b75348d909b295030a556f
Issue-ID: SDC-557
Signed-off-by: Tal Gitelman <tg851x@intl.att.com>
Diffstat (limited to 'catalog-be/src/main/resources/scripts')
5 files changed, 17 insertions, 227 deletions
diff --git a/catalog-be/src/main/resources/scripts/import/tosca/importHeatTypes.py b/catalog-be/src/main/resources/scripts/import/tosca/importHeatTypes.py index 74ecf71784..7963588fdd 100644 --- a/catalog-be/src/main/resources/scripts/import/tosca/importHeatTypes.py +++ b/catalog-be/src/main/resources/scripts/import/tosca/importHeatTypes.py @@ -55,7 +55,7 @@ def importHeatTypes(scheme, beHost, bePort, adminUser, fileDir, updateversion): "contrailV2VLANSubInterface", "multiFlavorVFC", "vnfConfiguration", - "extCp2", + "extCP2", "extNeutronCP", "extContrailCP", "portMirroringByPolicy", diff --git a/catalog-be/src/main/resources/scripts/import/tosca/importHeatTypes1.py b/catalog-be/src/main/resources/scripts/import/tosca/importHeatTypes1.py deleted file mode 100644 index 93394b3ed5..0000000000 --- a/catalog-be/src/main/resources/scripts/import/tosca/importHeatTypes1.py +++ /dev/null @@ -1,100 +0,0 @@ -import pycurl -import sys, getopt -from StringIO import StringIO -import json -import copy -from importCommon import * -from importNormativeTypes import * -import importCommon - -##################################################################################################################################################################################### -# # -# Import heat types # -# # -# activation : # -# python importHeatTypes1.py [-s <scheme> | --scheme=<scheme> ] [-i <be host> | --ip=<be host>] [-p <be port> | --port=<be port> ] [-f <input file> | --ifile=<input file> ] # -# # -# shortest activation (be host = localhost, be port = 8080): # -# python importHeatTypes1.py [-f <input file> | --ifile=<input file> ] # -# # -##################################################################################################################################################################################### - -def importHeatTypes1(scheme, beHost, bePort, adminUser, fileDir, updateversion): - - heatTypes = ["extCp"] - - responseCodes = [200, 201] - - if(updateversion == 'false'): - responseCodes = [200, 201, 409] - - results = [] - for heatType in heatTypes: - result = createNormativeType(scheme, beHost, bePort, adminUser, fileDir, heatType, updateversion) - results.append(result) - if ( result[1] == None or result[1] not in responseCodes) : - print "Failed creating heat type " + heatType + ". " + str(result[1]) - return results - - -def main(argv): - print 'Number of arguments:', len(sys.argv), 'arguments.' - - beHost = 'localhost' - bePort = '8080' - adminUser = 'jh0003' - updateversion = 'true' - scheme = 'http' - - try: - opts, args = getopt.getopt(argv,"i:p:u:v:h:s:",["ip=","port=","user=","updateversion=","scheme="]) - except getopt.GetoptError: - usage() - error_and_exit(2, 'Invalid input') - - for opt, arg in opts: - #print opt, arg - if opt == '-h': - usage() - sys.exit(3) - elif opt in ("-i", "--ip"): - beHost = arg - elif opt in ("-p", "--port"): - bePort = arg - elif opt in ("-u", "--user"): - adminUser = arg - elif opt in ("-s", "--scheme"): - scheme = arg - elif opt in ("-v", "--updateversion"): - if (arg.lower() == "false" or arg.lower() == "no"): - updateversion = 'false' - - print 'scheme =',scheme,', be host =',beHost,', be port =', bePort,', user =', adminUser - - if ( beHost == None ): - usage() - sys.exit(3) - - results = importHeatTypes1(scheme, beHost, bePort, adminUser, "../../../import/tosca/heat-types/", updateversion) - - print "-----------------------------" - for result in results: - print "{0:20} | {1:6}".format(result[0], result[1]) - print "-----------------------------" - - responseCodes = [200, 201] - - if(updateversion == 'false'): - responseCodes = [200, 201, 409] - - failedNormatives = filter(lambda x: x[1] == None or x[1] not in responseCodes, results) - if (len(failedNormatives) > 0): - error_and_exit(1, None) - else: - error_and_exit(0, None) - - -if __name__ == "__main__": - main(sys.argv[1:]) - - diff --git a/catalog-be/src/main/resources/scripts/import/tosca/importNormativeAll1.py b/catalog-be/src/main/resources/scripts/import/tosca/importNormativeAll1.py deleted file mode 100644 index 1dbd5fdcb3..0000000000 --- a/catalog-be/src/main/resources/scripts/import/tosca/importNormativeAll1.py +++ /dev/null @@ -1,121 +0,0 @@ -import pycurl -import sys, getopt, os -from StringIO import StringIO -import json -import copy -import time -#from importNormativeElements import createNormativeElement -from importNormativeElements import * -from importNormativeTypes import importNormativeTypes -from importHeatTypes1 import importHeatTypes1 -from importNormativeCapabilities import importNormativeCapabilities -from importCategoryTypes import importCategories -from importNormativeInterfaceLifecycleTypes import importNormativeInterfaceLifecycleType -from importDataTypes import importDataTypes -from importGroupTypes import importGroupTypes -from importPolicyTypes import importPolicyTypes -from importCommon import * -import importCommon - -################################################################################################################################################################################################################################# -# # -# Import all users from a given file # -# # -# activation : # -# python importNormativeAll.py [-s <scheme> | --scheme=<scheme> ] [-i <be host> | --ip=<be host>] [-p <be port> | --port=<be port> ] [-u <user userId> | --user=<user userId> ] [-d <true|false> | --debug=<true|false>] # -# [-v <true|false> | --updateversion=<true|false>] # -# # -# shortest activation (be host = localhost, be port = 8080, user = jh0003): # -# python importNormativeAll.py # -# # -################################################################################################################################################################################################################################# - -def usage(): - print sys.argv[0], '[optional -s <scheme> | --scheme=<scheme>, default http] [-i <be host> | --ip=<be host>] [-p <be port> | --port=<be port> ] [-u <user userId> | --user=<user userId> ] [-d <true|false> | --debug=<true|false>] [-v <true|false> | --updateversion=<true|false>]' - -def handleResults(results, updateversion): - print_frame_line() - for result in results: - print_name_and_return_code(result[0], result[1]) - print_frame_line() - - responseCodes = [200, 201] - - if(updateversion == 'false'): - responseCodes = [200, 201, 409] - - failedResults = filter(lambda x: x[1] == None or x[1] not in responseCodes, results) - if (len(failedResults) > 0): - error_and_exit(1, None) - -def main(argv): - print 'Number of arguments:', len(sys.argv), 'arguments.' - - beHost = 'localhost' - bePort = '8080' - adminUser = 'jh0003' - debugf = None - updateversion = 'true' - importCommon.debugFlag = False - scheme = 'http' - - try: - opts, args = getopt.getopt(argv,"i:p:u:d:v:h:s:",["ip=","port=","user=","debug=","updateversion=","scheme="]) - except getopt.GetoptError: - usage() - error_and_exit(2, 'Invalid input') - - for opt, arg in opts: - #print opt, arg - if opt == '-h': - usage() - sys.exit(3) - elif opt in ("-i", "--ip"): - beHost = arg - elif opt in ("-p", "--port"): - bePort = arg - elif opt in ("-u", "--user"): - adminUser = arg - elif opt in ("-s", "--scheme"): - scheme = arg - elif opt in ("-d", "--debug"): - print arg - debugf = bool(arg.lower() == "true" or arg.lower() == "yes") - elif opt in ("-v", "--updateversion"): - print arg - if (arg.lower() == "false" or arg.lower() == "no"): - updateversion = 'false' - - print 'scheme =',scheme,', be host =',beHost,', be port =', bePort,', user =', adminUser, ', debug =', debugf, ', updateversion =', updateversion - - if (debugf != None): - print 'set debug mode to ' + str(debugf) - importCommon.debugFlag = debugf - - if ( beHost == None ): - usage() - sys.exit(3) - - print sys.argv[0] - pathdir = os.path.dirname(os.path.realpath(sys.argv[0])) - debug("path dir =" + pathdir) - - baseFileLocation = pathdir + "/../../../import/tosca/" - - fileLocation = baseFileLocation + "data-types/" - importDataTypes(scheme, beHost, bePort, adminUser, False, fileLocation) - - print 'sleep until data type cache is updated' - time.sleep( 1 ) - - fileLocation = baseFileLocation + "heat-types/" - resultsHeat = importHeatTypes1(scheme, beHost, bePort, adminUser, fileLocation, updateversion) - handleResults(resultsHeat, updateversion) - - - - error_and_exit(0, None) - -if __name__ == "__main__": - main(sys.argv[1:]) - diff --git a/catalog-be/src/main/resources/scripts/import/tosca/importNormativeElements.py b/catalog-be/src/main/resources/scripts/import/tosca/importNormativeElements.py index 347898a815..453ee3aebc 100644 --- a/catalog-be/src/main/resources/scripts/import/tosca/importNormativeElements.py +++ b/catalog-be/src/main/resources/scripts/import/tosca/importNormativeElements.py @@ -1,4 +1,5 @@ import pycurl +import zipfile from StringIO import StringIO import json import copy @@ -47,7 +48,7 @@ def createNormativeElement(scheme, be_host, be_port, admin_user, file_dir, url_s type_file_name = file_dir + "/" + element_name - multi_part_form_data = create_multipart_form_data(element_form_name, type_file_name, with_metadata) + multi_part_form_data = create_multipart_form_data(element_form_name, type_file_name, with_metadata, element_name) c.setopt(pycurl.HTTPPOST, multi_part_form_data) c.setopt(c.WRITEFUNCTION, buffer.write) @@ -69,8 +70,8 @@ def createNormativeElement(scheme, be_host, be_port, admin_user, file_dir, url_s return (element_name, None, None) -def create_multipart_form_data(element_form_name, type_file_name, with_metadata): - tosca_type_zip_part = create_zip_file_multi_part(element_form_name, type_file_name) +def create_multipart_form_data(element_form_name, type_file_name, with_metadata, element_name): + tosca_type_zip_part = create_zip_file_multi_part(element_form_name, type_file_name, element_name) multi_part_form_data = [tosca_type_zip_part] if with_metadata: metadata_type_part = create_metadata_multipart(type_file_name) @@ -84,7 +85,11 @@ def create_metadata_multipart(type_file_name): return ("toscaTypeMetadata", metadata) -def create_zip_file_multi_part(element_form_name, type_file_name): +def create_zip_file_multi_part(element_form_name, type_file_name, element_name): + zf = zipfile.ZipFile(type_file_name + ".zip", "w") + zf.write(type_file_name + '.yml', element_name + '.yml') + zf.close() + tosca_type_zip_path = type_file_name + ".zip" tosca_type_zip_part = (element_form_name, (pycurl.FORM_FILE, tosca_type_zip_path)) return tosca_type_zip_part diff --git a/catalog-be/src/main/resources/scripts/import/tosca/importNormativeTypes.py b/catalog-be/src/main/resources/scripts/import/tosca/importNormativeTypes.py index 51d36586bc..511e8417e4 100644 --- a/catalog-be/src/main/resources/scripts/import/tosca/importNormativeTypes.py +++ b/catalog-be/src/main/resources/scripts/import/tosca/importNormativeTypes.py @@ -1,5 +1,6 @@ import pycurl import sys, getopt +import zipfile from StringIO import StringIO import json import copy @@ -37,8 +38,13 @@ def createNormativeType(scheme, beHost, bePort, adminUser, fileDir, ELEMENT_NAME #c.setopt(pycurl.HTTPHEADER, ['Content-Type: application/json', 'Accept: application/json', adminHeader]) c.setopt(pycurl.HTTPHEADER, [adminHeader]) - + yml_path = fileDir + ELEMENT_NAME + "/" + ELEMENT_NAME + ".yml" path = fileDir + ELEMENT_NAME + "/" + ELEMENT_NAME + ".zip" + + zf = zipfile.ZipFile(path, "w") + zf.write(yml_path, ELEMENT_NAME + '.yml') + zf.close() + debug(path) CURRENT_JSON_FILE=fileDir + ELEMENT_NAME + "/" + ELEMENT_NAME + ".json" #sed -i 's/"userId": ".*",/"userId": "'${USER_ID}'",/' ${CURRENT_JSON_FILE} |