mirror of
https://github.com/ceph/ceph
synced 2025-04-11 04:02:04 +00:00
cephadm: add more ContainerDeamonForm methods to the monitoring class
Add methods customize_{container_args,process_args} & default_entrypoint to the monitoring daemon type class. Use those methods in the get_container function. Signed-off-by: John Mulligan <jmulligan@redhat.com>
This commit is contained in:
parent
c701621ad9
commit
c423850fce
@ -872,6 +872,31 @@ class Monitoring(ContainerDaemonForm):
|
|||||||
data_dir = self.identity.data_dir(ctx.data_dir)
|
data_dir = self.identity.data_dir(ctx.data_dir)
|
||||||
mounts.update(self._get_container_mounts(data_dir))
|
mounts.update(self._get_container_mounts(data_dir))
|
||||||
|
|
||||||
|
def customize_container_args(
|
||||||
|
self, ctx: CephadmContext, args: List[str]
|
||||||
|
) -> None:
|
||||||
|
uid, _ = self.uid_gid(ctx)
|
||||||
|
monitoring_args = [
|
||||||
|
'--user',
|
||||||
|
str(uid),
|
||||||
|
# FIXME: disable cpu/memory limits for the time being (not supported
|
||||||
|
# by ubuntu 18.04 kernel!)
|
||||||
|
]
|
||||||
|
args.extend(monitoring_args)
|
||||||
|
if self.identity.daemon_type == 'node-exporter':
|
||||||
|
# in order to support setting '--path.procfs=/host/proc','--path.sysfs=/host/sys',
|
||||||
|
# '--path.rootfs=/rootfs' for node-exporter we need to disable selinux separation
|
||||||
|
# between the node-exporter container and the host to avoid selinux denials
|
||||||
|
args.extend(['--security-opt', 'label=disable'])
|
||||||
|
|
||||||
|
def customize_process_args(
|
||||||
|
self, ctx: CephadmContext, args: List[str]
|
||||||
|
) -> None:
|
||||||
|
args.extend(self.get_daemon_args())
|
||||||
|
|
||||||
|
def default_entrypoint(self) -> str:
|
||||||
|
return ''
|
||||||
|
|
||||||
##################################
|
##################################
|
||||||
|
|
||||||
|
|
||||||
@ -2939,22 +2964,10 @@ def get_container(
|
|||||||
name = ident.daemon_name
|
name = ident.daemon_name
|
||||||
ceph_args = ['-n', name, '-f']
|
ceph_args = ['-n', name, '-f']
|
||||||
elif daemon_type in Monitoring.components:
|
elif daemon_type in Monitoring.components:
|
||||||
entrypoint = ''
|
|
||||||
uid, gid = Monitoring.extract_uid_gid(ctx, daemon_type)
|
|
||||||
monitoring_args = [
|
|
||||||
'--user',
|
|
||||||
str(uid),
|
|
||||||
# FIXME: disable cpu/memory limits for the time being (not supported
|
|
||||||
# by ubuntu 18.04 kernel!)
|
|
||||||
]
|
|
||||||
container_args.extend(monitoring_args)
|
|
||||||
if daemon_type == 'node-exporter':
|
|
||||||
# in order to support setting '--path.procfs=/host/proc','--path.sysfs=/host/sys',
|
|
||||||
# '--path.rootfs=/rootfs' for node-exporter we need to disable selinux separation
|
|
||||||
# between the node-exporter container and the host to avoid selinux denials
|
|
||||||
container_args.extend(['--security-opt', 'label=disable'])
|
|
||||||
monitoring = Monitoring.create(ctx, ident)
|
monitoring = Monitoring.create(ctx, ident)
|
||||||
d_args.extend(monitoring.get_daemon_args())
|
entrypoint = monitoring.default_entrypoint()
|
||||||
|
monitoring.customize_container_args(ctx, container_args)
|
||||||
|
monitoring.customize_process_args(ctx, d_args)
|
||||||
mounts = get_container_mounts(ctx, ident)
|
mounts = get_container_mounts(ctx, ident)
|
||||||
elif daemon_type in Tracing.components:
|
elif daemon_type in Tracing.components:
|
||||||
tracing = Tracing.create(ctx, ident)
|
tracing = Tracing.create(ctx, ident)
|
||||||
|
Loading…
Reference in New Issue
Block a user