From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 9B192BA46A for ; Tue, 19 Mar 2024 17:02:07 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 7BFB73AC1 for ; Tue, 19 Mar 2024 17:01:37 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Tue, 19 Mar 2024 17:01:33 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id AB11D46683 for ; Tue, 19 Mar 2024 17:01:33 +0100 (CET) Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Tue, 19 Mar 2024 17:01:32 +0100 Message-Id: From: "Max Carrara" To: "Proxmox VE development discussion" X-Mailer: aerc 0.17.0-72-g6a84f1331f1c References: <20240305150758.252669-1-m.carrara@proxmox.com> <20240305150758.252669-15-m.carrara@proxmox.com> <1710841216.ygaihbiy98.astroid@yuna.none> In-Reply-To: <1710841216.ygaihbiy98.astroid@yuna.none> X-SPAM-LEVEL: Spam detection results: 0 AWL -0.527 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_ASCII_DIVIDERS 0.8 Email that uses ascii formatting dividers and possible spam tricks KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment POISEN_SPAM_PILL 0.1 Meta: its spam POISEN_SPAM_PILL_1 0.1 random spam to be learned in bayes POISEN_SPAM_PILL_3 0.1 random spam to be learned in bayes SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record T_SCC_BODY_TEXT_LINE -0.01 - Subject: Re: [pve-devel] [PATCH v4 pve-manager 14/16] ceph: introduce '/etc/pve/ceph' X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Mar 2024 16:02:07 -0000 On Tue Mar 19, 2024 at 11:04 AM CET, Fabian Gr=C3=BCnbichler wrote: > On March 5, 2024 4:07 pm, Max Carrara wrote: > > This commit adds the '/etc/pve/ceph' directory to our overall expected > > Ceph configuration. > >=20 > > This directory is meant to store cluster-wide, non-private > > configuration files used by Ceph applications and services that are > > executed with lower privileges, such as 'ceph-crash.service'. > >=20 > > The existence of the directory is now also checked for when checking > > whether Ceph is configured correctly. This makes it easier for our > > other tooling to rely on the directory's existence, reducing the > > number of otherwise needless frequent checking. > >=20 > > For new clusters: `pveceph init` now creates '/etc/pve/ceph' when > > called. > >=20 > > For existing clusters: The 'postinst' hook this commit adds ensures > > that '/etc/pve/ceph' is created upon update. > >=20 > > The 'postinst' hook is also version-guarded and does not run when > > upgrading from pve-manager version 8.1.5 and above. > >=20 > > Signed-off-by: Max Carrara > > --- > > Changes v2 --> v3: > > * new; originally part of patches 09, 10 of series v2 - decided it's > > better to move all this into a separate patch to make context + > > intention clearer > > Changes v3 --> v4: > > * none > >=20 > > PVE/API2/Ceph.pm | 5 +++++ > > PVE/Ceph/Tools.pm | 12 ++++++++++-- > > debian/postinst | 12 ++++++++++++ > > 3 files changed, 27 insertions(+), 2 deletions(-) > >=20 > > diff --git a/PVE/API2/Ceph.pm b/PVE/API2/Ceph.pm > > index 81c17d6e..7fedb87a 100644 > > --- a/PVE/API2/Ceph.pm > > +++ b/PVE/API2/Ceph.pm > > @@ -192,6 +192,11 @@ __PACKAGE__->register_method ({ > > PVE::Ceph::Tools::check_ceph_installed('ceph_bin'); > > } > > =20 > > + my $pve_ceph_cfgdir =3D PVE::Ceph::Tools::get_config('pve_ceph_cfgdir= '); > > + if (! -d $pve_ceph_cfgdir) { > > + File::Path::make_path($pve_ceph_cfgdir); > > + } > > + > > my $auth =3D $param->{disable_cephx} ? 'none' : 'cephx'; > > =20 > > # simply load old config if it already exists > > diff --git a/PVE/Ceph/Tools.pm b/PVE/Ceph/Tools.pm > > index ee6c515c..735bb116 100644 > > --- a/PVE/Ceph/Tools.pm > > +++ b/PVE/Ceph/Tools.pm > > @@ -18,6 +18,7 @@ my $ccname =3D 'ceph'; # ceph cluster name > > my $ceph_cfgdir =3D "/etc/ceph"; > > my $pve_ceph_cfgpath =3D "/etc/pve/$ccname.conf"; > > my $ceph_cfgpath =3D "$ceph_cfgdir/$ccname.conf"; > > +my $pve_ceph_cfgdir =3D "/etc/pve/ceph"; > > =20 > > my $pve_mon_key_path =3D "/etc/pve/priv/$ccname.mon.keyring"; > > my $pve_ckeyring_path =3D "/etc/pve/priv/$ccname.client.admin.keyring"= ; > > @@ -37,6 +38,7 @@ my $ceph_service =3D { > > =20 > > my $config_values =3D { > > ccname =3D> $ccname, > > + pve_ceph_cfgdir =3D> $pve_ceph_cfgdir, > > ceph_mds_data_dir =3D> $ceph_mds_data_dir, > > long_rados_timeout =3D> 60, > > }; > > @@ -186,8 +188,14 @@ sub check_ceph_inited { > > =20 > > return undef if !check_ceph_installed('ceph_mon', $noerr); > > =20 > > - if (! -f $pve_ceph_cfgpath) { > > - die "pveceph configuration not initialized\n" if !$noerr; > > + my @errors; > > + > > + push(@errors, "missing '$pve_ceph_cfgpath'") if ! -f $pve_ceph_cfg= path; > > + push(@errors, "missing '$pve_ceph_cfgdir'") if ! -d $pve_ceph_cfgd= ir; > > + > > + if (@errors) { > > + my $err =3D 'pveceph configuration not initialized - ' . join(', ', @= errors) . "\n"; > > + die $err if !$noerr; > > return undef; > > } > > =20 > > diff --git a/debian/postinst b/debian/postinst > > index 6138ef6d..61b50f97 100755 > > --- a/debian/postinst > > +++ b/debian/postinst > > @@ -80,6 +80,14 @@ EOF > > fi > > } > > =20 > > +update_ceph_conf() { > > + CEPH_CONF_DIR=3D'/etc/pve/ceph' > > + > > + if test ! -d "${CEPH_CONF_DIR}"; then > > + mkdir -p "${CEPH_CONF_DIR}" > > + fi > > +} > > + > > migrate_apt_auth_conf() { > > output=3D"" > > removed=3D"" > > @@ -190,6 +198,10 @@ case "$1" in > > =20 > > set_lvm_conf > > =20 > > + if test -n "$2" && dpkg --compare-versions "$2" 'lt' '8.1.5~'; the= n > > nit: never hard code such versions in patches unless you know they will b= e > applied right away ;) instead, have a placeholder here and call it out > prominently in the patch notes and cover letter. Thanks, will do! > > > + update_ceph_conf > > + fi > > + > > if test ! -e /proxmox_install_mode; then > > # modeled after code generated by dh_start > > for unit in ${UNITS}; do > > --=20 > > 2.39.2 > >=20 > >=20 > >=20 > > _______________________________________________ > > pve-devel mailing list > > pve-devel@lists.proxmox.com > > https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel > >=20 > >=20 > >=20 > > > _______________________________________________ > pve-devel mailing list > pve-devel@lists.proxmox.com > https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel