From: Patrick Donnelly Date: Wed, 14 Jul 2021 16:16:26 +0000 (-0700) Subject: qa: add nofs upgrade suite X-Git-Tag: v16.2.6~71^2~8 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b2aef3171342d80e6feeaf76cdb167ef4bc3328a;p=ceph.git qa: add nofs upgrade suite This adds an upgrade suite to ensure that a Ceph cluster without a CephFS file system does not blow up on upgrade (in particular, that the MDSMonitor does not trip). This was developed to potentially reproduce tracker 51673 but the actual cause for that issue was an old encoding for the MDSMap which was obsoleted in Pacific. You must create a cluster older than the FSMap (~Hammer or Infernalis) to reproduce. In any case, this upgrade suite may be useful in the future so let's keep it! Related-to: https://tracker.ceph.com/issues/51673 Signed-off-by: Patrick Donnelly (cherry picked from commit 9941188116e22104b625d35d7f4137f438632615) --- diff --git a/qa/suites/fs/upgrade/nofs/% b/qa/suites/fs/upgrade/nofs/% new file mode 100644 index 00000000000..e69de29bb2d diff --git a/qa/suites/fs/upgrade/nofs/.qa b/qa/suites/fs/upgrade/nofs/.qa new file mode 120000 index 00000000000..a602a0353e7 --- /dev/null +++ b/qa/suites/fs/upgrade/nofs/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/fs/upgrade/nofs/README b/qa/suites/fs/upgrade/nofs/README new file mode 100644 index 00000000000..e7f6960ef0b --- /dev/null +++ b/qa/suites/fs/upgrade/nofs/README @@ -0,0 +1,3 @@ +This test just verifies that upgrades work with no file system present. In +particular, catch that MDSMonitor doesn't blow up somehow with version +mismatches. diff --git a/qa/suites/fs/upgrade/nofs/bluestore-bitmap.yaml b/qa/suites/fs/upgrade/nofs/bluestore-bitmap.yaml new file mode 120000 index 00000000000..fb603bc9a64 --- /dev/null +++ b/qa/suites/fs/upgrade/nofs/bluestore-bitmap.yaml @@ -0,0 +1 @@ +.qa/cephfs/objectstore-ec/bluestore-bitmap.yaml \ No newline at end of file diff --git a/qa/suites/fs/upgrade/nofs/centos_latest.yaml b/qa/suites/fs/upgrade/nofs/centos_latest.yaml new file mode 120000 index 00000000000..bd9854e7029 --- /dev/null +++ b/qa/suites/fs/upgrade/nofs/centos_latest.yaml @@ -0,0 +1 @@ +.qa/distros/supported/centos_latest.yaml \ No newline at end of file diff --git a/qa/suites/fs/upgrade/nofs/conf b/qa/suites/fs/upgrade/nofs/conf new file mode 120000 index 00000000000..6d47129847f --- /dev/null +++ b/qa/suites/fs/upgrade/nofs/conf @@ -0,0 +1 @@ +.qa/cephfs/conf/ \ No newline at end of file diff --git a/qa/suites/fs/upgrade/nofs/no-mds-cluster.yaml b/qa/suites/fs/upgrade/nofs/no-mds-cluster.yaml new file mode 100644 index 00000000000..33c6fb16b2a --- /dev/null +++ b/qa/suites/fs/upgrade/nofs/no-mds-cluster.yaml @@ -0,0 +1,6 @@ +roles: +- [mon.a, mon.b, mon.c, mgr.x, mgr.y, osd.0, osd.1, osd.2, osd.3] +openstack: +- volumes: # attached to each instance + count: 4 + size: 10 # GB diff --git a/qa/suites/fs/upgrade/nofs/overrides/% b/qa/suites/fs/upgrade/nofs/overrides/% new file mode 100644 index 00000000000..e69de29bb2d diff --git a/qa/suites/fs/upgrade/nofs/overrides/.qa b/qa/suites/fs/upgrade/nofs/overrides/.qa new file mode 120000 index 00000000000..a602a0353e7 --- /dev/null +++ b/qa/suites/fs/upgrade/nofs/overrides/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/fs/upgrade/nofs/overrides/pg-warn.yaml b/qa/suites/fs/upgrade/nofs/overrides/pg-warn.yaml new file mode 100644 index 00000000000..4ae54a40d31 --- /dev/null +++ b/qa/suites/fs/upgrade/nofs/overrides/pg-warn.yaml @@ -0,0 +1,5 @@ +overrides: + ceph: + conf: + global: + mon pg warn min per osd: 0 diff --git a/qa/suites/fs/upgrade/nofs/overrides/whitelist_health.yaml b/qa/suites/fs/upgrade/nofs/overrides/whitelist_health.yaml new file mode 120000 index 00000000000..74f39a49b27 --- /dev/null +++ b/qa/suites/fs/upgrade/nofs/overrides/whitelist_health.yaml @@ -0,0 +1 @@ +.qa/cephfs/overrides/whitelist_health.yaml \ No newline at end of file diff --git a/qa/suites/fs/upgrade/nofs/overrides/whitelist_wrongly_marked_down.yaml b/qa/suites/fs/upgrade/nofs/overrides/whitelist_wrongly_marked_down.yaml new file mode 120000 index 00000000000..b4528c0f8c0 --- /dev/null +++ b/qa/suites/fs/upgrade/nofs/overrides/whitelist_wrongly_marked_down.yaml @@ -0,0 +1 @@ +.qa/cephfs/overrides/whitelist_wrongly_marked_down.yaml \ No newline at end of file diff --git a/qa/suites/fs/upgrade/nofs/tasks/% b/qa/suites/fs/upgrade/nofs/tasks/% new file mode 100644 index 00000000000..e69de29bb2d diff --git a/qa/suites/fs/upgrade/nofs/tasks/.qa b/qa/suites/fs/upgrade/nofs/tasks/.qa new file mode 120000 index 00000000000..a602a0353e7 --- /dev/null +++ b/qa/suites/fs/upgrade/nofs/tasks/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/fs/upgrade/nofs/tasks/0-octopus.yaml b/qa/suites/fs/upgrade/nofs/tasks/0-octopus.yaml new file mode 100644 index 00000000000..40d34753da1 --- /dev/null +++ b/qa/suites/fs/upgrade/nofs/tasks/0-octopus.yaml @@ -0,0 +1,38 @@ +meta: +- desc: | + install ceph/octopus latest +tasks: +- install: + branch: octopus + exclude_packages: + - librados3 + - ceph-mgr-dashboard + - ceph-mgr-diskprediction-local + - ceph-mgr-rook + - ceph-mgr-cephadm + - cephadm + extra_packages: ['librados2'] +- print: "**** done installing octopus" +- ceph: + log-ignorelist: + - overall HEALTH_ + - \(FS_ + - \(MDS_ + - \(OSD_ + - \(MON_DOWN\) + - \(CACHE_POOL_ + - \(POOL_ + - \(MGR_DOWN\) + - \(PG_ + - \(SMALLER_PGP_NUM\) + - Monitor daemon marked osd + - Behind on trimming + - Manager daemon + conf: + global: + mon warn on pool no app: false + ms bind msgr2: false +- exec: + osd.0: + - ceph osd set-require-min-compat-client octopus +- print: "**** done ceph" diff --git a/qa/suites/fs/upgrade/nofs/tasks/1-upgrade.yaml b/qa/suites/fs/upgrade/nofs/tasks/1-upgrade.yaml new file mode 100644 index 00000000000..c04ee914beb --- /dev/null +++ b/qa/suites/fs/upgrade/nofs/tasks/1-upgrade.yaml @@ -0,0 +1,45 @@ +overrides: + ceph: + log-ignorelist: + - scrub mismatch + - ScrubResult + - wrongly marked + - \(POOL_APP_NOT_ENABLED\) + - \(SLOW_OPS\) + - overall HEALTH_ + - \(MON_MSGR2_NOT_ENABLED\) + - slow request + conf: + global: + bluestore warn on legacy statfs: false + bluestore warn on no per pool omap: false + mon: + mon warn on osd down out interval zero: false + +tasks: +- print: "*** upgrading, no cephfs present" +- exec: + mon.a: + - ceph fs dump +- install.upgrade: + mon.a: +- print: "**** done install.upgrade" +- ceph.restart: + daemons: [mon.*, mgr.*] + mon-health-to-clog: false + wait-for-healthy: false +- ceph.healthy: +- ceph.restart: + daemons: [osd.*] + wait-for-healthy: false + wait-for-osds-up: true +- exec: + mon.a: + - ceph versions + - ceph osd dump -f json-pretty + - ceph fs dump + - ceph osd require-osd-release octopus + - for f in `ceph osd pool ls` ; do ceph osd pool set $f pg_autoscale_mode off ; done + #- ceph osd set-require-min-compat-client octopus +- ceph.healthy: +- print: "**** done ceph.restart"