Sync Integ to Master
[sdc.git] / catalog-be / src / main / resources / scripts / import / tosca / upgradeNormativeVersionAll.py
1 import pycurl
2 import sys, getopt, os
3 from StringIO import StringIO
4 import json
5 import copy
6 import time
7 from importNormativeTypes import importNormativeTypes
8 from importHeatTypes import importHeatTypes
9 from importCommon import *
10 import importCommon
11
12 def usage():
13         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>]'
14
15 def handleResults(results, updateversion):
16         printFrameLine()
17         for result in results:
18                 printNameAndReturnCode(result[0], result[1])
19         printFrameLine()
20         
21         responseCodes = [200, 201]
22         
23         if(updateversion == 'false'):
24                 responseCodes = [200, 201, 409]
25         
26         failedResults = filter(lambda x: x[1] == None or x[1] not in responseCodes, results)
27         if (len(failedResults) > 0):
28                 errorAndExit(1, None)
29
30 def main(argv):
31         print 'Number of arguments:', len(sys.argv), 'arguments.'
32
33         beHost = 'localhost' 
34         bePort = '8080'
35         adminUser = 'jh0003'
36         debugf = None
37         updateversion = 'true'
38         importCommon.debugFlag = False 
39         scheme = 'http'
40
41         try:
42                 opts, args = getopt.getopt(argv,"i:p:u:d:v:h:s:",["ip=","port=","user=","debug=","updateversion=","scheme="])
43         except getopt.GetoptError:
44                 usage()
45                 errorAndExit(2, 'Invalid input')
46         
47         for opt, arg in opts:
48         #print opt, arg
49                 if opt == '-h':
50                         usage()                        
51                         sys.exit(3)
52                 elif opt in ("-i", "--ip"):
53                         beHost = arg
54                 elif opt in ("-p", "--port"):
55                         bePort = arg
56                 elif opt in ("-u", "--user"):
57                         adminUser = arg
58                 elif opt in ("-s", "--scheme"):
59                         scheme = arg
60                 elif opt in ("-d", "--debug"):
61                         print arg
62                         debugf = bool(arg.lower() == "true" or arg.lower() == "yes")
63                 elif opt in ("-v", "--updateversion"):
64                         print arg
65                         if (arg.lower() == "false" or arg.lower() == "no"):
66                                 updateversion = 'false'                 
67
68         print 'scheme =',scheme,', be host =',beHost,', be port =', bePort,', user =', adminUser, ', debug =', debugf, ', updateversion =', updateversion
69
70         if (debugf != None):
71                 print 'set debug mode to ' + str(debugf)
72                 importCommon.debugFlag = debugf
73         
74         if ( beHost == None ):
75                 usage()
76                 sys.exit(3)
77
78         print sys.argv[0]
79         pathdir = os.path.dirname(os.path.realpath(sys.argv[0]))      
80         debug("path dir =" + pathdir)
81
82         baseFileLocation = pathdir + "/../../../import/tosca/"
83         
84         fileLocation = baseFileLocation + "normative-types/"
85         results = importNormativeTypes(scheme, beHost, bePort, adminUser, fileLocation, updateversion)
86         handleResults(results, updateversion)
87
88         fileLocation = baseFileLocation + "heat-types/"
89         resultsHeat = importHeatTypes(scheme, beHost, bePort, adminUser, fileLocation, updateversion)
90         handleResults(resultsHeat, updateversion)
91         
92         fileLocation = baseFileLocation + "onap-types/"
93         resultsOnap = importOnapTypes(beHost, bePort, adminUser, fileLocation, updateversion)
94         handleResults(resultsOnap, updateversion)
95
96         errorAndExit(0, None)   
97
98 if __name__ == "__main__":
99         main(sys.argv[1:])
100