code: def create_arg_parser():
      """
      Many of the argument defaults are used as arg_parser makes it easy to
      use defaults. The user has many options they can select.
      """
  
      parser = argparse.ArgumentParser(
          description="Process some inputs"
      )
      parser.add_argument(
          "--sha",
          action="store",
          help="the commit that triggers the workflow",
      )
      # script to run pytest
      parser.add_argument(
          "--test",
          action="store",
          default="./tests/ci/azureml_tests/run_groupwise_pytest.py",
          help="location of script to run pytest",
      )
      # max num nodes in Azure cluster
      parser.add_argument(
          "--maxnodes",
          action="store",
          default=4,
          help="specify the maximum number of nodes for the run",
      )
      # Test group
      parser.add_argument(
          "--testgroup",
          action="store",
          default="group_criteo",
          help="Test Group",
      )
      # Azure resource group
      parser.add_argument(
          "--rg",
          action="store",
          default="recommender",
          help="Azure Resource Group",
      )
      # AzureML workspace Name
      parser.add_argument(
          "--wsname",
          action="store",
          default="RecoWS",
          help="AzureML workspace name",
      )
      # AzureML clustername
      parser.add_argument(
          "--clustername",
          action="store",
          default="azuremlcompute",
          help="Set name of Azure cluster",
      )
      # Azure VM size
      parser.add_argument(
          "--vmsize",
          action="store",
          default="STANDARD_D3_V2",
          help="Set the size of the VM either STANDARD_D3_V2",
      )
      # cpu or gpu
      parser.add_argument(
          "--dockerproc",
          action="store",
          default="cpu",
          help="Base image used in docker container",
      )
      # Azure subscription id, when used in a pipeline, it is stored in keyvault
      parser.add_argument(
          "--subid",
          action="store",
          default="123456",
          help="Azure Subscription ID",
      )
      # AzureML experiment name
      parser.add_argument(
          "--expname",
          action="store",
          default="persistentAzureML",
          help="experiment name on Azure",
      )
      # Azure datacenter location
      parser.add_argument(
          "--location", default="EastUS", help="Azure location"
      )
      # github repo, stored in AzureML experiment for info purposes
      parser.add_argument(
          "--reponame",
          action="store",
          default="--reponame MyGithubRepo",
          help="GitHub repo being tested",
      )
      # github branch, stored in AzureML experiment for info purposes
      parser.add_argument(
          "--branch",
          action="store",
          default="--branch MyGithubBranch",
          help=" Identify the branch test test is run on",
      )
      # github pull request, stored in AzureML experiment for info purposes
      parser.add_argument(
          "--pr",
          action="store",
          default="--pr PRTestRun",
          help="If a pr triggered the test, list it here",
      )
      # flag to indicate whether gpu dependencies should be included in conda env
      parser.add_argument(
          "--add_gpu_dependencies",
          action="store_true",
          help="include packages for GPU support",
      )
      # flag to indicate whether pyspark dependencies should be included in conda env
      parser.add_argument(
          "--add_spark_dependencies",
          action="store_true",
          help="include packages for PySpark support",
      )
      # path where test logs should be downloaded
      parser.add_argument(
          "--testlogs",
          action="store",
          default="test_logs.log",
          help="Test logs will be downloaded to this path",
      )
      # conda package name for jdk
      parser.add_argument(
          "--conda_pkg_jdk",
          action="store",
          default="openjdk=8",
          help="conda package name for jdk",
      )
      # conda package name for python
      parser.add_argument(
          "--conda_pkg_python",
          action="store",
          default="python=3.7",
          help="conda package for Python",
      )
      parser.add_argument(
          "--testkind",
          action="store",
          default="unit",
          help="Test kind - nightly or unit",
      )
      # Flag to indicate whether to turn off the warnings
      parser.add_argument(
          "--disable-warnings",
          action="store_true",
          help="Turn off warnings",
      )
      args = parser.parse_args()
  
      return args
  
file_path: recommenders/tests/ci/azureml_tests/submit_groupwise_azureml_pytest.py
imports: import argparse
  import logging
  import glob
  from azureml.core.authentication import AzureCliAuthentication
  from azureml.core import Workspace
  from azureml.core import Experiment
  from azureml.core.runconfig import RunConfiguration
  from azureml.core.conda_dependencies import CondaDependencies
  from azureml.core.script_run_config import ScriptRunConfig
  from azureml.core.compute import ComputeTarget, AmlCompute
  from azureml.core.compute_target import ComputeTargetException
  from azureml.core.workspace import WorkspaceException
label_desc: Use image node_id 6 for calling a global function with example usage: create_arg_parser() and returns: args