parameters:
  jenkins:
    client:
      view:
        Validation:
          enabled: true
          type: ListView
          include_regex: "validate.*"
        CVP:
          enabled: true
          type: ListView
          include_regex: "cvp.*"
      job:
        validate_openstack:
          type: workflow-scm
          name: validate-openstack
          display_name: "Validate - Openstack"
          discard:
            build:
              keep_num: 50
            artifact:
              keep_num: 50
          concurrent: true
          scm:
            type: git
            url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
            branch: "${_param:jenkins_pipelines_branch}"
            credentials: ${_param:jenkins_gerrit_credentials}
            script: validate-cloud.groovy
          param:
            JOB_TIMEOUT:
              type: string
              default: "3"
              description: Job timeout in hours
            TEST_IMAGE:
              type: string
              default: "xrally/xrally-openstack:1.4.0"
              description: Rally docker image to use for running tests
            SALT_MASTER_URL:
              type: string
              default: "${_param:jenkins_salt_api_url}"
              description: Full Salt API address [e.g. https://10.10.10.2:6969]
            SALT_MASTER_CREDENTIALS:
              type: string
              default: "salt"
              description: Credentials to the Salt API
            VALIDATE_PARAMS:
              type: text
              description: YAML of parameters for Rally test
              default: |
                ---
                  rally:
                  # Name of availability zone
                    AVAILABILITY_ZONE: 'nova'
                  # External(floating) network name
                    FLOATING_NETWORK: 'public'
                  # Rally base image for glance
                    RALLY_IMAGE: 'cirros'
                  # Flavor name for Rally scenarios
                    RALLY_FLAVOR: 'm1.tiny'
                  # Git repository with configuration files for Rally
                    RALLY_CONFIG_REPO: 'https://review.gerrithub.io/Mirantis/scale-scenarios'
                  # Git branch which will be used during the checkout
                    RALLY_CONFIG_BRANCH: 'master'
                  # Git repository with Rally plugins
                    RALLY_PLUGINS_REPO: 'https://github.com/Mirantis/rally-plugins'
                  # Git branch which will be used during the checkout
                    RALLY_PLUGINS_BRANCH: 'master'
                  # Rally scenarios directory or file with scenarios
                    RALLY_SCENARIOS: 'rally-scenarios-light'
                  # Stacklight Rally scenarios directory or file with scenarios
                    RALLY_SL_SCENARIOS: 'rally-stacklight'
                  # Rally scenarios arguments file
                    RALLY_TASK_ARGS_FILE: 'job-params-light.yaml'
                  # Rally-compliant DB connection string for long-term results storing
                    RALLY_DB_CONN_STRING: ''
                  # List of tags for marking Rally tasks. Used as filter for Rally trends
                    RALLY_TAGS:
                    # - 'platform=openstack'
                    # - 'env=your_env_name'
                    # - 'cmp=2'
                  # Generate rally trends report. Requires an external DB
                    RALLY_TRENDS: 'false'
                  # If chosen K8S Rally plugin will be used to test K8S cluster
                    K8S_RALLY: 'false'
                  # If chosen then Stacklight Rally test will be executed
                    STACKLIGHT_RALLY: 'false'
                  # Scenarios names/dirs to skip
                    SKIP_LIST: ''
                  # Run in parallel for each directory inside RALLY_SCENARIOS and RALLY_SL_SCENARIOS
                    PARALLEL_PERFORMANCE: 'false'
                  # If you are running longevity scenarios with parallel performance enabled on a cicd node
                  # with less than 21GB, you may consider disabling generation of html reports. Each Rally
                  # process consumes ~ 4GB of memory when generating reports on top of week amount of data
                    GENERATE_REPORT: 'true'
        cvp-sanity:
          type: workflow-scm
          name: cvp-sanity
          display_name: "CVP - Sanity checks"
          discard:
            build:
              keep_num: 20
            artifact:
              keep_num: 20
          concurrent: false
          scm:
            type: git
            url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
            branch: "${_param:jenkins_pipelines_branch}"
            credentials: ${_param:jenkins_gerrit_credentials}
            script: cvp-runner.groovy
          param:
            IMAGE:
              type: string
              default: "${_param:docker_image_cvp_sanity_checks}"
              description: Docker image with tests and all pip dependecies to use for testing
            SALT_MASTER_URL:
              type: string
              default: "${_param:jenkins_salt_api_url}"
              description: Full Salt API address [e.g. https://10.10.10.2:8969]
            SALT_MASTER_CREDENTIALS:
              type: string
              default: "salt"
            EXTRA_PARAMS:
              type: text
              default: |
                envs:
                  - tests_set=''
                override_config:
                  skipped_nodes: []
              description: |
                YAML context with additional parameters. 'envs' key is for environment variables, 'override_config' key is for overriding the global config in YAML format (good for nested parameters). Example:
                envs:
                - tests_set='tests/test_mtu.py'
                override_config:
                  drivetrain_version: 2019.2.0
                  skipped_groups:
                  - log
                  test_duplicate_ips:
                    skipped_ifaces:
                    - lo
                    - virbr0
                    - docker_gwbridge
                    - docker0
                  test_packages:
                    skipped_packages: []
                    skip_test: 'false'
        cvp-func:
          type: workflow-scm
          name: cvp-func
          display_name: "CVP - Functional tests"
          discard:
            build:
              keep_num: 20
            artifact:
              keep_num: 20
          concurrent: false
          scm:
            type: git
            url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
            branch: "${_param:jenkins_pipelines_branch}"
            credentials: ${_param:jenkins_gerrit_credentials}
            script: cvp-func.groovy
          param:
            DEBUG_MODE:
              type: boolean
              default: 'false'
              description: Enable if you need to keep container after the test and debug
            SKIP_LIST_PATH:
              type: string
              default: "cvp-configuration/tempest/skip-list.yaml"
              description: Path to skip list in container
            SALT_MASTER_URL:
              type: string
              default: "http://${_param:salt_master_host}:${_param:salt_master_api_port}"
              description: Full Salt API address [e.g. http://10.10.10.2:6969]
            SALT_MASTER_CREDENTIALS:
              type: string
              default: "salt"
              description: Credentials to the Salt API
            TEST_IMAGE:
              type: string
              default: "${_param:docker_image_cvp_xrally}"
              description: Docker image to use for running Rally/Tempest
            TARGET_NODE:
              type: string
              default: ""
              description: Node where container with Tempest will be run
            PROXY:
              type: string
              default: ""
              description: "Proxy address to use to access the Internet. For offline mode, use \"offline\" value."
            TEMPEST_TEST_PATTERN:
              type: string
              default: "set=smoke"
              description: Use set=smoke (or identity,full...) or just test name
            TEMPEST_ENDPOINT_TYPE:
              type: choice
              choices:
                - internalURL
                - adminURL
                - publicURL
              description: Openstack endpoint type to use during test run
            TEMPEST_REPO:
              type: string
              default: "https://github.com/openstack/tempest"
              description: URL to Tempest repo (local or remote) or path to tempest folder in container
            TOOLS_REPO:
              type: string
              default: "https://github.com/Mirantis/cvp-configuration"
              description: URL of repo where testing tools, scenarios, configs are located.
        cvp-ha:
          type: workflow-scm
          name: cvp-ha
          display_name: "CVP - HA tests"
          discard:
            build:
              keep_num: 20
            artifact:
              keep_num: 20
          concurrent: false
          scm:
            type: git
            url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
            branch: "${_param:jenkins_pipelines_branch}"
            credentials: ${_param:jenkins_gerrit_credentials}
            script: cvp-ha.groovy
          param:
            SALT_MASTER_URL:
              type: string
              default: "http://${_param:salt_master_host}:${_param:salt_master_api_port}"
              description: Full Salt API address [e.g. http://10.10.10.2:6969]
            SALT_MASTER_CREDENTIALS:
              type: string
              default: "salt"
              description: Credentials to the Salt API
            TEMPEST_TARGET_NODE:
              type: string
              default: ""
              description: Node where container with tempest will be run
            TEST_IMAGE:
              type: string
              default: "${_param:docker_image_cvp_xrally}"
              description: Docker image to use for running Rally/Tempest
            TARGET_NODES:
              type: string
              default: "ctl*"
              description: Nodes to test
            DEBUG_MODE:
              type: boolean
              default: 'false'
              description: If you need to debug (keep container after test), please enabled this
            RETRY_CHECK_STATUS:
              type: string
              default: "200"
              description: If you have any problems with timeouts (e.g. while waiting for node to be up/down), please increase this value
            SKIP_LIST_PATH:
              type: string
              default: "cvp-configuration/tempest/skip-list.yaml"
              description: path to skip-list file inside container
            PROXY:
              type: string
              default: ""
              description: "Proxy address to use to access the Internet. For offline mode, use \"offline\" value."
            TEMPEST_TEST_PATTERN:
              type: string
              default: "set=smoke"
              description: Use set=smoke (or identity,full...) or just test name
            MANUAL_CONFIRMATION:
              type: boolean
              default: 'false'
              description: Ask for confirmation before doing something destructive (reboot/shutdown node)
            TEMPEST_REPO:
              type: string
              default: "https://github.com/openstack/tempest"
              description: Can be repo url (local or remote) or path to folder (inside container) with Tempest
            TOOLS_REPO:
              type: string
              default: "https://github.com/Mirantis/cvp-configuration"
              description: URL of repo where testing tools, scenarios, configs are located.
        cvp-tempest:
          type: workflow-scm
          name: cvp-tempest
          display_name: "CVP - Tempest (new)"
          discard:
            build:
              keep_num: 20
            artifact:
              keep_num: 20
          concurrent: false
          scm:
            type: git
            url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
            branch: "${_param:jenkins_pipelines_branch}"
            credentials: ${_param:jenkins_gerrit_credentials}
            script: cvp-tempest.groovy
          param:
            PREPARE_RESOURCES:
              type: boolean
              default: true
              description: Prepare resources for Tempest
            SALT_MASTER_URL:
              type: string
              default: "http://${_param:salt_master_host}:${_param:salt_master_api_port}"
              description: Full Salt API address [e.g. http://10.10.10.2:6969]
            TEMPEST_TEST_PATTERN:
              type: string
              default: "set=smoke"
              description: Use set=smoke, set=full or just test name (regex)
            TEMPEST_ENDPOINT_TYPE:
              type: choice
              choices:
                - internalURL
                - adminURL
                - publicURL
              description: Openstack endpoint type to use during test run.
            EXTRA_PARAMS:
              type: text
              default:  |
                ---
                  DEBUG_MODE: false
                  GENERATE_CONFIG: true
                  TEST_IMAGE: "${_param:docker_image_cvp_tempest}"
                  report_prefix: "cvp_"
              description: YAML context with additional parameters
        cvp-perf:
          type: workflow-scm
          name: cvp-perf
          display_name: "CVP - Performance tests"
          discard:
            build:
              keep_num: 20
            artifact:
              keep_num: 20
          concurrent: false
          scm:
            type: git
            url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
            branch: "${_param:jenkins_pipelines_branch}"
            credentials: ${_param:jenkins_gerrit_credentials}
            script: cvp-perf.groovy
          param:
            DEBUG_MODE:
              type: boolean
              default: 'false'
              description: Enable if you need to keep container after the test and debug
            RALLY_SCENARIO_FILE:
              type: string
              default: "cvp-configuration/rally/rally_scenarios.json"
              description: Path to scenario file in container
            TEST_IMAGE:
              type: string
              default: "${_param:docker_image_cvp_xrally}"
              description: Docker image to use for running Rally/Tempest
            SALT_MASTER_URL:
              type: string
              default: "http://${_param:salt_master_host}:${_param:salt_master_api_port}"
              description: Full Salt API address [e.g. http://10.10.10.2:6969]
            SALT_MASTER_CREDENTIALS:
              type: string
              default: "salt"
              description: Credentials to the Salt API
            TARGET_NODE:
              type: string
              default: ""
              description: Node where docker container with Rally will be run
            TOOLS_REPO:
              type: string
              default: "https://github.com/Mirantis/cvp-configuration"
              description: URL of repo where testing tools, scenarios, configs are located.
            PROXY:
              type: string
              default: ""
              description: "Proxy address to use to access the Internet. For offline mode, use \"offline\" value."
        cvp-stacklight:
          type: workflow-scm
          name: cvp-stacklight
          display_name: "CVP - Stacklight tests"
          discard:
            build:
              keep_num: 20
            artifact:
              keep_num: 20
          concurrent: false
          scm:
            type: git
            url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
            branch: "${_param:jenkins_pipelines_branch}"
            credentials: ${_param:jenkins_gerrit_credentials}
            script: cvp-runner.groovy
          param:
            IMAGE:
              type: string
              default: "${_param:docker_image_cvp_sanity_checks}"
              description: Docker image with tests and all pip dependecies to use for testing
            SALT_MASTER_URL:
              type: string
              default: "${_param:jenkins_salt_api_url}"
              description: Full Salt API address [e.g. https://10.10.10.2:8969]
            SALT_MASTER_CREDENTIALS:
              type: string
              default: "salt"
            EXTRA_PARAMS:
              type: text
              default: |
                envs:
                  - SL_AUTOCONF=True
              description: YAML context with additional parameters
        cvp-spt:
          type: workflow-scm
          name: cvp-spt
          display_name: "CVP - Simplified Performance Tests (SPT)"
          discard:
            build:
              keep_num: 20
            artifact:
              keep_num: 20
          concurrent: false
          scm:
            type: git
            url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
            branch: "${_param:jenkins_pipelines_branch}"
            credentials: ${_param:jenkins_gerrit_credentials}
            script: cvp-runner.groovy
          param:
            IMAGE:
              type: string
              default: "${_param:docker_image_cvp_sanity_checks}"
              description: Docker image with tests and all pip dependecies to use for testing
            SALT_MASTER_URL:
              type: string
              default: "${_param:jenkins_salt_api_url}"
              description: Full Salt API address [e.g. https://10.10.10.2:8969]
            SALT_MASTER_CREDENTIALS:
              type: string
              default: "salt"
            EXTRA_PARAMS:
              type: text
              default: |
                envs:
                  - tests_set=''
                  - image_name=Ubuntu
                  - networks=10.101.0.0/24
              description: 'YAML context with additional parameters. Additional params: HW_NODES, CMP_HOSTS, salt_timeout, skipped_nodes, nova_timeout, iperf_prep_string, IMAGE_SIZE_MB'
        cvp-shaker:
          type: workflow-scm
          name: cvp-shaker
          display_name: "CVP - Shaker network tests"
          discard:
            build:
              keep_num: 20
            artifact:
              keep_num: 20
          concurrent: false
          scm:
            type: git
            url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
            branch: "${_param:jenkins_pipelines_branch}"
            credentials: ${_param:jenkins_gerrit_credentials}
            script: cvp-shaker.groovy
          param:
            IMAGE:
              type: string
              default: "${_param:docker_image_cvp_shaker_checks}"
              description: Docker image to use for running Shaker.
            SALT_MASTER_URL:
              type: string
              default: "${_param:jenkins_salt_api_url}"
              description: Full Salt API address [e.g. https://10.10.10.2:6969].
            SALT_MASTER_CREDENTIALS:
              type: string
              default: "salt"
              description: Credentials to the Salt API.
            SLAVE_NODE:
              type: string
              default: "slave01"
              description: Label or name of node to start the Shaker server (should be one of cicd nodes and should have the IP address of SHAKER_SERVER_ENDPOINT).
            SHAKER_PARAMS:
              type: text
              default:  |
                ---
                  SHAKER_SERVER_ENDPOINT: '10.13.0.15:5999'
                  SHAKER_SCENARIOS: 'scenarios/essential'
                  SKIP_LIST: ''
                  MATRIX: ''
                  image_builder:
                  #  - SHAKER_FLAVOR_DISK=4
                  #  - SHAKER_FLAVOR_RAM=512
                  #  - SHAKER_FLAVOR_VCPUS=1
                  #  - SHAKER_IMAGE_BUILDER_MODE='dib'
                  shaker:
                  #  - SHAKER_AGENT_JOIN_TIMEOUT=300
                  #  - SHAKER_AGENT_LOSS_TIMEOUT=120
                  #  - SCENARIO_AVAILABILITY_ZONE='nova,internal'
                  #  - SCENARIO_COMPUTE_NODES=2
                  #  - SHAKER_EXTERNAL_NET='public'
              description: |
                  YAML context with parameters for running Shaker tests, where
                  "SHAKER_SERVER_ENDPOINT" - Address for Shaker server connections (host:port). The IP address of SLAVE_NODE with the port. Should be accessible
                  from tenant's VM network (floating network)
                  "SHAKER_SCENARIOS" - Path to shaker scenarios in the cvp-shaker docker image
                  (can be directory or specific file). Main categories are
                    scenarios/essential/l2
                    scenarios/essential/l3
                    scenarios/additional/cross_az
                    scenarios/additional/external
                    scenarios/additional/qos
                  "MATRIX" - Set the matrix of extra parameters for the scenario. The value is specified in JSON format.
                  To override a scenario duration one may provide "{time: 10}", or to override list of hosts:
                  "{host:[ping.online.net, iperf.eenet.ee]}". When several parameters are overridden all combinations are
                  tested. It is a required field for some of external-category scenarios when the host name with iperf3
                  server needs to be provided as a command-line parameter, e.g. "{host: 10.13.100.4}".
                  "SKIP_LIST" - Comma-separated list of Shaker scenarios to skip, directories or files inside scenarios/
                  of cvp-shaker, e.g. "dense_l2.yaml,full_l2.yaml,l3"
                  "image_builder" - shaker-image-builder env variables
                    SHAKER_FLAVOR_DISK=4
                    SHAKER_FLAVOR_RAM=512
                    SHAKER_FLAVOR_VCPUS=1
                    SHAKER_IMAGE_BUILDER_MODE='dib'
                  "shaker" - main shaker runner env variables
                    SHAKER_AGENT_JOIN_TIMEOUT=300
                    SHAKER_AGENT_LOSS_TIMEOUT=120
                    SCENARIO_AVAILABILITY_ZONE='nova,internal'
                    SCENARIO_COMPUTE_NODES=2
                    SHAKER_EXTERNAL_NET='public'
                  For the more detailed description of the last two categories please refer to the shaker documentation
                  https://pyshaker.readthedocs.io/en/latest/tools.html
        cvp-rebuild:
          type: workflow-scm
          name: cvp-rebuild
          display_name: "CVP-rebuild job for images"
          discard:
            build:
              keep_num: 20
            artifact:
              keep_num: 20
          concurrent: false
          scm:
            type: git
            url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
            branch: "${_param:jenkins_pipelines_branch}"
            credentials: ${_param:jenkins_gerrit_credentials}
            script: cvp-rebuild.groovy
          param:
            DESTINATION_IMAGE:
              type: string
              default: ""
              description: "Specify address of local registry and name of the image e.g. _cid_vip_:5000/ci-tempest:v1"
            SALT_MASTER_URL:
              type: string
              default: "${_param:jenkins_salt_api_url}"
              description: Full Salt API address [e.g. https://10.10.10.2:6969]
            SALT_MASTER_CREDENTIALS:
              type: string
              default: "salt"
            REPO:
              type: string
              default: ""
              description: Specify repo that will be used to rebuild image
            BRANCH:
              type: string
              default: ""
              description: Branch or version of REPO to checkout
