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.
Files changed (32) hide show
  1. benchmark_runner/benchmark_operator/benchmark_operator_workloads_operations.py +1 -1
  2. benchmark_runner/common/clouds/BareMetal/bare_metal_operations.py +33 -18
  3. benchmark_runner/common/grafana/update_grafana_latest_value_mappings.py +34 -7
  4. benchmark_runner/common/oc/oc.py +103 -32
  5. benchmark_runner/common/ocp_resources/create_cnv.py +3 -3
  6. benchmark_runner/common/ocp_resources/create_lso.py +13 -2
  7. benchmark_runner/common/ocp_resources/create_nhc_far.py +51 -0
  8. benchmark_runner/common/ocp_resources/create_ocp_resource.py +9 -5
  9. benchmark_runner/common/ocp_resources/lso/template/01_delete_disks_template.sh +12 -0
  10. benchmark_runner/common/ocp_resources/lso/template/04_subscription_template.yaml +4 -0
  11. benchmark_runner/common/ocp_resources/nhc_far/template/04_far_subscription_template.yaml +11 -0
  12. benchmark_runner/common/ocp_resources/nhc_far/template/05_nhc_far_template.yaml +60 -0
  13. benchmark_runner/common/template_operations/templates/hammerdb/internal_data/hammerdb_vm_template.yaml +5 -1
  14. benchmark_runner/common/template_operations/templates/hammerdb/internal_data/mariadb_template.yaml +1 -1
  15. benchmark_runner/common/template_operations/templates/hammerdb/internal_data/mssql_template.yaml +1 -1
  16. benchmark_runner/common/template_operations/templates/hammerdb/internal_data/postgres_template.yaml +1 -1
  17. benchmark_runner/jupyterlab/templates/summary_report/summary_report_operations.py +1 -1
  18. benchmark_runner/krkn_hub/krknhub_workloads.py +5 -1
  19. benchmark_runner/main/environment_variables.py +18 -4
  20. benchmark_runner/workloads/bootstorm_vm.py +28 -18
  21. benchmark_runner/workloads/workloads_operations.py +6 -2
  22. {benchmark_runner-1.0.813.dist-info → benchmark_runner-1.0.909.dist-info}/METADATA +3 -2
  23. {benchmark_runner-1.0.813.dist-info → benchmark_runner-1.0.909.dist-info}/RECORD +29 -28
  24. {benchmark_runner-1.0.813.dist-info → benchmark_runner-1.0.909.dist-info}/WHEEL +1 -1
  25. benchmark_runner/common/ocp_resources/create_nhc_snr.py +0 -42
  26. benchmark_runner/common/ocp_resources/nhc_snr/template/04_snr_subscription_template.yaml +0 -11
  27. benchmark_runner/common/ocp_resources/nhc_snr/template/05_nhc_snr_template.yaml +0 -41
  28. /benchmark_runner/common/ocp_resources/{nhc_snr → nhc_far}/template/01_namespace_template.yaml +0 -0
  29. /benchmark_runner/common/ocp_resources/{nhc_snr → nhc_far}/template/02_operator_group_template.yaml +0 -0
  30. /benchmark_runner/common/ocp_resources/{nhc_snr → nhc_far}/template/03_nhc_subscription_template.yaml +0 -0
  31. {benchmark_runner-1.0.813.dist-info → benchmark_runner-1.0.909.dist-info}/licenses/LICENSE +0 -0
  32. {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
- - {{ pin_node2 }}
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"
@@ -33,7 +33,7 @@ spec:
33
33
  - key: kubernetes.io/hostname
34
34
  operator: In
35
35
  values:
36
- - {{ pin_node2 }}
36
+ - {{ lso_node }}
37
37
  storageClassDevices:
38
38
  - storageClassName: local-sc
39
39
  volumeMode: Filesystem
@@ -33,7 +33,7 @@ spec:
33
33
  - key: kubernetes.io/hostname
34
34
  operator: In
35
35
  values:
36
- - {{ pin_node2 }}
36
+ - {{ lso_node }}
37
37
  storageClassDevices:
38
38
  - storageClassName: local-sc
39
39
  volumeMode: Filesystem
@@ -33,7 +33,7 @@ spec:
33
33
  - key: kubernetes.io/hostname
34
34
  operator: In
35
35
  values:
36
- - {{ pin_node2 }}
36
+ - {{ lso_node }}
37
37
  storageClassDevices:
38
38
  - storageClassName: local-sc
39
39
  volumeMode: Filesystem
@@ -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
- 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
+ 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
- # Run 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
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 vm access using a retry mechanism
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\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
- This method verifies VM access in parallel
242
- :param vm_names:
243
- :return:
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
- raise MissingVMs()
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
- self._oc.generate_cnv_must_gather(destination_path=self._run_artifacts_path, cnv_version=self._cnv_version)
304
- self._oc.generate_odf_must_gather(destination_path=self._run_artifacts_path, odf_version=self._odf_version)
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._verify_vms_access()
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
- # Run VMs only
417
- if not self._delete_all:
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.813
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=WLubpoEtKU6G1DJ45jRW4stQGLOx_K2jq66Fk7DY9zg,25062
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=8N6p_H-vHuatmkhBr7zIISFGVacrfdNH3gbRIfhieq8,18804
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=aBKXx1spB8O2kjVsOl5heLl5lKcU07Hx8oHJLasJpSQ,5523
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=W54wgm8oIldi0lW5tiEimGKmg86jyjTq6Z2SyAM1_RI,71725
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=AXsyR8_g_RIFHz2rkyHzzvvUDIiGdOi9rZWJPhiPzDQ,3511
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=uzhYTUK-645_2L45Q2sbDOuvSLeGnN-UdbdrkYR5PqQ,1634
58
- benchmark_runner/common/ocp_resources/create_nhc_snr.py,sha256=ejbX-KhkvqU9SCEX1-tA7xiZRXe5bsSAQoyyjMC15IU,1991
59
- benchmark_runner/common/ocp_resources/create_ocp_resource.py,sha256=Tq_M3AtykXo7Cp7rZ1nhGnhb_dJdd774C9166qCxQ_Q,5478
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=n3D8CYQBNOIzdjwuSFXVxWuuR_HW5uvA0oP69ORHLIM,413
76
- benchmark_runner/common/ocp_resources/nhc_snr/template/01_namespace_template.yaml,sha256=nOhhszaaJ0FAS8ke8DgGHXaa-hPqDoWRFyK1fSJkUVA,81
77
- benchmark_runner/common/ocp_resources/nhc_snr/template/02_operator_group_template.yaml,sha256=WM4DWIcADQ7QhRSGMOG58GDo7bWBwFKDMFqKhv3oPWE,156
78
- benchmark_runner/common/ocp_resources/nhc_snr/template/03_nhc_subscription_template.yaml,sha256=fPBon9WfLYbRMZKC4DIBrnaDxAT1GwDvzvbiHhoSJn0,314
79
- benchmark_runner/common/ocp_resources/nhc_snr/template/04_snr_subscription_template.yaml,sha256=gpcEbR7msWnYwzENiBs-Raw7Yf3QGrVPrfPLkVqcoPw,310
80
- benchmark_runner/common/ocp_resources/nhc_snr/template/05_nhc_snr_template.yaml,sha256=Z7_yCYvo0S40MykQp5ygUrZ8MkZooyfTPgo_9TdTZlQ,1069
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=oqU1aH-b5RBBuxoHiXLtrJLYpsIPqc7x67Ko7HzYfeA,4208
113
- benchmark_runner/common/template_operations/templates/hammerdb/internal_data/mariadb_template.yaml,sha256=nkbtSCrtvYquV_MLk7aR7yhmUF43Ywvbm70Ia0t3Gak,4455
114
- benchmark_runner/common/template_operations/templates/hammerdb/internal_data/mssql_template.yaml,sha256=WBsu9tvtcsHxyysiq_x6T4b3NOj8fAfrCWv1yybjvXo,3638
115
- benchmark_runner/common/template_operations/templates/hammerdb/internal_data/postgres_template.yaml,sha256=RDBvRSa2VIC95TDqQdNTOS3hvhTYW9w-KoVV_j8GBXw,4808
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=gOdfFC8pNCBMTJ_WIUDM9d_7xDcVnHZb69mKQpdXhxg,18684
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=l25JBmOV8Rq6SMLEKma7IIsx0Q6GJJ9TKS-OHoOuFxw,3275
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=ZJxetHK3JXIubW6Ph_gjwmvindb4tKYk_24BteXNW_Y,29087
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=CevrutxfAmQ7NeKd2WexLIgXrAT6I70sEgg27TAX02g,20978
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=DUwvmswAgOXEbrVrV8OTRhrX4K18jnCwedHo9-W5z2s,27068
177
- benchmark_runner-1.0.813.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
178
- benchmark_runner-1.0.813.dist-info/METADATA,sha256=oBhDGZsmnDOI-gRHcO6uDpJcJGkpII48xYQ8pm5x9So,11520
179
- benchmark_runner-1.0.813.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
180
- benchmark_runner-1.0.813.dist-info/top_level.txt,sha256=MP7UbTCzu59D53uKCZl5VsQeM_vheyMc7FmryczJQbk,17
181
- benchmark_runner-1.0.813.dist-info/RECORD,,
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,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.8.0)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -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: ""