From 06e8f38d216c049db4339bc291f7a495f2187d78 Mon Sep 17 00:00:00 2001 From: Yuri Weinstein Date: Thu, 28 Sep 2017 14:37:03 -0700 Subject: [PATCH] tests - Added suit to test upgraded clients against jewel ceph clusters Replaces https://github.com/ceph/ceph/pull/17981 We need to run this suite using suite-branch option in order to use jewel workloads agains ceph cluster luminous+ branches Added 'libcephfs1' to exclude_packages in upgrade_workload Signed-off-by: Yuri Weinstein --- .../jewel-client-x/basic/% | 0 .../jewel-client-x/basic/0-cluster/start.yaml | 13 ++++++++++++ .../basic/1-install/jewel-client-x.yaml | 11 ++++++++++ .../basic/2-workload/rbd_api_tests.yaml | 21 +++++++++++++++++++ .../2-workload/rbd_cli_import_export.yaml | 13 ++++++++++++ .../jewel-client-x/basic/distros/% | 0 .../basic/distros/centos_7.4.yaml | 1 + .../basic/distros/ubuntu_16.04.yaml | 1 + .../client-upgrade-jewel/jewel-client-x/rbd/% | 0 .../jewel-client-x/rbd/0-cluster/start.yaml | 14 +++++++++++++ .../rbd/1-install/jewel-client-x.yaml | 11 ++++++++++ .../rbd/2-features/defaults.yaml | 6 ++++++ .../rbd/2-features/layering.yaml | 6 ++++++ .../3-workload/rbd_notification_tests.yaml | 21 +++++++++++++++++++ .../jewel-client-x/rbd/distros/% | 0 .../rbd/distros/centos_7.4.yaml | 1 + .../rbd/distros/ubuntu_16.04.yaml | 1 + 17 files changed, 120 insertions(+) create mode 100644 qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/% create mode 100644 qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/0-cluster/start.yaml create mode 100644 qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/1-install/jewel-client-x.yaml create mode 100644 qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/2-workload/rbd_api_tests.yaml create mode 100644 qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/2-workload/rbd_cli_import_export.yaml create mode 100644 qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/distros/% create mode 120000 qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/distros/centos_7.4.yaml create mode 120000 qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/distros/ubuntu_16.04.yaml create mode 100644 qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/% create mode 100644 qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/0-cluster/start.yaml create mode 100644 qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/1-install/jewel-client-x.yaml create mode 100644 qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/2-features/defaults.yaml create mode 100644 qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/2-features/layering.yaml create mode 100644 qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/3-workload/rbd_notification_tests.yaml create mode 100644 qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/distros/% create mode 120000 qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/distros/centos_7.4.yaml create mode 120000 qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/distros/ubuntu_16.04.yaml diff --git a/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/% b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/% new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/0-cluster/start.yaml b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/0-cluster/start.yaml new file mode 100644 index 000000000000..a4cd7548d96e --- /dev/null +++ b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/0-cluster/start.yaml @@ -0,0 +1,13 @@ +roles: +- - mon.a + - mon.b + - mon.c + - osd.0 + - osd.1 + - osd.2 +- - client.0 +overrides: + ceph: + log-whitelist: + - failed to encode map + fs: xfs diff --git a/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/1-install/jewel-client-x.yaml b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/1-install/jewel-client-x.yaml new file mode 100644 index 000000000000..f7854751ad2c --- /dev/null +++ b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/1-install/jewel-client-x.yaml @@ -0,0 +1,11 @@ +tasks: +- install: + branch: jewel + exclude_packages: ['ceph-mgr','libcephfs2','libcephfs-devel','libcephfs-dev'] +- print: "**** done install jewel" +upgrade_workload: + sequential: + - install.upgrade: + exclude_packages: ['ceph-test', 'ceph-test-dbg','libcephfs1'] + client.0: + - print: "**** done install.upgrade to -x on client.0" diff --git a/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/2-workload/rbd_api_tests.yaml b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/2-workload/rbd_api_tests.yaml new file mode 100644 index 000000000000..87f95233d698 --- /dev/null +++ b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/2-workload/rbd_api_tests.yaml @@ -0,0 +1,21 @@ +tasks: +- exec: + client.0: + - "cp $(which ceph_test_librbd_api) $TESTDIR/ceph_test_librbd_api" +- sequential: + - upgrade_workload +- ceph: +- print: "**** done ceph" +- exec: + client.0: + - "cp --force $TESTDIR/ceph_test_librbd_api $(which ceph_test_librbd_api)" + - "rm -rf $TESTDIR/ceph_test_librbd_api" +- print: "**** done reverting to jewel ceph_test_librbd_api" +- workunit: + branch: jewel + clients: + client.0: + - rbd/test_librbd_api.sh + env: + RBD_FEATURES: "13" +- print: "**** done rbd/test_librbd_api.sh" diff --git a/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/2-workload/rbd_cli_import_export.yaml b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/2-workload/rbd_cli_import_export.yaml new file mode 100644 index 000000000000..545354f52ef4 --- /dev/null +++ b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/2-workload/rbd_cli_import_export.yaml @@ -0,0 +1,13 @@ +tasks: +- sequential: + - upgrade_workload +- ceph: +- print: "**** done ceph" +- workunit: + branch: jewel + clients: + client.0: + - rbd/import_export.sh + env: + RBD_CREATE_ARGS: --image-feature layering,exclusive-lock,object-map +- print: "**** done rbd/import_export.sh" diff --git a/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/distros/% b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/distros/% new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/distros/centos_7.4.yaml b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/distros/centos_7.4.yaml new file mode 120000 index 000000000000..dcc00174237d --- /dev/null +++ b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/distros/centos_7.4.yaml @@ -0,0 +1 @@ +../../../../../../distros/all/centos_7.4.yaml \ No newline at end of file diff --git a/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/distros/ubuntu_16.04.yaml b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/distros/ubuntu_16.04.yaml new file mode 120000 index 000000000000..9dc1ea992848 --- /dev/null +++ b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/basic/distros/ubuntu_16.04.yaml @@ -0,0 +1 @@ +../../../../../../distros/all/ubuntu_16.04.yaml \ No newline at end of file diff --git a/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/% b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/% new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/0-cluster/start.yaml b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/0-cluster/start.yaml new file mode 100644 index 000000000000..4db664b29bc1 --- /dev/null +++ b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/0-cluster/start.yaml @@ -0,0 +1,14 @@ +roles: +- - mon.a + - mon.b + - mon.c + - osd.0 + - osd.1 + - osd.2 + - client.0 +- - client.1 +overrides: + ceph: + log-whitelist: + - failed to encode map + fs: xfs diff --git a/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/1-install/jewel-client-x.yaml b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/1-install/jewel-client-x.yaml new file mode 100644 index 000000000000..54a2fb2917be --- /dev/null +++ b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/1-install/jewel-client-x.yaml @@ -0,0 +1,11 @@ +tasks: +- install: + branch: jewel + exclude_packages: ['ceph-mgr','libcephfs2','libcephfs-devel','libcephfs-dev'] +- print: "**** done install jewel" +- install.upgrade: + exclude_packages: ['ceph-test', 'ceph-test-dbg','libcephfs1'] + client.1: +- print: "**** done install.upgrade to -x on client.0" +- ceph: +- print: "**** done ceph task" diff --git a/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/2-features/defaults.yaml b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/2-features/defaults.yaml new file mode 100644 index 000000000000..dff6623ad03d --- /dev/null +++ b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/2-features/defaults.yaml @@ -0,0 +1,6 @@ +overrides: + ceph: + conf: + client: + rbd default features: 61 + diff --git a/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/2-features/layering.yaml b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/2-features/layering.yaml new file mode 100644 index 000000000000..5613d0155abc --- /dev/null +++ b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/2-features/layering.yaml @@ -0,0 +1,6 @@ +overrides: + ceph: + conf: + client: + rbd default features: 1 + diff --git a/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/3-workload/rbd_notification_tests.yaml b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/3-workload/rbd_notification_tests.yaml new file mode 100644 index 000000000000..1fb68220e9de --- /dev/null +++ b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/3-workload/rbd_notification_tests.yaml @@ -0,0 +1,21 @@ +tasks: +- workunit: + branch: jewel + clients: + client.0: + - rbd/notify_master.sh + client.1: + - rbd/notify_slave.sh + env: + RBD_FEATURES: "13" +- print: "**** done rbd: old librbd -> new librbd" +- workunit: + branch: jewel + clients: + client.0: + - rbd/notify_slave.sh + client.1: + - rbd/notify_master.sh + env: + RBD_FEATURES: "13" +- print: "**** done rbd: new librbd -> old librbd" diff --git a/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/distros/% b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/distros/% new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/distros/centos_7.4.yaml b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/distros/centos_7.4.yaml new file mode 120000 index 000000000000..dcc00174237d --- /dev/null +++ b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/distros/centos_7.4.yaml @@ -0,0 +1 @@ +../../../../../../distros/all/centos_7.4.yaml \ No newline at end of file diff --git a/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/distros/ubuntu_16.04.yaml b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/distros/ubuntu_16.04.yaml new file mode 120000 index 000000000000..9dc1ea992848 --- /dev/null +++ b/qa/suites/upgrade/client-upgrade-jewel/jewel-client-x/rbd/distros/ubuntu_16.04.yaml @@ -0,0 +1 @@ +../../../../../../distros/all/ubuntu_16.04.yaml \ No newline at end of file -- 2.47.3