Execute the CVP - Performance tests pipeline

Execute the CVP - Performance tests pipeline

This section instructs you on how to perform the OpenStack performance (load) testing of your deployment using the CVP - Performance tests Jenkins pipeline.


Clone the cvp-configuration to your local Gerrit and use it locally to add new or adjust the existing Rally scenarios.

To perform the OpenStack performance testing:

  1. In your local cvp-configuration repository, inspect and modify the following items as required:

    • The Rally scenarios (rally/rally_scenarios* files)
    • The configure.sh setup script
  2. In a web browser, open http://<ip_address>:8081 to access the Jenkins web UI.


    The IP address is defined in the classes/cluster/<cluster_name>/cicd/init.yml file of the Reclass model under the cicd_control_address parameter variable.

  3. Log in to the Jenkins web UI as admin.


    To obtain the password for the admin user, run the salt "cid*" pillar.data _param:jenkins_admin_password command from the Salt Master node.

  4. In the global view, find the CVP - Performance tests pipeline.

  5. Select the Build with Parameters option from the drop-down menu of the pipeline.

  6. Configure the following parameters as required:

    CVP - Performance tests parameters
    Parameter Description
    DEBUG_MODE If checked, keeps the container after test is performed for the debugging purposes.
    PROXY If an environment uses HTTP or HTTPS proxy, verify that you specify it in this field as this proxy address will be used to clone the required repositories and install the Python requirements. For the offline mode, specify offline, no additional packages or modules will be pulled from the Internet.
    RALLY_SCENARIO_FILE Specifies the path to the Rally scenarios file located in the repository specified in TOOLS_REPO. The default value is cvp-configuration/rally/rally_scenarios.json. For the offline mode, when cvp-rally image is used, define /var/lib/cvp-configuration/rally/rally_scenarios.json. If you use a custom image, specify the path to the custom skip list file. The cvp-configuration repository contains a default set of scenarios for a dry run in rally/rally_scenarios.json and the same set but with 100 iterations and 10 threads in rally/rally_scenarios_100.json. More advanced scenarios with floating IPs and live migration are available in rally/rally_scenarios_fip_and_ubuntu.json and rally/rally_scenarios_fip_and_ubuntu_100.json.
    SALT_MASTER_CREDENTIALS Specifies the credentials to Salt API stored in Jenkins, included by default. See View credentials details used in Jenkins pipelines.

    Specifies the reachable IP address of the Salt Master node and port on which Salt API listens. For example,

    To determine on which port Salt API listens:

    1. Log in to the Salt Master node.

    2. Search for the port in the /etc/salt/master.d/_api.conf file.

    3. Verify that the Salt Master node is listening on that port:

      netstat -tunelp | grep <PORT>


    In the 2019.2.4 update, by default, the HTTPS (SSL) NGINX URL is used as SALT_MASTER_URL. For long-running pipelines, it may lead to a timeout error, usually after 10 minutes. Therefore, specify the Salt API native non-SSL URL as described above to prevent timeout errors. Starting from the 2019.2.5 update, Salt API native non-SSL URL is used by default.


    Specifies the node to run the container with Tempest/Rally. Use the Jenkins slave as it has the Docker package.


    Starting from the MCP 2019.2.2 update, if the TARGET_NODE parameter is empty, the node with the gerrit:client pillar will be used, which is cid01 by default.


    Specifies the link to the Docker Rally-based image to use for running the container with testing tools. We recommend using the upstream Rally image, xrally/xrally-openstack:0.11.2.

    For the full offline mode, use the cvp-rally image from the local Docker images mirror (Registry) or pull docker-prod-local.docker.mirantis.net/mirantis/cvp/cvp-rally:<mcp_version> locally.


    Includes the URL or path to the repository where testing tools, scenarios, and configurations are located. By default, it is https://github.com/Mirantis/cvp-configuration. Specify your MCP version here. For example, -b release/2019.2.0 for Q4`18.


    For the Q4`18 MCP release, the branch name format is release/2019.2.0 for the cvp-configuraiton repository. The old 2019.2.0 format is deprecated.

    To customize the configuration, clone the cvp-configuration repository to your local Gerrit and commit the changes.

    For the offline mode, specify /var/lib/cvp-configuration/configure.sh. Alternatively, use this repository from the offline image.

    If your image is fully configured, leave the field empty.

  7. Click Build.

  8. Verify the job status:


      Testing has beed performed successfully, no errors found.


      Some errors occurred during the test run. Proceed to Review the CVP - Performance pipeline tests results.


      Testing has failed due to issues with the framework or/and pipeline configuration. Review the console output.