import os import time import importCommon from importAnnotationTypes import import_annotation_types from importCategoryTypes import importCategories from importCommon import * from importDataTypes import importDataTypes from importGroupTypes import importGroupTypes from importHeatTypes import importHeatTypes from importNormativeCapabilities import importNormativeCapabilities from importNormativeInterfaceLifecycleTypes import importNormativeInterfaceLifecycleType from importNormativeRelationships import importNormativeRelationships from importNormativeTypes import importNormativeTypes from importPolicyTypes import importPolicyTypes ################################################################################################################################################################################################################################# # # # Import all users from a given file # # # # activation : # # python importNormativeAll.py [-s | --scheme= ] [-i | --ip=] [-p | --port= ] [-u | --user= ] [-d | --debug=] # # [-v | --updateversion=] # # # # shortest activation (be host = localhost, be port = 8080, user = jh0003): # # python importNormativeAll.py # # # ################################################################################################################################################################################################################################# def usage(): print sys.argv[0], \ '[optional -s | --scheme=, default http] [-i | --ip=] [-p | --port= ] [-u | --user= ] [-d | --debug=] [-v | --updateversion=]' def handleResults(results, update_version): print_frame_line() for result in results: print_name_and_return_code(result[0], result[1]) print_frame_line() response_codes = [200, 201] if update_version == 'false': response_codes = [200, 201, 409] failed_results = filter(lambda x: x[1] is None or x[1] not in response_codes, results) if len(list(failed_results)) > 0: error_and_exit(1, None) def main(argv): print 'Number of arguments:', len(sys.argv), 'arguments.' be_host = 'localhost' be_port = '8080' admin_user = 'jh0003' debug_f = None update_version = 'true' importCommon.debugFlag = False scheme = 'http' try: opts, args = getopt.getopt(argv, "i:p:u:d:v:h:s:", ["ip=", "port=", "user=", "debug=", "updateversion=", "scheme="]) except getopt.GetoptError: usage() error_and_exit(2, 'Invalid input') for opt, arg in opts: # print opt, arg if opt == '-h': usage() sys.exit(3) elif opt in ("-i", "--ip"): be_host = arg elif opt in ("-p", "--port"): be_port = arg elif opt in ("-u", "--user"): admin_user = arg elif opt in ("-s", "--scheme"): scheme = arg elif opt in ("-d", "--debug"): print arg debug_f = bool(arg.lower() == "true" or arg.lower() == "yes") elif opt in ("-v", "--updateversion"): print arg if arg.lower() == "false" or arg.lower() == "no": update_version = 'false' print 'scheme =', scheme, ', be host =', be_host, ', be port =', be_port, ', user =', admin_user, ', debug =', debug_f, ', updateversion =', update_version if debug_f is not None: print 'set debug mode to ' + str(debug_f) importCommon.debugFlag = debug_f if be_host is None: usage() sys.exit(3) print sys.argv[0] path_dir = os.path.dirname(os.path.realpath(sys.argv[0])) debug("path dir =" + path_dir) base_file_location = path_dir + "/../../../import/tosca/" file_location = base_file_location + "data-types/" importDataTypes(scheme, be_host, be_port, admin_user, False, file_location) print 'sleep until data type cache is updated' time.sleep(70) file_location = base_file_location + "capability-types/" importNormativeCapabilities(scheme, be_host, be_port, admin_user, False, file_location) file_location = base_file_location + "relationship-types/" importNormativeRelationships(scheme, be_host, be_port, admin_user, False, file_location) file_location = base_file_location + "interface-lifecycle-types/" importNormativeInterfaceLifecycleType(scheme, be_host, be_port, admin_user, False, file_location) file_location = base_file_location + "categories/" importCategories(scheme, be_host, be_port, admin_user, False, file_location) file_location = base_file_location + "normative-types/" results = importNormativeTypes(scheme, be_host, be_port, admin_user, file_location, update_version) handleResults(results, update_version) file_location = base_file_location + "heat-types/" results_heat = importHeatTypes(scheme, be_host, be_port, admin_user, file_location, update_version) handleResults(results_heat, update_version) file_location = base_file_location + "group-types/" importGroupTypes(scheme, be_host, be_port, admin_user, False, file_location) file_location = base_file_location + "policy-types/" importPolicyTypes(scheme, be_host, be_port, admin_user, False, file_location) import_annotation_types(scheme, be_host, be_port, admin_user, False) error_and_exit(0, None) if __name__ == "__main__": main(sys.argv[1:])