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 BFE766B39F for ; Tue, 26 Jan 2021 12:45:38 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id B4A7815A17 for ; Tue, 26 Jan 2021 12:45:38 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [212.186.127.180]) (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 5DD2F15956 for ; Tue, 26 Jan 2021 12:45:35 +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 1EC7A4611A for ; Tue, 26 Jan 2021 12:45:35 +0100 (CET) From: Fabian Ebner To: pve-devel@lists.proxmox.com Date: Tue, 26 Jan 2021 12:45:16 +0100 Message-Id: <20210126114530.8753-1-f.ebner@proxmox.com> X-Mailer: git-send-email 2.20.1 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 KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_DNSWL_MED -2.3 Sender listed at https://www.dnswl.org/, medium trust 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. [ceph.pm, diskmanage.pm, disks.pm] Subject: [pve-devel] [PATCH-SERIES] partially fix #2285: extend Diskmanage to also list partitions 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, 26 Jan 2021 11:45:38 -0000 and fix some other little things along the way (see patches #1, #4, #9). Mostly re-uses existing functionality, but refactors it, so it can be re-used for partitions as well. New is the detection of filesystems via lsblk and the detection of more PVE-relevant partuuids. In the UI, the current list is replaced by a treepanel including the partitions. This series does not yet make it possible to select partitons for storage creation for certain types, which is one of the parts of bug #2285. I felt like this series was getting rather big already and that there was more discussion to be had about that and it can always be done as a follow-up series. The usage of a partition currently always defaults to 'partition'. A good heuristic to find out when a partition is unused would be needed and/or good ways to warn the user and ask if they're sure they have the correct partition. This also ties in to the proposed feature of allowing users to wipe disks under certain conditions. storage: Fabian Ebner (11): Disks: return correct journal disk candidates Diskmanage: replace closure with direct hash access Diskmanage: refactor and rename get_parttype_info Diskmanage: also check for filesystem type when determining usage Diskmanage: introduce get_sysdir_size helper Diskmanage: collect partitions in hash Diskmanage: introduce usage helper Diskmanage: also detect BIOS boot, EFI and ZFS reserved type partitions Diskmanage: introduce ceph info helper Diskmanage: save OSD information for individual partitions Diskmanage: also include partitions with get_disks if flag is set PVE/API2/Disks.pm | 24 +- PVE/Diskmanage.pm | 207 +++++++++++------- test/disk_tests/usages/disklist | 1 + test/disk_tests/usages/disklist_expected.json | 15 ++ test/disk_tests/usages/lsblk | 7 +- test/disk_tests/usages/sdd/sdd1/size | 1 + test/disk_tests/usages/sdd/sdd2/size | 1 + test/disk_tests/usages/sde/sde1/size | 1 + test/disk_tests/usages/sdf/sdf1/size | 1 + test/disk_tests/usages/sdm/sdm1/size | 1 + test/disk_tests/usages/sdm/sdm9/size | 1 + test/disk_tests/usages/sdn/device/vendor | 1 + test/disk_tests/usages/sdn/queue/rotational | 1 + test/disk_tests/usages/sdn/size | 1 + test/disk_tests/usages/sdn_udevadm | 14 ++ test/disklist_test.pm | 12 + 16 files changed, 207 insertions(+), 82 deletions(-) create mode 100644 test/disk_tests/usages/sdd/sdd1/size create mode 100644 test/disk_tests/usages/sdd/sdd2/size create mode 100644 test/disk_tests/usages/sde/sde1/size create mode 100644 test/disk_tests/usages/sdf/sdf1/size create mode 100644 test/disk_tests/usages/sdm/sdm1/size create mode 100644 test/disk_tests/usages/sdm/sdm9/size create mode 100644 test/disk_tests/usages/sdn/device/vendor create mode 100644 test/disk_tests/usages/sdn/queue/rotational create mode 100644 test/disk_tests/usages/sdn/size create mode 100644 test/disk_tests/usages/sdn_udevadm manager: Fabian Ebner (1): api: Ceph: add reminder to remove 'disks' call PVE/API2/Ceph.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) widget-toolkit: Fabian Ebner (2): convert disk list to disk tree including the partitions move DiskList.js from grid/ to panel/ src/Makefile | 2 +- src/{grid => panel}/DiskList.js | 97 ++++++++++++++++++++++++++------- 2 files changed, 79 insertions(+), 20 deletions(-) rename src/{grid => panel}/DiskList.js (72%) -- 2.20.1