For the tests covering Kafka and RabbitMQ security, the RGW will need to accept use/password without TLS connection between the client and the RGW.
So, the cluster will have to be started with the following ``rgw_allow_notification_secrets_in_cleartext`` parameter set to ``true``.
-The test suite can be run against a multisite setup, in the configuration file we will have to decide which RGW and which cluster will be used for the test.
-For example, if the ``test-rgw-multisite.sh`` script is used to setup multisite, and we want to run the test agianst the first RGW in the first cluster,
+The test suite can be run against a multisite setup, in the configuration file we will have to decide which RGW and which cluster will be used for the test,
+and using which version (v1 or v2) of topics/notifications we should use. By default, a new cluster would use v2, which means that if a realm was never defined, v1 cannot be used.
+For example, if the ``test-rgw-multisite.sh`` script is used to setup multisite, and we want to test v1 against the first RGW in the first cluster,
we would need the following configuration file::
[DEFAULT]
host = localhost
zonegroup = zg1
cluster = c1
+ version = v1
[s3 main]
access_key = 1234567890
import configparser
import os
+from .api import admin
def setup():
cfg = configparser.RawConfigParser()
global default_cluster
default_cluster = defaults.get("cluster")
+
+ version = defaults.get("version")
+ if version == "v1":
+ _, result = admin(['zonegroup', 'modify', '--disable-feature=notification_v2'], default_cluster)
+ if result != 0:
+ raise RuntimeError('Failed to disable v2 notifications feature. error: '+str(result))
+ _, result = admin(['period', 'update', '--commit'], default_cluster)
+ if result != 0:
+ raise RuntimeError('Failed to commit changes to period. error: '+str(result))
+ elif version != "v2":
+ raise RuntimeError('Invalid notification version: '+version)
global main_access_key
main_access_key = cfg.get('s3 main',"access_key")