3 from StringIO import StringIO
7 from importCategoryTypes import importCategories
8 from upgradeHeatAndNormativeTypes import upgradeTypesPerConfigFile
9 from importDataTypes import importDataTypes
10 from importPolicyTypes import importPolicyTypes
11 from importGroupTypes import importGroupTypes
12 from importNormativeCapabilities import importNormativeCapabilities
13 from importNormativeRelationships import importNormativeRelationships
14 from importNormativeInterfaceLifecycleTypes import importNormativeInterfaceLifecycleType
15 from upgradeNfvTypes import upgradeNfvTypesPerConfigFile
16 from upgradeONAPTypes import upgradeOnapTypesPerConfigFile
17 from upgradeSolTypes import upgradeSolTypesPerConfigFile
20 from importCommon import *
23 #################################################################################################################################################################################################
25 # Upgrades the normative types #
28 # python upgradeNormative.py [-i <be host> | --ip=<be host>] [-p <be port> | --port=<be port> ] [-u <user userId> | --user=<user userId> ] [-d <true|false> | --debug=<true|false>] #
31 # shortest activation (be host = localhost, be port = 8080, user = jh0003): #
32 # python upgradeNormative.py #
34 #################################################################################################################################################################################################
37 print sys.argv[0], '[-i <be host> | --ip=<be host>] [-p <be port> | --port=<be port> ] [-u <user userId> | --user=<user userId> ] [-d <true|false> | --debug=<true|false>]'
39 def handleResults(results):
40 if results is not None:
42 for result in results:
43 print_name_and_return_code(result[0], result[1])
47 failedResults = filter(lambda x: x[1] == None or x[1] not in [200, 201, 409], results)
48 if (len(failedResults) > 0):
49 error_and_exit(1, None)
52 print 'Number of arguments:', len(sys.argv), 'arguments.'
58 updateversion = 'true'
59 updateOnapVersion = 'false'
60 importCommon.debugFlag = False
64 opts, args = getopt.getopt(argv, "i:p:u:d:v:h:s",
65 ["scheme=", "ip=", "port=", "user=", "debug=", "updateversion="])
66 except getopt.GetoptError:
68 error_and_exit(2, 'Invalid input')
75 elif opt in ("-i", "--ip"):
77 elif opt in ("-p", "--port"):
79 elif opt in ("-u", "--user"):
81 elif opt in ("-s", "--scheme"):
83 elif opt in ("-d", "--debug"):
85 debugf = bool(arg.lower() == "true" or arg.lower() == "yes")
87 print 'scheme =',scheme,',be host =',beHost,', be port =', bePort,', user =', adminUser, ', debug =', debugf
90 print 'set debug mode to ' + str(debugf)
91 importCommon.debugFlag = debugf
93 if ( beHost == None ):
98 pathdir = os.path.dirname(os.path.realpath(sys.argv[0]))
99 debug("path dir =" + pathdir)
101 baseFileLocation = pathdir + "/../../../import/tosca/"
103 fileLocation = baseFileLocation + "categories/"
104 importCategories(scheme, beHost, bePort, adminUser, False, fileLocation)
106 fileLocation = baseFileLocation + "relationship-types/"
107 importNormativeRelationships(scheme, beHost, bePort, adminUser, False, fileLocation)
109 fileLocation = baseFileLocation + "data-types/"
110 importDataTypes(scheme, beHost, bePort, adminUser, False, fileLocation)
112 fileLocation = baseFileLocation + "policy-types/"
113 importPolicyTypes(scheme, beHost, bePort, adminUser, False, fileLocation)
115 fileLocation = baseFileLocation + "group-types/"
116 importGroupTypes(scheme, beHost, bePort, adminUser, False, fileLocation)
118 fileLocation = baseFileLocation + "capability-types/"
119 importNormativeCapabilities(scheme, beHost, bePort, adminUser, False, fileLocation)
121 fileLocation = baseFileLocation + "interface-lifecycle-types/"
122 importNormativeInterfaceLifecycleType(scheme, beHost, bePort, adminUser, False, fileLocation)
124 print 'sleep until data type cache is updated'
127 resultsHeat = upgradeTypesPerConfigFile(scheme, beHost, bePort, adminUser, baseFileLocation, updateversion)
128 handleResults(resultsHeat)
130 resultsHeat = upgradeNfvTypesPerConfigFile(scheme, beHost, bePort, adminUser, baseFileLocation, updateOnapVersion)
131 handleResults(resultsHeat)
133 resultsHeat = upgradeOnapTypesPerConfigFile(scheme, beHost, bePort, adminUser, baseFileLocation, updateOnapVersion)
134 handleResults(resultsHeat)
136 resultsHeat = upgradeSolTypesPerConfigFile(scheme, beHost, bePort, adminUser, baseFileLocation, updateOnapVersion)
137 handleResults(resultsHeat)
139 error_and_exit(0, None)
141 if __name__ == "__main__":