aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-be/src/main/resources/scripts
diff options
context:
space:
mode:
authorTal Gitelman <tg851x@intl.att.com>2018-08-16 16:27:12 +0300
committerMichael Lando <ml636r@att.com>2018-08-20 02:51:19 +0000
commit3e7c13579da7ff25b308cb577efdd04fd7ca9696 (patch)
treeec73d5cfecd514d2b31e09aa8ae3eff91ecfb5e1 /catalog-be/src/main/resources/scripts
parent61919ec216756da63bd43983c3f522b402de4cb6 (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')
-rw-r--r--catalog-be/src/main/resources/scripts/import/tosca/importHeatTypes.py2
-rw-r--r--catalog-be/src/main/resources/scripts/import/tosca/importHeatTypes1.py100
-rw-r--r--catalog-be/src/main/resources/scripts/import/tosca/importNormativeAll1.py121
-rw-r--r--catalog-be/src/main/resources/scripts/import/tosca/importNormativeElements.py13
-rw-r--r--catalog-be/src/main/resources/scripts/import/tosca/importNormativeTypes.py8
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}