diff options
author | Gitelman, Tal (tg851x) <tg851x@intl.att.com> | 2018-03-20 01:04:54 +0200 |
---|---|---|
committer | Michael Lando <ml636r@att.com> | 2018-03-19 23:09:14 +0000 |
commit | fefa3e408f77289594e47edc878d1bee61fca90b (patch) | |
tree | fe8a7349a53e59085f6135f9b1d8729738d9a6ac /catalog-be/src/main/resources/scripts/import/tosca/upgradeNfvTypes.py | |
parent | 41cf18e4eebdae0692b832278b5a48f90345eedc (diff) |
Normative alignemet
Change-Id: I6115e20fe95662153903873d19439bc7cf0c2ff1
Issue-ID: SDC-1104
Signed-off-by: Gitelman, Tal (tg851x) <tg851x@intl.att.com>
Diffstat (limited to 'catalog-be/src/main/resources/scripts/import/tosca/upgradeNfvTypes.py')
-rw-r--r-- | catalog-be/src/main/resources/scripts/import/tosca/upgradeNfvTypes.py | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/catalog-be/src/main/resources/scripts/import/tosca/upgradeNfvTypes.py b/catalog-be/src/main/resources/scripts/import/tosca/upgradeNfvTypes.py new file mode 100644 index 0000000000..66d82f9e91 --- /dev/null +++ b/catalog-be/src/main/resources/scripts/import/tosca/upgradeNfvTypes.py @@ -0,0 +1,104 @@ +import pycurl +import sys, getopt +from StringIO import StringIO +import json +import copy +from importCommon import * +from importNormativeTypes import * +import importCommon +import json + + +################################################################################################################################################################################################ +# # +# Upgrades all Heat and Normative types confiugred in "typesToUpgrade.json" file # +# # +# activation # +# python upgradeHeatAndNormativeTypes.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 upgradeHeatAndNormativeTypes.py [-f <input file> | --ifile=<input file> ] # +# # +################################################################################################################################################################################################ +def upgradeNfvTypesPerConfigFile(scheme, beHost, bePort, adminUser, baseDir, updateversion): + responseCodes = [200, 201] + if (updateversion == 'false'): + responseCodes = [200, 201, 409] + with open("onapTypesToUpgrade.json", 'r') as stream: + try: + types = json.load(stream) + nfvTypes = types["nfv"] + debug(nfvTypes) + nfvFileDir = baseDir + "nfv-types/" + debug(nfvFileDir) + results = [] + for nfvType in nfvTypes: + result = createNormativeType(scheme, beHost, bePort, adminUser, nfvFileDir, nfvType.encode('ascii', 'ignore'), updateversion) + results.append(result) + if (result[1] == None or result[1] not in responseCodes): + print "Failed creating nfv type " + nfvType + ". " + str(result[1]) + except yaml.YAMLError as exc: + print(exc) + + + +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() + errorAndExit(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 = upgradeNfvTypesPerConfigFile(scheme, beHost, bePort, adminUser, "../../../import/tosca/", 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): + errorAndExit(1, None) + else: + errorAndExit(0, None) + + +if __name__ == "__main__": + main(sys.argv[1:]) + |