def main(): """ db_installer main loop """ global cfgs format_output('Trafodion Installation ToolKit') # handle parser option options = get_options() if options.build and options.cfgfile: log_err( 'Wrong parameter, cannot specify both --build and --config-file') if options.build and options.offline: log_err('Wrong parameter, cannot specify both --build and --offline') if options.cfgfile: if not os.path.exists(options.cfgfile): log_err('Cannot find config file \'%s\'' % options.cfgfile) config_file = options.cfgfile else: config_file = DBCFG_FILE if options.pwd: pwd = getpass.getpass('Input remote host SSH Password: '******'' # not specified config file and default config file doesn't exist either p = ParseInI(config_file, 'dbconfigs') if options.build or (not os.path.exists(config_file)): if options.build: format_output('DryRun Start') user_input(options, prompt_mode=True, pwd=pwd) # save config file as json format print '\n** Generating config file to save configs ... \n' p.save(cfgs) # config file exists else: print '\n** Loading configs from config file ... \n' cfgs = p.load() if options.offline and cfgs['offline_mode'] != 'Y': log_err( 'To enable offline mode, must set "offline_mode = Y" in config file' ) user_input(options, prompt_mode=False, pwd=pwd) if options.reinstall: cfgs['reinstall'] = 'Y' if options.offline: http_start(cfgs['local_repo_dir'], cfgs['repo_http_port']) else: cfgs['offline_mode'] = 'N' if not options.build: format_output('Installation Start') ### perform actual installation ### wrapper.run(cfgs, options, pwd=pwd) format_output('Installation Complete') if options.offline: http_stop() # rename default config file when successfully installed # so next time user can input new variables for a new install # or specify the backup config file to install again try: # only rename default config file ts = time.strftime('%y%m%d_%H%M') if config_file == DBCFG_FILE and os.path.exists(config_file): os.rename(config_file, config_file + '.bak' + ts) except OSError: log_err('Cannot rename config file') else: format_output('DryRun Complete') # remove temp config file if os.path.exists(DBCFG_TMP_FILE): os.remove(DBCFG_TMP_FILE)
def main(): """ db_installer main loop """ global cfgs format_output('Trafodion Installation ToolKit') # handle parser option options = get_options() if options.build and options.cfgfile: log_err('Wrong parameter, cannot specify both --build and --config-file') if options.build and options.offline: log_err('Wrong parameter, cannot specify both --build and --offline') if options.cfgfile: if not os.path.exists(options.cfgfile): log_err('Cannot find config file \'%s\'' % options.cfgfile) config_file = options.cfgfile else: config_file = DBCFG_FILE if options.pwd: pwd = getpass.getpass('Input remote host SSH Password: '******'' # not specified config file and default config file doesn't exist either p = ParseInI(config_file, 'dbconfigs') if options.build or (not os.path.exists(config_file)): if options.build: format_output('DryRun Start') user_input(options, prompt_mode=True, pwd=pwd) # save config file as json format print '\n** Generating config file to save configs ... \n' p.save(cfgs) # config file exists else: print '\n** Loading configs from config file ... \n' cfgs = p.load() if options.offline and cfgs['offline_mode'] != 'Y': log_err('To enable offline mode, must set "offline_mode = Y" in config file') user_input(options, prompt_mode=False, pwd=pwd) if options.reinstall: cfgs['reinstall'] = 'Y' if options.offline: http_start(cfgs['local_repo_dir'], cfgs['repo_http_port']) else: cfgs['offline_mode'] = 'N' if not options.build: format_output('Installation Start') ### perform actual installation ### wrapper.run(cfgs, options, pwd=pwd) format_output('Installation Complete') if options.offline: http_stop() # rename default config file when successfully installed # so next time user can input new variables for a new install # or specify the backup config file to install again try: # only rename default config file ts = time.strftime('%y%m%d_%H%M') if config_file == DBCFG_FILE and os.path.exists(config_file): os.rename(config_file, config_file + '.bak' + ts) except OSError: log_err('Cannot rename config file') else: format_output('DryRun Complete') # remove temp config file if os.path.exists(DBCFG_TMP_FILE): os.remove(DBCFG_TMP_FILE)
format_output('Installation Complete') if options.offline: http_stop() # rename default config file when successfully installed # so next time user can input new variables for a new install # or specify the backup config file to install again try: # only rename default config file ts = time.strftime('%y%m%d_%H%M') if config_file == DBCFG_FILE and os.path.exists(config_file): os.rename(config_file, config_file + '.bak' + ts) except OSError: log_err('Cannot rename config file') else: format_output('DryRun Complete') # remove temp config file if os.path.exists(DBCFG_TMP_FILE): os.remove(DBCFG_TMP_FILE) if __name__ == "__main__": try: main() except (KeyboardInterrupt, EOFError): tp = ParseInI(DBCFG_TMP_FILE, 'dbconfigs') tp.save(cfgs) http_stop() print '\nAborted...'
wrapper.run(cfgs, options, pwd=pwd) format_output('Installation Complete') if options.offline: http_stop() # rename default config file when successfully installed # so next time user can input new variables for a new install # or specify the backup config file to install again try: # only rename default config file ts = time.strftime('%y%m%d_%H%M') if config_file == DBCFG_FILE and os.path.exists(config_file): os.rename(config_file, config_file + '.bak' + ts) except OSError: log_err('Cannot rename config file') else: format_output('DryRun Complete') # remove temp config file if os.path.exists(DBCFG_TMP_FILE): os.remove(DBCFG_TMP_FILE) if __name__ == "__main__": try: main() except (KeyboardInterrupt, EOFError): tp = ParseInI(DBCFG_TMP_FILE, 'dbconfigs') tp.save(cfgs) http_stop() print '\nAborted...'