def run(self): self.parse_options() files = parse_extra_files_files(self.opt.files) config = GPConfig(os.path.expanduser(self.opt.conf)) c = EC2AMIUpdater(self.opt.ami, self.opt.aminame, files, config) c.run()
def run(self): t_start = time.time() self.parse_options() if len(self.args) != 2: print "You must specify an instance id." print "For example: %s [options] gpi-37a8bf17" % self.name return 1 inst_id = self.args[1] if self.opt.topology != None: self._check_exists_file(self.opt.topology) jsonfile = open(self.opt.topology) topology_json = jsonfile.read() jsonfile.close() else: topology_json = None if self.opt.extra_files != None: self._check_exists_file(self.opt.extra_files) extra_files = parse_extra_files_files(self.opt.extra_files) else: extra_files = [] if self.opt.run != None: self._check_exists_file(self.opt.run) run_cmds = [l.strip() for l in open(self.opt.run).readlines()] else: run_cmds = [] print "Updating topology of", print Fore.WHITE + Style.BRIGHT + inst_id + Fore.RESET + Style.RESET_ALL + "...", api = API(self.opt.dir) status_code, message = api.instance_update(inst_id, topology_json, extra_files, run_cmds) if status_code == API.STATUS_SUCCESS: print Fore.GREEN + Style.BRIGHT + "done!" self._set_last_gpi(inst_id) t_end = time.time() delta = t_end - t_start minutes = int(delta / 60) seconds = int(delta - (minutes * 60)) print "Updated topology in " + Fore.WHITE + Style.BRIGHT + "%i minutes and %s seconds" % (minutes, seconds) return 0 elif status_code == API.STATUS_FAIL: self._print_error("Could not update topology.", message) return 1
def run(self): SIGINTWatcher(self.cleanup_after_kill) t_start = time.time() self.parse_options() if len(self.args) != 2: print "You must specify an instance id." print "For example: %s [options] gpi-37a8bf17" % self.name exit(1) inst_id = self.args[1] if self.opt.extra_files != None: self._check_exists_file(self.opt.extra_files) extra_files = parse_extra_files_files(self.opt.extra_files) else: extra_files = [] if self.opt.run != None: self._check_exists_file(self.opt.run) run_cmds = [l.strip() for l in open(self.opt.run).readlines()] else: run_cmds = [] print "Starting instance", print Fore.WHITE + Style.BRIGHT + inst_id + Fore.RESET + Style.RESET_ALL + "...", api = API(self.opt.dir) status_code, message = api.instance_start(inst_id, extra_files, run_cmds) if status_code == API.STATUS_SUCCESS: print Fore.GREEN + Style.BRIGHT + "done!" t_end = time.time() delta = t_end - t_start minutes = int(delta / 60) seconds = int(delta - (minutes * 60)) print "Started instance in " + Fore.WHITE + Style.BRIGHT + "%i minutes and %s seconds" % (minutes, seconds) elif status_code == API.STATUS_FAIL: print self._print_error("Could not start instance.", message) exit(1)