From ecda8ecefce9f74df8e67e1e62f28ac302bef7d4 Mon Sep 17 00:00:00 2001 From: fpantano Date: Mar 19 2021 10:28:49 +0000 Subject: Bump cephadm to 15.2.10 --- diff --git a/SOURCES/cephadm b/SOURCES/cephadm index 564028f..8cd4497 100644 --- a/SOURCES/cephadm +++ b/SOURCES/cephadm @@ -1685,6 +1685,13 @@ def check_units(units, enabler=None): return False +def is_container_running(name: str) -> bool: + out, err, ret = call_throws([ + container_path, 'ps', + '--format', '{{.Names}}']) + return name in out + + def get_legacy_config_fsid(cluster, legacy_dir=None): # type: (str, Optional[str]) -> Optional[str] config_file = '/etc/ceph/%s.conf' % cluster @@ -2381,7 +2388,6 @@ class Firewalld(object): else: logger.debug('firewalld port %s is enabled in current zone' % tcp_port) - out, err, ret = call([self.cmd, '--permanent', '--query-port', tcp_port], verbose_on_failure=False) def apply_rules(self): # type: () -> None if not self.available: @@ -2482,6 +2488,7 @@ def get_unit_file(fsid): 'Type=forking\n' 'PIDFile=/%t/%n-pid\n') + docker = 'docker' in container_path u = """# generated by cephadm [Unit] Description=Ceph %i for {fsid} @@ -2490,8 +2497,9 @@ Description=Ceph %i for {fsid} # http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget # these can be removed once ceph-mon will dynamically change network # configuration. -After=network-online.target local-fs.target time-sync.target +After=network-online.target local-fs.target time-sync.target{docker_after} Wants=network-online.target local-fs.target time-sync.target +{docker_requires} PartOf=ceph-{fsid}.target Before=ceph-{fsid}.target @@ -2517,7 +2525,11 @@ WantedBy=ceph-{fsid}.target container_path=container_path, fsid=fsid, data_dir=args.data_dir, - extra_args=extra_args) + extra_args=extra_args, + # if docker, we depend on docker.service + docker_after=' docker.service' if docker else '', + docker_requires='Requires=docker.service\n' if docker else '', +) return u @@ -2723,7 +2735,7 @@ def command_inspect_image(): # type: () -> int out, err, ret = call_throws([ container_path, 'inspect', - '--format', '{{.ID}},{{json .RepoDigests}}', + '--format', '{{.ID}},{{.RepoDigests}}', args.image]) if ret: return errno.ENOENT @@ -2745,7 +2757,7 @@ def get_image_info_from_inspect(out, image): 'image_id': normalize_container_id(image_id) } if digests: - json_digests = json.loads(digests) + json_digests = digests[1:-1].split(' ') if json_digests: r['repo_digest'] = json_digests[0] return r @@ -3253,10 +3265,11 @@ def command_bootstrap(): logger.info('Creating initial admin user...') password = args.initial_dashboard_password or generate_password() - cmd = ['dashboard', 'ac-user-create', args.initial_dashboard_user, password, 'administrator', '--force-password'] + tmp_password_file = write_tmp(password, uid, gid) + cmd = ['dashboard', 'ac-user-create', args.initial_dashboard_user, '-i', '/tmp/dashboard.pw', 'administrator', '--force-password'] if not args.dashboard_password_noupdate: cmd.append('--pwd-update-required') - cli(cmd) + cli(cmd, extra_mounts={pathify(tmp_password_file.name): '/tmp/dashboard.pw:z'}) logger.info('Fetching dashboard port number...') out = cli(['config', 'get', 'mgr', 'mgr/dashboard/ssl_server_port']) port = int(out) @@ -3378,8 +3391,9 @@ def command_deploy(): redeploy = False unit_name = get_unit_name(args.fsid, daemon_type, daemon_id) + container_name = 'ceph-%s-%s.%s' % (args.fsid, daemon_type, daemon_id) (_, state, _) = check_unit(unit_name) - if state == 'running': + if state == 'running' or is_container_running(container_name): redeploy = True if args.reconfig: diff --git a/SPECS/cephadm.spec b/SPECS/cephadm.spec index e50a9c7..b77eb95 100644 --- a/SPECS/cephadm.spec +++ b/SPECS/cephadm.spec @@ -3,12 +3,12 @@ Name: cephadm Epoch: 2 -Version: 15.2.9 -Release: 46%{?dist} +Version: 15.2.10 +Release: 2%{?dist} Summary: Utility to bootstrap Ceph clusters License: LGPL-2.1 URL: https://ceph.io -Source0: https://github.com/ceph/ceph/raw/353d6970361a26381539b74a94bba8ac32666dc1/src/cephadm/cephadm +Source0: https://github.com/ceph/ceph/raw/89ceb19fd8609fd4c99d10dd63f42e6786e37c86/src/cephadm/cephadm Source1: COPYING-LGPL2.1 BuildArch: noarch @@ -53,5 +53,7 @@ exit 0 %attr(0600,cephadm,cephadm) %{_sharedstatedir}/cephadm/.ssh/authorized_keys %changelog +* Fri Mar 19 2021 Francesco Pantano - 2:15.2.10-2 +- 15.2.10 GA * Tue Mar 02 2021 Ken Dreyer - 2:15.2.9-46 - initial octopus package