summaryrefslogtreecommitdiffstats
path: root/qa/suites/fs/upgrade/mds_upgrade_sequence
diff options
context:
space:
mode:
Diffstat (limited to 'qa/suites/fs/upgrade/mds_upgrade_sequence')
-rw-r--r--qa/suites/fs/upgrade/mds_upgrade_sequence/%0
l---------qa/suites/fs/upgrade/mds_upgrade_sequence/.qa1
l---------qa/suites/fs/upgrade/mds_upgrade_sequence/bluestore-bitmap.yaml1
l---------qa/suites/fs/upgrade/mds_upgrade_sequence/centos_8.stream_container_tools.yaml1
l---------qa/suites/fs/upgrade/mds_upgrade_sequence/conf1
-rw-r--r--qa/suites/fs/upgrade/mds_upgrade_sequence/fail_fs/no.yaml3
-rw-r--r--qa/suites/fs/upgrade/mds_upgrade_sequence/fail_fs/yes.yaml3
-rw-r--r--qa/suites/fs/upgrade/mds_upgrade_sequence/overrides/%0
l---------qa/suites/fs/upgrade/mds_upgrade_sequence/overrides/.qa1
l---------qa/suites/fs/upgrade/mds_upgrade_sequence/overrides/ignorelist_health.yaml1
l---------qa/suites/fs/upgrade/mds_upgrade_sequence/overrides/ignorelist_wrongly_marked_down.yaml1
-rw-r--r--qa/suites/fs/upgrade/mds_upgrade_sequence/overrides/pg-warn.yaml5
-rw-r--r--qa/suites/fs/upgrade/mds_upgrade_sequence/overrides/syntax.yaml3
-rw-r--r--qa/suites/fs/upgrade/mds_upgrade_sequence/roles.yaml11
-rw-r--r--qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/%0
l---------qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/.qa1
l---------qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/0-from/.qa1
-rw-r--r--qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/0-from/pacific.yaml32
-rw-r--r--qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/0-from/v16.2.4.yaml34
-rw-r--r--qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/%0
l---------qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/.qa1
-rw-r--r--qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/0-create.yaml5
l---------qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/1-ranks/.qa1
-rw-r--r--qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/1-ranks/1.yaml4
-rw-r--r--qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/1-ranks/2.yaml4
l---------qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/2-allow_standby_replay/.qa1
-rw-r--r--qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/2-allow_standby_replay/no.yaml4
-rw-r--r--qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/2-allow_standby_replay/yes.yaml4
l---------qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/3-inline/.qa1
-rw-r--r--qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/3-inline/no.yaml4
-rw-r--r--qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/3-inline/yes.yaml4
-rw-r--r--qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/4-verify.yaml7
-rw-r--r--qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/2-client.yaml3
-rw-r--r--qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/3-upgrade-mgr-staggered.yaml18
-rw-r--r--qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/4-config-upgrade/+0
-rw-r--r--qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/4-config-upgrade/fail_fs.yaml15
-rw-r--r--qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/5-upgrade-with-workload.yaml35
-rw-r--r--qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/6-verify.yaml5
38 files changed, 216 insertions, 0 deletions
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/% b/qa/suites/fs/upgrade/mds_upgrade_sequence/%
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/%
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/.qa b/qa/suites/fs/upgrade/mds_upgrade_sequence/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/bluestore-bitmap.yaml b/qa/suites/fs/upgrade/mds_upgrade_sequence/bluestore-bitmap.yaml
new file mode 120000
index 000000000..fb603bc9a
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/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/mds_upgrade_sequence/centos_8.stream_container_tools.yaml b/qa/suites/fs/upgrade/mds_upgrade_sequence/centos_8.stream_container_tools.yaml
new file mode 120000
index 000000000..7a86f967f
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/centos_8.stream_container_tools.yaml
@@ -0,0 +1 @@
+.qa/distros/podman/centos_8.stream_container_tools.yaml \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/conf b/qa/suites/fs/upgrade/mds_upgrade_sequence/conf
new file mode 120000
index 000000000..6d4712984
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/conf
@@ -0,0 +1 @@
+.qa/cephfs/conf/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/fail_fs/no.yaml b/qa/suites/fs/upgrade/mds_upgrade_sequence/fail_fs/no.yaml
new file mode 100644
index 000000000..868415bcb
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/fail_fs/no.yaml
@@ -0,0 +1,3 @@
+teuthology:
+ variables:
+ fail_fs: false
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/fail_fs/yes.yaml b/qa/suites/fs/upgrade/mds_upgrade_sequence/fail_fs/yes.yaml
new file mode 100644
index 000000000..411ff3814
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/fail_fs/yes.yaml
@@ -0,0 +1,3 @@
+teuthology:
+ variables:
+ fail_fs: true
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/overrides/% b/qa/suites/fs/upgrade/mds_upgrade_sequence/overrides/%
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/overrides/%
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/overrides/.qa b/qa/suites/fs/upgrade/mds_upgrade_sequence/overrides/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/overrides/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/overrides/ignorelist_health.yaml b/qa/suites/fs/upgrade/mds_upgrade_sequence/overrides/ignorelist_health.yaml
new file mode 120000
index 000000000..5cb891a95
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/overrides/ignorelist_health.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/ignorelist_health.yaml \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/overrides/ignorelist_wrongly_marked_down.yaml b/qa/suites/fs/upgrade/mds_upgrade_sequence/overrides/ignorelist_wrongly_marked_down.yaml
new file mode 120000
index 000000000..f317cb714
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/overrides/ignorelist_wrongly_marked_down.yaml
@@ -0,0 +1 @@
+.qa/cephfs/overrides/ignorelist_wrongly_marked_down.yaml \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/overrides/pg-warn.yaml b/qa/suites/fs/upgrade/mds_upgrade_sequence/overrides/pg-warn.yaml
new file mode 100644
index 000000000..4ae54a40d
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/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/mds_upgrade_sequence/overrides/syntax.yaml b/qa/suites/fs/upgrade/mds_upgrade_sequence/overrides/syntax.yaml
new file mode 100644
index 000000000..84d5d43b2
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/overrides/syntax.yaml
@@ -0,0 +1,3 @@
+overrides:
+ kclient:
+ syntax: 'v1'
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/roles.yaml b/qa/suites/fs/upgrade/mds_upgrade_sequence/roles.yaml
new file mode 100644
index 000000000..bce4ecd34
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/roles.yaml
@@ -0,0 +1,11 @@
+roles:
+- - host.a
+ - client.0
+ - osd.0
+ - osd.1
+ - osd.2
+- - host.b
+ - client.1
+ - osd.3
+ - osd.4
+ - osd.5
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/% b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/%
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/%
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/.qa b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/0-from/.qa b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/0-from/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/0-from/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/0-from/pacific.yaml b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/0-from/pacific.yaml
new file mode 100644
index 000000000..6432d7080
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/0-from/pacific.yaml
@@ -0,0 +1,32 @@
+meta:
+- desc: |
+ setup ceph/pacific
+
+tasks:
+- install:
+ branch: pacific
+ exclude_packages:
+ - ceph-volume
+- print: "**** done install task..."
+- cephadm:
+ image: quay.ceph.io/ceph-ci/ceph:pacific
+ roleless: true
+ cephadm_branch: pacific
+ cephadm_git_url: https://github.com/ceph/ceph
+ conf:
+ osd:
+ #set config option for which cls modules are allowed to be loaded / used
+ osd_class_load_list: "*"
+ osd_class_default_list: "*"
+- print: "**** done end installing pacific cephadm ..."
+- cephadm.shell:
+ host.a:
+ - ceph config set mgr mgr/cephadm/use_repo_digest true --force
+- print: "**** done cephadm.shell ceph config set mgr..."
+- cephadm.shell:
+ host.a:
+ - ceph orch status
+ - ceph orch ps
+ - ceph orch ls
+ - ceph orch host ls
+ - ceph orch device ls
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/0-from/v16.2.4.yaml b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/0-from/v16.2.4.yaml
new file mode 100644
index 000000000..36bfb1b91
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/0-from/v16.2.4.yaml
@@ -0,0 +1,34 @@
+teuthology:
+ postmerge:
+ - if yaml.teuthology.variables.fail_fs then reject() end
+
+meta:
+- desc: |
+ setup ceph/pacific v16.2.4
+
+tasks:
+# Disable metrics sending by kclient as it may crash (assert) a v16.2.4 MDS
+- pexec:
+ clients:
+ - sudo modprobe -r ceph
+ - sudo modprobe ceph disable_send_metrics=on
+- install:
+ tag: v16.2.4
+ exclude_packages:
+ - ceph-volume
+- print: "**** done install task..."
+- cephadm:
+ roleless: true
+ image: quay.io/ceph/ceph:v16.2.4
+ cephadm_branch: v16.2.4
+ cephadm_git_url: https://github.com/ceph/ceph
+ # needed for v16.2.4 due to --skip-admin-label
+ avoid_pacific_features: true
+- print: "**** done starting v16.2.4"
+- cephadm.shell:
+ host.a:
+ - ceph orch status
+ - ceph orch ps
+ - ceph orch ls
+ - ceph orch host ls
+ - ceph orch device ls
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/% b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/%
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/%
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/.qa b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/0-create.yaml b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/0-create.yaml
new file mode 100644
index 000000000..5ee0022c6
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/0-create.yaml
@@ -0,0 +1,5 @@
+tasks:
+- cephadm.shell:
+ host.a:
+ - ceph fs volume create cephfs --placement=4
+ - ceph fs dump
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/1-ranks/.qa b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/1-ranks/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/1-ranks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/1-ranks/1.yaml b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/1-ranks/1.yaml
new file mode 100644
index 000000000..8c1cd2fe0
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/1-ranks/1.yaml
@@ -0,0 +1,4 @@
+tasks:
+- cephadm.shell:
+ host.a:
+ - ceph fs set cephfs max_mds 1
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/1-ranks/2.yaml b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/1-ranks/2.yaml
new file mode 100644
index 000000000..fcd3b1ea4
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/1-ranks/2.yaml
@@ -0,0 +1,4 @@
+tasks:
+- cephadm.shell:
+ host.a:
+ - ceph fs set cephfs max_mds 2
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/2-allow_standby_replay/.qa b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/2-allow_standby_replay/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/2-allow_standby_replay/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/2-allow_standby_replay/no.yaml b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/2-allow_standby_replay/no.yaml
new file mode 100644
index 000000000..3dbc81089
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/2-allow_standby_replay/no.yaml
@@ -0,0 +1,4 @@
+tasks:
+- cephadm.shell:
+ host.a:
+ - ceph fs set cephfs allow_standby_replay false
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/2-allow_standby_replay/yes.yaml b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/2-allow_standby_replay/yes.yaml
new file mode 100644
index 000000000..fb894425e
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/2-allow_standby_replay/yes.yaml
@@ -0,0 +1,4 @@
+tasks:
+- cephadm.shell:
+ host.a:
+ - ceph fs set cephfs allow_standby_replay true
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/3-inline/.qa b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/3-inline/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/3-inline/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/3-inline/no.yaml b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/3-inline/no.yaml
new file mode 100644
index 000000000..107f30ecd
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/3-inline/no.yaml
@@ -0,0 +1,4 @@
+tasks:
+- cephadm.shell:
+ host.a:
+ - ceph fs set cephfs inline_data false
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/3-inline/yes.yaml b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/3-inline/yes.yaml
new file mode 100644
index 000000000..246ed71b4
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/3-inline/yes.yaml
@@ -0,0 +1,4 @@
+tasks:
+- cephadm.shell:
+ host.a:
+ - ceph fs set cephfs inline_data true --yes-i-really-really-mean-it
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/4-verify.yaml b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/4-verify.yaml
new file mode 100644
index 000000000..e71365ad1
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/1-volume/4-verify.yaml
@@ -0,0 +1,7 @@
+tasks:
+- cephadm.shell:
+ host.a:
+ - ceph fs dump
+ - ceph --format=json fs dump | jq -e ".filesystems | length == 1"
+ - while ! ceph --format=json mds versions | jq -e ". | add == 4"; do sleep 1; done
+- fs.pre_upgrade_save:
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/2-client.yaml b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/2-client.yaml
new file mode 100644
index 000000000..92b9dda84
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/2-client.yaml
@@ -0,0 +1,3 @@
+tasks:
+- kclient:
+- print: "**** done client"
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/3-upgrade-mgr-staggered.yaml b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/3-upgrade-mgr-staggered.yaml
new file mode 100644
index 000000000..fac9e29db
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/3-upgrade-mgr-staggered.yaml
@@ -0,0 +1,18 @@
+teuthology:
+ premerge: |
+ if not yaml.teuthology.variables.fail_fs then reject() end
+upgrade-tasks:
+ sequential:
+ - cephadm.shell:
+ env: [sha1]
+ host.a:
+ - 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
+ - ceph config set global log_to_journald false --force
+ - ceph orch upgrade start --image quay.ceph.io/ceph-ci/ceph:$sha1 --daemon-types mgr
+ - while ceph orch upgrade status | jq '.in_progress' | grep true && ! ceph orch upgrade status | jq '.message' | grep Error ; do ceph orch ps ; ceph versions ; ceph orch upgrade status ; sleep 30 ; done
+ - ceph versions | jq -e '.mgr | length == 1'
+ - ceph versions | jq -e '.mgr | keys' | grep $sha1
+ - ceph versions | jq -e '.overall | length == 2'
+ - ceph orch upgrade check quay.ceph.io/ceph-ci/ceph:$sha1 | jq -e '.up_to_date | length == 2'
+ - ceph orch ps
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/4-config-upgrade/+ b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/4-config-upgrade/+
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/4-config-upgrade/+
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/4-config-upgrade/fail_fs.yaml b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/4-config-upgrade/fail_fs.yaml
new file mode 100644
index 000000000..fbde19a22
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/4-config-upgrade/fail_fs.yaml
@@ -0,0 +1,15 @@
+teuthology:
+ premerge: |
+ local set = yaml.teuthology.variables.fail_fs
+ local cmd = "ceph config set mgr mgr/orchestrator/fail_fs "..tostring(set)
+ local cmds = yaml_fragment['upgrade-tasks'].sequential[0]['cephadm.shell']['host.a']
+ if set then
+ py_attrgetter(cmds).append "ceph config set mgr mgr/orchestrator/fail_fs true"
+ else
+ py_attrgetter(cmds).append "ceph config set mgr mgr/orchestrator/fail_fs false || true"
+ end
+upgrade-tasks:
+ sequential:
+ - cephadm.shell:
+ env: [sha1]
+ host.a: []
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/5-upgrade-with-workload.yaml b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/5-upgrade-with-workload.yaml
new file mode 100644
index 000000000..392b1e66d
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/5-upgrade-with-workload.yaml
@@ -0,0 +1,35 @@
+tasks:
+- parallel:
+ - upgrade-tasks
+ - workload-tasks
+
+upgrade-tasks:
+ sequential:
+ - cephadm.shell:
+ env: [sha1]
+ host.a:
+ - 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
+ - ceph config set global log_to_journald false --force
+ - ceph orch upgrade start --image quay.ceph.io/ceph-ci/ceph:$sha1
+ - cephadm.shell:
+ env: [sha1]
+ host.a:
+ - while ceph orch upgrade status | jq '.in_progress' | grep true && ! ceph orch upgrade status | jq '.message' | grep Error ; do ceph orch ps ; ceph versions ; ceph fs dump; ceph orch upgrade status ; ceph health detail ; sleep 30 ; done
+ - ceph orch ps
+ - ceph orch upgrade status
+ - ceph health detail
+ - ceph versions
+ - echo "wait for servicemap items w/ changing names to refresh"
+ - sleep 60
+ - ceph orch ps
+ - ceph versions
+ - ceph versions | jq -e '.overall | length == 1'
+ - ceph versions | jq -e '.overall | keys' | grep $sha1
+
+workload-tasks:
+ sequential:
+ - workunit:
+ clients:
+ all:
+ - suites/fsstress.sh
diff --git a/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/6-verify.yaml b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/6-verify.yaml
new file mode 100644
index 000000000..c2b657e5a
--- /dev/null
+++ b/qa/suites/fs/upgrade/mds_upgrade_sequence/tasks/6-verify.yaml
@@ -0,0 +1,5 @@
+tasks:
+- cephadm.shell:
+ host.a:
+ - ceph fs dump
+- fs.post_upgrade_checks: