roles:
-- [mon.a, osd.0, osd.1, client.0, node-exporter.a]
-- [mgr.x, osd.2, osd.3, client.1, prometheus.a, node-exporter.b]
+- [mon.a, mgr.x, osd.0, osd.1, client.0, node-exporter.a]
+- [osd.2, osd.3, client.1, prometheus.a, node-exporter.b]
overrides:
ceph:
conf:
osd_cmd = ['ceph', 'orch', 'apply', 'osd', '--all-available-devices']
if raw:
osd_cmd.extend(['--method', 'raw'])
+ osd_type = config.get('osd_type')
+ if osd_type:
+ osd_cmd.extend(['--osd-type', osd_type])
_shell(ctx, cluster_name, remote, osd_cmd)
# expect the number of scratch devs
num_osds = sum(map(len, devs_by_remote.values()))
pass
+@contextlib.contextmanager
+def check_enable_crimson(ctx, config):
+ """
+ Enable crimson-related flags if crimson_compat is set.
+ """
+ cluster_name = config['cluster']
+ if config.get('crimson_compat', False):
+ log.info('Enabling crimson flags...')
+ remote = ctx.ceph[cluster_name].bootstrap_remote
+ _shell(ctx, cluster_name, remote, [
+ 'ceph', 'osd', 'set-allow-crimson', '--yes-i-really-mean-it'
+ ])
+ yield
+
+
@contextlib.contextmanager
def ceph_mdss(ctx, config):
"""
lambda: module_setup(ctx=ctx, config=config),
lambda: ceph_mgrs(ctx=ctx, config=config),
lambda: conf_setup(ctx=ctx, config=config),
+ lambda: check_enable_crimson(ctx=ctx, config=config),
lambda: ceph_osds(ctx=ctx, config=config),
lambda: ceph_mdss(ctx=ctx, config=config),
lambda: cephfs_setup(ctx=ctx, config=config),