From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [45.144.208.40]) by lore.proxmox.com (Postfix) with ESMTPS id 590F61FF09C for ; Mon, 21 Sep 2026 09:54:56 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id B2E9E214C5; Mon, 21 Sep 2026 09:54:52 +0200 (CEST) X-ICL-RepId: 01a0b568-8d77-7a97-9bdc-c3b66ed64025 X-ICL-Out-Info: HUtFAUMHWwJACUgATUQeDx5WFlZNRAJCTQBKHV8HUhxCC0kdXAdcEhVdRV8YVApyBlYKXQVSD1cCFxtfAkIPEhZdRUUCRQVaFV0dQUNUB10FXVhBDgpZEhhcFFxQWB5GElYNXQkZGkFeUBtfAkIPHBNWFRMdQxkPKwhKBEMHRQJeCyUTCVNWRB9LFlsIUw5AXloUXBhTS18ZXUUPXwdZBEAASQtcAV8HQABWB1sDXQpdCFVfGFQKcgZWCl0FUg9XAhcbXwJCDwxQTQFDCAoIRwNNF14yUwRfEVAW Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vornheder.cloud; s=sig1; t=1789749925; x=1792341925; bh=PQbrmCnatR2EAP6Ry11CYlS8LLtwR5jetf8fWo7jEAY=; h=From:To:Subject:Date:Message-ID:MIME-Version:x-icloud-hme; b=CDCCW7sHwTN58uuYbmX1rMqzSi2RzR5/dbj3U4jSZ+OYZX0WCBi1YqWysvY+oGqswczC8qZZQx+bbDr5m9D8tDOgUFvFMAKQ0OK6WH0lfQkzktrlAyqEzw4UKQLnTfYu44JICgfy2S/Z0upGMRkyWILeoc0R5L+YuW6iEyDFtUCivTmpswTloHKWrK5oYCapWacRVUoTevhkpLAfz8awunLKncSC9vqh5po0zm+YE5/da5QQPmZdQ0zqwOBZRo5E8dE6qHsR26qeawssSwmcytbQ9m5MAqIUEN9Mxkt01zo6Jf5TNgEwcd4qqDSgHCljKnp+llJnQvZ7PAi76sjupw== mail-alias-created-date: 1637499663896 From: Luca Vornheder To: pve-devel@lists.proxmox.com Subject: [PATCH manager 0/3] add opt-in IPMI SEL log tab for nodes Date: Fri, 18 Sep 2026 18:45:06 +0200 Message-ID: <20260918164509.46468-1-luca@vornheder.cloud> X-Mailer: git-send-email 2.55.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Proofpoint-GUID: gvMWtpsR5ruigVlnXIIG27GVUAQvx91H X-Proofpoint-ORIG-GUID: gvMWtpsR5ruigVlnXIIG27GVUAQvx91H X-Authority-Info-Out: v=2.4 cv=A5dh/qWG c=1 sm=1 tr=0 ts=6aad6aa3 cx=c_apl:c_pps:t_out a=bsP7O+dXZ5uKcj+dsLqiMw==:117 a=bsP7O+dXZ5uKcj+dsLqiMw==:17 a=MKtGQD3n3ToA:10 a=1oJP67jkp3AA:10 a=VdqzKS8jKosA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Qm8iP6mkAAAA:8 a=2UVJJ7CjCQ70-4S9uv8A:9 a=kDhhxE42lZnxL3pOKqYK:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTE4MDI0MCBTYWx0ZWRfX4OZhN5Eik92c THaVHqxFl6B2zlgIpfKicNn1hFWVI91uBBae8ORHj1hJbB0uanZ5pcTqjysKB8cKEm2nK8KTMZZ mT1Wz+7OYcDKj/326KyXKoN4PfOarHi4NtHQOkOYZVrFXhSQcwkmTsKcGiVlaF3oct2opZEqDSF QoYcUJk0lm9rUUB0MAj+l4108VxWUK9e2q+ndncry5zn9bRHx8HJSVAZoU1JyYCRq+PhBvupuhh LvIDraSYyf/tpxYuImFt7w/eFUyVqnLRJBGJJ06wiRicqrYdm4y3AJVfu2MhkASVH54hu59S1cJ c6heWEcnir+dKHHDaMQtva2QkiUhjRoHyYM2fv27lSn1HUoYz0mOv24LzAUdcA= X-JNJ: AAAAAAABPhEZu04RTuhpJhVoIt0PBevI+2exTQzXtafa4xTf17pJutdXI60BKGJIZmpXL3r8WRu0PmDVRDTgZrR/rId4BFhW9guKNMe9x4HpCatUj7qVx0IdJkARdw9Y6JzuL7t/mNkzvkhds89g/XXtxdIQW0woSQsze1BXcpdgIS/E/M9qe4omLUf4si7Eyx7vdHueruEgk4qqrPc+CzXryPv7IRSQCb6n+iz0HTCNA4R9wziY5MRm4IqIZ2w5iUkPmZauaS4o0YuSwWJstZ/RLXMRPesa4YaS7ZBI4TgrwrnJjtjNKM1Cy8hLzd5l2GJxA46aUvwPWKjPaWDGMVtLKEsUGhHMKVVa+6m3K5BgGryqsgawQTltuKTCtLuyRjYNOy/BsQsuXCIMqKbJFcGJzciJnmf874IF3Xvfripcw0f8aWfhYgslgR6s7qMPBMLD+QvWnb6rlCRcsWpdcZDmb149JrfK21IXvEgeyoskBup0DxbjPrgem7WiWCtwajYuC6prPY6NOwZemto1dDPDMa436hQCzFKDXbfWFW+8wozZNhjSRA7q5VNQUzb/oUjakuqiP2aLDeEBaBtBMJF5boJpk6fzCdHNOybYo30JTUCe1ddTCL92gfOQE52nfLUL8chZ0wTV3CEs3oo77m0ujn5cX4EyoYSW8YhDCURMq7gR7iw8aC7AF9G5CEr98hihHaddhBHHy5uVzW2WN8TXqRmIuYt+P3g9Xv8qnhnaMI2AJkPKmukIID8dGWWs3eTo2OB0Sm8GTTYAVsQVeJQHmCcaJISUTgXB43ILhaZTkUpefBkzHMaklOFKIQ8FBPlk0bf0fGhloagaW104FHFwE7bGZzg1WYXmYShvkv1LqHa61cAoX/u4phkNeVmBFS28ssAOArZIydvAgEVU5Zd9hzXr50OGhcsXmLRyR/wAIDXQNQrlHIUwUA49yqVsymzgKkUUilJkeu5Qc/CIZxwYsUY937p TeRqiKnshMPO26CDmYUKrPw77RrQDkJYv5Qt0FyXYgvpsbw3sOStWRnUrvoruypvllAfs+WUBY0O8uO8ZCX7jCqKEd8jaFTDzdP4EiHmm6T4YxgMCRueZSFZjb71cIxl+VHn5n1/UwfPZulFpyjxsba+nRL87g3IIWLSS3+Sz4SlQnOeGCLzIA/gjreA6R77nfxsTYZnbvFx98ELF1da5lnY/wgbGnQE9zVbqKkDMyCTztxPJtBuUDQWmgdlqgxBltckpJp3Z5m8KE090kFhDXA== X-SPAM-LEVEL: Spam detection results: 0 DKIM_INVALID 0.1 DKIM or DK signature exists, but is not valid DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment (newer systems) SPF_HELO_PASS -0.001 SPF: HELO matches SPF record SPF_PASS -0.001 SPF: sender matches SPF record X-MailFrom: luca@vornheder.cloud X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation Message-ID-Hash: HGMS623OR4FBUUAB5F3XG3LBIJH3BH7E X-Message-ID-Hash: HGMS623OR4FBUUAB5F3XG3LBIJH3BH7E X-Mailman-Approved-At: Mon, 21 Sep 2026 09:54:43 +0200 CC: Luca Vornheder X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: This series adds a per-node, opt-in view of the IPMI System Event Log (SEL) to the GUI, as requested in https://bugzilla.proxmox.com/show_bug.cgi?id=7656. A new 'IPMI' tab next to the system log of a node lists the entries of the SEL of the node's local BMC, read in-band via 'ipmitool sel elist', with reload and export buttons. The feature is off by default and is enabled per node through a new 'ipmi-sel' node option, either in the node's options in the GUI or with 'pvenode config set --ipmi-sel 1'. While it is disabled, the API returns 501 and the tab shows a hint instead of an error. Design notes / open questions: * Only the local BMC of the node itself is supported (no remote, out-of-band access with stored BMC credentials). * The endpoint uses the existing Sys.Syslog privilege, like the other log endpoints. Enabling the option needs Sys.Modify, as for all node options. * 'ipmitool' is only a Recommends of pve-manager, as the feature is opt-in. The GUI marks the feature as technology preview. * Only reading the log is implemented, there is no way to clear it. * I did not add documentation to pve-docs yet, I'm happy to do that in a follow-up once the general approach is fine. Tested on a PVE 9.2 node: option toggling in the GUI and via pvenode, the disabled/enabled behaviour of the tab, and the export. 'make check' passes, apart from test-ceph-key-migration (2 failing sub-tests in CephKeyMigrationScript_test.pl), which fails the same way on an unmodified master and is unrelated to this series. Luca Vornheder (3): api: nodes: add opt-in endpoint to read the local IPMI SEL fix #7656: ui: node: add opt-in IPMI SEL log tab d/control: recommend ipmitool PVE/API2/Nodes.pm | 111 ++++++++++++++++++++++ PVE/NodeConfig.pm | 8 ++ debian/control | 3 +- www/manager6/Makefile | 1 + www/manager6/node/Config.js | 9 ++ www/manager6/node/IPMI.js | 134 +++++++++++++++++++++++++++ www/manager6/node/NodeOptionsView.js | 31 +++++++ 7 files changed, 296 insertions(+), 1 deletion(-) create mode 100644 www/manager6/node/IPMI.js -- 2.50.1 (Apple Git-155)