]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
test/rgw/notification: fix rabbitmq dependency for rocky10 68021/head
authorYuval Lifshitz <ylifshit@ibm.com>
Thu, 26 Mar 2026 10:43:21 +0000 (10:43 +0000)
committerYuval Lifshitz <ylifshit@ibm.com>
Thu, 26 Mar 2026 15:25:49 +0000 (15:25 +0000)
Fixes: https://tracker.ceph.com/issues/75712
Signed-off-by: Yuval Lifshitz <ylifshit@ibm.com>
qa/tasks/rabbitmq.py

index e9e39cfdf4a2292c8cf999dd6a635c0834c4581e..91de311691056b6bee741b354ebc69d4e5b0e572 100644 (file)
@@ -19,6 +19,9 @@ def install_rabbitmq(ctx, config):
     assert isinstance(config, dict)
     log.info('Installing RabbitMQ...')
 
+    os_version = teuthology.get_distro_version(ctx)
+    os_major_version = int(os_version.split('.')[0])
+
     for (client, _) in config.items():
         (remote,) = ctx.cluster.only(client).remotes.keys()
 
@@ -26,20 +29,56 @@ def install_rabbitmq(ctx, config):
              'sudo', 'dnf', '-y', 'install', 'epel-release'
         ])
 
-        link1 = 'https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh'
-
-        ctx.cluster.only(client).run(args=[
-             'curl', '-s', link1, run.Raw('|'), 'sudo', 'bash'
-        ])
+        if os_major_version >= 10:
+            # packagecloud repos don't support EL10, use RabbitMQ yum
+            # repos with el/9 packages which are compatible with EL10
+            repo_el_version = '9'
+            erlang_repo = (
+                '[rabbitmq-erlang]\n'
+                'name=rabbitmq-erlang\n'
+                'baseurl=https://yum1.rabbitmq.com/erlang/el/{v}/$basearch\n'
+                '        https://yum2.rabbitmq.com/erlang/el/{v}/$basearch\n'
+                'repo_gpgcheck=0\n'
+                'enabled=1\n'
+                'gpgcheck=0\n'
+                'sslverify=1\n'
+                'sslcacert=/etc/pki/tls/certs/ca-bundle.crt\n'
+            ).format(v=repo_el_version)
+            ctx.cluster.only(client).run(args=[
+                'sudo', 'bash', '-c',
+                'echo -e \'{repo}\' > /etc/yum.repos.d/rabbitmq-erlang.repo'.format(
+                    repo=erlang_repo),
+            ])
 
-        ctx.cluster.only(client).run(args=[
-             'sudo', 'dnf', '-y', 'install', 'erlang'
-        ])
+            rabbitmq_repo = (
+                '[rabbitmq-server]\n'
+                'name=rabbitmq-server\n'
+                'baseurl=https://yum2.rabbitmq.com/rabbitmq/el/{v}/noarch\n'
+                '        https://yum1.rabbitmq.com/rabbitmq/el/{v}/noarch\n'
+                'repo_gpgcheck=0\n'
+                'enabled=1\n'
+                'gpgcheck=0\n'
+                'sslverify=1\n'
+                'sslcacert=/etc/pki/tls/certs/ca-bundle.crt\n'
+            ).format(v=repo_el_version)
+            ctx.cluster.only(client).run(args=[
+                'sudo', 'bash', '-c',
+                'echo -e \'{repo}\' > /etc/yum.repos.d/rabbitmq-server.repo'.format(
+                    repo=rabbitmq_repo),
+            ])
+        else:
+            link1 = 'https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh'
+            ctx.cluster.only(client).run(args=[
+                 'curl', '-s', link1, run.Raw('|'), 'sudo', 'bash'
+            ])
 
-        link2 = 'https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh'
+            link2 = 'https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh'
+            ctx.cluster.only(client).run(args=[
+                 'curl', '-s', link2, run.Raw('|'), 'sudo', 'bash'
+            ])
 
         ctx.cluster.only(client).run(args=[
-             'curl', '-s', link2, run.Raw('|'), 'sudo', 'bash'
+             'sudo', 'dnf', '-y', 'install', 'erlang'
         ])
 
         ctx.cluster.only(client).run(args=[