blob: d24db108ebf3b6de5cd0f0d340f4638ae571dec9 [file] [log] [blame]
parameters:
jenkins:
client:
view:
Validation:
enabled: true
type: ListView
include_regex: "validate.*"
job:
validate_openstack:
type: workflow-scm
name: validate-openstack
display_name: "Validate - Openstack"
discard:
build:
keep_num: 50
artifact:
keep_num: 50
concurrent: false
scm:
type: git
url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
branch: "${_param:jenkins_pipelines_branch}"
credentials: "gerrit"
script: validate-cloud.groovy
param:
ACCUMULATE_RESULTS:
type: boolean
default: 'true'
description: If chosen then previous build results will be used in the current build
JOB_TIMEOUT:
type: string
default: "3"
description: Job timeout in hours
RUN_RALLY_TESTS:
type: boolean
default: 'true'
description: |
If chosen, Rally tests will be executed. Please set K8S_RALLY='true' if you plan
to test K8S cluster with Rally framework. Special K8S plugin has to be utilized
RUN_TEMPEST_TESTS:
type: boolean
default: 'false'
description: If chosen then Tempest tests will be executed
RUN_SPT_TESTS:
type: boolean
default: 'false'
description: If chosen, SPT tests will be executed
TEST_IMAGE:
type: string
default: 'xrally/xrally-openstack:latest'
description: |
Docker image to use with required test set. Please use
'xrally/xrally-openstack:latest' - for Rally tests
"${_param:mcp_docker_registry}/mirantis/oss/qa-tools" -
for SPT/Tempest environment setup
TARGET_NODE:
type: string
default: ""
description: Target node where this job will be executed from
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
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://github.com/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'
# Path for reports outside docker image
REPORT_DIR: '/root/qa_results'
# Scenarios names/dirs to skip
SKIP_LIST: ''
tempest:
# Set of Tempest tests to run (smoke,full)
TEMPEST_TEST_SET: 'smoke'
# Git repository with configuration files for Tempest
TEMPEST_CONFIG_REPO: ''
# Git branch which will be used during the checkout
TEMPEST_CONFIG_BRANCH: ''
# description: Git repository with Tempest
TEMPEST_REPO: ''
# description: Version of Tempest (tag, branch or commit)
TEMPEST_VERSION: ''
# If chosen, run HTML report will be generated
GENERATE_REPORT: 'false'
spt:
# Name of availability zone
AVAILABILITY_ZONE: 'nova'
# External(floating) network name
FLOATING_NETWORK: 'public'
# Username that is used to ssh between cluster nodes
SPT_SSH_USER: 'root'
# Image that is used for network-VM-to-VM-iperf-tests tests
SPT_IMAGE: ''
# Username that is used to ssh to SPT_IMAGE
SPT_IMAGE_USER: ''
# Flavor name for SPT_IMAGE (make sure you have required flavor created)
SPT_FLAVOR: ''
# If chosen, run HTML report will be generated
GENERATE_REPORT: 'false'
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: "gerrit"
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:6969]
SALT_MASTER_CREDENTIALS:
type: string
default: "salt"
EXTRA_PARAMS:
type: text
default: "---"
description: YAML context with additional parameters
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: "gerrit"
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: "${_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
TEST_IMAGE:
type: string
default: "xrally/xrally-openstack:0.10.1"
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: "gerrit"
script: cvp-ha.groovy
param:
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
TEMPEST_TARGET_NODE:
type: string
default: ""
description: Node where container with tempest will be run
TEST_IMAGE:
type: string
default: "xrally/xrally-openstack:0.10.1"
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-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: "gerrit"
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: "xrally/xrally-openstack:0.10.1"
description: Docker image to use for running Rally/Tempest
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
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: "gerrit"
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:6969]
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: "gerrit"
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:6969]
SALT_MASTER_CREDENTIALS:
type: string
default: "salt"
EXTRA_PARAMS:
type: text
default: "---"
description: YAML context with additional parameters
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: "gerrit"
script: cvp-shaker.groovy
param:
IMAGE:
type: string
default: "${_param:mcp_docker_registry}/mirantis/cvp/cvp-shaker:${_param:mcp_version}"
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.
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). Should be accessible
from tenant's VM network (usually equals to public address of cicd node)
"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