]
else:
osd_type = 'bluestore'
- config_file = '/etc/ceph/ceph.conf'
- if os.path.exists(config_file):
- config = read_config(config_file)
- if config.has_section('osd') and config.has_option('osd', 'osd_objectstore'):
- osd_type = config.get('osd', 'osd_objectstore')
+ if 'objectstore' in ctx and ctx.objectstore:
+ osd_type = ctx.objectstore
+
cmd = [
'activate',
'--'+ osd_type,
'--meta-json',
help='JSON dict of additional metadata'
)
+ parser_deploy.add_argument(
+ '--objectstore',
+ help='Set object store'
+ )
parser_deploy.add_argument(
'--extra-container-args',
action='append',
'Reconfiguring' if reconfig else 'Deploying',
daemon_spec.name(), daemon_spec.host))
+ cmd = [
+ '--name', daemon_spec.name(),
+ '--meta-json', json.dumps({
+ 'service_name': daemon_spec.service_name,
+ 'ports': daemon_spec.ports,
+ 'ip': daemon_spec.ip,
+ 'deployed_by': self.mgr.get_active_mgr_digests(),
+ 'rank': daemon_spec.rank,
+ 'rank_generation': daemon_spec.rank_generation,
+ 'extra_container_args': extra_container_args,
+ 'extra_entrypoint_args': extra_entrypoint_args
+ }),
+ '--config-json', '-',
+ ]
+
+ if daemon_spec.daemon_type == 'osd':
+ if hasattr(self.mgr.spec_store.active_specs.get(daemon_spec.service_name), "objectstore"):
+ osd_objectstore = self.mgr.spec_store.active_specs.get(daemon_spec.service_name).objectstore
+ else:
+ osd_objectstore = 'bluestore'
+ cmd += '--objectstore', osd_objectstore,
+
out, err, code = await self._run_cephadm(
daemon_spec.host, daemon_spec.name(), 'deploy',
- [
- '--name', daemon_spec.name(),
- '--meta-json', json.dumps({
- 'service_name': daemon_spec.service_name,
- 'ports': daemon_spec.ports,
- 'ip': daemon_spec.ip,
- 'deployed_by': self.mgr.get_active_mgr_digests(),
- 'rank': daemon_spec.rank,
- 'rank_generation': daemon_spec.rank_generation,
- 'extra_container_args': extra_container_args,
- 'extra_entrypoint_args': extra_entrypoint_args
- }),
- '--config-json', '-',
- ] + daemon_spec.extra_args,
+ cmd + daemon_spec.extra_args,
stdin=json.dumps(daemon_spec.final_config),
image=image,
)