public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Kefu Chai <k.chai@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [PATCH manager 0/2] ceph: pool: create EC pools from an existing profile
Date: Wed, 21 Oct 2026 13:44:23 +0800	[thread overview]
Message-ID: <20261021054425.3271742-1-k.chai@proxmox.com> (raw)

Hi,

the docs suggest building a custom erasure code profile with the Ceph
tools and then passing it to 'pveceph pool create' as 'profile'. That
doesn't actually work right now, since the schema still wants 'k' and
'm':

  # pveceph pool create test-ec --erasure-coding profile=default
  400 Parameter verification failed.
  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 'k' and 'm' optional when a profile is given. If they are
passed anyway, they now have to match the profile, where they used to be
ignored. So a script that passed placeholder values next to a profile
would now get an error, which I think is the safer choice, but I'm not
sure everyone agrees.

Patch 1 needs to go in first. destroypool removes the pool's profile by
default, so once patch 2 makes 'profile=default' easy, destroying such a
pool would take 'default' with it. With patch 1 it only removes the
profile createpool made for that pool, unless asked to.

Both patches come with tests in a new test/CephPool_test.pl, and I tried
creating and destroying such pools on a three node test cluster.
Feedback welcome, especially on the stricter check in patch 2.

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 |  72 ++++++++---
 PVE/Ceph/Tools.pm     |  25 ++--
 test/CephPool_test.pl | 275 ++++++++++++++++++++++++++++++++++++++++++
 test/Makefile         |   6 +-
 4 files changed, 352 insertions(+), 26 deletions(-)
 create mode 100755 test/CephPool_test.pl

-- 
2.47.3





             reply	other threads:[~2026-10-21  5:44 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-21  5:44 Kefu Chai [this message]
2026-10-21  5:44 ` [PATCH manager 1/2] api: ceph: pool: destroypool: keep EC profiles pveceph did not create Kefu Chai
2026-10-21  9:31   ` Maximiliano Sandoval
2026-10-21  5:44 ` [PATCH manager 2/2] api: ceph: pool: createpool: make 'k' and 'm' optional with a profile Kefu Chai
2026-10-21  9:52   ` Maximiliano Sandoval
2026-10-21  9:56 ` [PATCH manager 0/2] ceph: pool: create EC pools from an existing profile Maximiliano Sandoval

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=20261021054425.3271742-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
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal