in modules/python/csi/csi.py [0:0]
def main():
parser = argparse.ArgumentParser(description="CSI Benchmark.")
subparsers = parser.add_subparsers(dest="command")
# Sub-command for validate
parser_validate = subparsers.add_parser("validate", help="Validate node count")
parser_validate.add_argument("node_label", type=str, help="Node label selector")
parser_validate.add_argument("node_count", type=int, help="Number of nodes")
parser_validate.add_argument("operation_timeout", type=int, help="Timeout for the operation in seconds")
# Sub-command for execute_attach_detach
parser_execute = subparsers.add_parser("execute", help="Execute attach detach test")
parser_execute.add_argument("disk_number", type=int, help="Disk number")
parser_execute.add_argument("storage_class", type=str, help="Storage class")
parser_execute.add_argument("wait_time", type=int, help="Wait time before deletion")
parser_execute.add_argument("result_dir", type=str, help="Result directory")
# Sub-command for collect_attach_detach
parser_collect = subparsers.add_parser("collect", help="Collect attach detach test results")
parser_collect.add_argument("case_name", type=str, help="Case name")
parser_collect.add_argument("node_number", type=int, help="Node number")
parser_collect.add_argument("disk_number", type=int, help="Disk number")
parser_collect.add_argument("storage_class", type=str, help="Storage class")
parser_collect.add_argument("cloud_info", type=str, help="Cloud info")
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_dir", type=str, help="Result directory")
args = parser.parse_args()
if args.command == "validate":
validate_node_count(args.node_label, args.node_count, args.operation_timeout)
elif args.command == "execute":
execute_attach_detach(args.disk_number, args.storage_class, args.wait_time, args.result_dir)
elif args.command == "collect":
collect_attach_detach(args.case_name, args.node_number, args.disk_number, args.storage_class,
args.cloud_info, args.run_id, args.run_url, args.result_dir)