33[ Robert Krawitz's
] ( mailto:[email protected] ) tools for installing
44etc. OpenShift 4 clusters.
55
6+ *** NOTE*** Clusterbuster and related tools have removed from this repo
7+ and now live in OpenShift4-tools/clusterbuster.
8+
69<!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc-generate-toc again -->
710** Table of Contents**
811
912- [ OpenShift4-tools] ( #openshift4-tools )
1013 - [ Cluster utilities] ( #cluster-utilities )
11- - [ Testing tools] ( #testing-tools )
1214 - [ Data reporting utilities] ( #data-reporting-utilities )
1315 - [ General information tools] ( #general-information-tools )
1416 - [ PBench orchestration] ( #pbench-orchestration )
@@ -59,14 +61,6 @@ etc. OpenShift 4 clusters.
5961- ** get-nodes** : get the external (if available) or internal IP address
6062 of each node in a cluster.
6163
62- ## Testing tools
63-
64- - ** clusterbuster** -- generate pods, namespaces, and secrets to stress
65- test a cluster. See [ documentation] ( docs/clusterbuster.md )
66-
67- - ** force-pull-clusterbuster-image** - force-pull the ClusterBuster
68- images so that they are present on all nodes in a cluster.
69-
7064## Data reporting utilities
7165
7266- ** monitor-cluster-resources** -- monitor CPU, memory, and pod
@@ -75,113 +69,6 @@ etc. OpenShift 4 clusters.
7569- ** net-traffic** -- report information about network traffic similar
7670 to iostat.
7771
78- - ** prom-extract** : Capture selected Prometheus data for the duration
79- of a run; report the results along with metadata and workload output
80- JSON-formatted.
81-
82- ` prom-extract ` is written in Python. It requires the following
83- Python3 libraries to be installed:
84-
85- - ** python3-pyyaml** : available via dnf/yum on Fedora, RHEL, etc.
86-
87- - ** prometheus-api-client** : not currently packaged. This can be
88- installed via ` pip3 install prometheus-api-client ` . * Note that
89- this is ** not** the same package as ` prometheus-client ` , which is
90- available via dnf* . ` prometheus-api-client ` provides the
91- Prometheus query API, while ` prometheus-client ` is a Prometheus
92- provider.
93-
94- Newer versions of `prometheus-api-client` may require versions of
95- `pandas` newer than you can run. If so, you will need to install
96- `prometheus_api_client==0.4.2`.
97-
98- Note that `prometheus-api-client` does not install all of its
99- dependencies. If `pip3 install prometheus-api-client==0.4.2`
100- fails, you will need to install the following dependencies, either
101- via your system packages or via `pip` (system packages may not
102- always provide new enough dependencies).
103-
104- - A C++ compiler gcc-c++ or llvm)
105- - pandas==1.1.5
106- - cython
107- - numpy
108-
109- - ** openshift-client** : not currently packaged. This can be
110- installed via ` pip3 install openshift-client ` . It provides much
111- of the OpenShift client API.
112-
113- Note that ` openshift-client ` cannot and/or does not install all
114- needed dependencies. If ` pip3 install openshift-client ` fails,
115- please ensure that the following dependencies are installed (this
116- is current for RHEL 8.x and should be similar for other
117- distributions):
118-
119- - A C compiler (gcc or llvm)
120- - python3-libs
121- - rust
122- - setuptools-rust
123- - python3-wheel
124- - python3-pip-wheel
125- - cryptography
126- - cargo
127- - python3-devel
128-
129- Usage:
130-
131- ```
132- prom-extract _options_ -- _command args..._
133- ```
134-
135- Takes the following options:
136-
137- - ** -u _ prometheus url_ ** : Provide the URL to the cluster Prometheus
138- server. This normally isn't needed; the tool can find it for
139- itself.
140-
141- - ** -t _ prometheus token_ ** : Provide the authentication token for
142- the cluster Prometheus server. This normally isn't needed.
143- Currently, username/password authentication is not needed.
144-
145- - ** -s _ timestep_ ** : Reporting time step for metrics in seconds;
146- default 30.
147-
148- - ** -m _ metrics profile_ ** : Profile of metrics to extract. This is
149- the same syntax as
150- [ Kube-Burner] ( https://kube-burner.readthedocs.io/en/latest/cli/ )
151- metrics profile sytax. Default is ` metrics.yaml ` in the current
152- directory.
153-
154- - ** --epoch _ relative start_ ** : Start the metrics collection from
155- the specified period (default 1200 seconds) prior to the start of
156- the job run.
157-
158- - ** --post-settling-time _ seconds_ ** : Continue collecting metrics
159- for the specified period (default 60 seconds) after the job
160- completes.
161-
162- - ** --json-from-command** : Assume that the stdout from the command
163- is well-formed JSON, and embed that JSON in the report.
164-
165- If the JSON output contains a key named `results`, it will be
166- copied into a `results` key in the report; otherwise the entire
167- JSON contents will be copied into `results`.
168-
169- If the JSON output contains a key named `api_objects`, these will
170- be copied into the report. `api_objects` should be a list of
171- entries, each of which contains keys `name`, `kind`, and
172- `namespace`. These objects should be in existence after the job
173- exits, so that they can be queried via the equivalent of `oc get
174- -ojson ...`. Pods have abbreviated data included; other objects
175- are fully included. These resources are not deleted.
176-
177- Any remaining objects in the JSON output are copied into a
178- `run_data` key.
179-
180- - ** --uuid _ uuid_ ** : Use the specified UUID as the index for the
181- report. If not provided, one is generated and reported on
182- stderr. This is useful for e. g. indexing the report into a
183- database.
184-
18572## General information tools
18673
18774- ** openshift-release-info** -- get various information about one or
0 commit comments