Sync Integ to Master
[sdc.git] / catalog-be / src / main / resources / scripts / import / tosca / upgradeNormativeVersionProd1702_3537.py
1 import pycurl
2 import sys, getopt, os
3 from StringIO import StringIO
4 import json
5 import copy
6 from importCommon import *
7 from importNormativeTypes import createNormativeType
8 import importCommon
9
10 #################################################################################################################################################################################################################################
11 #                                                                                                                                                                                                                                                                                                                                                                                                                                                       #
12 # Upgrades the normative types                                                                                                                                                                                                                                                                                                                                                                                                  #
13 #                                                                                                                                                                                                                                                                                                                                                                                                                                                               #
14 # activation :                                                                                                                                                                                                                                                                                                                                                                                                                                  #
15 #       python upgradeNormative.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>]    #
16 #                                                                                                                                                                                                                                                                                                                                                                                                                                                               #
17 #                                                                                                                                                                                                                                                                                                                                                                                                                                                               #
18 # shortest activation (be host = localhost, be port = 8080, user = jh0003):                                                                                                                                                                                                                                                                                                     #
19 #               python upgradeNormative.py                                                                                                                                                                                                                                                                                                                                                                                      #
20 #                                                                                                                                                                                                                                                                                                                                                                                                                                                       #
21 #################################################################################################################################################################################################################################
22
23 def usage():
24         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>]'
25
26 def handleResults(results, updateversion):
27         printFrameLine()
28         for result in results:
29                 printNameAndReturnCode(result[0], result[1])
30         printFrameLine()
31         
32         failedResults = filter(lambda x: x[1] == None or x[1] not in [200, 201, 409], results)
33         if (len(failedResults) > 0):
34                 errorAndExit(1, None)
35
36 def main(argv):
37         print 'Number of arguments:', len(sys.argv), 'arguments.'
38
39         beHost = 'localhost' 
40         bePort = '8080'
41         adminUser = 'jh0003'
42         debugf = None
43         updateversion = 'true'
44         importCommon.debugFlag = False 
45         scheme = 'http'
46
47         try:
48                 opts, args = getopt.getopt(argv,"i:p:u:d:h:s:",["ip=","port=","user=","debug=","scheme="])
49         except getopt.GetoptError:
50                 usage()
51                 errorAndExit(2, 'Invalid input')
52         
53         for opt, arg in opts:
54         #print opt, arg
55                 if opt == '-h':
56                         usage()                        
57                         sys.exit(3)
58                 elif opt in ("-i", "--ip"):
59                         beHost = arg
60                 elif opt in ("-p", "--port"):
61                         bePort = arg
62                 elif opt in ("-u", "--user"):
63                         adminUser = arg
64                 elif opt in ("-s", "--scheme"):
65                         scheme = arg
66                 elif opt in ("-d", "--debug"):
67                         print arg
68                         debugf = bool(arg.lower() == "true" or arg.lower() == "yes")
69
70         print 'scheme =',scheme,', be host =',beHost,', be port =', bePort,', user =', adminUser, ', debug =', debugf
71
72         if (debugf != None):
73                 print 'set debug mode to ' + str(debugf)
74                 importCommon.debugFlag = debugf
75         
76         if ( beHost == None ):
77                 usage()
78                 sys.exit(3)
79
80         print sys.argv[0]
81         pathdir = os.path.dirname(os.path.realpath(sys.argv[0]))      
82         debug("path dir =" + pathdir)
83
84         baseFileLocation = pathdir + "/../../../import/tosca/"
85         results = []
86
87
88         ##########################################################################
89     #---------------------------------for release 1702---------------------- #
90     ##########################################################################
91
92
93         fileLocation = baseFileLocation + "heat-types/"
94         result = createNormativeType(scheme, beHost, bePort, adminUser, fileLocation, "contrailPort", updateversion)
95         results.append(result)
96
97         fileLocation = baseFileLocation + "heat-types/"
98         result = createNormativeType(scheme, beHost, bePort, adminUser, fileLocation, "contrailV2VirtualMachineInterface", updateversion)
99         results.append(result)
100
101         fileLocation = baseFileLocation + "heat-types/"
102         result = createNormativeType(scheme, beHost, bePort, adminUser, fileLocation, "neutronPort", updateversion)
103         results.append(result)
104
105         fileLocation = baseFileLocation + "heat-types/"
106         result = createNormativeType(scheme, beHost, bePort, adminUser, fileLocation, "contrailCompute", updateversion)
107         results.append(result)
108
109         fileLocation = baseFileLocation + "heat-types/"
110         result = createNormativeType(scheme, beHost, bePort, adminUser, fileLocation, "novaServer", updateversion)
111         results.append(result)
112
113         fileLocation = baseFileLocation + "heat-types/"
114         result = createNormativeType(scheme, beHost, bePort, adminUser, fileLocation, "contrailV2VirtualNetwork", updateversion)
115         results.append(result)
116
117         fileLocation = baseFileLocation + "heat-types/"
118         result = createNormativeType(scheme, beHost, bePort, adminUser, fileLocation, "contrailVirtualNetwork", updateversion)
119         results.append(result)
120
121         fileLocation = baseFileLocation + "heat-types/"
122         result = createNormativeType(scheme, beHost, bePort, adminUser, fileLocation, "neutronNet", updateversion)
123         results.append(result)
124
125
126         handleResults(results, 'false')
127
128         errorAndExit(0, None)   
129
130 if __name__ == "__main__":
131         main(sys.argv[1:])
132