From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 961FB1FF189 for ; Sat, 25 Oct 2025 20:45:52 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 2DFECD401; Sat, 25 Oct 2025 20:46:22 +0200 (CEST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761417971; x=1762022771; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NyjilEG0FChl86/zlOyFsp/obThIssT6F+oR50LkGmk=; b=NQNXQ6YoE77xC//OfjbJtJnaEmq8TEBGKaGvKIW/Y2YnzYbWkmJtSoXdt2fL0P7oIl 4zaqDsayGQIVMV8gcand4Dock13MibzDATkXdqe+fBkhwvtY6+0WM2SwCOVc75uiHObv HwSCfBQA3bNW9IlV8MKRt9npqXhi+Zp1ggL8VSps54hRZsybc9ZpCDb14FWXIfTJhzD7 hW+DpB31IubDkInsGspS6Cuh/cUtou6v17l8V1BhhbI2fx9cfHgjG5DNB+5Q502lb2Ic T5kCRLuhI+5fqwvc84/IjvE98ylQIj7LbFfiP/Rby9/L/WrdNWnV/zgNoRwzGz2CynUd 9Ihg== X-Gm-Message-State: AOJu0YzZ+w/1IwLua9N6ZgBFt7bhhxVMx5lwvAEfMik+qrd6SmVmyXOh MxJVUnNQfai7L+zDcyyIt2XqtmDIIykwgdlbSoaB5bBMmICHbShw3Lk+CjnU9Vy8 X-Gm-Gg: ASbGncuAKbF7/jDzlIyvsQw02Ym9yBVx6cnoCAebAZl2Et6EZAFTqnwiXsmjcO7hhr1 p+QQihTwLSTvnBbEM95nwnrR3RIRpv2ZhKX4U9lhZa/VP54b7gnf5qpGPQvMvsr7ADVftQZjV/a vM+tsk6QxrOB1M6V7CI3y1SEhD3aidqZB+V2KZ6Aj/fPVyf6ykBuQXCKH3/Mz+JvkC8EB5Snmyh 6FfwMXvBcFFGq1JHwm+2m3gJoAWkpKrSxOwPLP1kN0Bm0BWugW7mMGdgUJzqZU5iDGrW70H7TMP d3Lphsoz2O7X/LuWiCOI44hVXy7l8OllQSp3l416xNvSq5losv3ZRMU6wQGAkdnZSLFFC+y+Tku 5fDBwMKYCPTO2d5MdPrxt3Xp1GA4iUR2mWpgpQJAS854ilFUbiMY8EWnY0kOfXHYU+REBxCdSNk fpJTMjlHqzSXf0OELpxW2PDNq8qq7OOTimKTkXalAglgd2Pq/ifchkHiYbSSWuQIVGPaEUEQOQ8 kchVckrhaiw/0m+1TfBDo3y7sY= X-Google-Smtp-Source: AGHT+IGFyJfmTN1V1HG5uSXtfkSb29JDuo2XwJ1/pFLBeYhpACr+DnG9I9GnAI3XzkerIyr6VLnijw== X-Received: by 2002:a05:690e:4083:b0:63f:548d:cb4f with SMTP id 956f58d0204a3-63f548dd250mr1122997d50.66.1761417525210; Sat, 25 Oct 2025 11:38:45 -0700 (PDT) From: Thomas Skinner To: pve-devel@lists.proxmox.com Date: Sat, 25 Oct 2025 13:38:12 -0500 Message-ID: <20251025183814.698627-3-thomas@atskinner.net> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251025183814.698627-1-thomas@atskinner.net> References: <20251025183814.698627-1-thomas@atskinner.net> MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.008 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy FREEMAIL_FORGED_FROMDOMAIN 0.001 2nd level domains in From and EnvelopeFrom freemail headers are different FREEMAIL_FROM 0.001 Sender email is commonly abused enduser mail provider HEADER_FROM_DIFFERENT_DOMAINS 0.001 From and EnvelopeFrom 2nd level mail domains are different KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_DNSWL_NONE -0.0001 Sender listed at https://www.dnswl.org/, no trust RCVD_IN_MSPIKE_H2 0.001 Average reputation (+2) SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [PATCH manager v3 1/2] add api setter for node maintenance mode 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: , Reply-To: Proxmox VE development discussion Cc: Thomas Skinner Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" Signed-off-by: Thomas Skinner --- PVE/API2/Nodes.pm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/PVE/API2/Nodes.pm b/PVE/API2/Nodes.pm index 4590b618..e10f4ed0 100644 --- a/PVE/API2/Nodes.pm +++ b/PVE/API2/Nodes.pm @@ -275,6 +275,7 @@ __PACKAGE__->register_method({ { name => 'hosts' }, { name => 'journal' }, { name => 'lxc' }, + { name => 'maintenance' }, { name => 'migrateall' }, { name => 'netstat' }, { name => 'network' }, @@ -2663,6 +2664,43 @@ __PACKAGE__->register_method({ }, }); +__PACKAGE__->register_method({ + name => 'maintenance_set', + protected => 1, + path => 'maintenance', + method => 'PUT', + description => + "Set the maintenance parameters for the node. Currently only supports HA maintenance mode for the LRM on a node.", + permissions => { + check => ['perm', '/', ['Sys.Modify']], + }, + parameters => { + additionalProperties => 0, + properties => { + node => get_standard_option('pve-node'), + 'maintenance-mode' => { + description => "Enables or disables maintenance mode for the HA LRM.", + type => 'string', + enum => ['enable', 'disable'], + }, + }, + }, + returns => { type => 'null' }, + code => sub { + my ($param) = @_; + + PVE::Cluster::check_node_exists($param->{node}); + + my $cmd = + $param->{'maintenance-mode'} eq 'enable' + ? 'enable-node-maintenance' + : 'disable-node-maintenance'; + PVE::HA::Config::queue_crm_commands("$cmd $param->{node}"); + + return undef; + }, +}); + # bash completion helper sub complete_templet_repo { -- 2.47.3 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel