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 6050073173 for ; Wed, 6 Oct 2021 17:15:11 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 568C1EFAF for ; Wed, 6 Oct 2021 17:15:11 +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 DD7E1EF9A for ; Wed, 6 Oct 2021 17:15:07 +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 B5F604584D for ; Wed, 6 Oct 2021 17:15:07 +0200 (CEST) From: Hannes Laimer To: pbs-devel@lists.proxmox.com Date: Wed, 6 Oct 2021 17:14:53 +0200 Message-Id: <20211006151457.18508-1-h.laimer@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.084 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. [pull.rs, restore.rs, backup.rs, proxmox-backup-proxy.rs, mod.rs, datastore.rs, status.rs] Subject: [pbs-devel] [PATCH v2 proxmox-backup 0/4] close #3071: maintenance mode for datastores X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Oct 2021 15:15:11 -0000 v2: - check for maintenance now directly in lookup_datastore - parameter for checking is now the last acceptable maintenance type, description in commit msg of 2nd patch - ui cleanup Adds a maintenance mode for datatsores. If a datastore is in maintenance mode it has a maintenance-type and a maintenance-msg. The type specifies what is still allowed on the ds and what is not. Currently there are two types: read only and offline. 'read only' prevents everything that would write something to the ds, but allows to read from it. 'offline' prevents everything on the datastore, neither operation that write nor operations that read form the datastore are allowed. The message is optional and is a short string that describes the reason for the maintenance, it is shown whenever an operation is prevented due to the maintenance. Already running jobs and operations are not affected. Neither are the modification or creation of jobs, since they just modify a config file that is stored on the host system. As Dominik Csapak suggested, it might make sense to prevent setting a maintenance mode while jobs run. Hannes Laimer (4): pbs-api-types: add maintenance type and msg to ds config pbs-datastore: add check for maintenance to lookup_datastore api2: make maintenance type and msg updatable/deletable ui: add maintenance to datastore options pbs-api-types/src/datastore.rs | 33 ++++++++++++++++++ pbs-datastore/src/datastore.rs | 14 ++++++-- pbs-datastore/src/snapshot_reader.rs | 6 +++- src/api2/admin/datastore.rs | 44 ++++++++++++------------ src/api2/backup/mod.rs | 2 +- src/api2/config/datastore.rs | 8 +++++ src/api2/pull.rs | 4 +-- src/api2/reader/mod.rs | 6 ++-- src/api2/status.rs | 6 ++-- src/api2/tape/backup.rs | 4 +-- src/api2/tape/restore.rs | 6 ++-- src/bin/proxmox-backup-proxy.rs | 6 ++-- src/server/prune_job.rs | 2 +- src/server/verify_job.rs | 4 +-- www/Makefile | 1 + www/Utils.js | 7 ++++ www/datastore/OptionView.js | 9 +++++ www/window/MaintenanceOptions.js | 51 ++++++++++++++++++++++++++++ 18 files changed, 168 insertions(+), 45 deletions(-) create mode 100644 www/window/MaintenanceOptions.js -- 2.30.2