Skip to content

[Topic] Rewrite benchmark-operator and limit scope #833

@jtaleric

Description

@jtaleric

Benchmark Operator has been the Swiss Army Knife of k8s-benchmarking. However, overtime it has become extremely difficult to debug, maintain and contribute to. Similarly, we have built some other tooling to help mitigate the need to continue enhancing benchmark-operator.

After some internal evaluation, we still see the need to keep aspects of the benchmark-operator alive -- mainly for its ability to run storage based workloads. (fio, ycsb, and hammerdb).

I am suggesting we :

  1. move away from the ansible-sdk mainly for the lack of easy debug. The output from the playbook execution is very busy, and it is hard to triage where issues manifest from.
  2. Much of the benchmark knowledge is in https://github.com/cloud-bulldozer/benchmark-wrapper, so we could continue to use that (or maybe specific aspects of it).
  3. since we move away from ansible-sdk, rewrite the benchmark-operator using the golang framework to manage the deployment of the pods running the workloads.
  4. minimize the scope of benchmark-operator to be more storage focused.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions