cloud-bulldozer / benchmark-operator

The Chuck Norris of cloud benchmarks
Apache License 2.0
285 stars 129 forks source link

Fs drift test captures response time stats #747

Closed bengland2 closed 2 years ago

bengland2 commented 2 years ago

Do not merge yet... change test parameters so that response time stats reach elastic search addresses issue #741

codecov-commenter commented 2 years ago

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@da344e8). Click here to learn what that means. The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #747   +/-   ##
=========================================
  Coverage          ?   53.82%           
=========================================
  Files             ?        8           
  Lines             ?      327           
  Branches          ?        0           
=========================================
  Hits              ?      176           
  Misses            ?      151           
  Partials          ?        0           
Flag Coverage Δ
gha 53.82% <0.00%> (?)
python-3.9 53.82% <0.00%> (?)
unit 53.82% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.


Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update da344e8...1ee6f38. Read the comment docs.

bengland2 commented 2 years ago

this is ready to merge

bengland2 commented 2 years ago

@rsevilla87 I have gotten all 3 indexes populated by fs-drift using a test in an AWS cluster using this PR, test results including CR and logs are here, the CR is in f.yaml there. Results appeared in ElasticSearch as expected for all 3 indexes. So I'm confident that if a similar CR is used by the CI, it will work, although I obviously did not know anymore how to run the CI. The CR is:

apiVersion: ripsaw.cloudbulldozer.io/v1alpha1
kind: Benchmark
metadata:
  name: fs-drift-cephfs
  namespace: benchmark-operator
spec:
  test_user: bene-fs-drift-cephfs
  clustername: aws-us-west-2-2022-03-01
  elasticsearch:
    #this hangs:  url: http://perf-results-elastic.apps.observability.perfscale.devcluster.openshift.com/
    url: https://search-perfscale-dev-chmf5l4sh66lvxbnadi4bznl3a.us-west-2.es.amazonaws.com
  metadata:
    collection: false
  system_metrics:
    collection: false
  prometheus:
    es_url: https://search-perfscale-dev-chmf5l4sh66lvxbnadi4bznl3a.us-west-2.es.amazonaws.com
    prom_url: https://prometheus-k8s.openshift-monitoring.svc.cluster.local:9091
    prom_token: eyJhbGciOiJSUzI1NiIsImtpZCI6Il9zSlpyc01SNlNYWnBBMjctZll2MV9sLTBILXpHaTBHbklCV1AyRDFJOWMifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJvcGVuc2hpZnQtbW9uaXRvcmluZyIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJwcm9tZXRoZXVzLWs4cy10b2tlbi00ZHJqOSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJwcm9tZXRoZXVzLWs4cyIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjhlYzMyNzRlLTgzNzItNDg2ZC04NjgyLWQzZjY3MWNjZGZjNSIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpvcGVuc2hpZnQtbW9uaXRvcmluZzpwcm9tZXRoZXVzLWs4cyJ9.V7FBAyOXPAu-ILTTpR9LZhbIPRF7v7bm5PmwCJkB97ZEyy7SmfC1byuO0Hq-rGvXPfwMThfGsoUPMIrQxxHphHzpTh9CnU08L9I-DwH7gD5GoyhTisDwc3SFOGE7hHkGuz3AVXaBmeYS87JEPd3NZ4E2sW8MQX3j1GDHowWMlhqV-pvrpF7QAxbiK_OIQNbQ7yUUTpbpegp8butWlWlzCM7OoIbUkbHEV6_g02wb2Bkxi6kKHfviegIkhLsTBjLdG8aILNTi1gXPOUxySoFEHsi_lrN5bnesyo0M5AVVOSv5rjAN0YZUPgP3FmYSA8WlomgmNhIxR8be4KCtnKc4Sg
  workload:
    name: fs-drift
    args:
      job_timeout: 90000
        #image: quay.io/bengland/fs-drift:latest
      # increase samples to 3 to get % deviation in results
      report_interval: 5
      response_times: true
      samples: 1
      # 1 pod
      worker_pods: 2
      # in CI, use the default storageclass (local storage)
      # if you are on a real system, you can use Ceph or whatever
      # by filling in storage class
      #storageclass: rook-ceph-block
      #storageclass: ocs-storagecluster-ceph-rbd
      storageclass: ocs-storagecluster-cephfs
      # the access mode for the PV must match the storage class
      # for block storage use ReadWriteOnce
      # for shared-filesystem storage use ReadWriteMany
      access_mode: ReadWriteOnce
      # 5 threads x 100 files/thread x 64 KB/file ~= 300 MB << 1 GiB
      storagesize: 200Gi
      # -- below are fs-drift.py parameters defined in fs-drift README.md
      # duration only 30 sec by default, should be much longer
      duration: 300
      # 5 fs-drift threads per pod
      threads: 10
      # files no bigger than maximum file size in KB
      max_file_size_kb: 256
      # no more than 1000 files total in each pod if RWO (e.g. RBD)
      # no more than 1000 files per cluster if RWX (e.g. Cephfs)
      max_files: 1000000