diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:54:28 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:54:28 +0000 |
commit | e6918187568dbd01842d8d1d2c808ce16a894239 (patch) | |
tree | 64f88b554b444a49f656b6c656111a145cbbaa28 /qa/tasks/rgw_module.py | |
parent | Initial commit. (diff) | |
download | ceph-upstream/18.2.2.tar.xz ceph-upstream/18.2.2.zip |
Adding upstream version 18.2.2.upstream/18.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'qa/tasks/rgw_module.py')
-rw-r--r-- | qa/tasks/rgw_module.py | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/qa/tasks/rgw_module.py b/qa/tasks/rgw_module.py new file mode 100644 index 000000000..0d2ca9094 --- /dev/null +++ b/qa/tasks/rgw_module.py @@ -0,0 +1,53 @@ +import logging +import yaml + +from teuthology import misc as teuthology + + +log = logging.getLogger(__name__) + + +def _shell(ctx, cluster_name, remote, args, extra_cephadm_args=[], **kwargs): + teuthology.get_testdir(ctx) + return remote.run( + args=[ + 'sudo', + ctx.cephadm, + '--image', ctx.ceph[cluster_name].image, + 'shell', + '-c', '/etc/ceph/{}.conf'.format(cluster_name), + '-k', '/etc/ceph/{}.client.admin.keyring'.format(cluster_name), + '--fsid', ctx.ceph[cluster_name].fsid, + ] + extra_cephadm_args + [ + '--', + ] + args, + **kwargs + ) + + +def apply(ctx, config): + """ + Apply spec + + tasks: + - rgw_module.apply: + specs: + - rgw_realm: myrealm1 + rgw_zonegroup: myzonegroup1 + rgw_zone: myzone1 + placement: + hosts: + - ceph-node-0 + - ceph-node-1 + spec: + rgw_frontend_port: 5500 + """ + cluster_name = config.get('cluster', 'ceph') + specs = config.get('specs', []) + y = yaml.dump_all(specs) + log.info(f'Applying spec(s):\n{y}') + _shell( + ctx, cluster_name, ctx.ceph[cluster_name].bootstrap_remote, + ['ceph', 'rgw', 'realm', 'bootstrap', '-i', '-'], + stdin=y, + ) |