benchmark-runner 1.0.813__py3-none-any.whl → 1.0.909__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- benchmark_runner/benchmark_operator/benchmark_operator_workloads_operations.py +1 -1
- benchmark_runner/common/clouds/BareMetal/bare_metal_operations.py +33 -18
- benchmark_runner/common/grafana/update_grafana_latest_value_mappings.py +34 -7
- benchmark_runner/common/oc/oc.py +103 -32
- benchmark_runner/common/ocp_resources/create_cnv.py +3 -3
- benchmark_runner/common/ocp_resources/create_lso.py +13 -2
- benchmark_runner/common/ocp_resources/create_nhc_far.py +51 -0
- benchmark_runner/common/ocp_resources/create_ocp_resource.py +9 -5
- benchmark_runner/common/ocp_resources/lso/template/01_delete_disks_template.sh +12 -0
- benchmark_runner/common/ocp_resources/lso/template/04_subscription_template.yaml +4 -0
- benchmark_runner/common/ocp_resources/nhc_far/template/04_far_subscription_template.yaml +11 -0
- benchmark_runner/common/ocp_resources/nhc_far/template/05_nhc_far_template.yaml +60 -0
- benchmark_runner/common/template_operations/templates/hammerdb/internal_data/hammerdb_vm_template.yaml +5 -1
- benchmark_runner/common/template_operations/templates/hammerdb/internal_data/mariadb_template.yaml +1 -1
- benchmark_runner/common/template_operations/templates/hammerdb/internal_data/mssql_template.yaml +1 -1
- benchmark_runner/common/template_operations/templates/hammerdb/internal_data/postgres_template.yaml +1 -1
- benchmark_runner/jupyterlab/templates/summary_report/summary_report_operations.py +1 -1
- benchmark_runner/krkn_hub/krknhub_workloads.py +5 -1
- benchmark_runner/main/environment_variables.py +18 -4
- benchmark_runner/workloads/bootstorm_vm.py +28 -18
- benchmark_runner/workloads/workloads_operations.py +6 -2
- {benchmark_runner-1.0.813.dist-info → benchmark_runner-1.0.909.dist-info}/METADATA +3 -2
- {benchmark_runner-1.0.813.dist-info → benchmark_runner-1.0.909.dist-info}/RECORD +29 -28
- {benchmark_runner-1.0.813.dist-info → benchmark_runner-1.0.909.dist-info}/WHEEL +1 -1
- benchmark_runner/common/ocp_resources/create_nhc_snr.py +0 -42
- benchmark_runner/common/ocp_resources/nhc_snr/template/04_snr_subscription_template.yaml +0 -11
- benchmark_runner/common/ocp_resources/nhc_snr/template/05_nhc_snr_template.yaml +0 -41
- /benchmark_runner/common/ocp_resources/{nhc_snr → nhc_far}/template/01_namespace_template.yaml +0 -0
- /benchmark_runner/common/ocp_resources/{nhc_snr → nhc_far}/template/02_operator_group_template.yaml +0 -0
- /benchmark_runner/common/ocp_resources/{nhc_snr → nhc_far}/template/03_nhc_subscription_template.yaml +0 -0
- {benchmark_runner-1.0.813.dist-info → benchmark_runner-1.0.909.dist-info}/licenses/LICENSE +0 -0
- {benchmark_runner-1.0.813.dist-info → benchmark_runner-1.0.909.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
apiVersion: fence-agents-remediation.medik8s.io/v1alpha1
|
|
3
|
+
kind: FenceAgentsRemediationTemplate
|
|
4
|
+
metadata:
|
|
5
|
+
name: nhc-remediation-far
|
|
6
|
+
namespace: openshift-workload-availability
|
|
7
|
+
spec:
|
|
8
|
+
template:
|
|
9
|
+
spec:
|
|
10
|
+
nodeparameters:
|
|
11
|
+
'--ip':
|
|
12
|
+
master-0: {{ bmc_ips['master-0'] }}
|
|
13
|
+
master-1: {{ bmc_ips['master-1'] }}
|
|
14
|
+
master-2: {{ bmc_ips['master-2'] }}
|
|
15
|
+
worker-0: {{ bmc_ips['worker-0'] }}
|
|
16
|
+
worker-1: {{ bmc_ips['worker-1'] }}
|
|
17
|
+
worker-2: {{ bmc_ips['worker-2'] }}
|
|
18
|
+
'--username':
|
|
19
|
+
master-0: {{ bmc_user }}
|
|
20
|
+
master-1: {{ bmc_user }}
|
|
21
|
+
master-2: {{ bmc_user }}
|
|
22
|
+
worker-0: {{ bmc_user }}
|
|
23
|
+
worker-1: {{ bmc_user }}
|
|
24
|
+
worker-2: {{ bmc_user }}
|
|
25
|
+
'--password':
|
|
26
|
+
master-0: {{ bmc_password }}
|
|
27
|
+
master-1: {{ bmc_password }}
|
|
28
|
+
master-2: {{ bmc_password }}
|
|
29
|
+
worker-0: {{ bmc_password }}
|
|
30
|
+
worker-1: {{ bmc_password }}
|
|
31
|
+
worker-2: {{ bmc_password }}
|
|
32
|
+
sharedparameters:
|
|
33
|
+
'--lanplus': ''
|
|
34
|
+
agent: fence_ipmilan
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
apiVersion: remediation.medik8s.io/v1alpha1
|
|
38
|
+
kind: NodeHealthCheck
|
|
39
|
+
metadata:
|
|
40
|
+
name: nhc-remediation-far
|
|
41
|
+
spec:
|
|
42
|
+
minHealthy: 2
|
|
43
|
+
remediationTemplate:
|
|
44
|
+
apiVersion: fence-agents-remediation.medik8s.io/v1alpha1
|
|
45
|
+
kind: FenceAgentsRemediationTemplate
|
|
46
|
+
name: nhc-remediation-far
|
|
47
|
+
namespace: openshift-workload-availability
|
|
48
|
+
selector:
|
|
49
|
+
matchExpressions:
|
|
50
|
+
- key: node-role.kubernetes.io/worker
|
|
51
|
+
operator: Exists
|
|
52
|
+
- key: node-role.kubernetes.io/master
|
|
53
|
+
operator: Exists
|
|
54
|
+
unhealthyConditions:
|
|
55
|
+
- duration: 300s
|
|
56
|
+
status: "False"
|
|
57
|
+
type: Ready
|
|
58
|
+
- duration: 300s
|
|
59
|
+
status: Unknown
|
|
60
|
+
type: Ready
|
|
@@ -11,7 +11,7 @@ spec:
|
|
|
11
11
|
- key: kubernetes.io/hostname
|
|
12
12
|
operator: In
|
|
13
13
|
values:
|
|
14
|
-
- {{
|
|
14
|
+
- {{ lso_node }}
|
|
15
15
|
storageClassDevices:
|
|
16
16
|
- storageClassName: local-sc
|
|
17
17
|
volumeMode: Block
|
|
@@ -42,7 +42,11 @@ spec:
|
|
|
42
42
|
name: hammerdb
|
|
43
43
|
args:
|
|
44
44
|
pin: {{ pin }} # enable for nodeSelector
|
|
45
|
+
{%- if storage_type == 'lso' %}
|
|
46
|
+
pin_node: "{{ lso_node }}"
|
|
47
|
+
{%- else %}
|
|
45
48
|
pin_node: "{{ pin_node2 }}"
|
|
49
|
+
{%- endif %}
|
|
46
50
|
db_type: "{{ db_type }}"
|
|
47
51
|
timed_test: true
|
|
48
52
|
test_type: "tpc-c"
|
|
@@ -246,7 +246,7 @@ class SummaryReportOperations:
|
|
|
246
246
|
@return:
|
|
247
247
|
"""
|
|
248
248
|
geometric_mean_df = pd.DataFrame(geometric_mean_data)
|
|
249
|
-
self.median_indices = geometric_mean_df.groupby(['metric', 'ocp_version']).apply(self.__get_median)
|
|
249
|
+
self.median_indices = geometric_mean_df.drop(columns=['metric', 'ocp_version']).groupby([geometric_mean_df['metric'], geometric_mean_df['ocp_version']], group_keys=False).apply(self.__get_median)
|
|
250
250
|
geometric_mean_df = geometric_mean_df.loc[self.median_indices['median_result']]
|
|
251
251
|
return self.__calc_percentage(geometric_mean_df, complementary)
|
|
252
252
|
|
|
@@ -17,6 +17,7 @@ class KrknHubWorkloads(WorkloadsOperations):
|
|
|
17
17
|
self.__krknhub_workload = self._environment_variables_dict.get('krknhub_workload', '')
|
|
18
18
|
self.__provision_kubeconfig_path = self._environment_variables_dict.get('provision_kubeconfig_path', '')
|
|
19
19
|
self.__krknhub_environment_variables = self._environment_variables_dict.get('krknhub_environment_variables', '')
|
|
20
|
+
self.__krknhub_yaml_file_path = self._environment_variables_dict.get('krknhub_yaml_file_path', '')
|
|
20
21
|
self.__ssh = SSH()
|
|
21
22
|
self.__krknhub_pod_name = 'bm'
|
|
22
23
|
|
|
@@ -60,7 +61,10 @@ class KrknHubWorkloads(WorkloadsOperations):
|
|
|
60
61
|
"""
|
|
61
62
|
logger.info(f'run krkn-hub: {self.__krknhub_workload}')
|
|
62
63
|
pod_log_path = f'{self._run_artifacts_path}/{self.__krknhub_workload}_pod.log'
|
|
63
|
-
|
|
64
|
+
if self.__krknhub_yaml_file_path:
|
|
65
|
+
workload_command = f'chmod 644 {self.__provision_kubeconfig_path} ; podman run --rm --name=api-{self.__krknhub_pod_name} --net=host --env-host=true -e SCENARIO_BASE64="$(base64 -w0 {self.__krknhub_yaml_file_path})" -e ENABLE_ALERTS=True -e CHECK_CRITICAL_ALERTS=True -e WAIT_DURATION=1000 -v {self.__provision_kubeconfig_path}:/home/krkn/.kube/config:Z quay.io/krkn-chaos/krkn-hub:{self.__krknhub_workload}-bm &> {pod_log_path}'
|
|
66
|
+
else:
|
|
67
|
+
workload_command = f'{self.__krknhub_environment_variables}; chmod 644 {self.__provision_kubeconfig_path} ; podman run --rm --name={self.__krknhub_pod_name} --net=host --env-host=true -v {self.__provision_kubeconfig_path}:/home/krkn/.kube/config:Z quay.io/krkn-chaos/krkn-hub:{self.__krknhub_workload} &> {pod_log_path}'
|
|
64
68
|
logger.info(workload_command)
|
|
65
69
|
self.__ssh.run(workload_command)
|
|
66
70
|
|
|
@@ -4,6 +4,8 @@ import time
|
|
|
4
4
|
import datetime
|
|
5
5
|
import argparse
|
|
6
6
|
from uuid import uuid4
|
|
7
|
+
from ast import literal_eval
|
|
8
|
+
|
|
7
9
|
from benchmark_runner.main.environment_variables_exceptions import ParseFailed
|
|
8
10
|
|
|
9
11
|
|
|
@@ -88,10 +90,14 @@ class EnvironmentVariables:
|
|
|
88
90
|
self._environment_variables_dict['windows_url'] = EnvironmentVariables.get_env('WINDOWS_URL', '')
|
|
89
91
|
# Delete all resources before and after the run, default True
|
|
90
92
|
self._environment_variables_dict['delete_all'] = EnvironmentVariables.get_boolean_from_environment('DELETE_ALL', True)
|
|
91
|
-
#
|
|
93
|
+
# RunStrategy: Always can be set to True or False, default: False. Set it to True for VMs that need to start in a running state
|
|
92
94
|
self._environment_variables_dict['run_strategy'] = EnvironmentVariables.get_boolean_from_environment('RUN_STRATEGY', False)
|
|
95
|
+
# Creating VMs only without deletion, default False (when True: configure RUN_STRATEGY: True/ DELETE_ALL: False)
|
|
96
|
+
self._environment_variables_dict['create_vms_only'] = EnvironmentVariables.get_boolean_from_environment('CREATE_VMS_ONLY', False)
|
|
93
97
|
# Verification only, without running or deleting any resources, default False
|
|
94
98
|
self._environment_variables_dict['verification_only'] = EnvironmentVariables.get_boolean_from_environment('VERIFICATION_ONLY', False)
|
|
99
|
+
# Collect CNV/ODF must-gather logs in case of VM verification failure (default: False).
|
|
100
|
+
self._environment_variables_dict['must_gather_log'] = EnvironmentVariables.get_boolean_from_environment('MUST_GATHER_LOG', False)
|
|
95
101
|
# test name
|
|
96
102
|
self._environment_variables_dict['test_name'] = EnvironmentVariables.get_env('TEST_NAME', '')
|
|
97
103
|
|
|
@@ -140,9 +146,11 @@ class EnvironmentVariables:
|
|
|
140
146
|
else:
|
|
141
147
|
self._environment_variables_dict['storage_type'] = 'ephemeral'
|
|
142
148
|
|
|
143
|
-
# LSO Disk id - auto-detect when located on worker-2
|
|
149
|
+
# LSO Disk id - auto-detect when located on worker-2, put only the id not full ( i.e. /dev/disk/by-id/{{ lso_disk_id }} )
|
|
144
150
|
self._environment_variables_dict['lso_disk_id'] = EnvironmentVariables.get_env('LSO_DISK_ID', '')
|
|
145
151
|
self._environment_variables_dict['lso_node'] = EnvironmentVariables.get_env('LSO_NODE', '')
|
|
152
|
+
# Ceph version required for disk cleanup, using default 19
|
|
153
|
+
self._environment_variables_dict['ceph_version'] = EnvironmentVariables.get_env('CEPH_VERSION', '19')
|
|
146
154
|
# Workloads that required ODF
|
|
147
155
|
self._environment_variables_dict['workloads_odf_pvc'] = ['vdbench', 'hammerdb']
|
|
148
156
|
# This parameter get from Test_CI.yml file
|
|
@@ -200,6 +208,7 @@ class EnvironmentVariables:
|
|
|
200
208
|
self._environment_variables_dict['krknhub_workload'] = EnvironmentVariables.get_env('KRKNHUB_WORKLOAD', '')
|
|
201
209
|
# e.g. "export CLOUD_TYPE='test'; export BMC_USER='user'"
|
|
202
210
|
self._environment_variables_dict['krknhub_environment_variables'] = EnvironmentVariables.get_env('KRKNHUB_ENVIRONMENT_VARIABLES', '')
|
|
211
|
+
self._environment_variables_dict['krknhub_yaml_file_path'] = EnvironmentVariables.get_env('KRKNHUB_YAML_FILE_PATH', '')
|
|
203
212
|
|
|
204
213
|
# IBM data
|
|
205
214
|
self._environment_variables_dict['region_name'] = EnvironmentVariables.get_env('IBM_REGION_NAME', '')
|
|
@@ -242,7 +251,8 @@ class EnvironmentVariables:
|
|
|
242
251
|
self._environment_variables_dict['upgrade_masters_duration_seconds'] = EnvironmentVariables.get_env('UPGRADE_MASTERS_DURATION_SECONDS', '')
|
|
243
252
|
# upgrade workers duration seconds
|
|
244
253
|
self._environment_variables_dict['upgrade_workers_duration_seconds'] = EnvironmentVariables.get_env('UPGRADE_WORKERS_DURATION_SECONDS', '')
|
|
245
|
-
|
|
254
|
+
# Skip the all namespaces operators list
|
|
255
|
+
self._environment_variables_dict['skip_all_namespaces_operators_list'] = EnvironmentVariables.get_env('SKIP_ALL_NAMESPACES_OPERATORS_LIST', "[ 'node-healthcheck-operator', 'self-node-remediation', 'fence-agents-remediation' ]")
|
|
246
256
|
|
|
247
257
|
# SNO or empty for regular
|
|
248
258
|
self._environment_variables_dict['cluster_type'] = EnvironmentVariables.get_env('CLUSTER_TYPE', '')
|
|
@@ -272,8 +282,12 @@ class EnvironmentVariables:
|
|
|
272
282
|
self._environment_variables_dict['num_odf_disk'] = EnvironmentVariables.get_env('NUM_ODF_DISK', 4)
|
|
273
283
|
self._environment_variables_dict['worker_disk_ids'] = EnvironmentVariables.get_env('WORKER_DISK_IDS', "")
|
|
274
284
|
self._environment_variables_dict['worker_disk_prefix'] = EnvironmentVariables.get_env('WORKER_DISK_PREFIX', '')
|
|
275
|
-
# install resources list "[ 'lso', 'odf', 'cnv', 'infra', 'custom' ]"
|
|
285
|
+
# install resources list "[ 'lso', 'odf', 'cnv', 'infra', 'custom', 'kata', 'nhc_far' ]"
|
|
276
286
|
self._environment_variables_dict['install_resources_list'] = EnvironmentVariables.get_env('INSTALL_RESOURCES_LIST', "")
|
|
287
|
+
# for 'nhc_far' operator
|
|
288
|
+
self._environment_variables_dict['bmc_user'] = EnvironmentVariables.get_env('BMC_USER', '')
|
|
289
|
+
self._environment_variables_dict['bmc_password'] = EnvironmentVariables.get_env('BMC_PASSWORD', '')
|
|
290
|
+
self._environment_variables_dict['bmc_ips'] = literal_eval(EnvironmentVariables.get_env('BMC_IPS', "{}"))
|
|
277
291
|
|
|
278
292
|
# Parameters below related to 'install_ocp()' and 'install_resource()'
|
|
279
293
|
# Mandatory: OCP environment flavor PERF or FUNC for updating GitHub secrets
|
|
@@ -5,7 +5,6 @@ from multiprocessing import Process, Manager
|
|
|
5
5
|
|
|
6
6
|
from benchmark_runner.common.logger.logger_time_stamp import logger_time_stamp, logger
|
|
7
7
|
from benchmark_runner.common.elasticsearch.elasticsearch_exceptions import ElasticSearchDataNotUploaded
|
|
8
|
-
from benchmark_runner.workloads.workloads_exceptions import MissingVMs
|
|
9
8
|
from benchmark_runner.workloads.workloads_operations import WorkloadsOperations
|
|
10
9
|
from benchmark_runner.common.oc.oc import VMStatus
|
|
11
10
|
|
|
@@ -167,7 +166,7 @@ class BootstormVM(WorkloadsOperations):
|
|
|
167
166
|
|
|
168
167
|
def _verify_single_vm_access(self, vm_name, retries=5, delay=10):
|
|
169
168
|
"""
|
|
170
|
-
This method verifies single
|
|
169
|
+
This method verifies access to a single VM using a retry mechanism, and saves the error and YAML file in case of failure
|
|
171
170
|
:param vm_name: The name of the VM to verify.
|
|
172
171
|
:param retries: Number of retry attempts.
|
|
173
172
|
:param delay: Time to wait (in seconds) between retries.
|
|
@@ -215,8 +214,12 @@ class BootstormVM(WorkloadsOperations):
|
|
|
215
214
|
status_message = self._data_dict.get('access_status') or "No status available"
|
|
216
215
|
|
|
217
216
|
try:
|
|
217
|
+
self._oc.save_to_yaml(vm_name, str(access_status).lower() == 'true', output_dir=self._run_artifacts_path)
|
|
218
|
+
self._oc.save_describe_yaml(vm_name, str(access_status).lower() == 'true', output_dir=self._run_artifacts_path)
|
|
218
219
|
with open(error_log_path, "w") as error_log_file:
|
|
219
|
-
error_log_file.write(self._oc.get_vm_status(vm_name=vm_name) + "\n
|
|
220
|
+
error_log_file.write(self._oc.get_vm_status(vm_name=vm_name) + "\n")
|
|
221
|
+
error_log_file.write("VM Status: " + access_status + "\n")
|
|
222
|
+
error_log_file.write("Running node: " + self._oc.get_vm_node(vm_name=vm_name) + "\n\n")
|
|
220
223
|
error_log_file.write(str(status_message) + "\n")
|
|
221
224
|
except Exception as write_err:
|
|
222
225
|
logger.error(f"Failed to write error log for {vm_name}: {write_err}")
|
|
@@ -231,17 +234,19 @@ class BootstormVM(WorkloadsOperations):
|
|
|
231
234
|
:param return_dict:
|
|
232
235
|
:return:
|
|
233
236
|
"""
|
|
234
|
-
self._oc.save_to_yaml(vm_name, output_dir=self._run_artifacts_path)
|
|
235
237
|
vm_access = self._verify_single_vm_access(vm_name)
|
|
236
|
-
self._oc.save_describe_yml(vm_name, str(vm_access).lower() == 'true', output_dir=self._run_artifacts_path)
|
|
237
238
|
return_dict[vm_name] = vm_access
|
|
238
239
|
|
|
239
|
-
def _verify_vms_access_in_parallel(self, vm_names):
|
|
240
|
+
def _verify_vms_access_in_parallel(self, vm_names: list):
|
|
240
241
|
"""
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
:
|
|
242
|
+
Verifies access to a list of VMs in parallel using subprocesses.
|
|
243
|
+
|
|
244
|
+
:param vm_names: List of VM names to verify.
|
|
245
|
+
:return: List of VM names that failed the access verification.
|
|
244
246
|
"""
|
|
247
|
+
if not vm_names:
|
|
248
|
+
return []
|
|
249
|
+
|
|
245
250
|
failure_vms = []
|
|
246
251
|
manager = Manager()
|
|
247
252
|
return_dict = manager.dict()
|
|
@@ -265,17 +270,15 @@ class BootstormVM(WorkloadsOperations):
|
|
|
265
270
|
failure_vms.append(vm_name)
|
|
266
271
|
return failure_vms
|
|
267
272
|
|
|
268
|
-
def _verify_vms_access(self, delay=10):
|
|
273
|
+
def _verify_vms_access(self, vm_names: list, delay=10):
|
|
269
274
|
"""
|
|
270
275
|
This method verifies access for each VM
|
|
271
276
|
It prepares the data for ElasticSearch, generates a must-gather in case of an error, and uploads it to Google Drive.
|
|
272
277
|
:param delay: delay between each iteration
|
|
273
278
|
"""
|
|
274
279
|
try:
|
|
275
|
-
vm_names = self._oc._get_all_vm_names()
|
|
276
280
|
if not vm_names:
|
|
277
|
-
|
|
278
|
-
|
|
281
|
+
return []
|
|
279
282
|
upgrade_done = True
|
|
280
283
|
failure_vms = [] # List to store failed VM names
|
|
281
284
|
|
|
@@ -300,8 +303,8 @@ class BootstormVM(WorkloadsOperations):
|
|
|
300
303
|
logger.info(f'Cluster is upgraded to: {self._wait_for_upgrade_version}')
|
|
301
304
|
|
|
302
305
|
if failure_vms:
|
|
303
|
-
|
|
304
|
-
|
|
306
|
+
if self._must_gather_log:
|
|
307
|
+
self._oc.generate_must_gather(destination_path=self._run_artifacts_path, cnv_version=self._cnv_version, odf_version=self._odf_version)
|
|
305
308
|
# Error log with details of failed VM, for catching all vm errors
|
|
306
309
|
logger.error(f"Failed to verify virtctl SSH login for the following VMs: {', '.join(failure_vms)}")
|
|
307
310
|
# Upload artifacts in validation
|
|
@@ -406,15 +409,22 @@ class BootstormVM(WorkloadsOperations):
|
|
|
406
409
|
def run_vm_workload(self):
|
|
407
410
|
# verification only w/o running or deleting any resource
|
|
408
411
|
if self._verification_only:
|
|
409
|
-
self.
|
|
412
|
+
vm_names = self._oc._get_all_vm_names()
|
|
413
|
+
if vm_names:
|
|
414
|
+
self._verify_vms_access(vm_names)
|
|
415
|
+
else:
|
|
416
|
+
logger.info("No running VMs")
|
|
410
417
|
else:
|
|
411
418
|
if not self._scale:
|
|
412
419
|
self._run_vm()
|
|
413
420
|
# scale
|
|
414
421
|
else:
|
|
415
422
|
first_run_time_updated = False
|
|
416
|
-
#
|
|
417
|
-
if
|
|
423
|
+
# Create VMs
|
|
424
|
+
if self._create_vms_only:
|
|
425
|
+
steps = (self._create_vm_scale, )
|
|
426
|
+
# Run VMs without deleting
|
|
427
|
+
elif not self._delete_all:
|
|
418
428
|
steps = (self._create_vm_scale, self._run_vm_scale)
|
|
419
429
|
else:
|
|
420
430
|
steps = (self._create_vm_scale, self._run_vm_scale, self._stop_vm_scale,
|
|
@@ -102,8 +102,10 @@ class WorkloadsOperations:
|
|
|
102
102
|
self._prometheus_snap_interval = self._environment_variables_dict.get('prometheus_snap_interval', '')
|
|
103
103
|
self._prometheus_metrics_operation = PrometheusMetricsOperation()
|
|
104
104
|
self._windows_url = self._environment_variables_dict.get('windows_url', '')
|
|
105
|
+
self._create_vms_only = self._environment_variables_dict.get('create_vms_only', '')
|
|
105
106
|
self._delete_all = self._environment_variables_dict.get('delete_all', '')
|
|
106
107
|
self._verification_only = self._environment_variables_dict.get('verification_only', '')
|
|
108
|
+
self._must_gather_log = self._environment_variables_dict.get('must_gather_log', '')
|
|
107
109
|
self._test_name = self._environment_variables_dict.get('test_name', '')
|
|
108
110
|
self._wait_for_upgrade_version = self._environment_variables_dict.get('wait_for_upgrade_version', '')
|
|
109
111
|
if self._windows_url:
|
|
@@ -182,11 +184,11 @@ class WorkloadsOperations:
|
|
|
182
184
|
@logger_time_stamp
|
|
183
185
|
def odf_workload_verification(self):
|
|
184
186
|
"""
|
|
185
|
-
This method verifies whether the ODF operator is installed for ODF workloads and raises an error if it is missing
|
|
187
|
+
This method verifies whether the ODF operator is installed for ODF workloads and raises an error if it is missing, skip for LSO workload
|
|
186
188
|
:return:
|
|
187
189
|
"""
|
|
188
190
|
workload_name = self._workload.split('_')
|
|
189
|
-
if workload_name[0] in self._workloads_odf_pvc:
|
|
191
|
+
if workload_name[0] in self._workloads_odf_pvc and '_lso' not in self._workload:
|
|
190
192
|
if not self._oc.is_odf_installed():
|
|
191
193
|
raise ODFNotInstalled(workload=self._workload)
|
|
192
194
|
|
|
@@ -411,6 +413,8 @@ class WorkloadsOperations:
|
|
|
411
413
|
metadata = {'ocp_version': self._oc.get_ocp_server_version(),
|
|
412
414
|
'previous_ocp_version': '' if len(self._oc.get_previous_ocp_version()) > 10 else self._oc.get_previous_ocp_version(),
|
|
413
415
|
'cnv_version': self._oc.get_cnv_version(),
|
|
416
|
+
'nhc_version': self._oc.get_nhc_version(),
|
|
417
|
+
'far_version': self._oc.get_far_version(),
|
|
414
418
|
'kata_version': self._oc.get_kata_operator_version(),
|
|
415
419
|
'kata_rpm_version': self._oc.get_kata_rpm_version(node=self._pin_node1),
|
|
416
420
|
'odf_version': self._oc.get_odf_version(),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: benchmark-runner
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.909
|
|
4
4
|
Summary: Benchmark Runner Tool
|
|
5
5
|
Home-page: https://github.com/redhat-performance/benchmark-runner
|
|
6
6
|
Author: Red Hat
|
|
@@ -13,6 +13,7 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.10
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.11
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
16
17
|
Description-Content-Type: text/markdown
|
|
17
18
|
License-File: LICENSE
|
|
18
19
|
Requires-Dist: attrs==21.4.0
|
|
@@ -170,7 +171,7 @@ docker run --rm -e WORKLOAD="hammerdb_vm_mariadb" -e KUBEADMIN_PASSWORD="1234" -
|
|
|
170
171
|
|
|
171
172
|
SAVE RUN ARTIFACTS LOCAL:
|
|
172
173
|
1. add `-e SAVE_ARTIFACTS_LOCAL='True'` or `--save-artifacts-local=true`
|
|
173
|
-
2. add `-v /tmp:/tmp`
|
|
174
|
+
2. add `-v /tmp/benchmark-runner-run-artifacts:/tmp/benchmark-runner-run-artifacts`
|
|
174
175
|
3. git clone -b v1.0.3 https://github.com/cloud-bulldozer/benchmark-operator /tmp/benchmark-operator
|
|
175
176
|
|
|
176
177
|
### Run vdbench workload in Pod using OpenShift
|
|
@@ -2,7 +2,7 @@ benchmark_runner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,
|
|
|
2
2
|
benchmark_runner/benchmark_operator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
3
|
benchmark_runner/benchmark_operator/benchmark_operator_exceptions.py,sha256=5BCKcvLBMLFW4-XgZ7uXrja7uOE0UaplxAsdkKTpmek,1668
|
|
4
4
|
benchmark_runner/benchmark_operator/benchmark_operator_workloads.py,sha256=dL09ni6x4yaNFHs5djEebe4KE7M4n_rupWH7ngHpJwc,1425
|
|
5
|
-
benchmark_runner/benchmark_operator/benchmark_operator_workloads_operations.py,sha256=
|
|
5
|
+
benchmark_runner/benchmark_operator/benchmark_operator_workloads_operations.py,sha256=Gw_pyjfom_Ry2WRvT2KzF0GhqeDD5O99WEDmN2t1mig,25095
|
|
6
6
|
benchmark_runner/benchmark_operator/hammerdb_pod.py,sha256=3wrjXW0XZwhWKamk_Yw82ibo5RmTUva4rpmcVogXqF8,8257
|
|
7
7
|
benchmark_runner/benchmark_operator/hammerdb_vm.py,sha256=0FhgEvfgbKwUyLEK3be9LYoishOkM4VZqhcTp6zIUr8,5915
|
|
8
8
|
benchmark_runner/benchmark_operator/stressng_pod.py,sha256=4K8PGSv-OCfyBMelJjscVtsCtuvhEx1AuO0biewGF5Q,5398
|
|
@@ -23,7 +23,7 @@ benchmark_runner/common/clouds/Azure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeu
|
|
|
23
23
|
benchmark_runner/common/clouds/Azure/azure_operations.py,sha256=Ok3l0rxCAqZd2_yzuOuUO6Zs3KjvYC85p2VQf7uyMnM,4735
|
|
24
24
|
benchmark_runner/common/clouds/BareMetal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
25
|
benchmark_runner/common/clouds/BareMetal/bare_metal_exceptions.py,sha256=d-aeCfsfGpZ3e1Bho1M8pYlN0D8R-ffjwPm9YwGHvhU,1552
|
|
26
|
-
benchmark_runner/common/clouds/BareMetal/bare_metal_operations.py,sha256=
|
|
26
|
+
benchmark_runner/common/clouds/BareMetal/bare_metal_operations.py,sha256=rvw818kc3r1bcE4T1g8IppdKgA732yaCuN5cUQ9uYMY,19631
|
|
27
27
|
benchmark_runner/common/clouds/IBM/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
28
28
|
benchmark_runner/common/clouds/IBM/ibm_exceptions.py,sha256=psqHgqEBRbfFRWD1blwaWGad-QpThgOl8Puq76VIP80,417
|
|
29
29
|
benchmark_runner/common/clouds/IBM/ibm_operations.py,sha256=ZpF3Vnu2YKqAEYVf7ofBg_kOavMaLCXYCt0CdX8dKd4,3419
|
|
@@ -41,22 +41,22 @@ benchmark_runner/common/google_drive/google_drive_exceptions.py,sha256=7he1sGD-v
|
|
|
41
41
|
benchmark_runner/common/google_drive/google_drive_operations.py,sha256=dGf2_aDSU1XoXSEHk5kAJK7ZWWwbd_QATmXV0nulTms,17553
|
|
42
42
|
benchmark_runner/common/grafana/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
43
43
|
benchmark_runner/common/grafana/grafana_operations.py,sha256=Emt-p44OSe_XgVp6c94EVcDEaniyYtUDQMWCGIP0GR8,4877
|
|
44
|
-
benchmark_runner/common/grafana/update_grafana_latest_value_mappings.py,sha256=
|
|
44
|
+
benchmark_runner/common/grafana/update_grafana_latest_value_mappings.py,sha256=xZQpI14J70lTDb7YiZMtlPghXal9_VQ3bv46fO2y7X8,6767
|
|
45
45
|
benchmark_runner/common/logger/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
46
46
|
benchmark_runner/common/logger/init_logger.py,sha256=ERa-gNqrl2pZybj7v3csvmao7Mv1CIeFhpNKx68DSTc,968
|
|
47
47
|
benchmark_runner/common/logger/logger_exceptions.py,sha256=rivdlRm_jIsKQ53rP_-HX8emdtOmQNO4JuIkg8fnBoc,454
|
|
48
48
|
benchmark_runner/common/logger/logger_time_stamp.py,sha256=2JgugN9LpXF4Ijx0wPRzz3DAGJB8eJpM5g1qPvbWbV8,1479
|
|
49
49
|
benchmark_runner/common/oc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
50
|
-
benchmark_runner/common/oc/oc.py,sha256=
|
|
50
|
+
benchmark_runner/common/oc/oc.py,sha256=UAHEo6L5oFeTNguiFVuHtMXuGOE9W9ox5We8NetSiLk,75806
|
|
51
51
|
benchmark_runner/common/oc/oc_exceptions.py,sha256=XfKUzeK3Ors_Y2csQEoGqrlsZlYvq6OXLkFh9s_mQRM,6311
|
|
52
52
|
benchmark_runner/common/oc/singleton_oc_login.py,sha256=OISe7GxN-povQBk1GYVwkdcuEvIbDQP5QImYbNvhX5Y,2395
|
|
53
53
|
benchmark_runner/common/ocp_resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
54
|
-
benchmark_runner/common/ocp_resources/create_cnv.py,sha256=
|
|
54
|
+
benchmark_runner/common/ocp_resources/create_cnv.py,sha256=uT7sOG-LV3pU1Rt8jbQ9GcwJQhxOu5FVixvDg-Vpm8U,3779
|
|
55
55
|
benchmark_runner/common/ocp_resources/create_custom.py,sha256=rthm96yDzI-Hke54hLWTs0O3gDtpQPR6n184ehaEevo,1029
|
|
56
56
|
benchmark_runner/common/ocp_resources/create_kata.py,sha256=IhfnDHj0lLUVENA-Nh9BucSAt0BqL8mtqT6QloMzIDg,3721
|
|
57
|
-
benchmark_runner/common/ocp_resources/create_lso.py,sha256=
|
|
58
|
-
benchmark_runner/common/ocp_resources/
|
|
59
|
-
benchmark_runner/common/ocp_resources/create_ocp_resource.py,sha256=
|
|
57
|
+
benchmark_runner/common/ocp_resources/create_lso.py,sha256=7DgcN1E2igfgdUqucMqACbP26jMTnfKhU8_aIAdgl3o,2619
|
|
58
|
+
benchmark_runner/common/ocp_resources/create_nhc_far.py,sha256=WGNDMLZfODy6FImmkgQjxg3Z4Gsnpxwa5lJCOShmxe8,2541
|
|
59
|
+
benchmark_runner/common/ocp_resources/create_ocp_resource.py,sha256=SMyC0dASsN9Xhi3nrRpORWsvWYwKockAFzA5Iz1-T1Y,5918
|
|
60
60
|
benchmark_runner/common/ocp_resources/create_ocp_resource_exceptions.py,sha256=hthowyHAeg66IZHYPe1FWU3dnhwXcQtPBrOQSO1RZMU,941
|
|
61
61
|
benchmark_runner/common/ocp_resources/create_ocp_resource_operations.py,sha256=47SyVjtv5e9vKuRQFlC-VfGKXBLEl46rut4XVeZRsMo,6834
|
|
62
62
|
benchmark_runner/common/ocp_resources/create_odf.py,sha256=Frtx4EOYILHROeSzX3sO9b28zzDUt4waN92RwSPzr4c,4421
|
|
@@ -69,15 +69,16 @@ benchmark_runner/common/ocp_resources/infra/template/01_cluster-monitoring-confi
|
|
|
69
69
|
benchmark_runner/common/ocp_resources/kata/template/01_operator_template.yaml,sha256=WS1IF84S9pmH_-bA1iyT0Jsn548FODyRa-k9umYYgSg,636
|
|
70
70
|
benchmark_runner/common/ocp_resources/kata/template/02_config_template.yaml,sha256=68Lwu2ltu4MFDFzJ5rEs2ovArAqnC-1PO20DFx8KPNw,179
|
|
71
71
|
benchmark_runner/common/ocp_resources/kata/template/03_ocp48_patch_template.sh,sha256=VUCBd8_NHveaSyZhdtVzLfGQJptMQEOSsHRx67GLxYY,1406
|
|
72
|
+
benchmark_runner/common/ocp_resources/lso/template/01_delete_disks_template.sh,sha256=eXX9RqwrbRsuhZf6x3j9QaZq207hU-qvz3xMp5-G3Tg,220
|
|
72
73
|
benchmark_runner/common/ocp_resources/lso/template/01_namespace_template.yaml,sha256=Bd8DNCr_DXVDPmA5guDB-bgyYG8ddMuZJBToX2f8RU4,82
|
|
73
74
|
benchmark_runner/common/ocp_resources/lso/template/02_operator_group_template.yaml,sha256=XjTjbvhAdtQLaLsHOdUcvlt3u7Yz-ufno6KvvLYxtiI,186
|
|
74
75
|
benchmark_runner/common/ocp_resources/lso/template/03_catalogsource_template.yaml,sha256=P4OYMsdT1yo1gHXriJc0Pp9P0L3V3bMtQ2Yr7qK_2hM,420
|
|
75
|
-
benchmark_runner/common/ocp_resources/lso/template/04_subscription_template.yaml,sha256=
|
|
76
|
-
benchmark_runner/common/ocp_resources/
|
|
77
|
-
benchmark_runner/common/ocp_resources/
|
|
78
|
-
benchmark_runner/common/ocp_resources/
|
|
79
|
-
benchmark_runner/common/ocp_resources/
|
|
80
|
-
benchmark_runner/common/ocp_resources/
|
|
76
|
+
benchmark_runner/common/ocp_resources/lso/template/04_subscription_template.yaml,sha256=RoWDt_XZLjL9eIJZ9fBB1-kFu3xVqyAEZE6Es-1Qfpk,501
|
|
77
|
+
benchmark_runner/common/ocp_resources/nhc_far/template/01_namespace_template.yaml,sha256=nOhhszaaJ0FAS8ke8DgGHXaa-hPqDoWRFyK1fSJkUVA,81
|
|
78
|
+
benchmark_runner/common/ocp_resources/nhc_far/template/02_operator_group_template.yaml,sha256=WM4DWIcADQ7QhRSGMOG58GDo7bWBwFKDMFqKhv3oPWE,156
|
|
79
|
+
benchmark_runner/common/ocp_resources/nhc_far/template/03_nhc_subscription_template.yaml,sha256=fPBon9WfLYbRMZKC4DIBrnaDxAT1GwDvzvbiHhoSJn0,314
|
|
80
|
+
benchmark_runner/common/ocp_resources/nhc_far/template/04_far_subscription_template.yaml,sha256=E11iDfK-zd4XQzodXxrz5n9hvF64k9uK6yOCyFTZBe4,337
|
|
81
|
+
benchmark_runner/common/ocp_resources/nhc_far/template/05_nhc_far_template.yaml,sha256=v8MsudXhroaGg98__BlbTyc25aNI9JG-Kbt-InWO7GA,1715
|
|
81
82
|
benchmark_runner/common/ocp_resources/odf/template/01_delete_disks_template.sh,sha256=dZfeQ4pXACmbkRfflXUVaHHPI1m-c2ycrxVbdMzm-Jc,321
|
|
82
83
|
benchmark_runner/common/ocp_resources/odf/template/02_label_nodes_template.sh,sha256=P4O_3zud56UuVbYgBRGlm4nh9m4Ju9jfZ2YIoKloaEE,206
|
|
83
84
|
benchmark_runner/common/ocp_resources/odf/template/03_local_volume_discovery_template.yaml,sha256=WjZekDSj-1x8xpL85EY-6dUUCW-nkmb9GP6NyePIhBU,347
|
|
@@ -109,10 +110,10 @@ benchmark_runner/common/template_operations/templates/bootstorm/bootstorm_data_t
|
|
|
109
110
|
benchmark_runner/common/template_operations/templates/bootstorm/internal_data/bootstorm_vm_template.yaml,sha256=NqJwyyJngOGiYQONk8gyigjoUvJexae2g7lc5sU1AR8,1498
|
|
110
111
|
benchmark_runner/common/template_operations/templates/hammerdb/hammerdb_data_template.yaml,sha256=DGwes_qSSCkM8R1nAQa1Robx_Mt7_qBbL-g3stZ-ZxM,1905
|
|
111
112
|
benchmark_runner/common/template_operations/templates/hammerdb/internal_data/hammerdb_pod_template.yaml,sha256=jR120-MnuXBQqm7gHf7-VeaYuwy27mHMpteeifYIYs8,2517
|
|
112
|
-
benchmark_runner/common/template_operations/templates/hammerdb/internal_data/hammerdb_vm_template.yaml,sha256=
|
|
113
|
-
benchmark_runner/common/template_operations/templates/hammerdb/internal_data/mariadb_template.yaml,sha256=
|
|
114
|
-
benchmark_runner/common/template_operations/templates/hammerdb/internal_data/mssql_template.yaml,sha256=
|
|
115
|
-
benchmark_runner/common/template_operations/templates/hammerdb/internal_data/postgres_template.yaml,sha256=
|
|
113
|
+
benchmark_runner/common/template_operations/templates/hammerdb/internal_data/hammerdb_vm_template.yaml,sha256=2pXlPanrOfB2IYCfP28ET_UaY0x9XVxWBm98DJp1OD8,4315
|
|
114
|
+
benchmark_runner/common/template_operations/templates/hammerdb/internal_data/mariadb_template.yaml,sha256=1hf7vXLcjgzv6yf76E-kzYl5HxvfRyN3d1DmA9JtW_A,4454
|
|
115
|
+
benchmark_runner/common/template_operations/templates/hammerdb/internal_data/mssql_template.yaml,sha256=EyFIu4KQBGlxGlarBbk46hiYQM1xXU2LdeIvAfE70V0,3637
|
|
116
|
+
benchmark_runner/common/template_operations/templates/hammerdb/internal_data/postgres_template.yaml,sha256=64x_E-LpqXjOO7xB6QWpbr-rBVzT95BKd7cyXZq3HsE,4807
|
|
116
117
|
benchmark_runner/common/template_operations/templates/scale/redis_template.yaml,sha256=R6NSypqAgBpXgcz2mSmBbnJFWSSGli5aK-M5pGJE3Rk,873
|
|
117
118
|
benchmark_runner/common/template_operations/templates/scale/state_signals_exporter_pod_template.yaml,sha256=lkmtghwYhSzJxg8Wv9EojKDvtJBbxd1qAE71QicP9dw,987
|
|
118
119
|
benchmark_runner/common/template_operations/templates/stressng/stressng_data_template.yaml,sha256=T5eiOQ4aPiRTzWaNIP0vbGR8POjGxP0XtPAaLCCBiTM,773
|
|
@@ -156,26 +157,26 @@ benchmark_runner/jupyterlab/templates/elasticsearch_operations/elasticsearch_wid
|
|
|
156
157
|
benchmark_runner/jupyterlab/templates/logs_operations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
157
158
|
benchmark_runner/jupyterlab/templates/logs_operations/logs_operations.py,sha256=MK7FC2OYD6iecqOzGKsraZzNC09VCiE1JfWjf2Bb7yg,2899
|
|
158
159
|
benchmark_runner/jupyterlab/templates/summary_report/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
159
|
-
benchmark_runner/jupyterlab/templates/summary_report/summary_report_operations.py,sha256=
|
|
160
|
+
benchmark_runner/jupyterlab/templates/summary_report/summary_report_operations.py,sha256=DUaQusW6U520gqRXIQc2yNrkkU2954lcHpQ6u5bSNCA,18780
|
|
160
161
|
benchmark_runner/jupyterlab/templates/summary_report/summary_report_widgets.py,sha256=CQxcr0jQMZZHb9dMHpEznOOcVB4alr070Vszku8tXLA,12168
|
|
161
162
|
benchmark_runner/krkn_hub/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
162
163
|
benchmark_runner/krkn_hub/krknhub_exceptions.py,sha256=Hk7Co6zZ0u2RSmBmS4ZAi21ffZaQ2ITTfl6tGLtiAdY,180
|
|
163
|
-
benchmark_runner/krkn_hub/krknhub_workloads.py,sha256=
|
|
164
|
+
benchmark_runner/krkn_hub/krknhub_workloads.py,sha256=o5DO_ObIuRf1MKfN1DuRtRfsxho_BdtZHUNPvbWqguY,3883
|
|
164
165
|
benchmark_runner/main/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
165
|
-
benchmark_runner/main/environment_variables.py,sha256=
|
|
166
|
+
benchmark_runner/main/environment_variables.py,sha256=3IKYIJyA3pMQWSj8TpX4mlwSpDsKh1QXltfMjylEsxc,30637
|
|
166
167
|
benchmark_runner/main/environment_variables_exceptions.py,sha256=UR0Ith0P0oshsDZdJRlRq8ZUTt0h8jFvUtrnP4m4AIY,437
|
|
167
168
|
benchmark_runner/main/main.py,sha256=A744O550wQh37hhk10H0HlT28LZ_2EOaRlJyWG6Pras,14083
|
|
168
169
|
benchmark_runner/main/temporary_environment_variables.py,sha256=ODSHkfhgvdr_b2e3XyvykW21MVjSdyqimREyMc2klRE,957
|
|
169
170
|
benchmark_runner/workloads/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
170
|
-
benchmark_runner/workloads/bootstorm_vm.py,sha256=
|
|
171
|
+
benchmark_runner/workloads/bootstorm_vm.py,sha256=GsypprQm_PVEr5lvFnhfNzKEjbsTniQY8DdlDmxQbfs,21564
|
|
171
172
|
benchmark_runner/workloads/vdbench_pod.py,sha256=feu3lvNumfBCD-An6__xS5Kt9nA50A_-0FmqTXuU9iw,10011
|
|
172
173
|
benchmark_runner/workloads/vdbench_vm.py,sha256=4rRbE-jAbmNrhP-k8F_OREkJ59VfQ7wLrfRQPwDneJg,9786
|
|
173
174
|
benchmark_runner/workloads/windows_vm.py,sha256=qFVD3qBFMnVpYXnrpam-7H5-0Yzvx6qtaEEZx4T-ex4,2415
|
|
174
175
|
benchmark_runner/workloads/workloads.py,sha256=F9fnk4h715tq7ANSCbDH0jktB8fpr_u3YG61Kdi5_os,1422
|
|
175
176
|
benchmark_runner/workloads/workloads_exceptions.py,sha256=u7VII95iPRF_YhfpGH1U1RmgiIYESMOtbSF1dz7_ToE,1858
|
|
176
|
-
benchmark_runner/workloads/workloads_operations.py,sha256=
|
|
177
|
-
benchmark_runner-1.0.
|
|
178
|
-
benchmark_runner-1.0.
|
|
179
|
-
benchmark_runner-1.0.
|
|
180
|
-
benchmark_runner-1.0.
|
|
181
|
-
benchmark_runner-1.0.
|
|
177
|
+
benchmark_runner/workloads/workloads_operations.py,sha256=f_Gn4Ynk9aVZsW8dVLW4jFnC676FEc2VvLxGuf9GM4s,27433
|
|
178
|
+
benchmark_runner-1.0.909.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
179
|
+
benchmark_runner-1.0.909.dist-info/METADATA,sha256=DqpuKIAoOTqNbGuxtkp3-4Tw0T0I2xQek0wf2CnfE90,11633
|
|
180
|
+
benchmark_runner-1.0.909.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
181
|
+
benchmark_runner-1.0.909.dist-info/top_level.txt,sha256=MP7UbTCzu59D53uKCZl5VsQeM_vheyMc7FmryczJQbk,17
|
|
182
|
+
benchmark_runner-1.0.909.dist-info/RECORD,,
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import os
|
|
3
|
-
|
|
4
|
-
from benchmark_runner.common.oc.oc import OC
|
|
5
|
-
from benchmark_runner.common.logger.logger_time_stamp import logger_time_stamp, logger
|
|
6
|
-
from benchmark_runner.common.ocp_resources.create_ocp_resource_operations import CreateOCPResourceOperations
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
class CreateNHCSNR(CreateOCPResourceOperations):
|
|
10
|
-
"""
|
|
11
|
-
This class is created node-health-check and self-node-remediation operators
|
|
12
|
-
"""
|
|
13
|
-
def __init__(self, oc: OC, path: str, resource_list: list):
|
|
14
|
-
super().__init__(oc)
|
|
15
|
-
self.__oc = oc
|
|
16
|
-
self.__path = path
|
|
17
|
-
self.__resource_list = resource_list
|
|
18
|
-
|
|
19
|
-
@logger_time_stamp
|
|
20
|
-
def create_nhc_snr(self):
|
|
21
|
-
"""
|
|
22
|
-
This method creates node-health-check and self-node-remediation operators
|
|
23
|
-
:return:
|
|
24
|
-
"""
|
|
25
|
-
for resource in self.__resource_list:
|
|
26
|
-
logger.info(f'run {resource}')
|
|
27
|
-
self.__oc.create_async(yaml=os.path.join(self.__path, resource))
|
|
28
|
-
|
|
29
|
-
if '03_nhc_subscription.yaml' in resource:
|
|
30
|
-
self.wait_for_ocp_resource_create(operator='nhc',
|
|
31
|
-
verify_cmd="oc get csv -n openshift-workload-availability -o jsonpath='{.items[0].status.phase}'",
|
|
32
|
-
status='Succeeded')
|
|
33
|
-
if '04_snr_subscription.yaml' in resource:
|
|
34
|
-
self.wait_for_ocp_resource_create(operator='snr',
|
|
35
|
-
verify_cmd="oc get csv -n openshift-workload-availability -o jsonpath='{.items[1].status.phase}'",
|
|
36
|
-
status='Succeeded')
|
|
37
|
-
if '05_nhc_snr.yaml' in resource:
|
|
38
|
-
# Verify NHC is enabled
|
|
39
|
-
self.wait_for_ocp_resource_create(operator='nhc',
|
|
40
|
-
verify_cmd="oc get nhc -A -o jsonpath='{range .items[*]}{.status.phase}{\"\\n\"}{end}'",
|
|
41
|
-
status='Enabled')
|
|
42
|
-
return True
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
apiVersion: operators.coreos.com/v1alpha1
|
|
2
|
-
kind: Subscription
|
|
3
|
-
metadata:
|
|
4
|
-
name: self-node-remediation-operator
|
|
5
|
-
namespace: openshift-workload-availability
|
|
6
|
-
spec:
|
|
7
|
-
channel: stable
|
|
8
|
-
installPlanApproval: Automatic
|
|
9
|
-
name: self-node-remediation
|
|
10
|
-
source: redhat-operators
|
|
11
|
-
sourceNamespace: openshift-marketplace
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
apiVersion: remediation.medik8s.io/v1alpha1
|
|
3
|
-
kind: NodeHealthCheck
|
|
4
|
-
metadata:
|
|
5
|
-
name: chaos-nodehealthcheck
|
|
6
|
-
spec:
|
|
7
|
-
minHealthy: 1
|
|
8
|
-
remediationTemplate:
|
|
9
|
-
apiVersion: self-node-remediation.medik8s.io/v1alpha1
|
|
10
|
-
name: self-node-remediation-automatic-strategy-template
|
|
11
|
-
namespace: openshift-workload-availability
|
|
12
|
-
kind: SelfNodeRemediationTemplate
|
|
13
|
-
selector:
|
|
14
|
-
matchExpressions:
|
|
15
|
-
- key: node-role.kubernetes.io/worker
|
|
16
|
-
operator: Exists
|
|
17
|
-
unhealthyConditions:
|
|
18
|
-
- type: Ready
|
|
19
|
-
status: "False"
|
|
20
|
-
duration: 20s
|
|
21
|
-
- type: Ready
|
|
22
|
-
status: Unknown
|
|
23
|
-
duration: 20s
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
apiVersion: v1
|
|
27
|
-
items:
|
|
28
|
-
- apiVersion: self-node-remediation.medik8s.io/v1alpha1
|
|
29
|
-
kind: SelfNodeRemediationTemplate
|
|
30
|
-
metadata:
|
|
31
|
-
annotations:
|
|
32
|
-
remediation.medik8s.io/multiple-templates-support: "true"
|
|
33
|
-
name: self-node-remediation-automatic-strategy-template
|
|
34
|
-
namespace: openshift-workload-availability
|
|
35
|
-
spec:
|
|
36
|
-
template:
|
|
37
|
-
spec:
|
|
38
|
-
remediationStrategy: OutOfServiceTaint
|
|
39
|
-
kind: List
|
|
40
|
-
metadata:
|
|
41
|
-
resourceVersion: ""
|
/benchmark_runner/common/ocp_resources/{nhc_snr → nhc_far}/template/01_namespace_template.yaml
RENAMED
|
File without changes
|
/benchmark_runner/common/ocp_resources/{nhc_snr → nhc_far}/template/02_operator_group_template.yaml
RENAMED
|
File without changes
|
|
File without changes
|