def scale_selenium_pods(self, num): """ Create the desired number of selenium pods """ oc("scale", "dc/selenium", f"--replicas={num}") wait_for_ready("dc", "selenium") self.expected_num_pods = num self.reconcile_pods()
def set_oc_project(args): try: oc("project", args.project, _reraise=True) except ErrorReturnCode: log.error( "You should log in to your cluster before upgrading and make sure you can access specified project:" ) log.error(" $ oc login https://api.myopenshift --token=*************") log.error(" $ oc project %s", args.project) sys.exit(2)
def wipe(no_confirm, project, label): server = get_server_info() extra_msg = "" if label: extra_msg = " with label '{}'".format(label) if not no_confirm and prompter.yesno( "I'm about to delete everything in project '{}'{} on server {} -- continue?".format( project, extra_msg, server ), default="no", ): sys.exit(0) switch_to_project(project) if label: args = ["--selector", label] else: args = ["--all"] oc("delete", "all", *args, _exit_on_err=False) oc("delete", "configmap", *args, _exit_on_err=False) oc("delete", "secret", *args, _exit_on_err=False) oc("delete", "pvc", *args, _exit_on_err=False)
def run_task(args, project_spec): task_name = args.task if task_name in project_spec["tasks"]: required_params = project_spec["tasks"][task_name].get("parameters") parsed_params = {} if required_params: if args.parameters: for param in args.parameters.split(","): param_parts = param.split("=") parsed_params[param_parts[0]] = param_parts[1] for required_param in required_params: if required_param not in parsed_params: log.error("Required parameters: %s", required_params) sys.exit(6) else: log.error("Required parameters: %s", required_params) sys.exit(6) log.info("Executing task: %s", task_name) for command in project_spec["tasks"][task_name]["commands"]: if command.get("description"): log.info(command["description"]) args = command["args"] args = [replace_params(arg, parsed_params) for arg in args] output = oc(*args) if output: log.info("\n%s" % output) log.info("Task executed successfuly.") else: log.error("Task doesn't exist in project spec: '%s'", task_name) sys.exit(5)
def wipe(no_confirm, project, label): extra_msg = "" if label: extra_msg = " with label '{}'".format(label) if not no_confirm and prompter.yesno( "I'm about to delete everything in project '{}'{}. Continue?".format(project, extra_msg), default="no", ): sys.exit(0) switch_to_project(project) if label: args = ["--selector", label] else: args = ["--all"] oc("delete", "all", *args, _exit_on_err=False) oc("delete", "configmap", *args, _exit_on_err=False) oc("delete", "secret", *args, _exit_on_err=False) oc("delete", "pvc", *args, _exit_on_err=False)