Skip to content

Commit 594a450

Browse files
cephadm: replace get_data_dir with DaemonIdentity.data_dir
Replace the near trivial get_data_dir call with a method on the DaemonIdentity type. Signed-off-by: John Mulligan <jmulligan@redhat.com>
1 parent 353a927 commit 594a450

File tree

1 file changed

+23
-32
lines changed

1 file changed

+23
-32
lines changed

src/cephadm/cephadm.py

Lines changed: 23 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1566,7 +1566,7 @@ def _infer_config(ctx: CephadmContext) -> Any:
15661566

15671567
def config_path(daemon_type: str, daemon_name: str) -> str:
15681568
ident = DaemonIdentity(ctx.fsid, daemon_type, daemon_name)
1569-
data_dir = get_data_dir(ident, ctx.data_dir)
1569+
data_dir = ident.data_dir(ctx.data_dir)
15701570
return os.path.join(data_dir, 'config')
15711571

15721572
def get_mon_daemon_name(fsid: str) -> Optional[str]:
@@ -1771,12 +1771,6 @@ def infer_local_ceph_image(ctx: CephadmContext, container_path: str) -> Optional
17711771
return None
17721772

17731773

1774-
def get_data_dir(ident: 'DaemonIdentity', data_dir: str) -> str:
1775-
return os.path.join(
1776-
data_dir, ident.fsid, f'{ident.daemon_type}.{ident.daemon_id}'
1777-
)
1778-
1779-
17801774
def get_log_dir(fsid, log_dir):
17811775
# type: (str, str) -> str
17821776
return os.path.join(log_dir, fsid)
@@ -1801,7 +1795,7 @@ def make_data_dir(
18011795
if uid is None or gid is None:
18021796
uid, gid = extract_uid_gid(ctx)
18031797
make_data_dir_base(ident.fsid, ctx.data_dir, uid, gid)
1804-
data_dir = get_data_dir(ident, ctx.data_dir)
1798+
data_dir = ident.data_dir(ctx.data_dir)
18051799
makedirs(data_dir, uid, gid, DATA_DIR_MODE)
18061800
return data_dir
18071801

@@ -2172,38 +2166,38 @@ def create_daemon_dirs(
21722166
config_dir = ''
21732167
data_dir_root = ''
21742168
if daemon_type == 'prometheus':
2175-
data_dir_root = get_data_dir(ident, ctx.data_dir)
2169+
data_dir_root = ident.data_dir(ctx.data_dir)
21762170
config_dir = 'etc/prometheus'
21772171
makedirs(os.path.join(data_dir_root, config_dir), uid, gid, 0o755)
21782172
makedirs(os.path.join(data_dir_root, config_dir, 'alerting'), uid, gid, 0o755)
21792173
makedirs(os.path.join(data_dir_root, 'data'), uid, gid, 0o755)
21802174
recursive_chown(os.path.join(data_dir_root, 'etc'), uid, gid)
21812175
recursive_chown(os.path.join(data_dir_root, 'data'), uid, gid)
21822176
elif daemon_type == 'grafana':
2183-
data_dir_root = get_data_dir(ident, ctx.data_dir)
2177+
data_dir_root = ident.data_dir(ctx.data_dir)
21842178
config_dir = 'etc/grafana'
21852179
makedirs(os.path.join(data_dir_root, config_dir), uid, gid, 0o755)
21862180
makedirs(os.path.join(data_dir_root, config_dir, 'certs'), uid, gid, 0o755)
21872181
makedirs(os.path.join(data_dir_root, config_dir, 'provisioning/datasources'), uid, gid, 0o755)
21882182
makedirs(os.path.join(data_dir_root, 'data'), uid, gid, 0o755)
21892183
touch(os.path.join(data_dir_root, 'data', 'grafana.db'), uid, gid)
21902184
elif daemon_type == 'alertmanager':
2191-
data_dir_root = get_data_dir(ident, ctx.data_dir)
2185+
data_dir_root = ident.data_dir(ctx.data_dir)
21922186
config_dir = 'etc/alertmanager'
21932187
makedirs(os.path.join(data_dir_root, config_dir), uid, gid, 0o755)
21942188
makedirs(os.path.join(data_dir_root, config_dir, 'data'), uid, gid, 0o755)
21952189
elif daemon_type == 'promtail':
2196-
data_dir_root = get_data_dir(ident, ctx.data_dir)
2190+
data_dir_root = ident.data_dir(ctx.data_dir)
21972191
config_dir = 'etc/promtail'
21982192
makedirs(os.path.join(data_dir_root, config_dir), uid, gid, 0o755)
21992193
makedirs(os.path.join(data_dir_root, 'data'), uid, gid, 0o755)
22002194
elif daemon_type == 'loki':
2201-
data_dir_root = get_data_dir(ident, ctx.data_dir)
2195+
data_dir_root = ident.data_dir(ctx.data_dir)
22022196
config_dir = 'etc/loki'
22032197
makedirs(os.path.join(data_dir_root, config_dir), uid, gid, 0o755)
22042198
makedirs(os.path.join(data_dir_root, 'data'), uid, gid, 0o755)
22052199
elif daemon_type == 'node-exporter':
2206-
data_dir_root = get_data_dir(ident, ctx.data_dir)
2200+
data_dir_root = ident.data_dir(ctx.data_dir)
22072201
config_dir = 'etc/node-exporter'
22082202
makedirs(os.path.join(data_dir_root, config_dir), uid, gid, 0o755)
22092203
recursive_chown(os.path.join(data_dir_root, 'etc'), uid, gid)
@@ -2448,7 +2442,7 @@ def get_container_binds(
24482442
binds.extend(CephNvmeof.get_container_binds())
24492443
elif ident.daemon_type == CustomContainer.daemon_type:
24502444
cc = CustomContainer.init(ctx, ident.fsid, ident.daemon_id)
2451-
data_dir = get_data_dir(ident, ctx.data_dir)
2445+
data_dir = ident.data_dir(ctx.data_dir)
24522446
binds.extend(cc.get_container_binds(data_dir))
24532447

24542448
return binds
@@ -2541,7 +2535,7 @@ def get_container_mounts(
25412535
assert ident.fsid
25422536
assert ident.daemon_id
25432537
if daemon_type in Ceph.daemons:
2544-
data_dir = get_data_dir(ident, ctx.data_dir)
2538+
data_dir = ident.data_dir(ctx.data_dir)
25452539
if daemon_type == 'rgw':
25462540
cdata_dir = '/var/lib/ceph/radosgw/ceph-rgw.%s' % (ident.daemon_id)
25472541
else:
@@ -2555,7 +2549,7 @@ def get_container_mounts(
25552549
mounts[data_dir + '/keyring'] = '/etc/ceph/ceph.client.%s.%s.keyring' % (daemon_type, ident.daemon_id)
25562550

25572551
if daemon_type in Monitoring.components:
2558-
data_dir = get_data_dir(ident, ctx.data_dir)
2552+
data_dir = ident.data_dir(ctx.data_dir)
25592553
log_dir = get_log_dir(fsid, ctx.log_dir)
25602554
if daemon_type == 'prometheus':
25612555
mounts[os.path.join(data_dir, 'etc/prometheus')] = '/etc/prometheus:Z'
@@ -2581,20 +2575,20 @@ def get_container_mounts(
25812575
mounts[os.path.join(data_dir, 'etc/alertmanager')] = '/etc/alertmanager:Z'
25822576

25832577
if daemon_type == NFSGanesha.daemon_type:
2584-
data_dir = get_data_dir(ident, ctx.data_dir)
2578+
data_dir = ident.data_dir(ctx.data_dir)
25852579
nfs_ganesha = NFSGanesha.init(ctx, fsid, ident.daemon_id)
25862580
mounts.update(nfs_ganesha.get_container_mounts(data_dir))
25872581

25882582
if daemon_type == HAproxy.daemon_type:
2589-
data_dir = get_data_dir(ident, ctx.data_dir)
2583+
data_dir = ident.data_dir(ctx.data_dir)
25902584
mounts.update(HAproxy.get_container_mounts(data_dir))
25912585

25922586
if daemon_type == CephNvmeof.daemon_type:
2593-
data_dir = get_data_dir(ident, ctx.data_dir)
2587+
data_dir = ident.data_dir(ctx.data_dir)
25942588
mounts.update(CephNvmeof.get_container_mounts(data_dir))
25952589

25962590
if daemon_type == CephIscsi.daemon_type:
2597-
data_dir = get_data_dir(ident, ctx.data_dir)
2591+
data_dir = ident.data_dir(ctx.data_dir)
25982592
# Removes ending ".tcmu" from data_dir a tcmu-runner uses the same data_dir
25992593
# as rbd-runner-api
26002594
if data_dir.endswith('.tcmu'):
@@ -2603,12 +2597,12 @@ def get_container_mounts(
26032597
mounts.update(CephIscsi.get_container_mounts(data_dir, log_dir))
26042598

26052599
if daemon_type == Keepalived.daemon_type:
2606-
data_dir = get_data_dir(ident, ctx.data_dir)
2600+
data_dir = ident.data_dir(ctx.data_dir)
26072601
mounts.update(Keepalived.get_container_mounts(data_dir))
26082602

26092603
if daemon_type == CustomContainer.daemon_type:
26102604
cc = CustomContainer.init(ctx, fsid, ident.daemon_id)
2611-
data_dir = get_data_dir(ident, ctx.data_dir)
2605+
data_dir = ident.data_dir(ctx.data_dir)
26122606
mounts.update(cc.get_container_mounts(data_dir))
26132607

26142608
_update_podman_mounts(ctx, mounts)
@@ -2870,7 +2864,7 @@ def deploy_daemon(
28702864
else:
28712865
raise Error("TCP Port(s) '{}' required for {} already in use".format(','.join(map(str, endpoints)), daemon_type))
28722866

2873-
data_dir = get_data_dir(ident, ctx.data_dir)
2867+
data_dir = ident.data_dir(ctx.data_dir)
28742868
if deployment_type == DeploymentType.RECONFIG and not os.path.exists(data_dir):
28752869
raise Error('cannot reconfig, data path %s does not exist' % data_dir)
28762870
if daemon_type == 'mon' and not os.path.exists(data_dir):
@@ -2885,7 +2879,7 @@ def deploy_daemon(
28852879
# --mkfs
28862880
create_daemon_dirs(ctx, ident, uid, gid)
28872881
assert ident.daemon_type == 'mon'
2888-
mon_dir = get_data_dir(ident, ctx.data_dir)
2882+
mon_dir = ident.data_dir(ctx.data_dir)
28892883
log_dir = get_log_dir(ident.fsid, ctx.log_dir)
28902884
CephContainer(
28912885
ctx,
@@ -3096,7 +3090,7 @@ def deploy_daemon_units(
30963090
daemon_type = ident.daemon_type
30973091
daemon_id = ident.daemon_id
30983092

3099-
data_dir = get_data_dir(ident, ctx.data_dir)
3093+
data_dir = ident.data_dir(ctx.data_dir)
31003094
run_file_path = data_dir + '/unit.run'
31013095
meta_file_path = data_dir + '/unit.meta'
31023096
with write_new(run_file_path) as f, write_new(meta_file_path) as metaf:
@@ -4015,10 +4009,7 @@ def from_primary_and_opts(
40154009
if not vmounts:
40164010
vmounts = primary.volume_mounts
40174011
else:
4018-
data_dir = data_dir or get_data_dir(
4019-
primary.identity,
4020-
ctx.data_dir,
4021-
)
4012+
data_dir = data_dir or primary.identity.data_dir(ctx.data_dir)
40224013
vmounts = {
40234014
os.path.join(data_dir, src): dst
40244015
for src, dst in vmounts.items()
@@ -4962,7 +4953,7 @@ def prepare_create_mon(
49624953
logger.info('Creating mon...')
49634954
ident = DaemonIdentity(fsid, 'mon', mon_id)
49644955
create_daemon_dirs(ctx, ident, uid, gid)
4965-
mon_dir = get_data_dir(ident, ctx.data_dir)
4956+
mon_dir = ident.data_dir(ctx.data_dir)
49664957
log_dir = get_log_dir(fsid, ctx.log_dir)
49674958
out = CephContainer(
49684959
ctx,
@@ -7328,7 +7319,7 @@ def command_rm_daemon(ctx):
73287319
verbosity=CallVerbosity.DEBUG)
73297320

73307321
ident = DaemonIdentity(ctx.fsid, daemon_type, daemon_id)
7331-
data_dir = get_data_dir(ident, ctx.data_dir)
7322+
data_dir = ident.data_dir(ctx.data_dir)
73327323
if daemon_type in ['mon', 'osd', 'prometheus'] and \
73337324
not ctx.force_delete_data:
73347325
# rename it out of the way -- do not delete

0 commit comments

Comments
 (0)