README
¶
Performance Profile Creator (PPC)
A tool to automate the process of creating Performance Profile using the user supplied profile parameters.
Software Components
- A CLI tool part of the Performance Addon Operator image
Flow
- PPC consumes a must-gather output.
- PPC output is a bunch of YAML data (PAO profile + NTO tuned part).
Things to note before running Performance Profile Creator
- Performance Profile Creator is present as an entrypoint (in /usr/local/bin/performance-profile-creator) in the Performance Addon Operator image.
- It is assumed that we have a must-gather directory available where we run the tool.
- Option 1: Run must-gather tool like below and use its output dir when you run PPC.
oc adm must-gather --image=quay.io/openshift-kni/performance-addon-operator-must-gather:4.9-snapshot --dest-dir=<dir>
- Option 2: Use an existing must-gather tarball decompressed to a directory.
- Option 1: Run must-gather tool like below and use its output dir when you run PPC.
Building Performance Profile Creator binary and image
Developers can build the Performance Profile Creator images from the source tree using make targets.
- Setup Environment variables
export REGISTRY_NAMESPACE=<your quay.io namespace> export IMAGE_TAG=<the image tag to use> #defaults to "latest" export IMAGE_BUILD_CMD=podman
- To build from Performance Profile Creator source:
make create-performance-profile
- To build the Performance addon Operator image from source:
make operator-container
Alternatively, you can pull the latest master upstream image. In the following examples, TAG has the format major.minor-snapshot. For example, the TAG for OpenShift 4.11 will be 4.11-snapshot:
podman pull quay.io/openshift-kni/performance-addon-operator:4.11-snapshot
Running Performance Profile Creator
Depending on how the must-gather directory was set up the operator can now run the Performance Profile Creator tool with the required parameters.
PPC Tool help output:
$ podman run --entrypoint performance-profile-creator quay.io/openshift-kni/performance-addon-operator:4.11-snapshot -h
A tool that automates creation of Performance Profiles
Usage:
performance-profile-creator [flags]
Flags:
--disable-ht Disable Hyperthreading
-h, --help help for performance-profile-creator
--info string Show cluster information; requires --must-gather-dir-path, ignore the other arguments. [Valid values: log, json] (default "log")
--mcp-name string MCP name corresponding to the target machines (required)
--must-gather-dir-path string Must gather directory path (default "must-gather")
--power-consumption-mode string The power consumption mode. [Valid values: default, low-latency, ultra-low-latency] (default "default")
--profile-name string Name of the performance profile to be created (default "performance")
--reserved-cpu-count int Number of reserved CPUs (required)
--rt-kernel Enable Real Time Kernel (required)
--split-reserved-cpus-across-numa Split the Reserved CPUs across NUMA nodes
--topology-manager-policy string Kubelet Topology Manager Policy of the performance profile to be created. [Valid values: single-numa-node, best-effort, restricted] (default "restricted")
--user-level-networking Run with User level Networking(DPDK) enabled
- Option 1: Example of using must-gather output dir (obtained after running must gather manually) along with required arguments
podman run --entrypoint performance-profile-creator -v /path/to/must-gather-output:/must-gather:z \ quay.io/openshift-kni/performance-addon-operator:4.11-snapshot --must-gather-dir-path /must-gather \ --reserved-cpu-count 20 --mcp-name worker-cnf --rt-kernel false > performance-profile.yaml
- Option 2: Example of using an existing must-gather tarball which is decompressed to a directory along with required arguments
podman run --entrypoint performance-profile-creator -v /path/to/decompressed-tarball:/must-gather:z \ quay.io/openshift-kni/performance-addon-operator:4.11-snapshot --must-gather-dir-path /must-gather \ --reserved-cpu-count 20 --mcp-name worker-cnf --rt-kernel false > performance-profile.yaml
Running Performance Profile Creator using Wrapper script
- Example of how the following wrapper script can be used to create a performance profle:
./hack/run-perf-profile-creator.sh -t must-gather.tar.gz -- --mcp-name=worker-cnf --reserved-cpu-count=20 \ --rt-kernel=false --split-reserved-cpus-across-numa=true --topology-manager-policy=restricted \ --power-consumption-mode=low-latency > performace-profile.yaml
Discovery mode
To learn about the key details of the cluster you want to create a profile for, you may use the discovery
(aka info
) mode:
./hack/run-perf-profile-creator.sh -t must-gather.tar.gz -- --info=log
The info
option requires a value which drives the output format. Please refer to the online help of the performance-profile-creator
tool to learn about the supported formats.
Documentation
¶
There is no documentation for this package.