Skip to content

Commit

Permalink
V0.6.2 (#141)
Browse files Browse the repository at this point in the history
* Masterscript: ENVs for statefulsets

* Masterscript: ENVs for statefulsets only adding

* Masterscript: ENVs for sut-job

* Masterscript: VolumeMounts optional in sut deployment

* Masterscript: Volumes optional in sut deployment

* Masterscript: service_name for loading scripts as argument

* Masterscript: volumeClaimTemplates for statefulset reads storage requests

* Masterscript: volumeClaimTemplates as a list

* Masterscript: SUT's services can have component names different from selector

* Masterscript: Catch more expections in get_host_diskspace_used_data()

* Masterscript: storage_parameter in connection infos

* Tool: Show worker volumes

* Update README.md

JOSS draft badge

* Masterscript: Also remove worker storage after experiment

* Masterscript: Label DBMS in job

* Masterscript: Label DBMS in monitoring

* Docs: CockroachDB tested successfully

* Masterscript: Do not retry delete_pvc() if pvc cannot be found

* Masterscript: Name of worker storage contains experiment code

* Masterscript: Find worker pvc by labels

* Masterscript: benchmarking_parameters per experiment and configuration

* Masterscript: Wait 5s before (re)checking status of workers

* Masterscript: Remove worker pv if not wanted

* Masterscript: Loading waits 60 secs for all pods

* Masterscript: Benchbase similar to ycsb

* Masterscript: Benchbase convert results to df

* Masterscript: Benchbase collect results into df

* Masterscript: Benchbase collect results into df and set index

* Masterscript: Benchbase uses name_format for results

* Masterscript: Fix container to dashboard when copying to result component

* Masterscript: Accept successful pods as completed

* Masterscript: Benchbase all collect results into single df at end of benchmark

* Masterscript: Benchbase no results for loading phase and benchmarker results per job only

* Masterscript: YCSB all collect results into single df at end of benchmark

* Masterscript: Debug messages about evaluation

* Masterscript: BEXHOMA_CONNECTION set to connection for benchmarker, to configuration otherwise

* Masterscript: HammerDB merge results into df

* Masterscript: HammerDB merge results into dfm, differ between connection and configuration

* Masterscript: BEXHOMA_CONNECTION test for benchbase

* Masterscript: Benchbase merge results into dfm, differ between connection and configuration

* Masterscript: Debug messages about evaluation for YCSB collected dfs

* Masterscript: HammerDB extract pod name

* Masterscript: YCSB extract pod name

* Masterscript: YCSB dump more information

* Masterscript: HammerDB extract pod name

* Masterscript: YCSB extract pod name

* Masterscript: YCSB evaluation improved

* Masterscript: Benchbase evaluation improved

* Masterscript: BEXHOMA meta data in job envs

* Masterscript: HammerDB concat dbms infos

* Masterscript: Fetch metrics for specific connection

* Masterscript: HammerDB also keep config file for single connection

* Masterscript: Benchbase requests schema file

* Masterscript: All experiments keep config file for single connection

* Masterscript: Allow all job ENVs to be overwritten

* Masterscript: Allow all job ENVs to be overwritten

* Masterscript: BEXHOMA_CLIENT set to number of benchmarker client

* Masterscript: Fetch metrics for specific connection for all benchmarker

* Masterscript: BEXHOMA_CLIENT set to number of benchmarker client, thus is 0 during loading

* Masterscript: Show list of open benchmarks per configuration

* Masterscript: NEVER rerun, only one connection in config for detached - all benchmarker collect all dbms in one connection file

* Masterscript: Copy connection file for connection specified by name

* Masterscript: fetch_metrics_loading() for connection

* Masterscript: fetch_metrics_loading() for connection, run in dashboard pod

* Masterscript: set connection file name

* Masterscript: fetch_metrics_loading() after loading, dump results
  • Loading branch information
perdelt committed Jan 9, 2023
1 parent eb93543 commit 2d42f14
Show file tree
Hide file tree
Showing 6 changed files with 1,561 additions and 569 deletions.
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://GitHub.com/Beuth-Erdelt/Benchmark-Experiment-Host-Manager/graphs/commit-activity)
[![GitHub release](https://img.shields.io/github/release/Beuth-Erdelt/Benchmark-Experiment-Host-Manager.svg)](https://GitHub.com/Beuth-Erdelt/Benchmark-Experiment-Host-Manager/releases/)
[![PyPI version](https://badge.fury.io/py/bexhoma.svg)](https://badge.fury.io/py/bexhoma)
[![.github/workflows/draft-pdf.yml](https://github.com/Beuth-Erdelt/Benchmark-Experiment-Host-Manager/actions/workflows/draft-pdf.yml/badge.svg)](https://github.com/Beuth-Erdelt/Benchmark-Experiment-Host-Manager/actions/workflows/draft-pdf.yml)

# Benchmark Experiment Host Manager (Bexhoma)
This Python tools helps **managing benchmark experiments of Database Management Systems (DBMS) in a Kubernetes-based High-Performance-Computing (HPC) cluster environment**.
It enables users to configure hardware / software setups for easily repeating tests over varying configurations.

It serves as the **orchestrator** [2] for distributed parallel benchmarking experiments in a Kubernetes Cloud.
This has been tested at Amazon Web Services, Google Cloud, Microsoft Azure, IBM Cloud, Oracle Cloud, and at Minikube installations,
running with Clickhouse, Exasol, Citus Data (Hyperscale), IBM DB2, MariaDB, MariaDB Columnstore, MemSQL (SingleStore), MonetDB, MySQL, OmniSci (HEAVY.AI), Oracle DB, PostgreSQL, SQL Server, SAP HANA, TimescaleDB, and Vertica.
running with Citus Data (Hyperscale), Clickhouse, CockroachDB, Exasol, IBM DB2, MariaDB, MariaDB Columnstore, MemSQL (SingleStore), MonetDB, MySQL, OmniSci (HEAVY.AI), Oracle DB, PostgreSQL, SQL Server, SAP HANA, TimescaleDB, and Vertica.
.

<p align="center">
Expand Down
4 changes: 3 additions & 1 deletion bexhoma/clusters.py
Original file line number Diff line number Diff line change
Expand Up @@ -752,11 +752,13 @@ def delete_pvc(self, name):
try:
api_response = self.v1core.delete_namespaced_persistent_volume_claim(name, self.namespace, body=body)
#pprint(api_response)
return True
except ApiException as e:
print("Exception when calling CoreV1Api->delete_namespaced_persistent_volume_claim: %s\n" % e)
self.cluster_access()
self.wait(2)
return self.delete_pvc(name=name)
return False
#return self.delete_pvc(name=name)
def delete_service(self, name):
"""
Delete a service given by name
Expand Down

0 comments on commit 2d42f14

Please sign in to comment.