From: Kefu Chai <k.chai@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [PATCH manager v2 0/2] ceph: pool: create EC pools from an existing profile
Date: Thu, 29 Oct 2026 13:31:24 +0800 [thread overview]
Message-ID: <20261029053126.3490603-1-k.chai@proxmox.com> (raw)
Hi,
the docs suggest building an erasure code profile with the Ceph tools
and passing it to 'pveceph pool create' as 'profile', but the schema
still requires 'k' and 'm':
# pveceph pool create test-ec --erasure-coding profile=default
erasure-coding.m: property is missing and it is not optional
erasure-coding.k: property is missing and it is not optional
Patch 2 makes them optional with a profile, and refuses values that
don't match it instead of ignoring them. Patch 1 has to go in first:
destroypool removes the pool's profile by default, which would take
'default' with it. Now it only removes the profile createpool made for
that pool, unless asked to.
Thanks to Maximiliano for reviewing and testing v1 [1]. Changes in v2:
patch 1:
- reword the remove_ecprofile description as suggested
- check the profile in one line with length(my $ecprofile = ...). The
suggested form doesn't compile under strict, since && binds tighter
than = and the "my" isn't visible yet in its own statement.
- a second destroypool with remove_ecprofile=1 fails once the pool is
gone, so the message for a kept profile now points to 'ceph osd
erasure-code-profile rm <profile>' instead
- use v5.36 in the new test file
patch 2:
- describe 'k', 'm', 'failure-domain' and 'device-class' with "If
'profile' is set, it must match the ... of the profile"
- rename $actual to $actual_profile, and the loop variables to $key,
$value and $profile_value
Both are rebased onto current master. I kept Maximiliano's Reviewed-by
and Tested-by, since v2 only addresses his nits.
I reran the tests and the reproducer from the review on a three node
cluster: the kept profile can be removed with the command the message
names, mismatching values are still refused before any pool is
created, and pveceph's own profile is still removed by default.
[1] https://lore.proxmox.com/pve-devel/20261021054425.3271742-1-k.chai@proxmox.com/
Kefu Chai (2):
api: ceph: pool: destroypool: keep EC profiles pveceph did not create
api: ceph: pool: createpool: make 'k' and 'm' optional with a profile
PVE/API2/Ceph/Pool.pm | 77 +++++++++---
PVE/Ceph/Tools.pm | 25 ++--
test/CephPool_test.pl | 274 ++++++++++++++++++++++++++++++++++++++++++
test/Makefile | 6 +-
4 files changed, 356 insertions(+), 26 deletions(-)
create mode 100755 test/CephPool_test.pl
--
2.47.3
next reply other threads:[~2026-10-29 5:31 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-29 5:31 Kefu Chai [this message]
2026-10-29 5:31 ` [PATCH manager v2 1/2] api: ceph: pool: destroypool: keep EC profiles pveceph did not create Kefu Chai
2026-10-29 5:31 ` [PATCH manager v2 2/2] api: ceph: pool: createpool: make 'k' and 'm' optional with a profile Kefu Chai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261029053126.3490603-1-k.chai@proxmox.com \
--to=k.chai@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox