Using Cluster Loader

    You are viewing documentation for a release that is no longer supported. The latest supported version of version 3 is [3.11]. For the most recent version 4, see

    Cluster Loader is a tool that deploys large numbers of various objects to a cluster, which creates user-defined cluster objects. Build, configure, and run Cluster Loader to measure performance metrics of your OKD deployment at various cluster states.

    Cluster Loader is included in the atomic-openshift-tests package. To install it, run:

    After installation, the test executable extended.test is located in /usr/libexec/atomic-openshift/extended.test.

    1. Set the variable to the location of the administrator kubeconfig:

      1. $ export KUBECONFIG=${KUBECONFIG-$HOME/.kube/config}

    Create multiple namespaces (projects), which contain multiple templates or pods.

    Locate the configuration files for Cluster Loader in the config/ subdirectory. The pod files and template files referenced in these configuration examples are found in the content/ subdirectory.

    Table 2. Fields under projects
    FieldDescription

    num

    An integer. One definition of the count of how many projects to create.

    basename

    A string. One definition of the base name for the project. The count of identical namespaces will be appended to Basename to prevent collisions.

    tuning

    A string. One definition of what tuning set you want to apply to the objects, which you deploy inside this namespace.

    ifexists

    configmaps

    A list of key-value pairs. The key is the ConfigMap name and the value is a path to a file from which you create the ConfigMap.

    secrets

    A list of key-value pairs. The key is the secret name and the value is a path to a file from which you create the secret.

    pods

    A sub-object with one or many definition(s) of pods to deploy.

    templates

    A sub-object with one or many definition(s) of templates to deploy.

    Table 4. Fields under tuningset
    FieldDescription

    name

    A string. The name of the tuning set which will match the name specified when defining a tuning in a project.

    pods

    A sub-object identifying the tuningset that will apply to pods.

    A sub-object identifying the tuningset that will apply to templates.

    Table 6. Fields under tuningset pods or tuningset templates, stepping
    FieldDescription

    stepsize

    An integer. How many objects to create before pausing object creation.

    pause

    An integer. How many seconds to pause after creating the number of objects defined in stepsize.

    timeout

    An integer. How many seconds to wait before failure if the object creation is not successful.

    delay

    An integer. How many milliseconds (ms) to wait between creation requests.

    Example Cluster Loader Configuration File

    Cluster Loader’s configuration file is a basic YAML file:

    1Optional setting for end-to-end tests. Set to local to avoid extra log messages.
    2The tuning sets allow rate limiting and stepping, the ability to create several batches of pods while pausing in between sets. Cluster Loader monitors completion of the previous step before continuing.
    3Stepping will pause for M seconds after each N objects are created.
    4Rate limiting will wait M milliseconds between the creation of objects.
    1. {
    2. "name": "IDENTIFIER",
    3. "description": "Number to append to the name of resources",
    4. }

    If you deploy pods, adding the parameter is unnecessary.