benchmark-runner 1.0.874__tar.gz → 1.0.932__tar.gz

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 (189) hide show
  1. {benchmark_runner-1.0.874/benchmark_runner.egg-info → benchmark_runner-1.0.932}/PKG-INFO +4 -4
  2. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/README.md +1 -1
  3. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/benchmark_operator/benchmark_operator_workloads_operations.py +8 -6
  4. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/grafana/update_grafana_latest_value_mappings.py +2 -2
  5. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/oc/oc.py +53 -24
  6. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/create_lso.py +13 -2
  7. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/create_ocp_resource.py +5 -1
  8. benchmark_runner-1.0.932/benchmark_runner/common/ocp_resources/lso/template/01_delete_disks_template.sh +12 -0
  9. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/template_operations/template_operations.py +2 -0
  10. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/template_operations/templates/hammerdb/hammerdb_data_template.yaml +3 -3
  11. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/template_operations/templates/hammerdb/internal_data/hammerdb_vm_template.yaml +6 -2
  12. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/template_operations/templates/hammerdb/internal_data/mariadb_template.yaml +32 -9
  13. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/template_operations/templates/hammerdb/internal_data/mssql_template.yaml +3 -3
  14. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/template_operations/templates/hammerdb/internal_data/postgres_template.yaml +3 -3
  15. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/template_operations/templates/stressng/internal_data/stressng_pod_template.yaml +1 -0
  16. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/template_operations/templates/stressng/internal_data/stressng_vm_template.yaml +1 -1
  17. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/template_operations/templates/uperf/internal_data/uperf_pod_template.yaml +1 -0
  18. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/template_operations/templates/uperf/internal_data/uperf_vm_template.yaml +1 -1
  19. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/template_operations/templates/vdbench/internal_data/vdbench_pod_template.yaml +1 -2
  20. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/template_operations/templates/vdbench/internal_data/vdbench_vm_template.yaml +1 -1
  21. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/template_operations/templates/vdbench/vdbench_data_template.yaml +2 -2
  22. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/main/environment_variables.py +15 -3
  23. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/main/main.py +3 -3
  24. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/workloads/bootstorm_vm.py +3 -1
  25. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/workloads/workloads_operations.py +2 -2
  26. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932/benchmark_runner.egg-info}/PKG-INFO +4 -4
  27. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner.egg-info/SOURCES.txt +1 -0
  28. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/setup.py +4 -4
  29. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/LICENSE +0 -0
  30. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/MANIFEST.in +0 -0
  31. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/__init__.py +0 -0
  32. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/benchmark_operator/__init__.py +0 -0
  33. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/benchmark_operator/benchmark_operator_exceptions.py +0 -0
  34. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/benchmark_operator/benchmark_operator_workloads.py +0 -0
  35. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/benchmark_operator/hammerdb_pod.py +0 -0
  36. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/benchmark_operator/hammerdb_vm.py +0 -0
  37. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/benchmark_operator/stressng_pod.py +0 -0
  38. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/benchmark_operator/stressng_vm.py +0 -0
  39. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/benchmark_operator/uperf_pod.py +0 -0
  40. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/benchmark_operator/uperf_vm.py +0 -0
  41. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/clusterbuster/__init__.py +0 -0
  42. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/clusterbuster/clusterbuster_exceptions.py +0 -0
  43. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/clusterbuster/clusterbuster_workloads.py +0 -0
  44. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/__init__.py +0 -0
  45. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/analyze/__init__.py +0 -0
  46. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/analyze/analyze_data.py +0 -0
  47. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/assisted_installer/__init__.py +0 -0
  48. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/assisted_installer/assisted_installer_latest_version.py +0 -0
  49. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/assisted_installer/jetlag/run_jetlag.sh +0 -0
  50. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/clouds/Azure/__init__.py +0 -0
  51. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/clouds/Azure/azure_operations.py +0 -0
  52. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/clouds/BareMetal/__init__.py +0 -0
  53. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/clouds/BareMetal/bare_metal_exceptions.py +0 -0
  54. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/clouds/BareMetal/bare_metal_operations.py +0 -0
  55. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/clouds/IBM/__init__.py +0 -0
  56. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/clouds/IBM/ibm_exceptions.py +0 -0
  57. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/clouds/IBM/ibm_operations.py +0 -0
  58. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/clouds/__init__.py +0 -0
  59. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/clouds/shared/__init__.py +0 -0
  60. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/clouds/shared/s3/__init__.py +0 -0
  61. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/clouds/shared/s3/s3_operations.py +0 -0
  62. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/clouds/shared/s3/s3_operations_exceptions.py +0 -0
  63. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/elasticsearch/__init__.py +0 -0
  64. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/elasticsearch/elasticsearch_exceptions.py +0 -0
  65. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/elasticsearch/elasticsearch_operations.py +0 -0
  66. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/github/__init__.py +0 -0
  67. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/github/github_operations.py +0 -0
  68. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/google_drive/__init__.py +0 -0
  69. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/google_drive/google_drive_exceptions.py +0 -0
  70. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/google_drive/google_drive_operations.py +0 -0
  71. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/grafana/__init__.py +0 -0
  72. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/grafana/grafana_operations.py +0 -0
  73. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/logger/__init__.py +0 -0
  74. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/logger/init_logger.py +0 -0
  75. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/logger/logger_exceptions.py +0 -0
  76. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/logger/logger_time_stamp.py +0 -0
  77. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/oc/__init__.py +0 -0
  78. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/oc/oc_exceptions.py +0 -0
  79. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/oc/singleton_oc_login.py +0 -0
  80. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/__init__.py +0 -0
  81. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/cnv/template/01_operator_template.yaml +0 -0
  82. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/cnv/template/02_hyperconverge_template.yaml +0 -0
  83. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/create_cnv.py +0 -0
  84. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/create_custom.py +0 -0
  85. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/create_kata.py +0 -0
  86. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/create_nhc_far.py +0 -0
  87. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/create_ocp_resource_exceptions.py +0 -0
  88. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/create_ocp_resource_operations.py +0 -0
  89. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/create_odf.py +0 -0
  90. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/custom/template/01_coredns_patch_template.sh +0 -0
  91. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/custom/template/02_mssql_patch_template.sh +0 -0
  92. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/infra/template/01_cluster-monitoring-configmap-template.yaml +0 -0
  93. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/kata/template/01_operator_template.yaml +0 -0
  94. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/kata/template/02_config_template.yaml +0 -0
  95. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/kata/template/03_ocp48_patch_template.sh +0 -0
  96. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/lso/template/01_namespace_template.yaml +0 -0
  97. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/lso/template/02_operator_group_template.yaml +0 -0
  98. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/lso/template/03_catalogsource_template.yaml +0 -0
  99. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/lso/template/04_subscription_template.yaml +0 -0
  100. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/migrate_infra.py +0 -0
  101. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/nhc_far/template/01_namespace_template.yaml +0 -0
  102. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/nhc_far/template/02_operator_group_template.yaml +0 -0
  103. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/nhc_far/template/03_nhc_subscription_template.yaml +0 -0
  104. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/nhc_far/template/04_far_subscription_template.yaml +0 -0
  105. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/nhc_far/template/05_nhc_far_template.yaml +0 -0
  106. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/odf/template/01_delete_disks_template.sh +0 -0
  107. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/odf/template/02_label_nodes_template.sh +0 -0
  108. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/odf/template/03_local_volume_discovery_template.yaml +0 -0
  109. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/odf/template/04_local_volume_set_template.yaml +0 -0
  110. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/odf/template/05_namespace_template.yaml +0 -0
  111. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/odf/template/06_operator_group_template.yaml +0 -0
  112. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/odf/template/07_subscription_template.yaml +0 -0
  113. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ocp_resources/odf/template/08_storage_cluster_template.yaml +0 -0
  114. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/prometheus/__init__.py +0 -0
  115. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/prometheus/metrics-default.yaml +0 -0
  116. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/prometheus/metrics-examples.yaml +0 -0
  117. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/prometheus/prometheus_metrics.py +0 -0
  118. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/prometheus/prometheus_metrics_operations.py +0 -0
  119. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/prometheus/prometheus_snapshot.py +0 -0
  120. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/prometheus/prometheus_snapshot_exceptions.py +0 -0
  121. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/remote_ssh/__init__.py +0 -0
  122. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/remote_ssh/connection_data.py +0 -0
  123. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/remote_ssh/remote_ssh.py +0 -0
  124. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/remote_ssh/remote_ssh_exceptions.py +0 -0
  125. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ssh/__init__.py +0 -0
  126. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ssh/ssh.py +0 -0
  127. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/ssh/ssh_exceptions.py +0 -0
  128. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/template_operations/__init__.py +0 -0
  129. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/template_operations/render_yaml_from_template.py +0 -0
  130. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/template_operations/templates/bootstorm/bootstorm_data_template.yaml +0 -0
  131. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/template_operations/templates/bootstorm/internal_data/bootstorm_vm_template.yaml +0 -0
  132. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/template_operations/templates/common_template.yaml +0 -0
  133. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/template_operations/templates/hammerdb/internal_data/hammerdb_pod_template.yaml +0 -0
  134. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/template_operations/templates/namespace_template.yaml +0 -0
  135. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/template_operations/templates/scale/redis_template.yaml +0 -0
  136. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/template_operations/templates/scale/state_signals_exporter_pod_template.yaml +0 -0
  137. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/template_operations/templates/stressng/stressng_data_template.yaml +0 -0
  138. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/template_operations/templates/uperf/uperf_data_template.yaml +0 -0
  139. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/template_operations/templates/vdbench/internal_data/namespace_template.yaml +0 -0
  140. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/template_operations/templates/windows/internal_data/windows_dv_template.yaml +0 -0
  141. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/template_operations/templates/windows/internal_data/windows_vm_template.yaml +0 -0
  142. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/template_operations/templates/windows/windows_data_template.yaml +0 -0
  143. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/virtctl/__init__.py +0 -0
  144. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/common/virtctl/virtctl.py +0 -0
  145. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/grafana/__init__.py +0 -0
  146. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/grafana/update_grafana_dashboard.py +0 -0
  147. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/grafana/update_versions_main_libsonnet.py +0 -0
  148. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/jupyterlab/__init__.py +0 -0
  149. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/jupyterlab/templates/__init__.py +0 -0
  150. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/jupyterlab/templates/analyze_perfci_cluster/analyze_perfci_cluster.ipynb +0 -0
  151. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/jupyterlab/templates/analyze_prometheus_logs/__init__.py +0 -0
  152. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/jupyterlab/templates/analyze_prometheus_logs/analyze_prometheus_logs.ipynb +0 -0
  153. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/jupyterlab/templates/analyze_prometheus_logs/analyze_prometheus_logs.py +0 -0
  154. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/jupyterlab/templates/analyze_workloads/__init__.py +0 -0
  155. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/jupyterlab/templates/analyze_workloads/analyze_hammerdb_logs/__init__.py +0 -0
  156. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/jupyterlab/templates/analyze_workloads/analyze_hammerdb_logs/analyze_hammerdb_logs.ipynb +0 -0
  157. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/jupyterlab/templates/analyze_workloads/analyze_hammerdb_logs/analyze_hammerdb_logs.py +0 -0
  158. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/jupyterlab/templates/analyze_workloads/analyze_uperf_logs/__init__.py +0 -0
  159. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/jupyterlab/templates/analyze_workloads/analyze_uperf_logs/analyze_uperf_logs.ipynb +0 -0
  160. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/jupyterlab/templates/analyze_workloads/analyze_uperf_logs/analyze_uperf_logs.py +0 -0
  161. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/jupyterlab/templates/analyze_workloads/analyze_vdbench_logs/__init__.py +0 -0
  162. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/jupyterlab/templates/analyze_workloads/analyze_vdbench_logs/analyze_vdbench_logs.ipynb +0 -0
  163. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/jupyterlab/templates/analyze_workloads/analyze_vdbench_logs/analyze_vdbench_logs.py +0 -0
  164. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/jupyterlab/templates/analyze_workloads/visualize_workload_operations.py +0 -0
  165. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/jupyterlab/templates/elasticsearch_operations/__init__.py +0 -0
  166. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/jupyterlab/templates/elasticsearch_operations/elasticsearch_operations.ipynb +0 -0
  167. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/jupyterlab/templates/elasticsearch_operations/elasticsearch_widgets.py +0 -0
  168. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/jupyterlab/templates/logs_operations/__init__.py +0 -0
  169. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/jupyterlab/templates/logs_operations/logs_operations.py +0 -0
  170. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/jupyterlab/templates/summary_report/__init__.py +0 -0
  171. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/jupyterlab/templates/summary_report/summary_report_operations.py +0 -0
  172. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/jupyterlab/templates/summary_report/summary_report_widgets.py +0 -0
  173. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/krkn_hub/__init__.py +0 -0
  174. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/krkn_hub/krknhub_exceptions.py +0 -0
  175. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/krkn_hub/krknhub_workloads.py +0 -0
  176. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/main/__init__.py +0 -0
  177. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/main/environment_variables_exceptions.py +0 -0
  178. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/main/temporary_environment_variables.py +0 -0
  179. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/workloads/__init__.py +0 -0
  180. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/workloads/vdbench_pod.py +0 -0
  181. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/workloads/vdbench_vm.py +0 -0
  182. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/workloads/windows_vm.py +0 -0
  183. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/workloads/workloads.py +0 -0
  184. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner/workloads/workloads_exceptions.py +0 -0
  185. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner.egg-info/dependency_links.txt +0 -0
  186. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner.egg-info/not-zip-safe +0 -0
  187. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner.egg-info/requires.txt +0 -0
  188. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/benchmark_runner.egg-info/top_level.txt +0 -0
  189. {benchmark_runner-1.0.874 → benchmark_runner-1.0.932}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: benchmark-runner
