in modules/python/clusterloader2/cri/cri.py [0:0]
def main():
parser = argparse.ArgumentParser(description="CRI Kubernetes resources.")
subparsers = parser.add_subparsers(dest="command")
# Sub-command for override_config_clusterloader2
parser_override = subparsers.add_parser("override", help="Override CL2 config file")
parser_override.add_argument("node_count", type=int, help="Number of nodes")
parser_override.add_argument("node_per_step", type=int, help="Number of nodes to scale per step")
parser_override.add_argument("max_pods", type=int, help="Number of maximum pods per node")
parser_override.add_argument("repeats", type=int, help="Number of times to repeat the resource consumer deployment")
parser_override.add_argument("operation_timeout", type=str, default="2m", help="Operation timeout")
parser_override.add_argument("load_type", type=str, choices=["memory", "cpu"],
default="memory", help="Type of load to generate")
parser_override.add_argument("scale_enabled", type=str2bool, choices=[True, False], default=False,
help="Whether scale operation is enabled. Must be either True or False")
parser_override.add_argument("pod_startup_latency_threshold", type=str, default="15s", help="Pod startup latency threshold")
parser_override.add_argument("provider", type=str, help="Cloud provider name")
parser_override.add_argument("scrape_kubelets", type=str2bool, choices=[True, False], default=False,
help="Whether to scrape kubelets")
parser_override.add_argument("cl2_override_file", type=str, help="Path to the overrides of CL2 config file")
# Sub-command for execute_clusterloader2
parser_execute = subparsers.add_parser("execute", help="Execute resource consume operation")
parser_execute.add_argument("cl2_image", type=str, help="Name of the CL2 image")
parser_execute.add_argument("cl2_config_dir", type=str, help="Path to the CL2 config directory")
parser_execute.add_argument("cl2_report_dir", type=str, help="Path to the CL2 report directory")
parser_execute.add_argument("kubeconfig", type=str, help="Path to the kubeconfig file")
parser_execute.add_argument("provider", type=str, help="Cloud provider name")
parser_execute.add_argument("scrape_kubelets", type=str2bool, choices=[True, False], default=False,
help="Whether to scrape kubelets")
# Sub-command for collect_clusterloader2
parser_collect = subparsers.add_parser("collect", help="Collect resource consume data")
parser_collect.add_argument("node_count", type=int, help="Number of nodes")
parser_collect.add_argument("max_pods", type=int, help="Number of maximum pods per node")
parser_collect.add_argument("repeats", type=int, help="Number of times to repeat the resource consumer deployment")
parser_collect.add_argument("load_type", type=str, choices=["memory", "cpu"],
default="memory", help="Type of load to generate")
parser_collect.add_argument("cl2_report_dir", type=str, help="Path to the CL2 report directory")
parser_collect.add_argument("cloud_info", type=str, help="Cloud information")
parser_collect.add_argument("run_id", type=str, help="Run ID")
parser_collect.add_argument("run_url", type=str, help="Run URL")
parser_collect.add_argument("result_file", type=str, help="Path to the result file")
parser_collect.add_argument("scrape_kubelets", type=str2bool, choices=[True, False], default=False,
help="Whether to scrape kubelets")
args = parser.parse_args()
if args.command == "override":
override_config_clusterloader2(args.node_count, args.node_per_step, args.max_pods, args.repeats, args.operation_timeout,
args.load_type, args.scale_enabled, args.pod_startup_latency_threshold,
args.provider, args.scrape_kubelets, args.cl2_override_file)
elif args.command == "execute":
execute_clusterloader2(args.cl2_image, args.cl2_config_dir, args.cl2_report_dir, args.kubeconfig, args.provider, args.scrape_kubelets)
elif args.command == "collect":
collect_clusterloader2(args.node_count, args.max_pods, args.repeats, args.load_type,
args.cl2_report_dir, args.cloud_info, args.run_id, args.run_url, args.result_file, args.scrape_kubelets)