Execute the CVP - Shaker network tests pipeline

Execute the CVP - Shaker network tests pipeline

This section instructs you on how to perform the data plane networking test of your deployment using the CVP - Shaker network tests Jenkins pipeline.

Note

Clone the cvp-shaker repository to your local Gerrit and use it locally to add new or adjust the existing scenarios and build a new Docker image with Shaker.

To perform the data plane networking test of your deployment:

  1. In a web browser, open http://<ip_address>:8081 to access the Jenkins web UI.

    Note

    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.

  2. Log in to the Jenkins web UI as Administrator.

    Note

    To get the password, execute the following command on the Salt Master node:

    salt-call pillar.data _param:jenkins_admin_password
    
  3. In the global view, find the CVP - Shaker network tests pipeline.

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

  5. Configure the following parameters as required:

    CVP - Sanity checks parameters
    Parameter Description
    IMAGE The cvp-shaker Docker image (with all dependencies) that will be used during the test run. The default value is docker-prod-local.docker.mirantis.net/mirantis/cvp/cvp-shaker:<MCP_VERSION>. For the offline mode, use the URL from the local artifactory or offline image.
    SALT_MASTER_CREDENTIALS The credentials to Salt API stored in Jenkins, included by default. See View credentials details used in Jenkins pipelines for details.
    SALT_MASTER_URL

    The reachable IP address of the Salt Master node and port on which Salt API listens. For example, http://172.18.170.28:6969.

    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>
      
    SHAKER_PARAMS The YAML context with parameters for running Shaker. See the description of the available options below. The SHAKER_SERVER_ENDPOINT option is mandatory, while others can be left with the default values.
    SHAKER_PARAMS:SHAKER_SERVER_ENDPOINT

    The address for the Shaker server connections in the form of host:port. The address should be accessible from the OpenStack public (floating) network and usually equals to a public-routable address of the CI/CD node. This is a mandatory option.

    Caution

    The Shaker server address should belong to the CI/CD node that you start the job at and is accessible from the Openstack public (floating) network. Also, to be able to run some scenarios, you should provide compute nodes with the 4*(density count) gigabytes of free disk space.

    SHAKER_PARAMS:SHAKER_SCENARIOS

    Path to the Shaker scenarios in the cvp-shaker Docker image. Can be either a directory or a specific file. The main categories include:

    • scenarios/essential/l2
    • scenarios/essential/l3
    • scenarios/additional/cross_az
    • scenarios/additional/external
    • scenarios/additional/qos

    The default value is scenarios/essential that starts a comprehensive test of both L2 and L3 data plane networking.

    SHAKER_PARAMS:SKIP_LIST A comma-separated list of Shaker scenarios to skip directories or files inside the scenarios directory of the cvp-shaker Docker image. For example, dense_l2.yaml,full_l2.yaml,l3. Defaults to an empty string.
    SHAKER_PARAMS:MATRIX

    The matrix of extra parameters for the scenario. The value is specified in the JSON format. Defaults to an empty string.

    For example, to override a scenario duration, specify {time: 10}, or to override the list of hosts, define {host:[ping.online.net, iperf.eenet.ee]}. If several parameters are overridden, all combinations are tested.

    It is a required field for some of external-category scenarios when the host name with external iPerf3 server must be provided as a command-line parameter, for example, {host: 10.13.100.4}.

    SHAKER_PARAMS:IMAGE_BUILDER

    The list of the shaker-image-builder environment variables that includes:

    • SHAKER_FLAVOR_DISK
    • SHAKER_FLAVOR_RAM
    • SHAKER_FLAVOR_VCPUS
    • SHAKER_IMAGE_BUILDER_MODE

    Used for building an image of Shaker which will be used for running Shaker agents across the cluster. Leave these parameters commented out as the default settings should meet all the requirements for starting a test.

    SHAKER_PARAMS:SHAKER

    List of Shaker server environment variables including:

    • SHAKER_AGENT_JOIN_TIMEOUT
    • SHAKER_AGENT_LOSS_TIMEOUT
    • SCENARIO_AVAILABILITY_ZONE
    • SCENARIO_COMPUTE_NODES
    • SHAKER_EXTERNAL_NET

    You can define these parameters to alter the Shaker server environment variables.

    The SHAKER_EXTERNAL_NET variable should be set to the name of your OpenStack floating network, which defaults to public.

    The SCENARIO_AVAILABILITY_ZONE variable can be used when running the cross az scenarios category to override default availability zones set in the scenarios.

    All the other options in most cases can be left unchanged.

  6. Click Build.

  7. Verify the job status:

    • GREEN, SUCCESS

      Testing has beed performed successfully, no errors found.

    • RED, FAILURE

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