Ensure that the user provided $secret ends in a newline. Otherwise we will have Input/output errors from rados_connect.
For consistency and possible future proofing, also add a newline to CephFS secrets. Signed-off-by: Aaron Lauterer <a.laute...@proxmox.com> --- changes: - instead conditional with regex, use chomp and always adding the newline - do the same to $cephfs_secret >From previous version (though not sure if they still apply with these changes): Reviewed-by: Fabian Ebner <f.eb...@proxmox.com> Tested-by: Fabian Ebner <f.eb...@proxmox.com> PVE/CephConfig.pm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/PVE/CephConfig.pm b/PVE/CephConfig.pm index 5c94a04..c388f02 100644 --- a/PVE/CephConfig.pm +++ b/PVE/CephConfig.pm @@ -227,14 +227,16 @@ sub ceph_create_keyfile { eval { if (defined($secret)) { mkdir '/etc/pve/priv/ceph'; - PVE::Tools::file_set_contents($ceph_storage_keyring, $secret, 0400); + chomp $secret; + PVE::Tools::file_set_contents($ceph_storage_keyring, "${secret}\n", 0400); } elsif ($type eq 'rbd') { mkdir '/etc/pve/priv/ceph'; PVE::Tools::file_copy($ceph_admin_keyring, $ceph_storage_keyring); } elsif ($type eq 'cephfs') { my $cephfs_secret = $ceph_get_key->($ceph_admin_keyring, 'admin'); mkdir '/etc/pve/priv/ceph'; - PVE::Tools::file_set_contents($ceph_storage_keyring, $cephfs_secret, 0400); + chomp $cephfs_secret; + PVE::Tools::file_set_contents($ceph_storage_keyring, "${cephfs_secret}\n", 0400); } }; if (my $err = $@) { -- 2.30.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel