summaryrefslogtreecommitdiffstats
path: root/qa/suites/rgw
diff options
context:
space:
mode:
Diffstat (limited to 'qa/suites/rgw')
l---------qa/suites/rgw/.qa1
-rw-r--r--qa/suites/rgw/cloud-transition/+0
l---------qa/suites/rgw/cloud-transition/.qa1
-rw-r--r--qa/suites/rgw/cloud-transition/cluster.yaml3
l---------qa/suites/rgw/cloud-transition/ignore-pg-availability.yaml1
-rw-r--r--qa/suites/rgw/cloud-transition/overrides.yaml14
l---------qa/suites/rgw/cloud-transition/s3tests-branch.yaml1
l---------qa/suites/rgw/cloud-transition/supported-random-distro$1
l---------qa/suites/rgw/cloud-transition/tasks/.qa1
-rw-r--r--qa/suites/rgw/cloud-transition/tasks/cloud_transition_s3tests.yaml61
-rw-r--r--qa/suites/rgw/crypt/%0
l---------qa/suites/rgw/crypt/.qa1
l---------qa/suites/rgw/crypt/0-cluster/.qa1
l---------qa/suites/rgw/crypt/0-cluster/fixed-1.yaml1
l---------qa/suites/rgw/crypt/1-ceph-install/.qa1
-rw-r--r--qa/suites/rgw/crypt/1-ceph-install/install.yaml7
l---------qa/suites/rgw/crypt/2-kms/.qa1
-rw-r--r--qa/suites/rgw/crypt/2-kms/barbican.yaml92
-rw-r--r--qa/suites/rgw/crypt/2-kms/kmip.yaml37
-rw-r--r--qa/suites/rgw/crypt/2-kms/testing.yaml6
-rw-r--r--qa/suites/rgw/crypt/2-kms/vault_kv.yaml25
-rw-r--r--qa/suites/rgw/crypt/2-kms/vault_old.yaml24
-rw-r--r--qa/suites/rgw/crypt/2-kms/vault_transit.yaml29
l---------qa/suites/rgw/crypt/3-rgw/.qa1
-rw-r--r--qa/suites/rgw/crypt/3-rgw/rgw.yaml14
-rw-r--r--qa/suites/rgw/crypt/4-tests/+0
l---------qa/suites/rgw/crypt/4-tests/.qa1
-rw-r--r--qa/suites/rgw/crypt/4-tests/s3tests.yaml16
l---------qa/suites/rgw/crypt/ignore-pg-availability.yaml1
l---------qa/suites/rgw/crypt/s3tests-branch.yaml1
l---------qa/suites/rgw/crypt/ubuntu_latest.yaml1
-rw-r--r--qa/suites/rgw/dbstore/+0
l---------qa/suites/rgw/dbstore/.qa1
-rw-r--r--qa/suites/rgw/dbstore/cluster.yaml3
l---------qa/suites/rgw/dbstore/ignore-pg-availability.yaml1
-rw-r--r--qa/suites/rgw/dbstore/overrides.yaml11
l---------qa/suites/rgw/dbstore/s3tests-branch.yaml1
l---------qa/suites/rgw/dbstore/supported-random-distro$1
l---------qa/suites/rgw/dbstore/tasks/.qa1
-rw-r--r--qa/suites/rgw/dbstore/tasks/rgw_s3tests.yaml16
-rw-r--r--qa/suites/rgw/hadoop-s3a/%0
l---------qa/suites/rgw/hadoop-s3a/.qa1
l---------qa/suites/rgw/hadoop-s3a/clusters/.qa1
l---------qa/suites/rgw/hadoop-s3a/clusters/fixed-2.yaml1
l---------qa/suites/rgw/hadoop-s3a/hadoop/.qa1
-rw-r--r--qa/suites/rgw/hadoop-s3a/hadoop/default.yaml1
-rw-r--r--qa/suites/rgw/hadoop-s3a/hadoop/v32.yaml3
l---------qa/suites/rgw/hadoop-s3a/ignore-pg-availability.yaml1
-rw-r--r--qa/suites/rgw/hadoop-s3a/overrides.yaml6
-rw-r--r--qa/suites/rgw/hadoop-s3a/s3a-hadoop.yaml11
-rw-r--r--qa/suites/rgw/lifecycle/+0
l---------qa/suites/rgw/lifecycle/.qa1
-rw-r--r--qa/suites/rgw/lifecycle/cluster.yaml9
l---------qa/suites/rgw/lifecycle/ignore-pg-availability.yaml1
-rw-r--r--qa/suites/rgw/lifecycle/overrides.yaml14
l---------qa/suites/rgw/lifecycle/s3tests-branch.yaml1
l---------qa/suites/rgw/lifecycle/supported-random-distro$1
l---------qa/suites/rgw/lifecycle/tasks/.qa1
-rw-r--r--qa/suites/rgw/lifecycle/tasks/rgw_s3tests.yaml20
-rw-r--r--qa/suites/rgw/multifs/%0
l---------qa/suites/rgw/multifs/.qa1
l---------qa/suites/rgw/multifs/clusters/.qa1
l---------qa/suites/rgw/multifs/clusters/fixed-2.yaml1
l---------qa/suites/rgw/multifs/frontend1
l---------qa/suites/rgw/multifs/ignore-pg-availability.yaml1
l---------qa/suites/rgw/multifs/objectstore1
-rw-r--r--qa/suites/rgw/multifs/overrides.yaml13
l---------qa/suites/rgw/multifs/rgw_pool_type1
l---------qa/suites/rgw/multifs/s3tests-branch.yaml1
l---------qa/suites/rgw/multifs/tasks/.qa1
-rw-r--r--qa/suites/rgw/multifs/tasks/rgw_bucket_quota.yaml13
-rw-r--r--qa/suites/rgw/multifs/tasks/rgw_multipart_upload.yaml13
-rw-r--r--qa/suites/rgw/multifs/tasks/rgw_ragweed.yaml20
-rw-r--r--qa/suites/rgw/multifs/tasks/rgw_s3tests.yaml13
-rw-r--r--qa/suites/rgw/multifs/tasks/rgw_user_quota.yaml13
l---------qa/suites/rgw/multifs/ubuntu_latest.yaml1
-rw-r--r--qa/suites/rgw/multisite/%0
l---------qa/suites/rgw/multisite/.qa1
-rw-r--r--qa/suites/rgw/multisite/clusters.yaml3
l---------qa/suites/rgw/multisite/frontend1
l---------qa/suites/rgw/multisite/ignore-pg-availability.yaml1
-rw-r--r--qa/suites/rgw/multisite/notify.yaml5
-rw-r--r--qa/suites/rgw/multisite/omap_limits.yaml13
-rw-r--r--qa/suites/rgw/multisite/overrides.yaml21
l---------qa/suites/rgw/multisite/realms/.qa1
-rw-r--r--qa/suites/rgw/multisite/realms/three-zones.yaml23
-rw-r--r--qa/suites/rgw/multisite/realms/two-zonegroup.yaml31
l---------qa/suites/rgw/multisite/supported-random-distro$1
l---------qa/suites/rgw/multisite/tasks/.qa1
-rw-r--r--qa/suites/rgw/multisite/tasks/test_multi.yaml17
-rw-r--r--qa/suites/rgw/multisite/valgrind.yaml.disabled20
-rw-r--r--qa/suites/rgw/notifications/%0
l---------qa/suites/rgw/notifications/.qa1
l---------qa/suites/rgw/notifications/beast.yaml1
l---------qa/suites/rgw/notifications/bluestore-bitmap.yaml1
l---------qa/suites/rgw/notifications/fixed-2.yaml1
l---------qa/suites/rgw/notifications/ignore-pg-availability.yaml1
-rw-r--r--qa/suites/rgw/notifications/overrides.yaml13
-rw-r--r--qa/suites/rgw/notifications/supported-all-distro$/$0
l---------qa/suites/rgw/notifications/supported-all-distro$/.qa1
l---------qa/suites/rgw/notifications/supported-all-distro$/centos_8.yaml1
-rw-r--r--qa/suites/rgw/notifications/tasks/+0
l---------qa/suites/rgw/notifications/tasks/.qa1
-rw-r--r--qa/suites/rgw/notifications/tasks/0-install.yaml15
-rw-r--r--qa/suites/rgw/notifications/tasks/test_amqp.yaml7
-rw-r--r--qa/suites/rgw/notifications/tasks/test_kafka.yaml8
-rw-r--r--qa/suites/rgw/notifications/tasks/test_others.yaml4
-rw-r--r--qa/suites/rgw/service-token/%0
l---------qa/suites/rgw/service-token/.qa1
l---------qa/suites/rgw/service-token/clusters/.qa1
l---------qa/suites/rgw/service-token/clusters/fixed-1.yaml1
l---------qa/suites/rgw/service-token/frontend1
l---------qa/suites/rgw/service-token/ignore-pg-availability.yaml1
-rw-r--r--qa/suites/rgw/service-token/overrides.yaml22
l---------qa/suites/rgw/service-token/tasks/.qa1
-rw-r--r--qa/suites/rgw/service-token/tasks/service-token.yaml11
l---------qa/suites/rgw/service-token/ubuntu_latest.yaml1
-rw-r--r--qa/suites/rgw/singleton/%0
l---------qa/suites/rgw/singleton/.qa1
l---------qa/suites/rgw/singleton/all/.qa1
-rw-r--r--qa/suites/rgw/singleton/all/radosgw-admin.yaml21
l---------qa/suites/rgw/singleton/frontend1
l---------qa/suites/rgw/singleton/ignore-pg-availability.yaml1
l---------qa/suites/rgw/singleton/objectstore1
-rw-r--r--qa/suites/rgw/singleton/overrides.yaml8
l---------qa/suites/rgw/singleton/rgw_pool_type1
l---------qa/suites/rgw/singleton/supported-random-distro$1
-rw-r--r--qa/suites/rgw/sts/%0
l---------qa/suites/rgw/sts/.qa1
l---------qa/suites/rgw/sts/cluster.yaml1
l---------qa/suites/rgw/sts/ignore-pg-availability.yaml1
l---------qa/suites/rgw/sts/objectstore.yaml1
-rw-r--r--qa/suites/rgw/sts/overrides.yaml13
l---------qa/suites/rgw/sts/pool-type.yaml1
l---------qa/suites/rgw/sts/rgw_frontend1
l---------qa/suites/rgw/sts/s3tests-branch.yaml1
l---------qa/suites/rgw/sts/supported-random-distro$1
-rw-r--r--qa/suites/rgw/sts/tasks/+0
l---------qa/suites/rgw/sts/tasks/.qa1
-rw-r--r--qa/suites/rgw/sts/tasks/0-install.yaml15
-rw-r--r--qa/suites/rgw/sts/tasks/first.yaml16
-rw-r--r--qa/suites/rgw/sts/tasks/ststests.yaml12
-rw-r--r--qa/suites/rgw/tempest/%0
l---------qa/suites/rgw/tempest/.qa1
l---------qa/suites/rgw/tempest/clusters/.qa1
l---------qa/suites/rgw/tempest/clusters/fixed-1.yaml1
l---------qa/suites/rgw/tempest/frontend1
l---------qa/suites/rgw/tempest/ignore-pg-availability.yaml1
-rw-r--r--qa/suites/rgw/tempest/overrides.yaml7
l---------qa/suites/rgw/tempest/tasks/.qa1
-rw-r--r--qa/suites/rgw/tempest/tasks/rgw_tempest.yaml72
l---------qa/suites/rgw/tempest/ubuntu_latest.yaml1
-rw-r--r--qa/suites/rgw/thrash/%0
l---------qa/suites/rgw/thrash/.qa1
l---------qa/suites/rgw/thrash/clusters/.qa1
l---------qa/suites/rgw/thrash/clusters/fixed-2.yaml1
l---------qa/suites/rgw/thrash/frontend1
l---------qa/suites/rgw/thrash/ignore-pg-availability.yaml1
-rw-r--r--qa/suites/rgw/thrash/install.yaml5
l---------qa/suites/rgw/thrash/objectstore1
l---------qa/suites/rgw/thrash/s3tests-branch.yaml1
l---------qa/suites/rgw/thrash/thrasher/.qa1
-rw-r--r--qa/suites/rgw/thrash/thrasher/default.yaml9
l---------qa/suites/rgw/thrash/thrashosds-health.yaml1
l---------qa/suites/rgw/thrash/ubuntu_latest.yaml1
l---------qa/suites/rgw/thrash/workload/.qa1
-rw-r--r--qa/suites/rgw/thrash/workload/rgw_bucket_quota.yaml10
-rw-r--r--qa/suites/rgw/thrash/workload/rgw_multipart_upload.yaml10
-rw-r--r--qa/suites/rgw/thrash/workload/rgw_s3tests.yaml13
-rw-r--r--qa/suites/rgw/thrash/workload/rgw_user_quota.yaml10
-rw-r--r--qa/suites/rgw/tools/+0
l---------qa/suites/rgw/tools/.qa1
l---------qa/suites/rgw/tools/centos_latest.yaml1
-rw-r--r--qa/suites/rgw/tools/cluster.yaml9
l---------qa/suites/rgw/tools/ignore-pg-availability.yaml1
-rw-r--r--qa/suites/rgw/tools/tasks.yaml19
-rw-r--r--qa/suites/rgw/upgrade/%0
l---------qa/suites/rgw/upgrade/.qa1
l---------qa/suites/rgw/upgrade/1-install/.qa1
-rw-r--r--qa/suites/rgw/upgrade/1-install/pacific/%0
l---------qa/suites/rgw/upgrade/1-install/pacific/.qa1
l---------qa/suites/rgw/upgrade/1-install/pacific/distro$/.qa1
l---------qa/suites/rgw/upgrade/1-install/pacific/distro$/centos_8.stream.yaml1
l---------qa/suites/rgw/upgrade/1-install/pacific/distro$/ubuntu_20.04.yaml1
-rw-r--r--qa/suites/rgw/upgrade/1-install/pacific/install.yaml5
-rw-r--r--qa/suites/rgw/upgrade/1-install/pacific/overrides.yaml3
-rw-r--r--qa/suites/rgw/upgrade/1-install/quincy/%0
l---------qa/suites/rgw/upgrade/1-install/quincy/.qa1
l---------qa/suites/rgw/upgrade/1-install/quincy/distro$/.qa1
l---------qa/suites/rgw/upgrade/1-install/quincy/distro$/centos_latest.yaml1
l---------qa/suites/rgw/upgrade/1-install/quincy/distro$/ubuntu_20.04.yaml1
-rw-r--r--qa/suites/rgw/upgrade/1-install/quincy/install.yaml3
-rw-r--r--qa/suites/rgw/upgrade/1-install/quincy/overrides.yaml3
-rw-r--r--qa/suites/rgw/upgrade/2-setup.yaml8
-rw-r--r--qa/suites/rgw/upgrade/3-upgrade-sequence/osds-then-rgws.yaml27
-rw-r--r--qa/suites/rgw/upgrade/3-upgrade-sequence/rgws-then-osds.yaml27
l---------qa/suites/rgw/upgrade/cluster.yaml1
l---------qa/suites/rgw/upgrade/frontend1
l---------qa/suites/rgw/upgrade/ignore-pg-availability.yaml1
l---------qa/suites/rgw/upgrade/objectstore1
-rw-r--r--qa/suites/rgw/upgrade/overrides.yaml20
-rw-r--r--qa/suites/rgw/verify/%0
l---------qa/suites/rgw/verify/.qa1
-rw-r--r--qa/suites/rgw/verify/0-install.yaml20
l---------qa/suites/rgw/verify/clusters/.qa1
l---------qa/suites/rgw/verify/clusters/fixed-2.yaml1
l---------qa/suites/rgw/verify/datacache/.qa1
-rw-r--r--qa/suites/rgw/verify/datacache/no_datacache.yaml0
-rw-r--r--qa/suites/rgw/verify/datacache/rgw-datacache.yaml18
l---------qa/suites/rgw/verify/frontend1
l---------qa/suites/rgw/verify/ignore-pg-availability.yaml1
-rw-r--r--qa/suites/rgw/verify/inline-data$/off.yaml3
-rw-r--r--qa/suites/rgw/verify/inline-data$/on.yaml0
l---------qa/suites/rgw/verify/msgr-failures/.qa1
-rw-r--r--qa/suites/rgw/verify/msgr-failures/few.yaml8
l---------qa/suites/rgw/verify/objectstore1
-rw-r--r--qa/suites/rgw/verify/overrides.yaml13
l---------qa/suites/rgw/verify/proto/.qa1
-rw-r--r--qa/suites/rgw/verify/proto/http.yaml0
-rw-r--r--qa/suites/rgw/verify/proto/https.yaml14
l---------qa/suites/rgw/verify/rgw_pool_type1
l---------qa/suites/rgw/verify/s3tests-branch.yaml1
l---------qa/suites/rgw/verify/sharding$1
l---------qa/suites/rgw/verify/striping$/.qa1
-rw-r--r--qa/suites/rgw/verify/striping$/stripe-equals-chunk.yaml7
-rw-r--r--qa/suites/rgw/verify/striping$/stripe-greater-than-chunk.yaml7
l---------qa/suites/rgw/verify/supported-random-distro$1
-rw-r--r--qa/suites/rgw/verify/tasks/+0
l---------qa/suites/rgw/verify/tasks/.qa1
-rw-r--r--qa/suites/rgw/verify/tasks/bucket-check.yaml5
-rw-r--r--qa/suites/rgw/verify/tasks/cls.yaml16
-rw-r--r--qa/suites/rgw/verify/tasks/mp_reupload.yaml5
-rw-r--r--qa/suites/rgw/verify/tasks/ragweed.yaml6
-rw-r--r--qa/suites/rgw/verify/tasks/reshard.yaml5
-rw-r--r--qa/suites/rgw/verify/tasks/s3tests-java.yaml6
-rw-r--r--qa/suites/rgw/verify/tasks/s3tests.yaml4
-rw-r--r--qa/suites/rgw/verify/tasks/versioning.yaml5
l---------qa/suites/rgw/verify/validater/.qa1
-rw-r--r--qa/suites/rgw/verify/validater/lockdep.yaml7
-rw-r--r--qa/suites/rgw/verify/validater/valgrind.yaml21
-rw-r--r--qa/suites/rgw/website/%0
l---------qa/suites/rgw/website/.qa1
l---------qa/suites/rgw/website/clusters/.qa1
l---------qa/suites/rgw/website/clusters/fixed-2.yaml1
l---------qa/suites/rgw/website/frontend1
-rw-r--r--qa/suites/rgw/website/http.yaml1
l---------qa/suites/rgw/website/ignore-pg-availability.yaml1
-rw-r--r--qa/suites/rgw/website/overrides.yaml26
l---------qa/suites/rgw/website/s3tests-branch.yaml1
l---------qa/suites/rgw/website/tasks/.qa1
-rw-r--r--qa/suites/rgw/website/tasks/s3tests-website.yaml17
l---------qa/suites/rgw/website/ubuntu_latest.yaml1
252 files changed, 1416 insertions, 0 deletions
diff --git a/qa/suites/rgw/.qa b/qa/suites/rgw/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/cloud-transition/+ b/qa/suites/rgw/cloud-transition/+
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/rgw/cloud-transition/+
diff --git a/qa/suites/rgw/cloud-transition/.qa b/qa/suites/rgw/cloud-transition/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/cloud-transition/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/cloud-transition/cluster.yaml b/qa/suites/rgw/cloud-transition/cluster.yaml
new file mode 100644
index 000000000..8e0712ea5
--- /dev/null
+++ b/qa/suites/rgw/cloud-transition/cluster.yaml
@@ -0,0 +1,3 @@
+roles:
+- [mon.a, osd.0, osd.1, osd.2, mgr.0, client.0, client.1]
+#- [mon.b, osd.3, osd.4, osd.5, mgr.1, client.2, client.3]
diff --git a/qa/suites/rgw/cloud-transition/ignore-pg-availability.yaml b/qa/suites/rgw/cloud-transition/ignore-pg-availability.yaml
new file mode 120000
index 000000000..32340b1fa
--- /dev/null
+++ b/qa/suites/rgw/cloud-transition/ignore-pg-availability.yaml
@@ -0,0 +1 @@
+.qa/rgw/ignore-pg-availability.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/cloud-transition/overrides.yaml b/qa/suites/rgw/cloud-transition/overrides.yaml
new file mode 100644
index 000000000..40ca3556b
--- /dev/null
+++ b/qa/suites/rgw/cloud-transition/overrides.yaml
@@ -0,0 +1,14 @@
+overrides:
+ ceph:
+ conf:
+ client:
+ setuser: ceph
+ setgroup: ceph
+ debug rgw: 20
+ rgw crypt s3 kms backend: testing
+ rgw crypt s3 kms encryption keys: testkey-1=YmluCmJvb3N0CmJvb3N0LWJ1aWxkCmNlcGguY29uZgo= testkey-2=aWIKTWFrZWZpbGUKbWFuCm91dApzcmMKVGVzdGluZwo=
+ rgw crypt require ssl: false
+ rgw lc debug interval: 10
+ rgw:
+ storage classes: LUKEWARM, FROZEN
+ frontend: beast
diff --git a/qa/suites/rgw/cloud-transition/s3tests-branch.yaml b/qa/suites/rgw/cloud-transition/s3tests-branch.yaml
new file mode 120000
index 000000000..bdcaca48a
--- /dev/null
+++ b/qa/suites/rgw/cloud-transition/s3tests-branch.yaml
@@ -0,0 +1 @@
+.qa/rgw/s3tests-branch.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/cloud-transition/supported-random-distro$ b/qa/suites/rgw/cloud-transition/supported-random-distro$
new file mode 120000
index 000000000..0862b4457
--- /dev/null
+++ b/qa/suites/rgw/cloud-transition/supported-random-distro$
@@ -0,0 +1 @@
+.qa/distros/supported-random-distro$ \ No newline at end of file
diff --git a/qa/suites/rgw/cloud-transition/tasks/.qa b/qa/suites/rgw/cloud-transition/tasks/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/cloud-transition/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/cloud-transition/tasks/cloud_transition_s3tests.yaml b/qa/suites/rgw/cloud-transition/tasks/cloud_transition_s3tests.yaml
new file mode 100644
index 000000000..756617fba
--- /dev/null
+++ b/qa/suites/rgw/cloud-transition/tasks/cloud_transition_s3tests.yaml
@@ -0,0 +1,61 @@
+tasks:
+- install:
+- ceph:
+- rgw:
+ storage classes: LUKEWARM, FROZEN
+ client.0:
+ port: 8000
+ client.1:
+ port: 8001
+ #client.2:
+ #port: 8002
+ #client.3:
+ #port: 8003
+- rgw-cloudtier:
+ client.0:
+ # cloudtier storage class params
+ # retain_head_object = false
+ cloud_storage_class: CLOUDTIER-CLIENT0
+ cloud_client: client.1
+ cloud_regular_storage_class: LUKEWARM
+ cloud_target_storage_class: FROZEN
+ cloud_retain_head_object: "false"
+ cloud_target_path: "teuthology-client0"
+ cloudtier_user:
+ # cloud-user creds to be created on cloud-client
+ cloud_secret: "abcefgh"
+ cloud_access_key: "12345678"
+ #client.2:
+ # cloudtier storage class params
+ # retain_head_object = true
+ #
+ # Having multiple cloudtier storage classes
+ # in the same task is increasing the transition
+ # time and resulting in spurious failures.
+ # Hence disabling this until there is a
+ # consistent way of running the tests
+ # without having to depend on lc_debug_interval.
+ #
+ #cloud_storage_class: CLOUDTIER-CLIENT2
+ #cloud_client: client.3
+ #cloud_regular_storage_class: LUKEWARM
+ #cloud_retain_head_object: "true"
+ #cloud_target_path: "teuthology-client2"
+ #cloudtier_user:
+ # cloud-user creds to be created on cloud-client
+ #cloud_secret: "foobar"
+ #cloud_access_key: "87654321"
+- tox: [client.0]
+- s3tests:
+ client.0:
+ rgw_server: client.0
+ storage classes: LUKEWARM, FROZEN
+ extra_attrs: ["cloud_transition"]
+ lc_debug_interval: 10
+ cloudtier_tests: True
+ #client.2:
+ #rgw_server: client.2
+ #storage classes: LUKEWARM, FROZEN
+ #extra_attrs: ["cloud_transition"]
+ #lc_debug_interval: 10
+ #cloudtier_tests: True
diff --git a/qa/suites/rgw/crypt/% b/qa/suites/rgw/crypt/%
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/rgw/crypt/%
diff --git a/qa/suites/rgw/crypt/.qa b/qa/suites/rgw/crypt/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/crypt/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/crypt/0-cluster/.qa b/qa/suites/rgw/crypt/0-cluster/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/crypt/0-cluster/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/crypt/0-cluster/fixed-1.yaml b/qa/suites/rgw/crypt/0-cluster/fixed-1.yaml
new file mode 120000
index 000000000..435ea3c75
--- /dev/null
+++ b/qa/suites/rgw/crypt/0-cluster/fixed-1.yaml
@@ -0,0 +1 @@
+../../../../clusters/fixed-1.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/crypt/1-ceph-install/.qa b/qa/suites/rgw/crypt/1-ceph-install/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/crypt/1-ceph-install/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/crypt/1-ceph-install/install.yaml b/qa/suites/rgw/crypt/1-ceph-install/install.yaml
new file mode 100644
index 000000000..07a08b9a6
--- /dev/null
+++ b/qa/suites/rgw/crypt/1-ceph-install/install.yaml
@@ -0,0 +1,7 @@
+overrides:
+ ceph:
+ wait-for-scrub: false
+
+tasks:
+- install:
+- ceph:
diff --git a/qa/suites/rgw/crypt/2-kms/.qa b/qa/suites/rgw/crypt/2-kms/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/crypt/2-kms/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/crypt/2-kms/barbican.yaml b/qa/suites/rgw/crypt/2-kms/barbican.yaml
new file mode 100644
index 000000000..0c75a131c
--- /dev/null
+++ b/qa/suites/rgw/crypt/2-kms/barbican.yaml
@@ -0,0 +1,92 @@
+overrides:
+ ceph:
+ conf:
+ client:
+ rgw crypt s3 kms backend: barbican
+ rgw keystone barbican project: rgwcrypt
+ rgw keystone barbican user: rgwcrypt-user
+ rgw keystone barbican password: rgwcrypt-pass
+ rgw keystone barbican domain: Default
+ rgw keystone api version: 3
+ rgw keystone accepted roles: admin,Member,creator
+ rgw keystone implicit tenants: true
+ rgw keystone accepted admin roles: admin
+ rgw swift enforce content length: true
+ rgw swift account in url: true
+ rgw swift versioning enabled: true
+ rgw keystone admin project: admin
+ rgw keystone admin user: admin
+ rgw keystone admin password: ADMIN
+ rgw keystone admin domain: Default
+ rgw:
+ client.0:
+ use-keystone-role: client.0
+ use-barbican-role: client.0
+
+tasks:
+- tox: [ client.0 ]
+- keystone:
+ client.0:
+ force-branch: stable/2023.1
+ services:
+ - name: swift
+ type: object-store
+ description: Swift Service
+ projects:
+ - name: rgwcrypt
+ description: Encryption Tenant
+ domain: default
+ - name: barbican
+ description: Barbican
+ domain: default
+ - name: s3
+ description: S3 project
+ domain: default
+ users:
+ - name: rgwcrypt-user
+ password: rgwcrypt-pass
+ project: rgwcrypt
+ domain: default
+ - name: barbican-user
+ password: barbican-pass
+ project: barbican
+ domain: default
+ - name: s3-user
+ password: s3-pass
+ project: s3
+ domain: default
+ roles: [ name: Member, name: creator ]
+ role-mappings:
+ - name: Member
+ user: rgwcrypt-user
+ project: rgwcrypt
+ - name: admin
+ user: barbican-user
+ project: barbican
+ - name: creator
+ user: s3-user
+ project: s3
+- barbican:
+ client.0:
+ force-branch: stable/xena
+ use-keystone-role: client.0
+ keystone_authtoken:
+ auth_plugin: password
+ username: barbican-user
+ password: barbican-pass
+ user_domain_name: Default
+ rgw_user:
+ tenantName: rgwcrypt
+ username: rgwcrypt-user
+ password: rgwcrypt-pass
+ secrets:
+ - name: my-key-1
+ base64: a2V5MS5GcWVxKzhzTGNLaGtzQkg5NGVpb1FKcFpGb2c=
+ tenantName: s3
+ username: s3-user
+ password: s3-pass
+ - name: my-key-2
+ base64: a2V5Mi5yNUNNMGFzMVdIUVZxcCt5NGVmVGlQQ1k4YWg=
+ tenantName: s3
+ username: s3-user
+ password: s3-pass
diff --git a/qa/suites/rgw/crypt/2-kms/kmip.yaml b/qa/suites/rgw/crypt/2-kms/kmip.yaml
new file mode 100644
index 000000000..0057d954e
--- /dev/null
+++ b/qa/suites/rgw/crypt/2-kms/kmip.yaml
@@ -0,0 +1,37 @@
+overrides:
+ ceph:
+ conf:
+ client:
+ rgw crypt s3 kms backend: kmip
+ rgw crypt kmip ca path: /etc/ceph/kmiproot.crt
+ rgw crypt kmip client cert: /etc/ceph/kmip-client.crt
+ rgw crypt kmip client key: /etc/ceph/kmip-client.key
+ rgw crypt kmip kms key template: pykmip-$keyid
+ rgw:
+ client.0:
+ use-pykmip-role: client.0
+
+tasks:
+- openssl_keys:
+ kmiproot:
+ client: client.0
+ cn: kmiproot
+ key-type: rsa:4096
+ kmip-server:
+ client: client.0
+ ca: kmiproot
+ kmip-client:
+ client: client.0
+ ca: kmiproot
+ cn: rgw-client
+- exec:
+ client.0:
+ - chmod 644 /home/ubuntu/cephtest/ca/kmip-client.key
+- pykmip:
+ client.0:
+ clientca: kmiproot
+ servercert: kmip-server
+ clientcert: kmip-client
+ secrets:
+ - name: pykmip-my-key-1
+ - name: pykmip-my-key-2
diff --git a/qa/suites/rgw/crypt/2-kms/testing.yaml b/qa/suites/rgw/crypt/2-kms/testing.yaml
new file mode 100644
index 000000000..e02f9caad
--- /dev/null
+++ b/qa/suites/rgw/crypt/2-kms/testing.yaml
@@ -0,0 +1,6 @@
+overrides:
+ ceph:
+ conf:
+ client:
+ rgw crypt s3 kms backend: testing
+ rgw crypt s3 kms encryption_keys: testkey-1=YmluCmJvb3N0CmJvb3N0LWJ1aWxkCmNlcGguY29uZgo= testkey-2=aWIKTWFrZWZpbGUKbWFuCm91dApzcmMKVGVzdGluZwo=
diff --git a/qa/suites/rgw/crypt/2-kms/vault_kv.yaml b/qa/suites/rgw/crypt/2-kms/vault_kv.yaml
new file mode 100644
index 000000000..9ee9366d0
--- /dev/null
+++ b/qa/suites/rgw/crypt/2-kms/vault_kv.yaml
@@ -0,0 +1,25 @@
+overrides:
+ ceph:
+ conf:
+ client:
+ rgw crypt s3 kms backend: vault
+ rgw crypt vault auth: token
+ rgw crypt vault secret engine: kv
+ rgw crypt vault prefix: /v1/kv/data
+ rgw:
+ client.0:
+ use-vault-role: client.0
+
+tasks:
+- vault:
+ client.0:
+ install_url: https://releases.hashicorp.com/vault/1.2.2/vault_1.2.2_linux_amd64.zip
+ install_sha256: 7725b35d9ca8be3668abe63481f0731ca4730509419b4eb29fa0b0baa4798458
+ root_token: test_root_token
+ engine: kv
+ prefix: /v1/kv/data/
+ secrets:
+ - path: my-key-1
+ secret: a2V5MS5GcWVxKzhzTGNLaGtzQkg5NGVpb1FKcFpGb2c=
+ - path: my-key-2
+ secret: a2V5Mi5yNUNNMGFzMVdIUVZxcCt5NGVmVGlQQ1k4YWg=
diff --git a/qa/suites/rgw/crypt/2-kms/vault_old.yaml b/qa/suites/rgw/crypt/2-kms/vault_old.yaml
new file mode 100644
index 000000000..4befc1ecf
--- /dev/null
+++ b/qa/suites/rgw/crypt/2-kms/vault_old.yaml
@@ -0,0 +1,24 @@
+overrides:
+ ceph:
+ conf:
+ client:
+ rgw crypt s3 kms backend: vault
+ rgw crypt vault auth: token
+ rgw crypt vault secret engine: transit
+ rgw crypt vault prefix: /v1/transit/export/encryption-key/
+ rgw:
+ client.0:
+ use-vault-role: client.0
+
+tasks:
+- vault:
+ client.0:
+ install_url: https://releases.hashicorp.com/vault/1.2.2/vault_1.2.2_linux_amd64.zip
+ install_sha256: 7725b35d9ca8be3668abe63481f0731ca4730509419b4eb29fa0b0baa4798458
+ root_token: test_root_token
+ engine: transit
+ flavor: old
+ prefix: /v1/transit/keys/
+ secrets:
+ - path: my-key-1
+ - path: my-key-2
diff --git a/qa/suites/rgw/crypt/2-kms/vault_transit.yaml b/qa/suites/rgw/crypt/2-kms/vault_transit.yaml
new file mode 100644
index 000000000..d20bb52bc
--- /dev/null
+++ b/qa/suites/rgw/crypt/2-kms/vault_transit.yaml
@@ -0,0 +1,29 @@
+overrides:
+ ceph:
+ conf:
+ client:
+ rgw crypt s3 kms backend: vault
+ rgw crypt vault auth: token
+ rgw crypt vault secret engine: transit
+ rgw crypt vault prefix: /v1/transit/
+ rgw crypt sse s3 backend: vault
+ rgw crypt sse s3 vault auth: token
+ rgw crypt sse s3 vault secret engine: transit
+ rgw crypt sse s3 vault prefix: /v1/transit/
+ rgw:
+ client.0:
+ use-vault-role: client.0
+ s3tests:
+ with-sse-s3: true
+
+tasks:
+- vault:
+ client.0:
+ install_url: https://releases.hashicorp.com/vault/1.2.2/vault_1.2.2_linux_amd64.zip
+ install_sha256: 7725b35d9ca8be3668abe63481f0731ca4730509419b4eb29fa0b0baa4798458
+ root_token: test_root_token
+ engine: transit
+ prefix: /v1/transit/keys/
+ secrets:
+ - path: my-key-1
+ - path: my-key-2
diff --git a/qa/suites/rgw/crypt/3-rgw/.qa b/qa/suites/rgw/crypt/3-rgw/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/crypt/3-rgw/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/crypt/3-rgw/rgw.yaml b/qa/suites/rgw/crypt/3-rgw/rgw.yaml
new file mode 100644
index 000000000..764d216aa
--- /dev/null
+++ b/qa/suites/rgw/crypt/3-rgw/rgw.yaml
@@ -0,0 +1,14 @@
+overrides:
+ ceph:
+ conf:
+ client:
+ setuser: ceph
+ setgroup: ceph
+ rgw crypt require ssl: false
+ debug rgw: 20
+ rgw:
+ compression type: random
+
+tasks:
+- rgw:
+ client.0:
diff --git a/qa/suites/rgw/crypt/4-tests/+ b/qa/suites/rgw/crypt/4-tests/+
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/rgw/crypt/4-tests/+
diff --git a/qa/suites/rgw/crypt/4-tests/.qa b/qa/suites/rgw/crypt/4-tests/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/crypt/4-tests/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/crypt/4-tests/s3tests.yaml b/qa/suites/rgw/crypt/4-tests/s3tests.yaml
new file mode 100644
index 000000000..42b254922
--- /dev/null
+++ b/qa/suites/rgw/crypt/4-tests/s3tests.yaml
@@ -0,0 +1,16 @@
+tasks:
+- tox: [client.0]
+- s3tests:
+ client.0:
+ barbican:
+ kms_key: my-key-1
+ kms_key2: my-key-2
+ vault_kv:
+ key_path: my-key-1
+ key_path2: my-key-2
+ vault_old:
+ key_path: my-key-1/1
+ key_path2: my-key-2/1
+ vault_transit:
+ key_path: my-key-1
+ key_path2: my-key-2
diff --git a/qa/suites/rgw/crypt/ignore-pg-availability.yaml b/qa/suites/rgw/crypt/ignore-pg-availability.yaml
new file mode 120000
index 000000000..32340b1fa
--- /dev/null
+++ b/qa/suites/rgw/crypt/ignore-pg-availability.yaml
@@ -0,0 +1 @@
+.qa/rgw/ignore-pg-availability.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/crypt/s3tests-branch.yaml b/qa/suites/rgw/crypt/s3tests-branch.yaml
new file mode 120000
index 000000000..bdcaca48a
--- /dev/null
+++ b/qa/suites/rgw/crypt/s3tests-branch.yaml
@@ -0,0 +1 @@
+.qa/rgw/s3tests-branch.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/crypt/ubuntu_latest.yaml b/qa/suites/rgw/crypt/ubuntu_latest.yaml
new file mode 120000
index 000000000..fe01dafd4
--- /dev/null
+++ b/qa/suites/rgw/crypt/ubuntu_latest.yaml
@@ -0,0 +1 @@
+.qa/distros/all/ubuntu_latest.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/dbstore/+ b/qa/suites/rgw/dbstore/+
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/rgw/dbstore/+
diff --git a/qa/suites/rgw/dbstore/.qa b/qa/suites/rgw/dbstore/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/dbstore/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/dbstore/cluster.yaml b/qa/suites/rgw/dbstore/cluster.yaml
new file mode 100644
index 000000000..496b51ba7
--- /dev/null
+++ b/qa/suites/rgw/dbstore/cluster.yaml
@@ -0,0 +1,3 @@
+roles:
+- [mon.a, osd.0, osd.1, osd.2, mgr.0, client.0]
+
diff --git a/qa/suites/rgw/dbstore/ignore-pg-availability.yaml b/qa/suites/rgw/dbstore/ignore-pg-availability.yaml
new file mode 120000
index 000000000..32340b1fa
--- /dev/null
+++ b/qa/suites/rgw/dbstore/ignore-pg-availability.yaml
@@ -0,0 +1 @@
+.qa/rgw/ignore-pg-availability.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/dbstore/overrides.yaml b/qa/suites/rgw/dbstore/overrides.yaml
new file mode 100644
index 000000000..df4aaa9af
--- /dev/null
+++ b/qa/suites/rgw/dbstore/overrides.yaml
@@ -0,0 +1,11 @@
+overrides:
+ ceph:
+ conf:
+ client:
+ setuser: ceph
+ setgroup: ceph
+ debug rgw: 20
+ rgw crypt require ssl: false
+ rgw backend store: dbstore
+ rgw:
+ frontend: beast
diff --git a/qa/suites/rgw/dbstore/s3tests-branch.yaml b/qa/suites/rgw/dbstore/s3tests-branch.yaml
new file mode 120000
index 000000000..bdcaca48a
--- /dev/null
+++ b/qa/suites/rgw/dbstore/s3tests-branch.yaml
@@ -0,0 +1 @@
+.qa/rgw/s3tests-branch.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/dbstore/supported-random-distro$ b/qa/suites/rgw/dbstore/supported-random-distro$
new file mode 120000
index 000000000..0862b4457
--- /dev/null
+++ b/qa/suites/rgw/dbstore/supported-random-distro$
@@ -0,0 +1 @@
+.qa/distros/supported-random-distro$ \ No newline at end of file
diff --git a/qa/suites/rgw/dbstore/tasks/.qa b/qa/suites/rgw/dbstore/tasks/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/dbstore/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/dbstore/tasks/rgw_s3tests.yaml b/qa/suites/rgw/dbstore/tasks/rgw_s3tests.yaml
new file mode 100644
index 000000000..daab5581d
--- /dev/null
+++ b/qa/suites/rgw/dbstore/tasks/rgw_s3tests.yaml
@@ -0,0 +1,16 @@
+tasks:
+- install:
+- ceph:
+- rgw: [client.0]
+- tox: [client.0]
+- exec:
+ client.0:
+ - sudo chmod 0777 /var/lib/ceph
+ - sudo chmod 0777 /var/lib/ceph/radosgw
+ - sudo chmod 0777 /var/lib/ceph/radosgw/dbstore-default_ns.db
+- s3tests:
+ client.0:
+ dbstore_tests: True
+ rgw_server: client.0
+ extra_attrs: ["not fails_on_rgw","not fails_on_dbstore"]
+
diff --git a/qa/suites/rgw/hadoop-s3a/% b/qa/suites/rgw/hadoop-s3a/%
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/rgw/hadoop-s3a/%
diff --git a/qa/suites/rgw/hadoop-s3a/.qa b/qa/suites/rgw/hadoop-s3a/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/hadoop-s3a/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/hadoop-s3a/clusters/.qa b/qa/suites/rgw/hadoop-s3a/clusters/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/hadoop-s3a/clusters/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/hadoop-s3a/clusters/fixed-2.yaml b/qa/suites/rgw/hadoop-s3a/clusters/fixed-2.yaml
new file mode 120000
index 000000000..230ff0fda
--- /dev/null
+++ b/qa/suites/rgw/hadoop-s3a/clusters/fixed-2.yaml
@@ -0,0 +1 @@
+.qa/clusters/fixed-2.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/hadoop-s3a/hadoop/.qa b/qa/suites/rgw/hadoop-s3a/hadoop/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/hadoop-s3a/hadoop/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/hadoop-s3a/hadoop/default.yaml b/qa/suites/rgw/hadoop-s3a/hadoop/default.yaml
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/qa/suites/rgw/hadoop-s3a/hadoop/default.yaml
@@ -0,0 +1 @@
+
diff --git a/qa/suites/rgw/hadoop-s3a/hadoop/v32.yaml b/qa/suites/rgw/hadoop-s3a/hadoop/v32.yaml
new file mode 100644
index 000000000..d017b756b
--- /dev/null
+++ b/qa/suites/rgw/hadoop-s3a/hadoop/v32.yaml
@@ -0,0 +1,3 @@
+overrides:
+ s3a-hadoop:
+ hadoop-version: '3.2.0'
diff --git a/qa/suites/rgw/hadoop-s3a/ignore-pg-availability.yaml b/qa/suites/rgw/hadoop-s3a/ignore-pg-availability.yaml
new file mode 120000
index 000000000..32340b1fa
--- /dev/null
+++ b/qa/suites/rgw/hadoop-s3a/ignore-pg-availability.yaml
@@ -0,0 +1 @@
+.qa/rgw/ignore-pg-availability.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/hadoop-s3a/overrides.yaml b/qa/suites/rgw/hadoop-s3a/overrides.yaml
new file mode 100644
index 000000000..d52080bb5
--- /dev/null
+++ b/qa/suites/rgw/hadoop-s3a/overrides.yaml
@@ -0,0 +1,6 @@
+overrides:
+ ceph:
+ conf:
+ client:
+ setuser: ceph
+ setgroup: ceph
diff --git a/qa/suites/rgw/hadoop-s3a/s3a-hadoop.yaml b/qa/suites/rgw/hadoop-s3a/s3a-hadoop.yaml
new file mode 100644
index 000000000..ed077a89f
--- /dev/null
+++ b/qa/suites/rgw/hadoop-s3a/s3a-hadoop.yaml
@@ -0,0 +1,11 @@
+tasks:
+- install:
+- ceph:
+- ssh-keys:
+- dnsmasq:
+ client.0: [s3.]
+- rgw:
+ client.0:
+ dns-name: s3.
+- s3a-hadoop:
+ role: client.0
diff --git a/qa/suites/rgw/lifecycle/+ b/qa/suites/rgw/lifecycle/+
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/rgw/lifecycle/+
diff --git a/qa/suites/rgw/lifecycle/.qa b/qa/suites/rgw/lifecycle/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/lifecycle/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/lifecycle/cluster.yaml b/qa/suites/rgw/lifecycle/cluster.yaml
new file mode 100644
index 000000000..0eab7ebad
--- /dev/null
+++ b/qa/suites/rgw/lifecycle/cluster.yaml
@@ -0,0 +1,9 @@
+roles:
+- [mon.a, osd.0, osd.1, osd.2, mgr.0, client.0]
+openstack:
+- volumes: # attached to each instance
+ count: 1
+ size: 10 # GB
+overrides:
+ rgw:
+ frontend: beast \ No newline at end of file
diff --git a/qa/suites/rgw/lifecycle/ignore-pg-availability.yaml b/qa/suites/rgw/lifecycle/ignore-pg-availability.yaml
new file mode 120000
index 000000000..32340b1fa
--- /dev/null
+++ b/qa/suites/rgw/lifecycle/ignore-pg-availability.yaml
@@ -0,0 +1 @@
+.qa/rgw/ignore-pg-availability.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/lifecycle/overrides.yaml b/qa/suites/rgw/lifecycle/overrides.yaml
new file mode 100644
index 000000000..83722d312
--- /dev/null
+++ b/qa/suites/rgw/lifecycle/overrides.yaml
@@ -0,0 +1,14 @@
+overrides:
+ ceph:
+ wait-for-scrub: false
+ conf:
+ client:
+ setuser: ceph
+ setgroup: ceph
+ debug rgw: 20
+ rgw crypt s3 kms backend: testing
+ rgw crypt s3 kms encryption keys: testkey-1=YmluCmJvb3N0CmJvb3N0LWJ1aWxkCmNlcGguY29uZgo= testkey-2=aWIKTWFrZWZpbGUKbWFuCm91dApzcmMKVGVzdGluZwo=
+ rgw crypt require ssl: false
+ rgw lc debug interval: 10
+ rgw:
+ storage classes: LUKEWARM, FROZEN
diff --git a/qa/suites/rgw/lifecycle/s3tests-branch.yaml b/qa/suites/rgw/lifecycle/s3tests-branch.yaml
new file mode 120000
index 000000000..bdcaca48a
--- /dev/null
+++ b/qa/suites/rgw/lifecycle/s3tests-branch.yaml
@@ -0,0 +1 @@
+.qa/rgw/s3tests-branch.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/lifecycle/supported-random-distro$ b/qa/suites/rgw/lifecycle/supported-random-distro$
new file mode 120000
index 000000000..0862b4457
--- /dev/null
+++ b/qa/suites/rgw/lifecycle/supported-random-distro$
@@ -0,0 +1 @@
+.qa/distros/supported-random-distro$ \ No newline at end of file
diff --git a/qa/suites/rgw/lifecycle/tasks/.qa b/qa/suites/rgw/lifecycle/tasks/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/lifecycle/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/lifecycle/tasks/rgw_s3tests.yaml b/qa/suites/rgw/lifecycle/tasks/rgw_s3tests.yaml
new file mode 100644
index 000000000..a8675dcf1
--- /dev/null
+++ b/qa/suites/rgw/lifecycle/tasks/rgw_s3tests.yaml
@@ -0,0 +1,20 @@
+tasks:
+- install:
+- ceph:
+- rgw: [client.0]
+- tox: [client.0]
+- s3tests:
+ client.0:
+ rgw_server: client.0
+ storage classes: LUKEWARM, FROZEN
+ extra_attrs: ["lifecycle"]
+ lc_debug_interval: 10
+overrides:
+ ceph:
+ conf:
+ client:
+ debug rgw: 20
+ rgw lc debug interval: 10
+ storage classes: LUKEWARM, FROZEN
+ rgw:
+ storage classes: LUKEWARM, FROZEN
diff --git a/qa/suites/rgw/multifs/% b/qa/suites/rgw/multifs/%
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/rgw/multifs/%
diff --git a/qa/suites/rgw/multifs/.qa b/qa/suites/rgw/multifs/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/multifs/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/multifs/clusters/.qa b/qa/suites/rgw/multifs/clusters/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/multifs/clusters/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/multifs/clusters/fixed-2.yaml b/qa/suites/rgw/multifs/clusters/fixed-2.yaml
new file mode 120000
index 000000000..230ff0fda
--- /dev/null
+++ b/qa/suites/rgw/multifs/clusters/fixed-2.yaml
@@ -0,0 +1 @@
+.qa/clusters/fixed-2.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/multifs/frontend b/qa/suites/rgw/multifs/frontend
new file mode 120000
index 000000000..926a53e83
--- /dev/null
+++ b/qa/suites/rgw/multifs/frontend
@@ -0,0 +1 @@
+.qa/rgw_frontend \ No newline at end of file
diff --git a/qa/suites/rgw/multifs/ignore-pg-availability.yaml b/qa/suites/rgw/multifs/ignore-pg-availability.yaml
new file mode 120000
index 000000000..32340b1fa
--- /dev/null
+++ b/qa/suites/rgw/multifs/ignore-pg-availability.yaml
@@ -0,0 +1 @@
+.qa/rgw/ignore-pg-availability.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/multifs/objectstore b/qa/suites/rgw/multifs/objectstore
new file mode 120000
index 000000000..f81d17413
--- /dev/null
+++ b/qa/suites/rgw/multifs/objectstore
@@ -0,0 +1 @@
+.qa/objectstore_cephfs \ No newline at end of file
diff --git a/qa/suites/rgw/multifs/overrides.yaml b/qa/suites/rgw/multifs/overrides.yaml
new file mode 100644
index 000000000..1cb489072
--- /dev/null
+++ b/qa/suites/rgw/multifs/overrides.yaml
@@ -0,0 +1,13 @@
+overrides:
+ ceph:
+ wait-for-scrub: false
+ conf:
+ client:
+ setuser: ceph
+ setgroup: ceph
+ debug rgw: 20
+ rgw crypt s3 kms backend: testing
+ rgw crypt s3 kms encryption keys: testkey-1=YmluCmJvb3N0CmJvb3N0LWJ1aWxkCmNlcGguY29uZgo= testkey-2=aWIKTWFrZWZpbGUKbWFuCm91dApzcmMKVGVzdGluZwo=
+ rgw crypt require ssl: false
+ rgw:
+ storage classes: LUKEWARM, FROZEN
diff --git a/qa/suites/rgw/multifs/rgw_pool_type b/qa/suites/rgw/multifs/rgw_pool_type
new file mode 120000
index 000000000..3bbd28e96
--- /dev/null
+++ b/qa/suites/rgw/multifs/rgw_pool_type
@@ -0,0 +1 @@
+.qa/rgw_pool_type \ No newline at end of file
diff --git a/qa/suites/rgw/multifs/s3tests-branch.yaml b/qa/suites/rgw/multifs/s3tests-branch.yaml
new file mode 120000
index 000000000..bdcaca48a
--- /dev/null
+++ b/qa/suites/rgw/multifs/s3tests-branch.yaml
@@ -0,0 +1 @@
+.qa/rgw/s3tests-branch.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/multifs/tasks/.qa b/qa/suites/rgw/multifs/tasks/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/multifs/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/multifs/tasks/rgw_bucket_quota.yaml b/qa/suites/rgw/multifs/tasks/rgw_bucket_quota.yaml
new file mode 100644
index 000000000..e07c8b5cc
--- /dev/null
+++ b/qa/suites/rgw/multifs/tasks/rgw_bucket_quota.yaml
@@ -0,0 +1,13 @@
+tasks:
+- install:
+- ceph:
+- rgw: [client.0]
+- workunit:
+ clients:
+ client.0:
+ - rgw/s3_bucket_quota.pl
+overrides:
+ ceph:
+ conf:
+ client:
+ rgw relaxed s3 bucket names: true
diff --git a/qa/suites/rgw/multifs/tasks/rgw_multipart_upload.yaml b/qa/suites/rgw/multifs/tasks/rgw_multipart_upload.yaml
new file mode 100644
index 000000000..bac4f4016
--- /dev/null
+++ b/qa/suites/rgw/multifs/tasks/rgw_multipart_upload.yaml
@@ -0,0 +1,13 @@
+tasks:
+- install:
+- ceph:
+- rgw: [client.0]
+- workunit:
+ clients:
+ client.0:
+ - rgw/s3_multipart_upload.pl
+overrides:
+ ceph:
+ conf:
+ client:
+ rgw relaxed s3 bucket names: true
diff --git a/qa/suites/rgw/multifs/tasks/rgw_ragweed.yaml b/qa/suites/rgw/multifs/tasks/rgw_ragweed.yaml
new file mode 100644
index 000000000..ab9d21fca
--- /dev/null
+++ b/qa/suites/rgw/multifs/tasks/rgw_ragweed.yaml
@@ -0,0 +1,20 @@
+tasks:
+- install:
+- ceph:
+- rgw: [client.0]
+- tox: [client.0]
+- ragweed:
+ client.0:
+ default-branch: ceph-reef
+ rgw_server: client.0
+ stages: prepare
+- ragweed:
+ client.0:
+ default-branch: ceph-reef
+ rgw_server: client.0
+ stages: check
+overrides:
+ ceph:
+ conf:
+ client:
+ rgw lc debug interval: 10
diff --git a/qa/suites/rgw/multifs/tasks/rgw_s3tests.yaml b/qa/suites/rgw/multifs/tasks/rgw_s3tests.yaml
new file mode 100644
index 000000000..7ff143243
--- /dev/null
+++ b/qa/suites/rgw/multifs/tasks/rgw_s3tests.yaml
@@ -0,0 +1,13 @@
+tasks:
+- install:
+- ceph:
+- rgw: [client.0]
+- tox: [client.0]
+- s3tests:
+ client.0:
+ rgw_server: client.0
+overrides:
+ ceph:
+ conf:
+ client:
+ rgw lc debug interval: 10
diff --git a/qa/suites/rgw/multifs/tasks/rgw_user_quota.yaml b/qa/suites/rgw/multifs/tasks/rgw_user_quota.yaml
new file mode 100644
index 000000000..92c63d2e8
--- /dev/null
+++ b/qa/suites/rgw/multifs/tasks/rgw_user_quota.yaml
@@ -0,0 +1,13 @@
+tasks:
+- install:
+- ceph:
+- rgw: [client.0]
+- workunit:
+ clients:
+ client.0:
+ - rgw/s3_user_quota.pl
+overrides:
+ ceph:
+ conf:
+ client:
+ rgw relaxed s3 bucket names: true
diff --git a/qa/suites/rgw/multifs/ubuntu_latest.yaml b/qa/suites/rgw/multifs/ubuntu_latest.yaml
new file mode 120000
index 000000000..3a09f9abb
--- /dev/null
+++ b/qa/suites/rgw/multifs/ubuntu_latest.yaml
@@ -0,0 +1 @@
+.qa/distros/supported/ubuntu_latest.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/multisite/% b/qa/suites/rgw/multisite/%
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/rgw/multisite/%
diff --git a/qa/suites/rgw/multisite/.qa b/qa/suites/rgw/multisite/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/multisite/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/multisite/clusters.yaml b/qa/suites/rgw/multisite/clusters.yaml
new file mode 100644
index 000000000..536ef7ca4
--- /dev/null
+++ b/qa/suites/rgw/multisite/clusters.yaml
@@ -0,0 +1,3 @@
+roles:
+- [c1.mon.a, c1.mgr.x, c1.osd.0, c1.osd.1, c1.osd.2, c1.client.0, c1.client.1]
+- [c2.mon.a, c2.mgr.x, c2.osd.0, c2.osd.1, c2.osd.2, c2.client.0, c2.client.1]
diff --git a/qa/suites/rgw/multisite/frontend b/qa/suites/rgw/multisite/frontend
new file mode 120000
index 000000000..926a53e83
--- /dev/null
+++ b/qa/suites/rgw/multisite/frontend
@@ -0,0 +1 @@
+.qa/rgw_frontend \ No newline at end of file
diff --git a/qa/suites/rgw/multisite/ignore-pg-availability.yaml b/qa/suites/rgw/multisite/ignore-pg-availability.yaml
new file mode 120000
index 000000000..32340b1fa
--- /dev/null
+++ b/qa/suites/rgw/multisite/ignore-pg-availability.yaml
@@ -0,0 +1 @@
+.qa/rgw/ignore-pg-availability.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/multisite/notify.yaml b/qa/suites/rgw/multisite/notify.yaml
new file mode 100644
index 000000000..00e0bb762
--- /dev/null
+++ b/qa/suites/rgw/multisite/notify.yaml
@@ -0,0 +1,5 @@
+overrides:
+ ceph:
+ conf:
+ client.0: # disable notifications on one zone per cluster
+ rgw data notify interval msec: 0
diff --git a/qa/suites/rgw/multisite/omap_limits.yaml b/qa/suites/rgw/multisite/omap_limits.yaml
new file mode 100644
index 000000000..9ad1ec9ee
--- /dev/null
+++ b/qa/suites/rgw/multisite/omap_limits.yaml
@@ -0,0 +1,13 @@
+overrides:
+ ceph:
+ conf:
+ osd:
+ # remove the threshold so that test_bucket_index_log_trim() will test DeleteRange
+ rocksdb delete range threshold: 0
+ # instead of expanding the matrix, run each osd with a different omap limit
+ osd.0:
+ osd_max_omap_entries_per_request: 10
+ osd.1:
+ osd_max_omap_entries_per_request: 1000
+ osd.2:
+ osd_max_omap_entries_per_request: 10000
diff --git a/qa/suites/rgw/multisite/overrides.yaml b/qa/suites/rgw/multisite/overrides.yaml
new file mode 100644
index 000000000..76c14eb91
--- /dev/null
+++ b/qa/suites/rgw/multisite/overrides.yaml
@@ -0,0 +1,21 @@
+overrides:
+ ceph:
+ wait-for-scrub: false
+ conf:
+ client:
+ setuser: ceph
+ setgroup: ceph
+ debug rgw: 20
+ debug rgw sync: 20
+ rgw crypt s3 kms backend: testing
+ rgw crypt s3 kms encryption keys: testkey-1=YmluCmJvb3N0CmJvb3N0LWJ1aWxkCmNlcGguY29uZgo=
+ rgw crypt require ssl: false
+ rgw sync log trim interval: 0
+ rgw curl low speed time: 300
+ rgw md log max shards: 4
+ rgw data log num shards: 4
+ rgw sync obj etag verify: true
+ rgw sync meta inject err probability: 0.1
+ rgw sync data inject err probability: 0.1
+ rgw:
+ compression type: random
diff --git a/qa/suites/rgw/multisite/realms/.qa b/qa/suites/rgw/multisite/realms/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/multisite/realms/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/multisite/realms/three-zones.yaml b/qa/suites/rgw/multisite/realms/three-zones.yaml
new file mode 100644
index 000000000..95318b0f8
--- /dev/null
+++ b/qa/suites/rgw/multisite/realms/three-zones.yaml
@@ -0,0 +1,23 @@
+overrides:
+ rgw-multisite:
+ realm:
+ name: test-realm
+ is default: true
+ zonegroups:
+ - name: test-zonegroup
+ is_master: true
+ is_default: true
+ endpoints: [c1.client.0]
+ enabled_features: ['resharding']
+ zones:
+ - name: test-zone1
+ is_master: true
+ is_default: true
+ endpoints: [c1.client.0]
+ - name: test-zone2
+ is_default: true
+ endpoints: [c2.client.0]
+ - name: test-zone3
+ endpoints: [c1.client.1]
+ rgw-multisite-tests:
+ args: [tests.py]
diff --git a/qa/suites/rgw/multisite/realms/two-zonegroup.yaml b/qa/suites/rgw/multisite/realms/two-zonegroup.yaml
new file mode 100644
index 000000000..02710a7d9
--- /dev/null
+++ b/qa/suites/rgw/multisite/realms/two-zonegroup.yaml
@@ -0,0 +1,31 @@
+overrides:
+ rgw-multisite:
+ realm:
+ name: test-realm
+ is default: true
+ zonegroups:
+ - name: a
+ is_master: true
+ is_default: true
+ endpoints: [c1.client.0]
+ enabled_features: ['resharding']
+ zones:
+ - name: a1
+ is_master: true
+ is_default: true
+ endpoints: [c1.client.0]
+ - name: a2
+ endpoints: [c1.client.1]
+ - name: b
+ is_default: true
+ endpoints: [c2.client.0]
+ enabled_features: ['resharding']
+ zones:
+ - name: b1
+ is_master: true
+ is_default: true
+ endpoints: [c2.client.0]
+ - name: b2
+ endpoints: [c2.client.1]
+ rgw-multisite-tests:
+ args: [tests.py]
diff --git a/qa/suites/rgw/multisite/supported-random-distro$ b/qa/suites/rgw/multisite/supported-random-distro$
new file mode 120000
index 000000000..0862b4457
--- /dev/null
+++ b/qa/suites/rgw/multisite/supported-random-distro$
@@ -0,0 +1 @@
+.qa/distros/supported-random-distro$ \ No newline at end of file
diff --git a/qa/suites/rgw/multisite/tasks/.qa b/qa/suites/rgw/multisite/tasks/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/multisite/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/multisite/tasks/test_multi.yaml b/qa/suites/rgw/multisite/tasks/test_multi.yaml
new file mode 100644
index 000000000..1a65a67b5
--- /dev/null
+++ b/qa/suites/rgw/multisite/tasks/test_multi.yaml
@@ -0,0 +1,17 @@
+tasks:
+- install:
+- ceph: {cluster: c1}
+- ceph: {cluster: c2}
+- rgw:
+ c1.client.0:
+ port: 8000
+ c1.client.1:
+ port: 8001
+ c2.client.0:
+ port: 8000
+ c2.client.1:
+ port: 8001
+- rgw-multisite:
+- rgw-multisite-tests:
+ config:
+ reconfigure_delay: 60
diff --git a/qa/suites/rgw/multisite/valgrind.yaml.disabled b/qa/suites/rgw/multisite/valgrind.yaml.disabled
new file mode 100644
index 000000000..36e20f02c
--- /dev/null
+++ b/qa/suites/rgw/multisite/valgrind.yaml.disabled
@@ -0,0 +1,20 @@
+overrides:
+ install:
+ ceph:
+ ceph:
+ conf:
+ global:
+ osd heartbeat grace: 40
+ mon:
+ mon osd crush smoke test: false
+ osd:
+ osd fast shutdown: false
+ rgw:
+ c1.client.0:
+ valgrind: [--tool=memcheck, --max-threads=1024] # http://tracker.ceph.com/issues/25214
+ c1.client.1:
+ valgrind: [--tool=memcheck, --max-threads=1024]
+ c2.client.0:
+ valgrind: [--tool=memcheck, --max-threads=1024]
+ c2.client.1:
+ valgrind: [--tool=memcheck, --max-threads=1024]
diff --git a/qa/suites/rgw/notifications/% b/qa/suites/rgw/notifications/%
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/rgw/notifications/%
diff --git a/qa/suites/rgw/notifications/.qa b/qa/suites/rgw/notifications/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/notifications/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/notifications/beast.yaml b/qa/suites/rgw/notifications/beast.yaml
new file mode 120000
index 000000000..09ced62c4
--- /dev/null
+++ b/qa/suites/rgw/notifications/beast.yaml
@@ -0,0 +1 @@
+.qa/rgw_frontend/beast.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/notifications/bluestore-bitmap.yaml b/qa/suites/rgw/notifications/bluestore-bitmap.yaml
new file mode 120000
index 000000000..a59cf5175
--- /dev/null
+++ b/qa/suites/rgw/notifications/bluestore-bitmap.yaml
@@ -0,0 +1 @@
+.qa/objectstore/bluestore-bitmap.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/notifications/fixed-2.yaml b/qa/suites/rgw/notifications/fixed-2.yaml
new file mode 120000
index 000000000..230ff0fda
--- /dev/null
+++ b/qa/suites/rgw/notifications/fixed-2.yaml
@@ -0,0 +1 @@
+.qa/clusters/fixed-2.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/notifications/ignore-pg-availability.yaml b/qa/suites/rgw/notifications/ignore-pg-availability.yaml
new file mode 120000
index 000000000..32340b1fa
--- /dev/null
+++ b/qa/suites/rgw/notifications/ignore-pg-availability.yaml
@@ -0,0 +1 @@
+.qa/rgw/ignore-pg-availability.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/notifications/overrides.yaml b/qa/suites/rgw/notifications/overrides.yaml
new file mode 100644
index 000000000..1cb489072
--- /dev/null
+++ b/qa/suites/rgw/notifications/overrides.yaml
@@ -0,0 +1,13 @@
+overrides:
+ ceph:
+ wait-for-scrub: false
+ conf:
+ client:
+ setuser: ceph
+ setgroup: ceph
+ debug rgw: 20
+ rgw crypt s3 kms backend: testing
+ rgw crypt s3 kms encryption keys: testkey-1=YmluCmJvb3N0CmJvb3N0LWJ1aWxkCmNlcGguY29uZgo= testkey-2=aWIKTWFrZWZpbGUKbWFuCm91dApzcmMKVGVzdGluZwo=
+ rgw crypt require ssl: false
+ rgw:
+ storage classes: LUKEWARM, FROZEN
diff --git a/qa/suites/rgw/notifications/supported-all-distro$/$ b/qa/suites/rgw/notifications/supported-all-distro$/$
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/rgw/notifications/supported-all-distro$/$
diff --git a/qa/suites/rgw/notifications/supported-all-distro$/.qa b/qa/suites/rgw/notifications/supported-all-distro$/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/notifications/supported-all-distro$/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/notifications/supported-all-distro$/centos_8.yaml b/qa/suites/rgw/notifications/supported-all-distro$/centos_8.yaml
new file mode 120000
index 000000000..c23fd0540
--- /dev/null
+++ b/qa/suites/rgw/notifications/supported-all-distro$/centos_8.yaml
@@ -0,0 +1 @@
+../.qa/distros/supported-all-distro/centos_8.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/notifications/tasks/+ b/qa/suites/rgw/notifications/tasks/+
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/rgw/notifications/tasks/+
diff --git a/qa/suites/rgw/notifications/tasks/.qa b/qa/suites/rgw/notifications/tasks/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/notifications/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/notifications/tasks/0-install.yaml b/qa/suites/rgw/notifications/tasks/0-install.yaml
new file mode 100644
index 000000000..013ccbd26
--- /dev/null
+++ b/qa/suites/rgw/notifications/tasks/0-install.yaml
@@ -0,0 +1,15 @@
+tasks:
+- install:
+- ceph:
+- openssl_keys:
+- rgw:
+ client.0:
+
+overrides:
+ ceph:
+ conf:
+ global:
+ osd_min_pg_log_entries: 10
+ osd_max_pg_log_entries: 10
+ client:
+ rgw lc debug interval: 10
diff --git a/qa/suites/rgw/notifications/tasks/test_amqp.yaml b/qa/suites/rgw/notifications/tasks/test_amqp.yaml
new file mode 100644
index 000000000..6807cfb65
--- /dev/null
+++ b/qa/suites/rgw/notifications/tasks/test_amqp.yaml
@@ -0,0 +1,7 @@
+tasks:
+- rabbitmq:
+ client.0:
+- notification-tests:
+ client.0:
+ extra_attr: ["amqp_test"]
+ rgw_server: client.0
diff --git a/qa/suites/rgw/notifications/tasks/test_kafka.yaml b/qa/suites/rgw/notifications/tasks/test_kafka.yaml
new file mode 100644
index 000000000..ae647df38
--- /dev/null
+++ b/qa/suites/rgw/notifications/tasks/test_kafka.yaml
@@ -0,0 +1,8 @@
+tasks:
+- kafka:
+ client.0:
+ kafka_version: 2.6.0
+- notification-tests:
+ client.0:
+ extra_attr: ["kafka_test"]
+ rgw_server: client.0
diff --git a/qa/suites/rgw/notifications/tasks/test_others.yaml b/qa/suites/rgw/notifications/tasks/test_others.yaml
new file mode 100644
index 000000000..793f6f430
--- /dev/null
+++ b/qa/suites/rgw/notifications/tasks/test_others.yaml
@@ -0,0 +1,4 @@
+tasks:
+- notification-tests:
+ client.0:
+ rgw_server: client.0
diff --git a/qa/suites/rgw/service-token/% b/qa/suites/rgw/service-token/%
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/rgw/service-token/%
diff --git a/qa/suites/rgw/service-token/.qa b/qa/suites/rgw/service-token/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/service-token/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/service-token/clusters/.qa b/qa/suites/rgw/service-token/clusters/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/service-token/clusters/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/service-token/clusters/fixed-1.yaml b/qa/suites/rgw/service-token/clusters/fixed-1.yaml
new file mode 120000
index 000000000..02df5dd0c
--- /dev/null
+++ b/qa/suites/rgw/service-token/clusters/fixed-1.yaml
@@ -0,0 +1 @@
+.qa/clusters/fixed-1.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/service-token/frontend b/qa/suites/rgw/service-token/frontend
new file mode 120000
index 000000000..926a53e83
--- /dev/null
+++ b/qa/suites/rgw/service-token/frontend
@@ -0,0 +1 @@
+.qa/rgw_frontend \ No newline at end of file
diff --git a/qa/suites/rgw/service-token/ignore-pg-availability.yaml b/qa/suites/rgw/service-token/ignore-pg-availability.yaml
new file mode 120000
index 000000000..32340b1fa
--- /dev/null
+++ b/qa/suites/rgw/service-token/ignore-pg-availability.yaml
@@ -0,0 +1 @@
+.qa/rgw/ignore-pg-availability.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/service-token/overrides.yaml b/qa/suites/rgw/service-token/overrides.yaml
new file mode 100644
index 000000000..c727ec3fd
--- /dev/null
+++ b/qa/suites/rgw/service-token/overrides.yaml
@@ -0,0 +1,22 @@
+overrides:
+ ceph:
+ conf:
+ client:
+ setuser: ceph
+ setgroup: ceph
+ debug rgw: 20
+ rgw keystone api version: 3
+ rgw keystone url: http://localhost:5000
+ rgw keystone accepted roles: admin,Member
+ rgw keystone implicit tenants: true
+ rgw keystone accepted admin roles: admin
+ rgw swift enforce content length: true
+ rgw swift account in url: true
+ rgw swift versioning enabled: true
+ rgw keystone admin domain: Default
+ rgw keystone admin user: admin
+ rgw keystone admin password: ADMIN
+ rgw keystone admin project: admin
+ rgw keystone service token enabled: true
+ rgw keystone service token accepted roles: admin
+ rgw keystone expired token cache expiration: 10
diff --git a/qa/suites/rgw/service-token/tasks/.qa b/qa/suites/rgw/service-token/tasks/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/service-token/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/service-token/tasks/service-token.yaml b/qa/suites/rgw/service-token/tasks/service-token.yaml
new file mode 100644
index 000000000..8aef1985b
--- /dev/null
+++ b/qa/suites/rgw/service-token/tasks/service-token.yaml
@@ -0,0 +1,11 @@
+tasks:
+- install:
+- ceph:
+- rgw:
+ client.0:
+ port: 8000
+- workunit:
+ basedir: qa/workunits/rgw
+ clients:
+ client.0:
+ - keystone-service-token.sh
diff --git a/qa/suites/rgw/service-token/ubuntu_latest.yaml b/qa/suites/rgw/service-token/ubuntu_latest.yaml
new file mode 120000
index 000000000..3a09f9abb
--- /dev/null
+++ b/qa/suites/rgw/service-token/ubuntu_latest.yaml
@@ -0,0 +1 @@
+.qa/distros/supported/ubuntu_latest.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/singleton/% b/qa/suites/rgw/singleton/%
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/rgw/singleton/%
diff --git a/qa/suites/rgw/singleton/.qa b/qa/suites/rgw/singleton/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/singleton/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/singleton/all/.qa b/qa/suites/rgw/singleton/all/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/singleton/all/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/singleton/all/radosgw-admin.yaml b/qa/suites/rgw/singleton/all/radosgw-admin.yaml
new file mode 100644
index 000000000..010a0647c
--- /dev/null
+++ b/qa/suites/rgw/singleton/all/radosgw-admin.yaml
@@ -0,0 +1,21 @@
+roles:
+- [mon.a, osd.0]
+- [mgr.x, client.0, osd.1, osd.2, osd.3]
+openstack:
+- volumes: # attached to each instance
+ count: 3
+ size: 10 # GB
+tasks:
+- install:
+- ceph:
+ conf:
+ client:
+ debug ms: 1
+ rgw gc obj min wait: 15
+ osd:
+ debug ms: 1
+ debug objclass : 20
+- rgw:
+ client.0:
+- radosgw-admin:
+- radosgw-admin-rest:
diff --git a/qa/suites/rgw/singleton/frontend b/qa/suites/rgw/singleton/frontend
new file mode 120000
index 000000000..926a53e83
--- /dev/null
+++ b/qa/suites/rgw/singleton/frontend
@@ -0,0 +1 @@
+.qa/rgw_frontend \ No newline at end of file
diff --git a/qa/suites/rgw/singleton/ignore-pg-availability.yaml b/qa/suites/rgw/singleton/ignore-pg-availability.yaml
new file mode 120000
index 000000000..32340b1fa
--- /dev/null
+++ b/qa/suites/rgw/singleton/ignore-pg-availability.yaml
@@ -0,0 +1 @@
+.qa/rgw/ignore-pg-availability.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/singleton/objectstore b/qa/suites/rgw/singleton/objectstore
new file mode 120000
index 000000000..f81d17413
--- /dev/null
+++ b/qa/suites/rgw/singleton/objectstore
@@ -0,0 +1 @@
+.qa/objectstore_cephfs \ No newline at end of file
diff --git a/qa/suites/rgw/singleton/overrides.yaml b/qa/suites/rgw/singleton/overrides.yaml
new file mode 100644
index 000000000..d2aea790a
--- /dev/null
+++ b/qa/suites/rgw/singleton/overrides.yaml
@@ -0,0 +1,8 @@
+overrides:
+ ceph:
+ wait-for-scrub: false
+ conf:
+ client:
+ setuser: ceph
+ setgroup: ceph
+ debug rgw: 20
diff --git a/qa/suites/rgw/singleton/rgw_pool_type b/qa/suites/rgw/singleton/rgw_pool_type
new file mode 120000
index 000000000..3bbd28e96
--- /dev/null
+++ b/qa/suites/rgw/singleton/rgw_pool_type
@@ -0,0 +1 @@
+.qa/rgw_pool_type \ No newline at end of file
diff --git a/qa/suites/rgw/singleton/supported-random-distro$ b/qa/suites/rgw/singleton/supported-random-distro$
new file mode 120000
index 000000000..0862b4457
--- /dev/null
+++ b/qa/suites/rgw/singleton/supported-random-distro$
@@ -0,0 +1 @@
+.qa/distros/supported-random-distro$ \ No newline at end of file
diff --git a/qa/suites/rgw/sts/% b/qa/suites/rgw/sts/%
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/rgw/sts/%
diff --git a/qa/suites/rgw/sts/.qa b/qa/suites/rgw/sts/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/sts/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/sts/cluster.yaml b/qa/suites/rgw/sts/cluster.yaml
new file mode 120000
index 000000000..230ff0fda
--- /dev/null
+++ b/qa/suites/rgw/sts/cluster.yaml
@@ -0,0 +1 @@
+.qa/clusters/fixed-2.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/sts/ignore-pg-availability.yaml b/qa/suites/rgw/sts/ignore-pg-availability.yaml
new file mode 120000
index 000000000..32340b1fa
--- /dev/null
+++ b/qa/suites/rgw/sts/ignore-pg-availability.yaml
@@ -0,0 +1 @@
+.qa/rgw/ignore-pg-availability.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/sts/objectstore.yaml b/qa/suites/rgw/sts/objectstore.yaml
new file mode 120000
index 000000000..a59cf5175
--- /dev/null
+++ b/qa/suites/rgw/sts/objectstore.yaml
@@ -0,0 +1 @@
+.qa/objectstore/bluestore-bitmap.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/sts/overrides.yaml b/qa/suites/rgw/sts/overrides.yaml
new file mode 100644
index 000000000..1cb489072
--- /dev/null
+++ b/qa/suites/rgw/sts/overrides.yaml
@@ -0,0 +1,13 @@
+overrides:
+ ceph:
+ wait-for-scrub: false
+ conf:
+ client:
+ setuser: ceph
+ setgroup: ceph
+ debug rgw: 20
+ rgw crypt s3 kms backend: testing
+ rgw crypt s3 kms encryption keys: testkey-1=YmluCmJvb3N0CmJvb3N0LWJ1aWxkCmNlcGguY29uZgo= testkey-2=aWIKTWFrZWZpbGUKbWFuCm91dApzcmMKVGVzdGluZwo=
+ rgw crypt require ssl: false
+ rgw:
+ storage classes: LUKEWARM, FROZEN
diff --git a/qa/suites/rgw/sts/pool-type.yaml b/qa/suites/rgw/sts/pool-type.yaml
new file mode 120000
index 000000000..697b33b20
--- /dev/null
+++ b/qa/suites/rgw/sts/pool-type.yaml
@@ -0,0 +1 @@
+.qa/rgw_pool_type/replicated.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/sts/rgw_frontend b/qa/suites/rgw/sts/rgw_frontend
new file mode 120000
index 000000000..926a53e83
--- /dev/null
+++ b/qa/suites/rgw/sts/rgw_frontend
@@ -0,0 +1 @@
+.qa/rgw_frontend \ No newline at end of file
diff --git a/qa/suites/rgw/sts/s3tests-branch.yaml b/qa/suites/rgw/sts/s3tests-branch.yaml
new file mode 120000
index 000000000..bdcaca48a
--- /dev/null
+++ b/qa/suites/rgw/sts/s3tests-branch.yaml
@@ -0,0 +1 @@
+.qa/rgw/s3tests-branch.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/sts/supported-random-distro$ b/qa/suites/rgw/sts/supported-random-distro$
new file mode 120000
index 000000000..0862b4457
--- /dev/null
+++ b/qa/suites/rgw/sts/supported-random-distro$
@@ -0,0 +1 @@
+.qa/distros/supported-random-distro$ \ No newline at end of file
diff --git a/qa/suites/rgw/sts/tasks/+ b/qa/suites/rgw/sts/tasks/+
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/rgw/sts/tasks/+
diff --git a/qa/suites/rgw/sts/tasks/.qa b/qa/suites/rgw/sts/tasks/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/sts/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/sts/tasks/0-install.yaml b/qa/suites/rgw/sts/tasks/0-install.yaml
new file mode 100644
index 000000000..013ccbd26
--- /dev/null
+++ b/qa/suites/rgw/sts/tasks/0-install.yaml
@@ -0,0 +1,15 @@
+tasks:
+- install:
+- ceph:
+- openssl_keys:
+- rgw:
+ client.0:
+
+overrides:
+ ceph:
+ conf:
+ global:
+ osd_min_pg_log_entries: 10
+ osd_max_pg_log_entries: 10
+ client:
+ rgw lc debug interval: 10
diff --git a/qa/suites/rgw/sts/tasks/first.yaml b/qa/suites/rgw/sts/tasks/first.yaml
new file mode 100644
index 000000000..db785ba73
--- /dev/null
+++ b/qa/suites/rgw/sts/tasks/first.yaml
@@ -0,0 +1,16 @@
+tasks:
+- tox: [ client.0 ]
+- keycloak:
+ client.0:
+ keycloak_version: 11.0.0
+- s3tests:
+ client.0:
+ sts_tests: True
+ rgw_server: client.0
+ extra_attrs: ['webidentity_test']
+overrides:
+ ceph:
+ conf:
+ client:
+ rgw sts key: abcdefghijklmnop
+ rgw s3 auth use sts: true
diff --git a/qa/suites/rgw/sts/tasks/ststests.yaml b/qa/suites/rgw/sts/tasks/ststests.yaml
new file mode 100644
index 000000000..175071b89
--- /dev/null
+++ b/qa/suites/rgw/sts/tasks/ststests.yaml
@@ -0,0 +1,12 @@
+tasks:
+- s3tests:
+ client.0:
+ sts_tests: True
+ extra_attrs: ["test_of_sts"]
+ rgw_server: client.0
+overrides:
+ ceph:
+ conf:
+ client:
+ rgw sts key: abcdefghijklmnop
+ rgw s3 auth use sts: true
diff --git a/qa/suites/rgw/tempest/% b/qa/suites/rgw/tempest/%
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/rgw/tempest/%
diff --git a/qa/suites/rgw/tempest/.qa b/qa/suites/rgw/tempest/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/tempest/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/tempest/clusters/.qa b/qa/suites/rgw/tempest/clusters/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/tempest/clusters/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/tempest/clusters/fixed-1.yaml b/qa/suites/rgw/tempest/clusters/fixed-1.yaml
new file mode 120000
index 000000000..02df5dd0c
--- /dev/null
+++ b/qa/suites/rgw/tempest/clusters/fixed-1.yaml
@@ -0,0 +1 @@
+.qa/clusters/fixed-1.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/tempest/frontend b/qa/suites/rgw/tempest/frontend
new file mode 120000
index 000000000..926a53e83
--- /dev/null
+++ b/qa/suites/rgw/tempest/frontend
@@ -0,0 +1 @@
+.qa/rgw_frontend \ No newline at end of file
diff --git a/qa/suites/rgw/tempest/ignore-pg-availability.yaml b/qa/suites/rgw/tempest/ignore-pg-availability.yaml
new file mode 120000
index 000000000..32340b1fa
--- /dev/null
+++ b/qa/suites/rgw/tempest/ignore-pg-availability.yaml
@@ -0,0 +1 @@
+.qa/rgw/ignore-pg-availability.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/tempest/overrides.yaml b/qa/suites/rgw/tempest/overrides.yaml
new file mode 100644
index 000000000..e7a292ffd
--- /dev/null
+++ b/qa/suites/rgw/tempest/overrides.yaml
@@ -0,0 +1,7 @@
+overrides:
+ ceph:
+ conf:
+ client:
+ setuser: ceph
+ setgroup: ceph
+ debug rgw: 20
diff --git a/qa/suites/rgw/tempest/tasks/.qa b/qa/suites/rgw/tempest/tasks/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/tempest/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/tempest/tasks/rgw_tempest.yaml b/qa/suites/rgw/tempest/tasks/rgw_tempest.yaml
new file mode 100644
index 000000000..ad9dc9dd5
--- /dev/null
+++ b/qa/suites/rgw/tempest/tasks/rgw_tempest.yaml
@@ -0,0 +1,72 @@
+tasks:
+- install:
+- ceph:
+- tox: [ client.0 ]
+- keystone:
+ client.0:
+ force-branch: stable/2023.1
+ services:
+ - name: swift
+ type: object-store
+ description: Swift Service
+- rgw:
+ client.0:
+ frontend_prefix: /swift
+ use-keystone-role: client.0
+- tempest:
+ client.0:
+ sha1: 34.1.0
+ force-branch: master
+ use-keystone-role: client.0
+ auth:
+ admin_username: admin
+ admin_project_name: admin
+ admin_password: ADMIN
+ admin_domain_name: Default
+ tempest_roles: admin
+ identity:
+ uri: http://{keystone_public_host}:{keystone_public_port}/v2.0/
+ uri_v3: http://{keystone_public_host}:{keystone_public_port}/v3/
+ auth_version: v3
+ admin_role: admin
+ default_domain_name: Default
+ object-storage:
+ reseller_admin_role: admin
+ object-storage-feature-enabled:
+ container_sync: false
+ discoverability: true
+ # TODO(tobias-urdin): Use sha256 when supported in RadosGW
+ tempurl_digest_hashlib: sha1
+ blocklist:
+ - .*test_account_quotas_negative.AccountQuotasNegativeTest.test_user_modify_quota
+ - .*test_container_acl_negative.ObjectACLsNegativeTest.*
+ - .*test_container_services_negative.ContainerNegativeTest.test_create_container_metadata_.*
+ - .*test_container_staticweb.StaticWebTest.test_web_index
+ - .*test_container_staticweb.StaticWebTest.test_web_listing_css
+ - .*test_container_synchronization.*
+ - .*test_object_services.PublicObjectTest.test_access_public_container_object_without_using_creds
+ - .*test_object_services.ObjectTest.test_create_object_with_transfer_encoding
+ - .*test_container_services.ContainerTest.test_create_container_with_remove_metadata_key
+ - .*test_container_services.ContainerTest.test_create_container_with_remove_metadata_value
+ - .*test_object_expiry.ObjectExpiryTest.test_get_object_after_expiry_time
+ - .*test_object_expiry.ObjectExpiryTest.test_get_object_at_expiry_time
+ - .*test_account_services.AccountTest.test_list_no_account_metadata
+
+overrides:
+ ceph:
+ conf:
+ global:
+ osd_min_pg_log_entries: 10
+ osd_max_pg_log_entries: 10
+ client:
+ rgw keystone api version: 3
+ rgw keystone accepted roles: admin,member
+ rgw keystone implicit tenants: true
+ rgw keystone accepted admin roles: admin
+ rgw swift enforce content length: true
+ rgw swift account in url: true
+ rgw swift versioning enabled: true
+ rgw keystone admin domain: Default
+ rgw keystone admin user: admin
+ rgw keystone admin password: ADMIN
+ rgw keystone admin project: admin
diff --git a/qa/suites/rgw/tempest/ubuntu_latest.yaml b/qa/suites/rgw/tempest/ubuntu_latest.yaml
new file mode 120000
index 000000000..3a09f9abb
--- /dev/null
+++ b/qa/suites/rgw/tempest/ubuntu_latest.yaml
@@ -0,0 +1 @@
+.qa/distros/supported/ubuntu_latest.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/thrash/% b/qa/suites/rgw/thrash/%
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/rgw/thrash/%
diff --git a/qa/suites/rgw/thrash/.qa b/qa/suites/rgw/thrash/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/thrash/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/thrash/clusters/.qa b/qa/suites/rgw/thrash/clusters/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/thrash/clusters/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/thrash/clusters/fixed-2.yaml b/qa/suites/rgw/thrash/clusters/fixed-2.yaml
new file mode 120000
index 000000000..230ff0fda
--- /dev/null
+++ b/qa/suites/rgw/thrash/clusters/fixed-2.yaml
@@ -0,0 +1 @@
+.qa/clusters/fixed-2.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/thrash/frontend b/qa/suites/rgw/thrash/frontend
new file mode 120000
index 000000000..926a53e83
--- /dev/null
+++ b/qa/suites/rgw/thrash/frontend
@@ -0,0 +1 @@
+.qa/rgw_frontend \ No newline at end of file
diff --git a/qa/suites/rgw/thrash/ignore-pg-availability.yaml b/qa/suites/rgw/thrash/ignore-pg-availability.yaml
new file mode 120000
index 000000000..32340b1fa
--- /dev/null
+++ b/qa/suites/rgw/thrash/ignore-pg-availability.yaml
@@ -0,0 +1 @@
+.qa/rgw/ignore-pg-availability.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/thrash/install.yaml b/qa/suites/rgw/thrash/install.yaml
new file mode 100644
index 000000000..84a1d70cf
--- /dev/null
+++ b/qa/suites/rgw/thrash/install.yaml
@@ -0,0 +1,5 @@
+tasks:
+- install:
+- ceph:
+- rgw: [client.0]
+
diff --git a/qa/suites/rgw/thrash/objectstore b/qa/suites/rgw/thrash/objectstore
new file mode 120000
index 000000000..f81d17413
--- /dev/null
+++ b/qa/suites/rgw/thrash/objectstore
@@ -0,0 +1 @@
+.qa/objectstore_cephfs \ No newline at end of file
diff --git a/qa/suites/rgw/thrash/s3tests-branch.yaml b/qa/suites/rgw/thrash/s3tests-branch.yaml
new file mode 120000
index 000000000..bdcaca48a
--- /dev/null
+++ b/qa/suites/rgw/thrash/s3tests-branch.yaml
@@ -0,0 +1 @@
+.qa/rgw/s3tests-branch.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/thrash/thrasher/.qa b/qa/suites/rgw/thrash/thrasher/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/thrash/thrasher/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/thrash/thrasher/default.yaml b/qa/suites/rgw/thrash/thrasher/default.yaml
new file mode 100644
index 000000000..1f35f1bc9
--- /dev/null
+++ b/qa/suites/rgw/thrash/thrasher/default.yaml
@@ -0,0 +1,9 @@
+tasks:
+- thrashosds:
+ timeout: 1200
+ chance_pgnum_grow: 1
+ chance_pgnum_shrink: 1
+ chance_pgpnum_fix: 1
+ op_delay: 30
+ chance_test_min_size: 0
+ ceph_objectstore_tool: false
diff --git a/qa/suites/rgw/thrash/thrashosds-health.yaml b/qa/suites/rgw/thrash/thrashosds-health.yaml
new file mode 120000
index 000000000..9124eb1aa
--- /dev/null
+++ b/qa/suites/rgw/thrash/thrashosds-health.yaml
@@ -0,0 +1 @@
+.qa/tasks/thrashosds-health.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/thrash/ubuntu_latest.yaml b/qa/suites/rgw/thrash/ubuntu_latest.yaml
new file mode 120000
index 000000000..3a09f9abb
--- /dev/null
+++ b/qa/suites/rgw/thrash/ubuntu_latest.yaml
@@ -0,0 +1 @@
+.qa/distros/supported/ubuntu_latest.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/thrash/workload/.qa b/qa/suites/rgw/thrash/workload/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/thrash/workload/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/thrash/workload/rgw_bucket_quota.yaml b/qa/suites/rgw/thrash/workload/rgw_bucket_quota.yaml
new file mode 100644
index 000000000..bc441ff32
--- /dev/null
+++ b/qa/suites/rgw/thrash/workload/rgw_bucket_quota.yaml
@@ -0,0 +1,10 @@
+tasks:
+- workunit:
+ clients:
+ client.0:
+ - rgw/s3_bucket_quota.pl
+overrides:
+ ceph:
+ conf:
+ client:
+ rgw relaxed s3 bucket names: true
diff --git a/qa/suites/rgw/thrash/workload/rgw_multipart_upload.yaml b/qa/suites/rgw/thrash/workload/rgw_multipart_upload.yaml
new file mode 100644
index 000000000..1b98f2625
--- /dev/null
+++ b/qa/suites/rgw/thrash/workload/rgw_multipart_upload.yaml
@@ -0,0 +1,10 @@
+tasks:
+- workunit:
+ clients:
+ client.0:
+ - rgw/s3_multipart_upload.pl
+overrides:
+ ceph:
+ conf:
+ client:
+ rgw relaxed s3 bucket names: true
diff --git a/qa/suites/rgw/thrash/workload/rgw_s3tests.yaml b/qa/suites/rgw/thrash/workload/rgw_s3tests.yaml
new file mode 100644
index 000000000..6a59dc905
--- /dev/null
+++ b/qa/suites/rgw/thrash/workload/rgw_s3tests.yaml
@@ -0,0 +1,13 @@
+tasks:
+- tox: [client.0]
+- s3tests:
+ client.0:
+ rgw_server: client.0
+overrides:
+ ceph:
+ conf:
+ client:
+ rgw lc debug interval: 10
+ rgw crypt s3 kms backend: testing
+ rgw crypt s3 kms encryption keys: testkey-1=YmluCmJvb3N0CmJvb3N0LWJ1aWxkCmNlcGguY29uZgo= testkey-2=aWIKTWFrZWZpbGUKbWFuCm91dApzcmMKVGVzdGluZwo=
+ rgw crypt require ssl: false
diff --git a/qa/suites/rgw/thrash/workload/rgw_user_quota.yaml b/qa/suites/rgw/thrash/workload/rgw_user_quota.yaml
new file mode 100644
index 000000000..75ba3d474
--- /dev/null
+++ b/qa/suites/rgw/thrash/workload/rgw_user_quota.yaml
@@ -0,0 +1,10 @@
+tasks:
+- workunit:
+ clients:
+ client.0:
+ - rgw/s3_user_quota.pl
+overrides:
+ ceph:
+ conf:
+ client:
+ rgw relaxed s3 bucket names: true
diff --git a/qa/suites/rgw/tools/+ b/qa/suites/rgw/tools/+
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/rgw/tools/+
diff --git a/qa/suites/rgw/tools/.qa b/qa/suites/rgw/tools/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/tools/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/tools/centos_latest.yaml b/qa/suites/rgw/tools/centos_latest.yaml
new file mode 120000
index 000000000..bd9854e70
--- /dev/null
+++ b/qa/suites/rgw/tools/centos_latest.yaml
@@ -0,0 +1 @@
+.qa/distros/supported/centos_latest.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/tools/cluster.yaml b/qa/suites/rgw/tools/cluster.yaml
new file mode 100644
index 000000000..0eab7ebad
--- /dev/null
+++ b/qa/suites/rgw/tools/cluster.yaml
@@ -0,0 +1,9 @@
+roles:
+- [mon.a, osd.0, osd.1, osd.2, mgr.0, client.0]
+openstack:
+- volumes: # attached to each instance
+ count: 1
+ size: 10 # GB
+overrides:
+ rgw:
+ frontend: beast \ No newline at end of file
diff --git a/qa/suites/rgw/tools/ignore-pg-availability.yaml b/qa/suites/rgw/tools/ignore-pg-availability.yaml
new file mode 120000
index 000000000..32340b1fa
--- /dev/null
+++ b/qa/suites/rgw/tools/ignore-pg-availability.yaml
@@ -0,0 +1 @@
+.qa/rgw/ignore-pg-availability.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/tools/tasks.yaml b/qa/suites/rgw/tools/tasks.yaml
new file mode 100644
index 000000000..acceb21c8
--- /dev/null
+++ b/qa/suites/rgw/tools/tasks.yaml
@@ -0,0 +1,19 @@
+tasks:
+- install:
+- ceph:
+- rgw:
+ client.0:
+ # force rgw_dns_name to be set with the fully qualified host name;
+ # it will be appended to the empty string
+ dns-name: ''
+- workunit:
+ clients:
+ client.0:
+ - rgw/test_rgw_orphan_list.sh
+overrides:
+ ceph:
+ conf:
+ client:
+ debug rgw: 20
+ debug ms: 1
+ rgw enable static website: false
diff --git a/qa/suites/rgw/upgrade/% b/qa/suites/rgw/upgrade/%
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/rgw/upgrade/%
diff --git a/qa/suites/rgw/upgrade/.qa b/qa/suites/rgw/upgrade/.qa
new file mode 120000
index 000000000..fea2489fd
--- /dev/null
+++ b/qa/suites/rgw/upgrade/.qa
@@ -0,0 +1 @@
+../.qa \ No newline at end of file
diff --git a/qa/suites/rgw/upgrade/1-install/.qa b/qa/suites/rgw/upgrade/1-install/.qa
new file mode 120000
index 000000000..fea2489fd
--- /dev/null
+++ b/qa/suites/rgw/upgrade/1-install/.qa
@@ -0,0 +1 @@
+../.qa \ No newline at end of file
diff --git a/qa/suites/rgw/upgrade/1-install/pacific/% b/qa/suites/rgw/upgrade/1-install/pacific/%
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/rgw/upgrade/1-install/pacific/%
diff --git a/qa/suites/rgw/upgrade/1-install/pacific/.qa b/qa/suites/rgw/upgrade/1-install/pacific/.qa
new file mode 120000
index 000000000..fea2489fd
--- /dev/null
+++ b/qa/suites/rgw/upgrade/1-install/pacific/.qa
@@ -0,0 +1 @@
+../.qa \ No newline at end of file
diff --git a/qa/suites/rgw/upgrade/1-install/pacific/distro$/.qa b/qa/suites/rgw/upgrade/1-install/pacific/distro$/.qa
new file mode 120000
index 000000000..fea2489fd
--- /dev/null
+++ b/qa/suites/rgw/upgrade/1-install/pacific/distro$/.qa
@@ -0,0 +1 @@
+../.qa \ No newline at end of file
diff --git a/qa/suites/rgw/upgrade/1-install/pacific/distro$/centos_8.stream.yaml b/qa/suites/rgw/upgrade/1-install/pacific/distro$/centos_8.stream.yaml
new file mode 120000
index 000000000..5dceec7e2
--- /dev/null
+++ b/qa/suites/rgw/upgrade/1-install/pacific/distro$/centos_8.stream.yaml
@@ -0,0 +1 @@
+.qa/distros/supported/centos_8.stream.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/upgrade/1-install/pacific/distro$/ubuntu_20.04.yaml b/qa/suites/rgw/upgrade/1-install/pacific/distro$/ubuntu_20.04.yaml
new file mode 120000
index 000000000..29fb99ae2
--- /dev/null
+++ b/qa/suites/rgw/upgrade/1-install/pacific/distro$/ubuntu_20.04.yaml
@@ -0,0 +1 @@
+.qa/distros/supported/ubuntu_20.04.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/upgrade/1-install/pacific/install.yaml b/qa/suites/rgw/upgrade/1-install/pacific/install.yaml
new file mode 100644
index 000000000..ec89e7921
--- /dev/null
+++ b/qa/suites/rgw/upgrade/1-install/pacific/install.yaml
@@ -0,0 +1,5 @@
+tasks:
+- install:
+ branch: pacific
+ exclude_packages:
+ - ceph-volume
diff --git a/qa/suites/rgw/upgrade/1-install/pacific/overrides.yaml b/qa/suites/rgw/upgrade/1-install/pacific/overrides.yaml
new file mode 100644
index 000000000..d882523e0
--- /dev/null
+++ b/qa/suites/rgw/upgrade/1-install/pacific/overrides.yaml
@@ -0,0 +1,3 @@
+overrides:
+ ragweed:
+ default-branch: ceph-reef # ceph-pacific doesn't have tox, but tests are the same
diff --git a/qa/suites/rgw/upgrade/1-install/quincy/% b/qa/suites/rgw/upgrade/1-install/quincy/%
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/rgw/upgrade/1-install/quincy/%
diff --git a/qa/suites/rgw/upgrade/1-install/quincy/.qa b/qa/suites/rgw/upgrade/1-install/quincy/.qa
new file mode 120000
index 000000000..fea2489fd
--- /dev/null
+++ b/qa/suites/rgw/upgrade/1-install/quincy/.qa
@@ -0,0 +1 @@
+../.qa \ No newline at end of file
diff --git a/qa/suites/rgw/upgrade/1-install/quincy/distro$/.qa b/qa/suites/rgw/upgrade/1-install/quincy/distro$/.qa
new file mode 120000
index 000000000..fea2489fd
--- /dev/null
+++ b/qa/suites/rgw/upgrade/1-install/quincy/distro$/.qa
@@ -0,0 +1 @@
+../.qa \ No newline at end of file
diff --git a/qa/suites/rgw/upgrade/1-install/quincy/distro$/centos_latest.yaml b/qa/suites/rgw/upgrade/1-install/quincy/distro$/centos_latest.yaml
new file mode 120000
index 000000000..bd9854e70
--- /dev/null
+++ b/qa/suites/rgw/upgrade/1-install/quincy/distro$/centos_latest.yaml
@@ -0,0 +1 @@
+.qa/distros/supported/centos_latest.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/upgrade/1-install/quincy/distro$/ubuntu_20.04.yaml b/qa/suites/rgw/upgrade/1-install/quincy/distro$/ubuntu_20.04.yaml
new file mode 120000
index 000000000..29fb99ae2
--- /dev/null
+++ b/qa/suites/rgw/upgrade/1-install/quincy/distro$/ubuntu_20.04.yaml
@@ -0,0 +1 @@
+.qa/distros/supported/ubuntu_20.04.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/upgrade/1-install/quincy/install.yaml b/qa/suites/rgw/upgrade/1-install/quincy/install.yaml
new file mode 100644
index 000000000..a96f09ee7
--- /dev/null
+++ b/qa/suites/rgw/upgrade/1-install/quincy/install.yaml
@@ -0,0 +1,3 @@
+tasks:
+- install:
+ branch: quincy
diff --git a/qa/suites/rgw/upgrade/1-install/quincy/overrides.yaml b/qa/suites/rgw/upgrade/1-install/quincy/overrides.yaml
new file mode 100644
index 000000000..02508d329
--- /dev/null
+++ b/qa/suites/rgw/upgrade/1-install/quincy/overrides.yaml
@@ -0,0 +1,3 @@
+overrides:
+ ragweed:
+ default-branch: ceph-reef # ceph-quincy doesn't have tox, but tests are the same
diff --git a/qa/suites/rgw/upgrade/2-setup.yaml b/qa/suites/rgw/upgrade/2-setup.yaml
new file mode 100644
index 000000000..f6627398e
--- /dev/null
+++ b/qa/suites/rgw/upgrade/2-setup.yaml
@@ -0,0 +1,8 @@
+tasks:
+- ceph:
+- rgw: [client.0, client.1]
+- tox: [client.0, client.1]
+- print: "installing upgraded packages"
+- install.upgrade:
+ mon.a:
+ mon.b:
diff --git a/qa/suites/rgw/upgrade/3-upgrade-sequence/osds-then-rgws.yaml b/qa/suites/rgw/upgrade/3-upgrade-sequence/osds-then-rgws.yaml
new file mode 100644
index 000000000..22bfbc3d2
--- /dev/null
+++ b/qa/suites/rgw/upgrade/3-upgrade-sequence/osds-then-rgws.yaml
@@ -0,0 +1,27 @@
+tasks:
+- print: "ragweed prepare before upgrade"
+- ragweed:
+ client.0:
+ stages: prepare
+- print: "restarting upgraded osds"
+- ceph.restart:
+ daemons: [osd.0, osd.2]
+- ceph.restart:
+ daemons: [osd.1, osd.3]
+- ceph.restart:
+ daemons: [osd.4, osd.6]
+- ceph.restart:
+ daemons: [osd.5, osd.7]
+- print: "ragweed check/prepare after osd upgrade"
+- ragweed:
+ client.0:
+ stages: check
+ client.1:
+ stages: prepare
+- print: "restarting upgraded rgw"
+- ceph.restart:
+ daemons: [rgw.*]
+- print: "ragweed check after rgw upgrade"
+- ragweed:
+ client.1:
+ stages: check
diff --git a/qa/suites/rgw/upgrade/3-upgrade-sequence/rgws-then-osds.yaml b/qa/suites/rgw/upgrade/3-upgrade-sequence/rgws-then-osds.yaml
new file mode 100644
index 000000000..662750bee
--- /dev/null
+++ b/qa/suites/rgw/upgrade/3-upgrade-sequence/rgws-then-osds.yaml
@@ -0,0 +1,27 @@
+tasks:
+- print: "ragweed prepare before upgrade"
+- ragweed:
+ client.0:
+ stages: prepare
+- print: "restarting upgraded rgws"
+- ceph.restart:
+ daemons: [rgw.*]
+- print: "ragweed check/prepare after rgw upgrade"
+- ragweed:
+ client.0:
+ stages: check
+ client.1:
+ stages: prepare
+- print: "restarting upgraded osds"
+- ceph.restart:
+ daemons: [osd.0, osd.2]
+- ceph.restart:
+ daemons: [osd.1, osd.3]
+- ceph.restart:
+ daemons: [osd.4, osd.6]
+- ceph.restart:
+ daemons: [osd.5, osd.7]
+- print: "ragweed check after osd upgrade"
+- ragweed:
+ client.1:
+ stages: check
diff --git a/qa/suites/rgw/upgrade/cluster.yaml b/qa/suites/rgw/upgrade/cluster.yaml
new file mode 120000
index 000000000..230ff0fda
--- /dev/null
+++ b/qa/suites/rgw/upgrade/cluster.yaml
@@ -0,0 +1 @@
+.qa/clusters/fixed-2.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/upgrade/frontend b/qa/suites/rgw/upgrade/frontend
new file mode 120000
index 000000000..926a53e83
--- /dev/null
+++ b/qa/suites/rgw/upgrade/frontend
@@ -0,0 +1 @@
+.qa/rgw_frontend \ No newline at end of file
diff --git a/qa/suites/rgw/upgrade/ignore-pg-availability.yaml b/qa/suites/rgw/upgrade/ignore-pg-availability.yaml
new file mode 120000
index 000000000..32340b1fa
--- /dev/null
+++ b/qa/suites/rgw/upgrade/ignore-pg-availability.yaml
@@ -0,0 +1 @@
+.qa/rgw/ignore-pg-availability.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/upgrade/objectstore b/qa/suites/rgw/upgrade/objectstore
new file mode 120000
index 000000000..f81d17413
--- /dev/null
+++ b/qa/suites/rgw/upgrade/objectstore
@@ -0,0 +1 @@
+.qa/objectstore_cephfs \ No newline at end of file
diff --git a/qa/suites/rgw/upgrade/overrides.yaml b/qa/suites/rgw/upgrade/overrides.yaml
new file mode 100644
index 000000000..00592d459
--- /dev/null
+++ b/qa/suites/rgw/upgrade/overrides.yaml
@@ -0,0 +1,20 @@
+overrides:
+ ceph:
+ log-ignorelist:
+ - overall HEALTH_
+ - \(MON_DOWN\)
+ - \(MGR_DOWN\)
+ - \(OSD_DOWN\)
+ - \(PG_AVAILABILITY\)
+ - \(PG_DEGRADED\)
+ - slow request
+ - failed to encode map
+ wait-for-scrub: false
+ conf:
+ mon:
+ mon warn on osd down out interval zero: false
+ osd:
+ osd min pg log entries: 1
+ osd max pg log entries: 2
+ ragweed:
+ rgw_server: client.0
diff --git a/qa/suites/rgw/verify/% b/qa/suites/rgw/verify/%
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/rgw/verify/%
diff --git a/qa/suites/rgw/verify/.qa b/qa/suites/rgw/verify/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/verify/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/verify/0-install.yaml b/qa/suites/rgw/verify/0-install.yaml
new file mode 100644
index 000000000..252dd1f7f
--- /dev/null
+++ b/qa/suites/rgw/verify/0-install.yaml
@@ -0,0 +1,20 @@
+tasks:
+- install:
+ # extra packages added for the rgw-datacache task
+ extra_system_packages:
+ deb: ['s3cmd']
+ rpm: ['s3cmd']
+- ceph:
+- openssl_keys:
+- rgw:
+ client.0:
+- tox: [client.0]
+
+overrides:
+ ceph:
+ conf:
+ global:
+ osd_min_pg_log_entries: 10
+ osd_max_pg_log_entries: 10
+ client:
+ rgw lc debug interval: 10
diff --git a/qa/suites/rgw/verify/clusters/.qa b/qa/suites/rgw/verify/clusters/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/verify/clusters/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/verify/clusters/fixed-2.yaml b/qa/suites/rgw/verify/clusters/fixed-2.yaml
new file mode 120000
index 000000000..230ff0fda
--- /dev/null
+++ b/qa/suites/rgw/verify/clusters/fixed-2.yaml
@@ -0,0 +1 @@
+.qa/clusters/fixed-2.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/verify/datacache/.qa b/qa/suites/rgw/verify/datacache/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/verify/datacache/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/verify/datacache/no_datacache.yaml b/qa/suites/rgw/verify/datacache/no_datacache.yaml
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/rgw/verify/datacache/no_datacache.yaml
diff --git a/qa/suites/rgw/verify/datacache/rgw-datacache.yaml b/qa/suites/rgw/verify/datacache/rgw-datacache.yaml
new file mode 100644
index 000000000..f5f8c94d5
--- /dev/null
+++ b/qa/suites/rgw/verify/datacache/rgw-datacache.yaml
@@ -0,0 +1,18 @@
+overrides:
+ ceph:
+ conf:
+ client:
+ rgw d3n l1 local datacache enabled: true
+ rgw enable ops log: true
+ rgw d3n l1 datacache persistent path: /tmp/rgw_datacache/
+ rgw d3n l1 datacache size: 10737418240
+ rgw:
+ datacache: true
+ datacache_path: /tmp/rgw_datacache
+tasks:
+- workunit:
+ clients:
+ client.0:
+ - rgw/run-datacache.sh
+ env:
+ RGW_DATACACHE_PATH: /tmp/rgw_datacache
diff --git a/qa/suites/rgw/verify/frontend b/qa/suites/rgw/verify/frontend
new file mode 120000
index 000000000..926a53e83
--- /dev/null
+++ b/qa/suites/rgw/verify/frontend
@@ -0,0 +1 @@
+.qa/rgw_frontend \ No newline at end of file
diff --git a/qa/suites/rgw/verify/ignore-pg-availability.yaml b/qa/suites/rgw/verify/ignore-pg-availability.yaml
new file mode 120000
index 000000000..32340b1fa
--- /dev/null
+++ b/qa/suites/rgw/verify/ignore-pg-availability.yaml
@@ -0,0 +1 @@
+.qa/rgw/ignore-pg-availability.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/verify/inline-data$/off.yaml b/qa/suites/rgw/verify/inline-data$/off.yaml
new file mode 100644
index 000000000..56d1bce10
--- /dev/null
+++ b/qa/suites/rgw/verify/inline-data$/off.yaml
@@ -0,0 +1,3 @@
+overrides:
+ rgw:
+ inline data: false
diff --git a/qa/suites/rgw/verify/inline-data$/on.yaml b/qa/suites/rgw/verify/inline-data$/on.yaml
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/rgw/verify/inline-data$/on.yaml
diff --git a/qa/suites/rgw/verify/msgr-failures/.qa b/qa/suites/rgw/verify/msgr-failures/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/verify/msgr-failures/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/verify/msgr-failures/few.yaml b/qa/suites/rgw/verify/msgr-failures/few.yaml
new file mode 100644
index 000000000..519288992
--- /dev/null
+++ b/qa/suites/rgw/verify/msgr-failures/few.yaml
@@ -0,0 +1,8 @@
+overrides:
+ ceph:
+ conf:
+ global:
+ ms inject socket failures: 5000
+ mon client directed command retry: 5
+ log-ignorelist:
+ - \(OSD_SLOW_PING_TIME
diff --git a/qa/suites/rgw/verify/objectstore b/qa/suites/rgw/verify/objectstore
new file mode 120000
index 000000000..f81d17413
--- /dev/null
+++ b/qa/suites/rgw/verify/objectstore
@@ -0,0 +1 @@
+.qa/objectstore_cephfs \ No newline at end of file
diff --git a/qa/suites/rgw/verify/overrides.yaml b/qa/suites/rgw/verify/overrides.yaml
new file mode 100644
index 000000000..aefee7b70
--- /dev/null
+++ b/qa/suites/rgw/verify/overrides.yaml
@@ -0,0 +1,13 @@
+overrides:
+ ceph:
+ conf:
+ client:
+ setuser: ceph
+ setgroup: ceph
+ debug rgw: 20
+ rgw crypt s3 kms backend: testing
+ rgw crypt s3 kms encryption keys: testkey-1=YmluCmJvb3N0CmJvb3N0LWJ1aWxkCmNlcGguY29uZgo= testkey-2=aWIKTWFrZWZpbGUKbWFuCm91dApzcmMKVGVzdGluZwo=
+ rgw crypt require ssl: false
+ rgw:
+ compression type: random
+ storage classes: LUKEWARM, FROZEN
diff --git a/qa/suites/rgw/verify/proto/.qa b/qa/suites/rgw/verify/proto/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/verify/proto/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/verify/proto/http.yaml b/qa/suites/rgw/verify/proto/http.yaml
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/rgw/verify/proto/http.yaml
diff --git a/qa/suites/rgw/verify/proto/https.yaml b/qa/suites/rgw/verify/proto/https.yaml
new file mode 100644
index 000000000..e0742b5b0
--- /dev/null
+++ b/qa/suites/rgw/verify/proto/https.yaml
@@ -0,0 +1,14 @@
+overrides:
+ openssl_keys:
+ root:
+ client: client.0
+ key-type: rsa:4096
+ cn: teuthology
+ install: [client.0]
+ rgw.client.0:
+ client: client.0
+ ca: root
+ embed-key: true
+ rgw:
+ client.0:
+ ssl certificate: rgw.client.0
diff --git a/qa/suites/rgw/verify/rgw_pool_type b/qa/suites/rgw/verify/rgw_pool_type
new file mode 120000
index 000000000..3bbd28e96
--- /dev/null
+++ b/qa/suites/rgw/verify/rgw_pool_type
@@ -0,0 +1 @@
+.qa/rgw_pool_type \ No newline at end of file
diff --git a/qa/suites/rgw/verify/s3tests-branch.yaml b/qa/suites/rgw/verify/s3tests-branch.yaml
new file mode 120000
index 000000000..bdcaca48a
--- /dev/null
+++ b/qa/suites/rgw/verify/s3tests-branch.yaml
@@ -0,0 +1 @@
+.qa/rgw/s3tests-branch.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/verify/sharding$ b/qa/suites/rgw/verify/sharding$
new file mode 120000
index 000000000..148393cbf
--- /dev/null
+++ b/qa/suites/rgw/verify/sharding$
@@ -0,0 +1 @@
+.qa/rgw_bucket_sharding \ No newline at end of file
diff --git a/qa/suites/rgw/verify/striping$/.qa b/qa/suites/rgw/verify/striping$/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/verify/striping$/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/verify/striping$/stripe-equals-chunk.yaml b/qa/suites/rgw/verify/striping$/stripe-equals-chunk.yaml
new file mode 100644
index 000000000..9b3e20a81
--- /dev/null
+++ b/qa/suites/rgw/verify/striping$/stripe-equals-chunk.yaml
@@ -0,0 +1,7 @@
+overrides:
+ ceph:
+ conf:
+ client:
+ # use default values where chunk-size=stripe-size
+ #rgw max chunk size: 4194304
+ #rgw obj stripe size: 4194304
diff --git a/qa/suites/rgw/verify/striping$/stripe-greater-than-chunk.yaml b/qa/suites/rgw/verify/striping$/stripe-greater-than-chunk.yaml
new file mode 100644
index 000000000..3bf40d6da
--- /dev/null
+++ b/qa/suites/rgw/verify/striping$/stripe-greater-than-chunk.yaml
@@ -0,0 +1,7 @@
+overrides:
+ ceph:
+ conf:
+ client:
+ rgw max chunk size: 4194304
+ # stripe size greater than (and not a multiple of) chunk size
+ rgw obj stripe size: 6291456
diff --git a/qa/suites/rgw/verify/supported-random-distro$ b/qa/suites/rgw/verify/supported-random-distro$
new file mode 120000
index 000000000..0862b4457
--- /dev/null
+++ b/qa/suites/rgw/verify/supported-random-distro$
@@ -0,0 +1 @@
+.qa/distros/supported-random-distro$ \ No newline at end of file
diff --git a/qa/suites/rgw/verify/tasks/+ b/qa/suites/rgw/verify/tasks/+
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/rgw/verify/tasks/+
diff --git a/qa/suites/rgw/verify/tasks/.qa b/qa/suites/rgw/verify/tasks/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/verify/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/verify/tasks/bucket-check.yaml b/qa/suites/rgw/verify/tasks/bucket-check.yaml
new file mode 100644
index 000000000..4955d41c6
--- /dev/null
+++ b/qa/suites/rgw/verify/tasks/bucket-check.yaml
@@ -0,0 +1,5 @@
+tasks:
+- workunit:
+ clients:
+ client.0:
+ - rgw/run-bucket-check.sh
diff --git a/qa/suites/rgw/verify/tasks/cls.yaml b/qa/suites/rgw/verify/tasks/cls.yaml
new file mode 100644
index 000000000..936c489bf
--- /dev/null
+++ b/qa/suites/rgw/verify/tasks/cls.yaml
@@ -0,0 +1,16 @@
+tasks:
+- workunit:
+ clients:
+ client.0:
+ - cls/test_cls_lock.sh
+ - cls/test_cls_log.sh
+ - cls/test_cls_refcount.sh
+ - cls/test_cls_rgw.sh
+ - cls/test_cls_rgw_gc.sh
+ - cls/test_cls_rgw_stats.sh
+ - cls/test_cls_cmpomap.sh
+ - cls/test_cls_2pc_queue.sh
+ - rgw/test_rgw_gc_log.sh
+ - rgw/test_rgw_obj.sh
+ - rgw/test_rgw_throttle.sh
+ - rgw/test_librgw_file.sh
diff --git a/qa/suites/rgw/verify/tasks/mp_reupload.yaml b/qa/suites/rgw/verify/tasks/mp_reupload.yaml
new file mode 100644
index 000000000..d817a1c35
--- /dev/null
+++ b/qa/suites/rgw/verify/tasks/mp_reupload.yaml
@@ -0,0 +1,5 @@
+tasks:
+- workunit:
+ clients:
+ client.0:
+ - rgw/test_rgw_s3_mp_reupload.sh
diff --git a/qa/suites/rgw/verify/tasks/ragweed.yaml b/qa/suites/rgw/verify/tasks/ragweed.yaml
new file mode 100644
index 000000000..6ac8f29a7
--- /dev/null
+++ b/qa/suites/rgw/verify/tasks/ragweed.yaml
@@ -0,0 +1,6 @@
+tasks:
+- ragweed:
+ client.0:
+ default-branch: ceph-reef
+ rgw_server: client.0
+ stages: prepare,check
diff --git a/qa/suites/rgw/verify/tasks/reshard.yaml b/qa/suites/rgw/verify/tasks/reshard.yaml
new file mode 100644
index 000000000..db65af36a
--- /dev/null
+++ b/qa/suites/rgw/verify/tasks/reshard.yaml
@@ -0,0 +1,5 @@
+tasks:
+- workunit:
+ clients:
+ client.0:
+ - rgw/run-reshard.sh
diff --git a/qa/suites/rgw/verify/tasks/s3tests-java.yaml b/qa/suites/rgw/verify/tasks/s3tests-java.yaml
new file mode 100644
index 000000000..722d78f8a
--- /dev/null
+++ b/qa/suites/rgw/verify/tasks/s3tests-java.yaml
@@ -0,0 +1,6 @@
+tasks:
+- s3tests-java:
+ client.0:
+ force-branch: ceph-reef
+ force-repo: https://github.com/ceph/java_s3tests.git
+
diff --git a/qa/suites/rgw/verify/tasks/s3tests.yaml b/qa/suites/rgw/verify/tasks/s3tests.yaml
new file mode 100644
index 000000000..573cffbc3
--- /dev/null
+++ b/qa/suites/rgw/verify/tasks/s3tests.yaml
@@ -0,0 +1,4 @@
+tasks:
+- s3tests:
+ client.0:
+ rgw_server: client.0
diff --git a/qa/suites/rgw/verify/tasks/versioning.yaml b/qa/suites/rgw/verify/tasks/versioning.yaml
new file mode 100644
index 000000000..ab928f270
--- /dev/null
+++ b/qa/suites/rgw/verify/tasks/versioning.yaml
@@ -0,0 +1,5 @@
+tasks:
+- workunit:
+ clients:
+ client.0:
+ - rgw/run-versioning.sh
diff --git a/qa/suites/rgw/verify/validater/.qa b/qa/suites/rgw/verify/validater/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/verify/validater/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/verify/validater/lockdep.yaml b/qa/suites/rgw/verify/validater/lockdep.yaml
new file mode 100644
index 000000000..941fe12b1
--- /dev/null
+++ b/qa/suites/rgw/verify/validater/lockdep.yaml
@@ -0,0 +1,7 @@
+overrides:
+ ceph:
+ conf:
+ osd:
+ lockdep: true
+ mon:
+ lockdep: true
diff --git a/qa/suites/rgw/verify/validater/valgrind.yaml b/qa/suites/rgw/verify/validater/valgrind.yaml
new file mode 100644
index 000000000..898067e68
--- /dev/null
+++ b/qa/suites/rgw/verify/validater/valgrind.yaml
@@ -0,0 +1,21 @@
+overrides:
+ install:
+ ceph:
+ #debuginfo: true
+ rgw:
+ client.0:
+ valgrind: [--tool=memcheck, --max-threads=1024] # http://tracker.ceph.com/issues/25214
+ ceph:
+ conf:
+ global:
+ osd heartbeat grace: 40
+ mon:
+ mon osd crush smoke test: false
+ osd:
+ osd fast shutdown: false
+# valgrind:
+# mon: [--tool=memcheck, --leak-check=full, --show-reachable=yes]
+# osd: [--tool=memcheck]
+# mds: [--tool=memcheck]
+## https://tracker.ceph.com/issues/38621
+## mgr: [--tool=memcheck]
diff --git a/qa/suites/rgw/website/% b/qa/suites/rgw/website/%
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/qa/suites/rgw/website/%
diff --git a/qa/suites/rgw/website/.qa b/qa/suites/rgw/website/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/website/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/website/clusters/.qa b/qa/suites/rgw/website/clusters/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/website/clusters/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/website/clusters/fixed-2.yaml b/qa/suites/rgw/website/clusters/fixed-2.yaml
new file mode 120000
index 000000000..230ff0fda
--- /dev/null
+++ b/qa/suites/rgw/website/clusters/fixed-2.yaml
@@ -0,0 +1 @@
+.qa/clusters/fixed-2.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/website/frontend b/qa/suites/rgw/website/frontend
new file mode 120000
index 000000000..926a53e83
--- /dev/null
+++ b/qa/suites/rgw/website/frontend
@@ -0,0 +1 @@
+.qa/rgw_frontend \ No newline at end of file
diff --git a/qa/suites/rgw/website/http.yaml b/qa/suites/rgw/website/http.yaml
new file mode 100644
index 000000000..24cb6fc5d
--- /dev/null
+++ b/qa/suites/rgw/website/http.yaml
@@ -0,0 +1 @@
+# https tests would need to generate wildcard certificates; only test http for now
diff --git a/qa/suites/rgw/website/ignore-pg-availability.yaml b/qa/suites/rgw/website/ignore-pg-availability.yaml
new file mode 120000
index 000000000..32340b1fa
--- /dev/null
+++ b/qa/suites/rgw/website/ignore-pg-availability.yaml
@@ -0,0 +1 @@
+.qa/rgw/ignore-pg-availability.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/website/overrides.yaml b/qa/suites/rgw/website/overrides.yaml
new file mode 100644
index 000000000..80397571e
--- /dev/null
+++ b/qa/suites/rgw/website/overrides.yaml
@@ -0,0 +1,26 @@
+overrides:
+ install:
+ ceph:
+ conf:
+ global:
+ osd_min_pg_log_entries: 10
+ osd_max_pg_log_entries: 10
+ client:
+ setuser: ceph
+ setgroup: ceph
+ debug rgw: 20
+ rgw crypt s3 kms backend: testing
+ rgw crypt s3 kms encryption keys: testkey-1=YmluCmJvb3N0CmJvb3N0LWJ1aWxkCmNlcGguY29uZgo= testkey-2=aWIKTWFrZWZpbGUKbWFuCm91dApzcmMKVGVzdGluZwo=
+ rgw crypt require ssl: false
+ rgw enable static website: True
+ client.0:
+ rgw lc debug interval: 10
+ client.1:
+ rgw enable apis: s3website
+ rgw:
+ client.0:
+ valgrind: [--tool=memcheck, --max-threads=1024] # http://tracker.ceph.com/issues/25214
+ client.1:
+ valgrind: [--tool=memcheck, --max-threads=1024] # http://tracker.ceph.com/issues/25214
+ s3tests:
+ calling-format: subdomain
diff --git a/qa/suites/rgw/website/s3tests-branch.yaml b/qa/suites/rgw/website/s3tests-branch.yaml
new file mode 120000
index 000000000..bdcaca48a
--- /dev/null
+++ b/qa/suites/rgw/website/s3tests-branch.yaml
@@ -0,0 +1 @@
+.qa/rgw/s3tests-branch.yaml \ No newline at end of file
diff --git a/qa/suites/rgw/website/tasks/.qa b/qa/suites/rgw/website/tasks/.qa
new file mode 120000
index 000000000..a602a0353
--- /dev/null
+++ b/qa/suites/rgw/website/tasks/.qa
@@ -0,0 +1 @@
+../.qa/ \ No newline at end of file
diff --git a/qa/suites/rgw/website/tasks/s3tests-website.yaml b/qa/suites/rgw/website/tasks/s3tests-website.yaml
new file mode 100644
index 000000000..da10a6f1c
--- /dev/null
+++ b/qa/suites/rgw/website/tasks/s3tests-website.yaml
@@ -0,0 +1,17 @@
+tasks:
+- install:
+- ceph:
+- dnsmasq:
+ client.0:
+ s3.: client.0
+ s3-website.: client.1
+- rgw:
+ client.0:
+ dns-name: s3.
+ client.1:
+ dns-s3website-name: s3-website.
+- tox: [client.0]
+- s3tests:
+ client.0:
+ rgw_server: client.0
+ rgw_website_server: client.1
diff --git a/qa/suites/rgw/website/ubuntu_latest.yaml b/qa/suites/rgw/website/ubuntu_latest.yaml
new file mode 120000
index 000000000..3a09f9abb
--- /dev/null
+++ b/qa/suites/rgw/website/ubuntu_latest.yaml
@@ -0,0 +1 @@
+.qa/distros/supported/ubuntu_latest.yaml \ No newline at end of file