Skip to content

Latest commit

 

History

History
106 lines (79 loc) · 3.8 KB

File metadata and controls

106 lines (79 loc) · 3.8 KB

Prometheus Scale Workload

The Prometheus Scale workload playbook is workloads/prometheus.yml and will run the Prometheus Loader workload on your cluster.

Prometheus scale workload is used to resource usage by simulating an active cluster on for OpenShift. The Prometheus Loader tool will run a number of queries against prometheus as a busy Grafana instance would typically do.

Running from CLI:

$ cp workloads/inventory.example inventory
$ # Add orchestration host to inventory
$ # Edit vars in workloads/vars/prometheus.yml or define Environment vars (See below)
$ time ansible-playbook -vv -i inventory workloads/prometheus.yml

Environment variables

PUBLIC_KEY

Default: ~/.ssh/id_rsa.pub
Public ssh key file for Ansible.

PRIVATE_KEY

Default: ~/.ssh/id_rsa
Private ssh key file for Ansible.

ORCHESTRATION_USER

Default: root
User for Ansible to log in as. Must authenticate with PUBLIC_KEY/PRIVATE_KEY.

WORKLOAD_IMAGE

Default: quay.io/openshift-scale/scale-ci-workload
Container image that runs the workload script.

WORKLOAD_JOB_NODE_SELECTOR

Default: false
Enables/disables the node selector that places the workload job on the workload node.

WORKLOAD_JOB_TAINT

Default: false
Enables/disables the toleration on the workload job to permit the workload taint.

WORKLOAD_JOB_PRIVILEGED

Default: false
Enables/disables running the workload pod as privileged.

KUBECONFIG_FILE

Default: ~/.kube/config
Location of kubeconfig on orchestration host.

PBENCH_INSTRUMENTATION

Default: false
Enables/disables running the workload wrapped by pbench-user-benchmark. When enabled, pbench agents can then be enabled (ENABLE_PBENCH_AGENTS) for further instrumentation data and pbench-copy-results can be enabled (ENABLE_PBENCH_COPY) to export captured data for further analysis. Also, we can export the results to the server without enabling (ENABLE_PBENCH_AGENTS)

ENABLE_PBENCH_AGENTS

Default: false
Enables/disables the collection of pbench data on the pbench agent Pods. These Pods are deployed by the tooling playbook.

ENABLE_PBENCH_COPY

Default: false
Enables/disables the copying of pbench data to a remote results server for further analysis.

PBENCH_SSH_PRIVATE_KEY_FILE

Default: ~/.ssh/id_rsa
Location of ssh private key to authenticate to the pbench results server.

PBENCH_SSH_PUBLIC_KEY_FILE

Default: ~/.ssh/id_rsa.pub
Location of the ssh public key to authenticate to the pbench results server.

PBENCH_SERVER

Default: There is no public default.
DNS address of the pbench results server.

SCALE_CI_RESULTS_TOKEN

Default: There is no public default.
Future use for pbench and prometheus scraper to place results into git repo that holds results data.

JOB_COMPLETION_POLL_ATTEMPTS

Default: 360
Number of retries for Ansible to poll if the workload job has completed. Poll attempts delay 10s between polls with some additional time taken for each polling action depending on the orchestration host setup.

PROMETHEUS_CONCURRENCY

Default: 10 Number of simultaneous request threads used by the prometheus loader tool.

PROMETHEUS_DURATION

Default: 9000 The time in seconds that the prometheus loader should run for.

PROMETHEUS_GRAPH_PERIOD

Default: 15 Prometheus query resolution in seconds.

PROMETHEUS_REFRESH_INTERVAL

Default: 20 Sleep interval for each block iteration in seconds.

PROMETHEUS_SCALE_TEST_PREFIX

Default: prometheus-scale Sets the pbench result test prefix.

PPROF_COLLECT

Default: false
If you'd like to enable pprof profile data collection of kubeapiserver and prometheus through conprof(https://github.com/conprof/conprof). Enabling this will create a few services to collect profiles from the apiserver pods and then create a conprof tarball in the pbench tarball