3
- Version: 1.0.874
3
+ Version: 1.0.932
4
4
  Summary: Benchmark Runner Tool
5
5
  Home-page: https://github.com/redhat-performance/benchmark-runner
6
6
  Author: Red Hat
@@ -8,11 +8,11 @@ Author-email: ebattat@redhat.com
8
8
  License: Apache License 2.0
9
9
  Classifier: License :: OSI Approved :: Apache Software License
10
10
  Classifier: Programming Language :: Python :: 3
11
- Classifier: Programming Language :: Python :: 3.8
12
- Classifier: Programming Language :: Python :: 3.9
13
11
  Classifier: Programming Language :: Python :: 3.10
14
12
  Classifier: Programming Language :: Python :: 3.11
15
13
  Classifier: Programming Language :: Python :: 3.12
14
+ Classifier: Programming Language :: Python :: 3.13
15
+ Classifier: Programming Language :: Python :: 3.14
16
16
  Description-Content-Type: text/markdown
17
17
  License-File: LICENSE
18
18
  Requires-Dist: attrs==21.4.0
@@ -78,7 +78,7 @@ This framework support the following embedded workloads:
78
78
  * [hammerdb](https://hammerdb.com/): running hammerdb workload on the following databases: MSSQL, Mariadb, Postgresql in Pod, Kata or VM with [Configuration](benchmark_runner/common/template_operations/templates/hammerdb)
79
79
  * [stressng](https://wiki.ubuntu.com/Kernel/Reference/stress-ng): running stressng workload in Pod, Kata or VM [Configuration](benchmark_runner/common/template_operations/templates/stressng)
80
80
  * [uperf](http://uperf.org/): running uperf workload in Pod, Kata or VM with [Configuration](benchmark_runner/common/template_operations/templates/uperf)
81
- * [vdbench](https://wiki.lustre.org/VDBench/): running vdbench workload in Pod, Kata or VM with [Configuration](benchmark_runner/common/template_operations/templates/vdbench)
81
+ * [vdbench](https://wiki.lustre.org/VDBench): running vdbench workload in Pod, Kata or VM with [Configuration](benchmark_runner/common/template_operations/templates/vdbench)
82
82
  * [bootstorm](https://en.wiktionary.org/wiki/boot_storm): calculate VMs boot load time [Configuration](benchmark_runner/common/template_operations/templates/bootstorm)
83
83
 
84
84
  ** For hammerdb mssql must run once [permission](https://github.com/redhat-performance/benchmark-runner/blob/main/benchmark_runner/common/ocp_resources/custom/template/02_mssql_patch_template.sh)
@@ -23,7 +23,7 @@ This framework support the following embedded workloads:
23
23
  * [hammerdb](https://hammerdb.com/): running hammerdb workload on the following databases: MSSQL, Mariadb, Postgresql in Pod, Kata or VM with [Configuration](benchmark_runner/common/template_operations/templates/hammerdb)
24
24
  * [stressng](https://wiki.ubuntu.com/Kernel/Reference/stress-ng): running stressng workload in Pod, Kata or VM [Configuration](benchmark_runner/common/template_operations/templates/stressng)
25
25
  * [uperf](http://uperf.org/): running uperf workload in Pod, Kata or VM with [Configuration](benchmark_runner/common/template_operations/templates/uperf)
26
- * [vdbench](https://wiki.lustre.org/VDBench/): running vdbench workload in Pod, Kata or VM with [Configuration](benchmark_runner/common/template_operations/templates/vdbench)
26
+ * [vdbench](https://wiki.lustre.org/VDBench): running vdbench workload in Pod, Kata or VM with [Configuration](benchmark_runner/common/template_operations/templates/vdbench)
27
27
  * [bootstorm](https://en.wiktionary.org/wiki/boot_storm): calculate VMs boot load time [Configuration](benchmark_runner/common/template_operations/templates/bootstorm)
28
28
 
29
29
  ** For hammerdb mssql must run once [permission](https://github.com/redhat-performance/benchmark-runner/blob/main/benchmark_runner/common/ocp_resources/custom/template/02_mssql_patch_template.sh)
@@ -87,6 +87,7 @@ class BenchmarkOperatorWorkloadsOperations:
87
87
  self._lso_disk_id = self._environment_variables_dict.get('lso_disk_id', '')
88
88
  else:
89
89
  self._lso_disk_id = None
90
+ self._versions = self._environment_variables_dict['versions']
90
91
 
91
92
  def get_oc(self, kubeadmin_password: str = ''):
92
93
  """
@@ -238,20 +239,21 @@ class BenchmarkOperatorWorkloadsOperations:
238
239
  if run_artifacts_url:
239
240
  metadata.update({'run_artifacts_url': run_artifacts_url})
240
241
  if database:
241
- metadata.update({'vm_os_version': 'centos-stream8'})
242
+ metadata.update({'vm_os_version': self._versions.get('db_vm_os_version', 'centos-stream9')})
243
+ metadata.update({'hammerdb_version': self._versions.get('hammerdb', 4.0)})
242
244
  else:
243
- metadata.update({'vm_os_version': 'fedora34'})
245
+ metadata.update({'vm_os_version': self._versions.get('vm_os_version', 'fedora39')})
244
246
  if uuid:
245
247
  metadata.update({'uuid': uuid})
246
248
  if prometheus_result:
247
249
  metadata.update(prometheus_result)
248
250
  # for hammerdb
249
251
  if database == 'mssql':
250
- metadata.update({'db_version': 2019})
252
+ metadata.update({'db_version': self._versions.get('mssql', 2022)})
251
253
  elif database == 'postgres':
252
- metadata.update({'db_version': 10})
254
+ metadata.update({'db_version': self._versions.get('postgres', 13)})
253
255
  elif database == 'mariadb':
254
- metadata.update({'db_version': 10.3})
256
+ metadata.update({'db_version': self._versions.get('mariadb', 10.5)})
255
257
  return metadata
256
258
 
257
259
  @logger_time_stamp
@@ -462,7 +464,7 @@ class BenchmarkOperatorWorkloadsOperations:
462
464
  :return:
463
465
  """
464
466
  workload_name = self._workload.split('_')
465
- if workload_name[0] in self._workloads_odf_pvc:
467
+ if workload_name[0] in self._workloads_odf_pvc and '_lso' not in self._workload:
466
468
  if not self._oc.is_odf_installed():
467
469
  raise ODFNotInstalled(workload=self._workload)
468
470
 
@@ -1,6 +1,6 @@
1
1
 
2
2
  import json
3
- from datetime import datetime, timedelta
3
+ from datetime import datetime, timedelta, timezone
4
4
 
5
5
  from benchmark_runner.main.environment_variables import environment_variables
6
6
  from benchmark_runner.common.elasticsearch.elasticsearch_operations import ElasticSearchOperations
@@ -57,7 +57,7 @@ class UpdateGrafanaLatestValueMappings:
57
57
  :return:
58
58
  """
59
59
  new_versions = {}
60
- current_datetime = datetime.now()
60
+ current_datetime = datetime.now(timezone.utc).replace(tzinfo=None)
61
61
  start_datetime = current_datetime - timedelta(days=last_es_fetch_days)
62
62
 
63
63
  ids = self.elasticsearch.get_index_ids_between_dates(index='ci-status', start_datetime=start_datetime,
@@ -87,6 +87,23 @@ class OC(SSH):
87
87
  """
88
88
  return self._ocp_server_version(jsonpath='.status.history[1].version')
89
89
 
90
+ def get_virtctl_version(self):
91
+ """
92
+ Returns the virtctl client version as a string.
93
+ """
94
+ return self.run('virtctl version | grep "Client Version" | sed -E \'s/.*GitVersion:"([^"]+)".*/\\1/\'').strip()
95
+
96
+ def is_virtctl_ge(self, min_version="1.6.0"):
97
+ """
98
+ Returns True if virtctl client version >= min_version.
99
+ Handles pre-release tags like v1.0.0-rc.0.
100
+ [In virtctl v1.6.0, the SSH command syntax changed from `virtctl ssh user@vmname -n namespace` to `virtctl ssh user@vm/vmname/namespace`]
101
+ """
102
+ version = self.get_virtctl_version().lstrip("v").split("-")[0]
103
+ version_tuple = tuple(map(int, version.split(".")))
104
+ min_version_tuple = tuple(map(int, min_version.split(".")))
105
+ return version_tuple >= min_version_tuple
106
+
90
107
  def upgrade_ocp(self, upgrade_ocp_version: str, upgrade_channel: str = 'stable'):
91
108
  """
92
109
  This method upgrades OCP version with conditional handling for specific versions.
@@ -1331,37 +1348,49 @@ class OC(SSH):
1331
1348
  else:
1332
1349
  return self.run(ssh_vm_cmd)
1333
1350
 
1334
- def wait_for_vm_access(self, vm_name: str = '', namespace: str = environment_variables.environment_variables_dict['namespace'],
1335
- timeout: int = SHORT_TIMEOUT):
1351
+ def _build_virtctl_cmds(self, vm_name: str, namespace: str):
1336
1352
  """
1337
- This method waits for VM to be accessible via virtctl ssh
1338
- :param vm_name:
1339
- :param timeout:
1340
- :return:
1353
+ Returns a tuple of (virtctl_cmd, check_cmd) for the given VM and namespace,
1354
+ depending on the virtctl version.
1341
1355
  """
1342
- current_wait_time = 0
1343
- while timeout <= 0 or current_wait_time <= timeout:
1344
- check_virtctl_vm_cmd = f"virtctl ssh --local-ssh=true --local-ssh-opts='-o BatchMode=yes' --local-ssh-opts='-o PasswordAuthentication=no' --local-ssh-opts='-o ConnectTimeout=2' root@{vm_name} -n {namespace} 2>&1 |egrep 'denied|verification failed' && echo 'True' || echo 'False'"
1345
- if 'True' in self.run(check_virtctl_vm_cmd):
1346
- return 'True'
1347
- # sleep for x seconds
1356
+ base = f"virtctl ssh --local-ssh=true --local-ssh-opts='-o BatchMode=yes' " \
1357
+ f"--local-ssh-opts='-o PasswordAuthentication=no' --local-ssh-opts='-o ConnectTimeout=2'"
1358
+
1359
+ if self.is_virtctl_ge(min_version="1.6.0"):
1360
+ virtctl_cmd = f"{base} root@vm/{vm_name}/{namespace}"
1361
+ check_cmd = f"{virtctl_cmd} 2>&1 | egrep 'denied|verification failed' && echo True || echo False"
1362
+ else:
1363
+ virtctl_cmd = f"{base} root@{vm_name} -n {namespace}"
1364
+ check_cmd = f"{virtctl_cmd} 2>&1 | egrep 'denied|verification failed' && echo True || echo False"
1365
+
1366
+ return virtctl_cmd, check_cmd
1367
+
1368
+ def wait_for_vm_access(self, vm_name: str = '',
1369
+ namespace: str = environment_variables.environment_variables_dict['namespace'],
1370
+ timeout: int = SHORT_TIMEOUT):
1371
+ """
1372
+ Waits until the VM is accessible via virtctl ssh, or raises VMStateTimeout.
1373
+ """
1374
+ _, check_cmd = self._build_virtctl_cmds(vm_name, namespace)
1375
+ elapsed = 0
1376
+
1377
+ while timeout <= 0 or elapsed <= timeout:
1378
+ if 'True' in self.run(check_cmd):
1379
+ return True
1348
1380
  time.sleep(OC.SLEEP_TIME)
1349
- current_wait_time += OC.SLEEP_TIME
1381
+ elapsed += OC.SLEEP_TIME
1382
+
1350
1383
  raise VMStateTimeout(vm_name=vm_name, state='virtctl')
1351
1384
 
1352
- def get_vm_access(self, vm_name: str = '', namespace: str = environment_variables.environment_variables_dict['namespace']):
1385
+ def get_vm_access(self, vm_name: str = '',
1386
+ namespace: str = environment_variables.environment_variables_dict['namespace']):
1353
1387
  """
1354
- This method returns True when the VM is access and an error message when it is not, using virtctl protocol
1355
- :param vm_name:
1356
- :param namespace:
1357
- :return: virtctl_status 'True' if successful, or an error message if it fails.
1388
+ Returns True if the VM is accessible via virtctl SSH, or the SSH error output if not.
1358
1389
  """
1359
- virtctl_vm_cmd = f"virtctl ssh --local-ssh=true --local-ssh-opts='-o BatchMode=yes' --local-ssh-opts='-o PasswordAuthentication=no' --local-ssh-opts='-o ConnectTimeout=2' root@{vm_name} -n {namespace}"
1360
- check_virtctl_vm_cmd = f"virtctl ssh --local-ssh=true --local-ssh-opts='-o BatchMode=yes' --local-ssh-opts='-o PasswordAuthentication=no' --local-ssh-opts='-o ConnectTimeout=2' root@{vm_name} -n {namespace} 2>&1 |egrep 'denied|verification failed' && echo 'True' || echo 'False'"
1361
- if 'True' in self.run(check_virtctl_vm_cmd):
1362
- return 'True'
1363
- else:
1364
- return self.run(virtctl_vm_cmd)
1390
+ virtctl_cmd, check_cmd = self._build_virtctl_cmds(vm_name, namespace)
1391
+ if 'True' in self.run(check_cmd):
1392
+ return True
1393
+ return self.run(virtctl_cmd)
1365
1394
 
1366
1395
  @logger_time_stamp
1367
1396
  def get_vm_node(self, vm_name: str, namespace: str = environment_variables.environment_variables_dict['namespace']):
@@ -10,11 +10,14 @@ class CreateLSO(CreateOCPResourceOperations):
10
10
  """
11
11
  This class is created Local Storage operator
12
12
  """
13
- def __init__(self, oc: OC, path: str, resource_list: list):
13
+ def __init__(self, oc: OC, path: str, resource_list: list, lso_node: str, lso_disk_id: str, ceph_version: str):
14
14
  super().__init__(oc)
15
15
  self.__oc = oc
16
16
  self.__path = path
17
17
  self.__resource_list = resource_list
18
+ self.__lso_node = lso_node
19
+ self.__lso_disk_id = lso_disk_id
20
+ self.__ceph_version = ceph_version
18
21
 
19
22
  @logger_time_stamp
20
23
  def create_lso(self, upgrade_version: str):
@@ -29,7 +32,15 @@ class CreateLSO(CreateOCPResourceOperations):
29
32
  else:
30
33
  for resource in self.__resource_list:
31
34
  logger.info(f'run {resource}')
32
- self.__oc.create_async(yaml=os.path.join(self.__path, resource))
35
+ if resource.endswith('.sh'):
36
+ if '01_delete_disks.sh' == resource and self.__lso_disk_id:
37
+ disk = f'/dev/disk/by-id/{self.__lso_disk_id}'
38
+ delete_node_disk = f""" podman run --authfile /var/lib/kubelet/config.json --rm --privileged --device "$(readlink -e '{disk}')" --entrypoint ceph-bluestore-tool quay.io/ceph/ceph:v{self.__ceph_version} zap-device --dev "$(readlink -e '{disk}')" --yes-i-really-really-mean-it """
39
+ logger.info(f'{self.__lso_node}: {delete_node_disk}')
40
+ self.__oc.run(cmd=f'chmod +x {os.path.join(self.__path, resource)}; {self.__path}/{resource} "{self.__lso_node}" "{delete_node_disk}"')
41
+ else:
42
+ logger.info(f'run {resource}')
43
+ self.__oc.create_async(yaml=os.path.join(self.__path, resource))
33
44
 
34
45
  # verify once after create all resource files
35
46
  self.wait_for_ocp_resource_create(operator='lso',
@@ -24,6 +24,10 @@ class CreateOCPResource:
24
24
  self.__oc.populate_additional_template_variables(self.__environment_variables_dict)
25
25
  self.__worker_disk_prefix = self.__environment_variables_dict.get('worker_disk_prefix', '')
26
26
  self.__worker_disk_ids = self.__environment_variables_dict.get('worker_disk_ids', '')
27
+ self.__worker_disk_ids = self.__environment_variables_dict.get('worker_disk_ids', '')
28
+ self.__lso_disk_id = self.__environment_variables_dict.get('lso_disk_id', '')
29
+ self.__lso_node = self.__environment_variables_dict.get('lso_node', '')
30
+ self.__ceph_version = self.__environment_variables_dict.get('ceph_version', '')
27
31
  if self.__worker_disk_ids:
28
32
  if self.__worker_disk_ids:
29
33
  # Solved GitHub Actions issue that env variable detect as string instead of dict/ list -skip for Jenkins
@@ -80,7 +84,7 @@ class CreateOCPResource:
80
84
  self.remove_resource_files(path=os.path.join(self.__dir_path, resource))
81
85
  resource_files = self.get_sorted_resources(resource=resource)
82
86
  if 'lso' == resource:
83
- create_lso = CreateLSO(self.__oc, path=os.path.join(self.__dir_path, resource), resource_list=resource_files)
87
+ create_lso = CreateLSO(self.__oc, path=os.path.join(self.__dir_path, resource), resource_list=resource_files, lso_node=self.__lso_node, lso_disk_id=self.__lso_disk_id, ceph_version=self.__ceph_version)
84
88
  create_lso.create_lso(upgrade_version)
85
89
  elif 'odf' == resource:
86
90
  create_odf = CreateODF(self.__oc, path=os.path.join(self.__dir_path, resource), resource_list=resource_files, worker_disk_ids=self.__worker_disk_ids, worker_disk_prefix=self.__worker_disk_prefix)
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env sh
2
+
3
+ while (($# >= 2)); do
4
+ node="$1"
5
+ delete_disk_command="$2"
6
+
7
+ echo "Executing deletion on node: $node"
8
+
9
+ oc debug "node/$node" -- chroot /host sh -c "$delete_disk_command"
10
+
11
+ shift 2
12
+ done
@@ -5,6 +5,8 @@ import yaml
5
5
  import sys
6
6
  import benchmark_runner
7
7
  from multiprocessing import Process
8
+ import multiprocessing
9
+ multiprocessing.set_start_method('fork', force=True)
8
10
 
9
11
  from jinja2 import Template, TemplateSyntaxError
10
12
  from benchmark_runner.common.template_operations.render_yaml_from_template import render_yaml_file
@@ -40,21 +40,21 @@ template_data:
40
40
  requests_memory: 16Gi
41
41
  extra:
42
42
  mariadb:
43
- db_image: centos-stream8-mariadb103-container-disk:latest
43
+ db_image: mariadb10.5-centos9-container-disk:latest
44
44
  db_pass: mysql
45
45
  db_port: 3306
46
46
  db_type: mariadb
47
47
  db_user: root
48
48
  db_server_pod: mariadb-deployment.mariadb-db
49
49
  mssql:
50
- db_image: centos-stream8-mssql2019-container-disk:latest
50
+ db_image: mssql2022-centos9-container-disk:latest
51
51
  db_pass: s3curePasswordString
52
52
  db_port: 1433
53
53
  db_type: mssql
54
54
  db_user: SA
55
55
  db_server_pod: mssql-deployment.mssql-db
56
56
  postgres:
57
- db_image: centos-stream8-postgres10-container-disk:latest
57
+ db_image: postgresql13-centos9-container-disk:latest
58
58
  db_pass: postgres
59
59
  db_port: 5432
60
60
  db_type: pg
@@ -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"
@@ -99,7 +103,7 @@ spec:
99
103
  sockets: {{ sockets }}
100
104
  cores: {{ cores }}
101
105
  threads: 1
102
- image: quay.io/cloud-bulldozer/{{ db_image }}
106
+ image: quay.io/benchmark-runner/{{ db_image }}
103
107
  limits:
104
108
  memory: {{ vm_limits_memory }}
105
109
  requests:
@@ -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
@@ -72,16 +72,39 @@ data:
72
72
  # use it for options that affect everything
73
73
  #
74
74
  [client-server]
75
- #
76
- # include all files from the config directory
77
- #
78
75
  !includedir /etc/my.cnf.d
79
76
  port=3306
80
77
  ssl=0
78
+
81
79
  [mysqld]
82
- innodb_file_per_table=1
83
- innodb_flush_method=O_DIRECT
84
- innodb_adaptive_flushing=1
80
+ key_buffer_size = 1638M
81
+ max_allowed_packet = 200M
82
+ table_open_cache = 400
83
+ sort_buffer_size = 256K
84
+ read_buffer_size = 16M # safer per-connection buffer
85
+ read_rnd_buffer_size = 256K
86
+ net_buffer_length = 2K
87
+ thread_stack = 256K
88
+ myisam_sort_buffer_size = 2M
89
+ max_connections = 151
90
+
91
+ innodb_buffer_pool_size = 8192M
92
+ innodb_log_file_size = 2457M
93
+ innodb_log_buffer_size = 2457M
94
+ innodb_file_per_table = 1
95
+ innodb_flush_method = O_DIRECT
96
+ innodb_adaptive_flushing = 1
97
+
98
+ [mysqldump]
99
+ quick
100
+ max_allowed_packet = 16M
101
+
102
+ [mysql]
103
+ no-auto-rehash
104
+
105
+ [myisamchk]
106
+ key_buffer_size = 8M
107
+ sort_buffer_size = 8M
85
108
  ---
86
109
  apiVersion: apps/v1
87
110
  kind: Deployment
@@ -113,8 +136,8 @@ spec:
113
136
  terminationGracePeriodSeconds: 10
114
137
  containers:
115
138
  - name: mariadb
116
- # docker.io/centos/mariadb-103-centos8:latest - rate limit issue
117
- image: quay.io/ebattat/mariadb-103-centos8
139
+ # quay.io/sclorg/mariadb-105-c9s:latest - rate limit issue
140
+ image: quay.io/benchmark-runner/mariadb10.5-centos9:latest
118
141
  imagePullPolicy: "IfNotPresent"
119
142
  ports:
120
143
  - containerPort: 3306
@@ -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
@@ -92,8 +92,8 @@ spec:
92
92
  terminationGracePeriodSeconds: 10
93
93
  containers:
94
94
  - name: mssql
95
- # mcr.microsoft.com/mssql/rhel/server:2019-latest - rate limit issue
96
- image: quay.io/ebattat/server:2019-latest
95
+ # mcr.microsoft.com/mssql/rhel/server:2022-latest - rate limit issue
96
+ image: quay.io/benchmark-runner/mssql2022-rhel9:latest
97
97
  imagePullPolicy: "IfNotPresent"
98
98
  ports:
99
99
  - containerPort: 1433
@@ -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
@@ -107,8 +107,8 @@ spec:
107
107
  terminationGracePeriodSeconds: 10
108
108
  containers:
109
109
  - name: postgres
110
- # docker.io/centos/postgresql-10-centos8:latest - rate limit issue
111
- image: quay.io/ebattat/postgresql-10-centos8:latest
110
+ # quay.io/sclorg/postgresql-13-c9s:latest - rate limit issue
111
+ image: quay.io/benchmark-runner/postgresql13-centos9:latest
112
112
  imagePullPolicy: "IfNotPresent"
113
113
  ports:
114
114
  - containerPort: 5432
@@ -24,6 +24,7 @@ spec:
24
24
  {%- endif %}
25
25
  pin: {{ pin }} # enable for nodeSelector
26
26
  pin_node: "{{ pin_node }}"
27
+ image: "quay.io/benchmark-runner/stressng:latest"
27
28
  resources: {{ resources }} # enable for resources requests/limits
28
29
  requests_cpu: {{ requests_cpu }}
29
30
  requests_memory: {{ requests_memory }}
@@ -40,7 +40,7 @@ spec:
40
40
  sockets: {{ sockets }}
41
41
  cores: 1
42
42
  threads: 1
43
- image: quay.io/ebattat/fedora37-container-disk:latest
43
+ image: {{ fedora_container_disk }}
44
44
  limits:
45
45
  memory: {{ limits_memory }}
46
46
  requests:
@@ -37,6 +37,7 @@ spec:
37
37
  pin: {{ pin }}
38
38
  pin_server: "{{ pin_server }}"
39
39
  pin_client: "{{ pin_client }}"
40
+ image: "quay.io/benchmark-runner/uperf:latest"
40
41
  serviceip: {{ serviceip }}
41
42
  hostnetwork: {{ hostnetwork }}
42
43
  networkpolicy: {{ networkpolicy }}
@@ -53,7 +53,7 @@ spec:
53
53
  sockets: {{ sockets }}
54
54
  cores: {{ cores }}
55
55
  threads: 1
56
- image: quay.io/ebattat/fedora37-container-disk:latest
56
+ image: {{ fedora_container_disk }}
57
57
  limits:
58
58
  memory: {{ limits_memory }}
59
59
  requests:
@@ -96,7 +96,6 @@ spec:
96
96
  containers:
97
97
  - name: vdbench-pod
98
98
  image: {{ vdbench_image }}
99
- imagePullPolicy: "IfNotPresent"
100
99
  resources:
101
100
  requests:
102
101
  cpu: {{ requests_cpu }}
@@ -167,7 +166,7 @@ spec:
167
166
  value: "{{ timeout }}"
168
167
  command: ["/bin/bash"]
169
168
  {% if scale -%}
170
- args: ["-c", "python3.9 /state_signals_responder.py $REDIS_HOST $WORKLOAD_METHOD $TIMEOUT"]
169
+ args: ["-c", "python3.12 /state_signals_responder.py $REDIS_HOST $WORKLOAD_METHOD $TIMEOUT"]
171
170
  {%- else -%}
172
171
  args: ["-c", "$WORKLOAD_METHOD"]
173
172
  {%- endif %}
@@ -121,7 +121,7 @@ spec:
121
121
  - export LOGS_DIR={{ LOGS_DIR }}
122
122
  - echo @@~@@START-WORKLOAD@@~@@
123
123
  {% if scale -%}
124
- - podman run --rm -e BLOCK_SIZES="$BLOCK_SIZES" -e IO_OPERATION="$IO_OPERATION" -e IO_THREADS="$IO_THREADS" -e FILES_IO="$FILES_IO" -e IO_RATE="$IO_RATE" -e MIX_PRECENTAGE="$MIX_PRECENTAGE" -e DURATION="$DURATION" -e PAUSE="$PAUSE" -e WARMUP="$WARMUP" -e FILES_SELECTION="$FILES_SELECTION" -e COMPRESSION_RATIO="$COMPRESSION_RATIO" -e RUN_FILLUP="$RUN_FILLUP" -e DIRECTORIES="$DIRECTORIES" -e FILES_PER_DIRECTORY="$FILES_PER_DIRECTORY" -e SIZE_PER_FILE="$SIZE_PER_FILE" -e REDIS_HOST="$REDIS_HOST" -e LOGS_DIR="$LOGS_DIR" -e TIMEOUT="$TIMEOUT" -v "/workload":"/workload" --privileged {{ vdbench_image }} python3.9 /state_signals_responder.py "$REDIS_HOST" "$WORKLOAD_METHOD" "$TIMEOUT"
124
+ - podman run --rm -e BLOCK_SIZES="$BLOCK_SIZES" -e IO_OPERATION="$IO_OPERATION" -e IO_THREADS="$IO_THREADS" -e FILES_IO="$FILES_IO" -e IO_RATE="$IO_RATE" -e MIX_PRECENTAGE="$MIX_PRECENTAGE" -e DURATION="$DURATION" -e PAUSE="$PAUSE" -e WARMUP="$WARMUP" -e FILES_SELECTION="$FILES_SELECTION" -e COMPRESSION_RATIO="$COMPRESSION_RATIO" -e RUN_FILLUP="$RUN_FILLUP" -e DIRECTORIES="$DIRECTORIES" -e FILES_PER_DIRECTORY="$FILES_PER_DIRECTORY" -e SIZE_PER_FILE="$SIZE_PER_FILE" -e REDIS_HOST="$REDIS_HOST" -e LOGS_DIR="$LOGS_DIR" -e TIMEOUT="$TIMEOUT" -v "/workload":"/workload" --privileged {{ vdbench_image }} python3.12 /state_signals_responder.py "$REDIS_HOST" "$WORKLOAD_METHOD" "$TIMEOUT"
125
125
  {%- else -%}
126
126
  - podman run --rm -e BLOCK_SIZES="$BLOCK_SIZES" -e IO_OPERATION="$IO_OPERATION" -e IO_THREADS="$IO_THREADS" -e FILES_IO="$FILES_IO" -e IO_RATE="$IO_RATE" -e MIX_PRECENTAGE="$MIX_PRECENTAGE" -e DURATION="$DURATION" -e PAUSE="$PAUSE" -e WARMUP="$WARMUP" -e FILES_SELECTION="$FILES_SELECTION" -e COMPRESSION_RATIO="$COMPRESSION_RATIO" -e RUN_FILLUP="$RUN_FILLUP" -e DIRECTORIES="$DIRECTORIES" -e FILES_PER_DIRECTORY="$FILES_PER_DIRECTORY" -e SIZE_PER_FILE="$SIZE_PER_FILE" -e REDIS_HOST="$REDIS_HOST" -e LOGS_DIR="$LOGS_DIR" -e TIMEOUT="$TIMEOUT" -v "/workload":"/workload" --privileged {{ vdbench_image }} "$WORKLOAD_METHOD"
127
127
  {%- endif %}
@@ -5,8 +5,8 @@ template_data:
5
5
  pin_node: {{ pin_node1 }}
6
6
  odf_pvc: {{ odf_pvc }}
7
7
  uuid: {{ uuid }}
8
- vdbench_image: quay.io/ebattat/centos-stream8-vdbench5.04.07-pod:v1.0.13
9
- centos_stream_container_disk: quay.io/ebattat/centos-stream8-container-disk:latest
8
+ vdbench_image: quay.io/benchmark-runner/centos-stream9-vdbench5.04.07-pod:latest
9
+ centos_stream_container_disk: quay.io/benchmark-runner/centos-stream9-container-disk:latest
10
10
  run_type:
11
11
  perf_ci:
12
12
  BLOCK_SIZES: oltp1,oltp2,oltphw,odss2,odss128,4_cache,64_cache,4,64,4_cache,64_cache,4,64
@@ -84,8 +84,8 @@ class EnvironmentVariables:
84
84
  # prometheus snap interval
85
85
  self._environment_variables_dict['prometheus_snap_interval'] = EnvironmentVariables.get_env('PROMETHEUS_SNAP_INTERVAL', '30')
86
86
 
87
- # fedora container disk qcow2 image on quay.io
88
- self._environment_variables_dict['fedora_container_disk'] = EnvironmentVariables.get_env('FEDORA_CONTAINER_DISK','quay.io/ebattat/fedora37-container-disk:latest')
87
+ # based on: quay.io/openshift-cnv/qe-cnv-tests-fedora:39
88
+ self._environment_variables_dict['fedora_container_disk'] = EnvironmentVariables.get_env('FEDORA_CONTAINER_DISK','quay.io/benchmark-runner/fedora39-container-disk:latest')
89
89
  # windows url
90
90
  self._environment_variables_dict['windows_url'] = EnvironmentVariables.get_env('WINDOWS_URL', '')
91
91
  # Delete all resources before and after the run, default True
@@ -125,6 +125,16 @@ class EnvironmentVariables:
125
125
  'krknhub': 'krknhub',
126
126
  }
127
127
 
128
+ # Versions
129
+ self._environment_variables_dict['versions'] = {
130
+ 'mssql': 2022,
131
+ 'postgres': 13,
132
+ 'mariadb': 10.5,
133
+ 'db_vm_os_version': 'centos-stream9',
134
+ 'vm_os_version': 'fedora39',
135
+ 'hammerdb': 4.0
136
+ }
137
+
128
138
  # Update namespace
129
139
  base_workload = self._environment_variables_dict['workload'].split('_')[0]
130
140
  if EnvironmentVariables.get_env('NAMESPACE'):
@@ -146,9 +156,11 @@ class EnvironmentVariables:
146
156
  else:
147
157
  self._environment_variables_dict['storage_type'] = 'ephemeral'
148
158
 
149
- # LSO Disk id - auto-detect when located on worker-2
159
+ # 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 }} )
150
160
  self._environment_variables_dict['lso_disk_id'] = EnvironmentVariables.get_env('LSO_DISK_ID', '')
151
161
  self._environment_variables_dict['lso_node'] = EnvironmentVariables.get_env('LSO_NODE', '')
162
+ # Ceph version required for disk cleanup, using default 19
163
+ self._environment_variables_dict['ceph_version'] = EnvironmentVariables.get_env('CEPH_VERSION', '19')
152
164
  # Workloads that required ODF
153
165
  self._environment_variables_dict['workloads_odf_pvc'] = ['vdbench', 'hammerdb']
154
166
  # This parameter get from Test_CI.yml file
@@ -1,7 +1,7 @@
1
1
 
2
2
  import ast # change string list to list
3
3
  from enum import Enum
4
- from multiprocessing import set_start_method
4
+ import multiprocessing
5
5
  import platform
6
6
 
7
7
  # @todo paramiko==3.4.1/3.5.0 cause to "RunCommandError: Cannot run shell command: SSH session not active"
@@ -20,7 +20,6 @@ from benchmark_runner.common.clouds.BareMetal.bare_metal_operations import BareM
20
20
  from benchmark_runner.clusterbuster.clusterbuster_workloads import ClusterBusterWorkloads
21
21
  from benchmark_runner.krkn_hub.krknhub_workloads import KrknHubWorkloads
22
22
 
23
-
24
23
  # logger
25
24
  log_level = os.environ.get('log_level', 'INFO').upper()
26
25
  logger.setLevel(level=log_level)
@@ -326,5 +325,6 @@ def main():
326
325
  if __name__ == '__main__':
327
326
  # spawn default in mac: https://docs.python.org/3/library/multiprocessing.html#:~:text=The%20default%20on%20Windows%20and%20macOS.
328
327
  if 'macos' in platform.platform(terse=True).lower():
329
- set_start_method('fork')
328
+ if multiprocessing.get_start_method(allow_none=True) is None:
329
+ multiprocessing.set_start_method('fork')
330
330
  main()
@@ -315,7 +315,9 @@ class BootstormVM(WorkloadsOperations):
315
315
  else:
316
316
  self._save_artifacts_local = True
317
317
  if self._es_host:
318
- self._data_dict.update({'run_artifacts_url': self.get_run_artifacts_google_drive(), 'failure_vms': failure_vms, 'verification_failure': True})
318
+ if self._google_drive_shared_drive_id:
319
+ self._data_dict.update({'run_artifacts_url': self.get_run_artifacts_google_drive()})
320
+ self._data_dict.update({'failure_vms': failure_vms, 'verification_failure': True})
319
321
  # upload several run results
320
322
  self._upload_to_elasticsearch(index=self._es_index, kind=self._kind, status=self._status,result=self._data_dict)
321
323
  # verify that data upload to elastic search according to unique uuid
@@ -184,11 +184,11 @@ class WorkloadsOperations:
184
184
  @logger_time_stamp
185
185
  def odf_workload_verification(self):
186
186
  """
187
- 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
188
188
  :return:
189
189
  """
190
190
  workload_name = self._workload.split('_')
191
- 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:
192
192
  if not self._oc.is_odf_installed():
193
193
  raise ODFNotInstalled(workload=self._workload)
194
194