From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <a.lauterer@proxmox.com>
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 2F160B029
 for <pve-devel@lists.proxmox.com>; Thu, 28 Apr 2022 13:58:12 +0200 (CEST)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
 by firstgate.proxmox.com (Proxmox) with ESMTP id 262E1D01
 for <pve-devel@lists.proxmox.com>; Thu, 28 Apr 2022 13:58:12 +0200 (CEST)
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 id CC318CD2
 for <pve-devel@lists.proxmox.com>; Thu, 28 Apr 2022 13:58:10 +0200 (CEST)
Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1])
 by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 986C642F63
 for <pve-devel@lists.proxmox.com>; Thu, 28 Apr 2022 13:58:10 +0200 (CEST)
From: Aaron Lauterer <a.lauterer@proxmox.com>
To: pve-devel@lists.proxmox.com
Date: Thu, 28 Apr 2022 13:58:04 +0200
Message-Id: <20220428115809.1661165-1-a.lauterer@proxmox.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SPAM-LEVEL: Spam detection results:  0
 AWL 0.007 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches SPF record
 URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See
 http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more
 information. [tools.pm, pools.pm]
Subject: [pve-devel] [PATCH manager 0/5] Ceph add basic erasure code pool
 mgmt support
X-BeenThere: pve-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
List-Post: <mailto:pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
X-List-Received-Date: Thu, 28 Apr 2022 11:58:12 -0000

The first patch is one that we should have added when we added basic
support for ec pools [0].

The rest adds basic support to manage erasure coded (EC) pools. When
adding an EC pool we need to define how many k and m chunks we want for
the ec profile. Optionally one can define the failure domain and device
class.
Or if there is already another ec profile that should be used, it can be
specified as well.

Since EC pools need a replicated pool that will hold metadata, we follow
the same approach we already have for cephfs pools and have one metadata
and one data pool.
A few prerequisites were added to Ceph::Tools.

More details in the actual patches.


changes since rfc:

change the approach by handling ec profiles automatically on pool
creation and cleaning up ec profiles and crush rules on pool
desctruction. The whole ec profile mgmt CLI has been dropped for now.

Aaron Lauterer (5):
  api: ceph: $get_storages check if data-pool too
  ceph tools: add erasure code management functions
  ceph tools: add function to get pool properties
  ceph tools: add destroy crush rule destroy function
  ceph pools: allow to create erasure code pools

 PVE/API2/Ceph/Pools.pm | 129 ++++++++++++++++++++++++++++++++++++++---
 PVE/Ceph/Tools.pm      |  83 +++++++++++++++++++++++++-
 2 files changed, 201 insertions(+), 11 deletions(-)

-- 
2.30.2