]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
qa: add upgrade test for devicehealth
authorPatrick Donnelly <pdonnell@redhat.com>
Mon, 19 Apr 2021 19:58:01 +0000 (12:58 -0700)
committerPatrick Donnelly <pdonnell@redhat.com>
Sat, 12 Jun 2021 02:35:17 +0000 (19:35 -0700)
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
qa/suites/upgrade/octopus-x/parallel/1-tasks.yaml
qa/suites/upgrade/octopus-x/parallel/upgrade-sequence.yaml

index ffa82cc522d688d86fe0a90589842abc2f62eae7..fbe632b6f3fcd97745685b4a1a94410b0b8a6a66 100644 (file)
@@ -30,6 +30,23 @@ tasks:
       - ceph config set mon mon_warn_on_insecure_global_id_reclaim false --force
       - ceph config set mon mon_warn_on_insecure_global_id_reclaim_allowed false --force
 
+- print: "**** verifying SMART data exists"
+
+- cephadm.shell:
+    mon.a:
+      # debugging
+      - ceph device ls
+      # ensure something is scraped
+      - ceph device scrape-health-metrics
+      # more than 0 devices
+      - ceph device ls --format=json | jq -e  '. | length > 0'
+      # dump metrics
+      - "for devid in $(ceph device ls --format=json | jq -r  '.[].devid'); do ceph device get-health-metrics $devid; done"
+      # check scraped sanity
+      - "for devid in $(ceph device ls --format=json | jq -r  '.[].devid'); do ceph device get-health-metrics $devid | jq -e '. | length > 0'; done"
+      # check device_health_metrics pool exists
+      - rados --pool=device_health_metrics ls | wc -l
+
 - print: "**** done cephadm.shell ceph config set mgr..."
 
 - print: "**** done start parallel"
index cb8cba7079b2604b92c5e1d64ac26ef56505462a..5a70b02cfb3f97271ad94573785dc60f6b84b00f 100644 (file)
@@ -13,3 +13,20 @@ upgrade-sequence:
          - ceph versions | jq -e '.overall | keys' | grep $sha1
    - print: "**** done end upgrade, wait..."
 
+   - print: "**** verifying SMART data upgrade"
+
+   - cephadm.shell:
+       mon.a:
+         # check device_health_metrics pool is gone
+         - rados --pool=device_health_metrics ls && exit 1 || true
+         # check device_health_metrics pool is now .mgr
+         - rados --pool=.mgr --all ls | wc -l
+         # debugging
+         - ceph device ls
+         # more than 0 devices
+         - ceph device ls --format=json | jq -e  '. | length > 0'
+         # dump metrics
+         - "for devid in $(ceph device ls --format=json | jq -r  '.[].devid'); do ceph device get-health-metrics $devid; done"
+         # check scraped sanity
+         - "for devid in $(ceph device ls --format=json | jq -r  '.[].devid'); do ceph device get-health-metrics $devid | jq '. | length > 0'; done"
+