3 from StringIO import StringIO
6 from importCommon import *
7 from importNormativeTypes import *
12 ################################################################################################################################################################################################
14 # Upgrades all Heat and Normative types confiugred in "typesToUpgrade.json" file #
17 # 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> ] #
19 # shortest activation (be host = localhost, be port = 8080): #
20 # python upgradeHeatAndNormativeTypes.py [-f <input file> | --ifile=<input file> ] #
22 ################################################################################################################################################################################################
23 def upgradeOnapTypesPerConfigFile(scheme, beHost, bePort, adminUser, baseDir, updateversion):
24 responseCodes = [200, 201]
25 if (updateversion == 'false'):
26 responseCodes = [200, 201, 409]
27 with open("onapTypesToUpgrade.json", 'r') as stream:
29 types = json.load(stream)
30 onapTypes = types["onap"]
32 onapFileDir = baseDir + "onap-types/"
35 for onapType in onapTypes:
36 result = createNormativeType(scheme, beHost, bePort, adminUser, onapFileDir, onapType.encode('ascii', 'ignore'), updateversion)
37 results.append(result)
38 if (result[1] == None or result[1] not in responseCodes):
39 print "Failed creating onap type " + onapType + ". " + str(result[1])
40 except yaml.YAMLError as exc:
46 print 'Number of arguments:', len(sys.argv), 'arguments.'
51 updateversion = 'true'
55 opts, args = getopt.getopt(argv, "i:p:u:v:h:s:", ["ip=", "port=", "user=", "updateversion=","scheme="])
56 except getopt.GetoptError:
58 errorAndExit(2, 'Invalid input')
65 elif opt in ("-i", "--ip"):
67 elif opt in ("-p", "--port"):
69 elif opt in ("-u", "--user"):
71 elif opt in ("-s", "--scheme"):
73 elif opt in ("-v", "--updateversion"):
74 if (arg.lower() == "false" or arg.lower() == "no"):
75 updateversion = 'false'
77 print 'scheme =',scheme,', be host =',beHost, ', be port =', bePort, ', user =', adminUser
83 results = upgradeOnapTypesPerConfigFile(scheme, beHost, bePort, adminUser, "../../../import/tosca/", updateversion)
85 print "-----------------------------"
86 for result in results:
87 print "{0:20} | {1:6}".format(result[0], result[1])
88 print "-----------------------------"
90 responseCodes = [200, 201]
92 if (updateversion == 'false'):
93 responseCodes = [200, 201, 409]
95 failedNormatives = filter(lambda x: x[1] == None or x[1] not in responseCodes, results)
96 if (len(failedNormatives) > 0):
102 if __name__ == "__main__":