From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 500CC1FF15E for ; Mon, 13 Oct 2025 10:56:31 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 2B362EFE0; Mon, 13 Oct 2025 10:56:47 +0200 (CEST) From: Christian Ebner To: pdm-devel@lists.proxmox.com Date: Mon, 13 Oct 2025 10:56:18 +0200 Message-ID: <20251013085623.211136-3-c.ebner@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251013085623.211136-1-c.ebner@proxmox.com> References: <20251013085623.211136-1-c.ebner@proxmox.com> MIME-Version: 1.0 X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1760345765864 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% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment PROLO_LEO1 0.1 Meta Catches all Leo drug variations so far SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pdm-devel] [PATCH datacenter-manager 2/7] pdm-api-types: extend resource status by list of failed remotes X-BeenThere: pdm-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Datacenter Manager development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox Datacenter Manager development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pdm-devel-bounces@lists.proxmox.com Sender: "pdm-devel" Currently only the count of failed remotes is returned via the status. Include the list of failed remotes including the name, remote type and error message. This will be used to extend the dashboard panel. Signed-off-by: Christian Ebner --- lib/pdm-api-types/src/remotes.rs | 3 ++- lib/pdm-api-types/src/resource.rs | 28 ++++++++++++++++++++++++++-- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/lib/pdm-api-types/src/remotes.rs b/lib/pdm-api-types/src/remotes.rs index 6318943..dd6afa6 100644 --- a/lib/pdm-api-types/src/remotes.rs +++ b/lib/pdm-api-types/src/remotes.rs @@ -39,10 +39,11 @@ pub struct NodeUrl { #[api] /// The type of a remote entry. -#[derive(Clone, Copy, Debug, Eq, PartialEq, Deserialize, Serialize, Ord, PartialOrd)] +#[derive(Clone, Copy, Default, Debug, Eq, PartialEq, Deserialize, Serialize, Ord, PartialOrd)] #[serde(rename_all = "lowercase")] pub enum RemoteType { /// A Proxmox VE node. + #[default] Pve, /// A Proxmox Backup Server node. Pbs, diff --git a/lib/pdm-api-types/src/resource.rs b/lib/pdm-api-types/src/resource.rs index b219250..400f2af 100644 --- a/lib/pdm-api-types/src/resource.rs +++ b/lib/pdm-api-types/src/resource.rs @@ -5,7 +5,7 @@ use serde::{Deserialize, Serialize}; use proxmox_schema::{api, ApiStringFormat, ApiType, EnumEntry, OneOfSchema, Schema, StringSchema}; -use super::remotes::REMOTE_ID_SCHEMA; +use super::remotes::{RemoteType, REMOTE_ID_SCHEMA}; #[api( "id-property": "id", @@ -550,7 +550,16 @@ pub struct SdnZoneCount { pub unknown: u64, } -#[api] +#[api( + properties: { + "failed_remotes_list": { + type: Array, + items: { + type: FailedRemote, + }, + } + } +)] #[derive(Default, Serialize, Deserialize, Clone, PartialEq)] /// Describes the status of seen resources pub struct ResourcesStatus { @@ -572,6 +581,21 @@ pub struct ResourcesStatus { pub pbs_nodes: NodeStatusCount, /// Status of PBS Datastores pub pbs_datastores: StorageStatusCount, + /// List of the failed remotes including type and error + #[serde(default, skip_serializing_if = "Vec::is_empty")] + pub failed_remotes_list: Vec, +} + +#[api] +#[derive(Default, Serialize, Deserialize, Clone, PartialEq)] +/// Error information for a failed remote +pub struct FailedRemote { + /// Name of the failed remote + pub name: String, + /// Error that occurred when querying remote resources + pub error: String, + /// Type of the failed remote + pub remote_type: RemoteType, } #[api( -- 2.47.3 _______________________________________________ pdm-devel mailing list pdm-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel