From 37b98fd54f5addba79f0ceb190e523c949cc2a41 Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Sat, 2 Oct 2021 01:07:25 -0400 Subject: [PATCH] Add benchmark format function support Allows choosing different list and info functions based on the benchmark version found. Currently only implements "legacy" version 0 with more to be added. --- client-cli/pvc/cli_lib/ceph.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/client-cli/pvc/cli_lib/ceph.py b/client-cli/pvc/cli_lib/ceph.py index 5162ddf5..b8e6ce33 100644 --- a/client-cli/pvc/cli_lib/ceph.py +++ b/client-cli/pvc/cli_lib/ceph.py @@ -1453,6 +1453,17 @@ def ceph_benchmark_list(config, job): def format_list_benchmark(config, benchmark_information): + # This matrix is a list of the possible format functions for a benchmark result + # It is extensable in the future should newer formats be required. + benchmark_matrix = { + 0: format_list_benchmark_legacy, + } + + benchmark_version = benchmark_information['test_format'] + return benchmark_matrix.get(benchmark_version, lambda: 'Invalid format function')(config, benchmark_information) + + +def format_list_benchmark_legacy(config, benchmark_information): benchmark_list_output = [] benchmark_job_length = 20 @@ -1591,6 +1602,17 @@ def format_list_benchmark(config, benchmark_information): def format_info_benchmark(config, benchmark_information): + # This matrix is a list of the possible format functions for a benchmark result + # It is extensable in the future should newer formats be required. + benchmark_matrix = { + 0: format_info_benchmark_legacy, + } + + benchmark_version = benchmark_information['test_format'] + return benchmark_matrix.get(benchmark_version, lambda: 'Invalid format function')(config, benchmark_information) + + +def format_info_benchmark_legacy(config, benchmark_information): if benchmark_information[0]['benchmark_result'] == "Running": return "Benchmark test is still running."