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 511791FF0E7 for ; Thu, 27 Aug 2026 08:44:25 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id ECF8E2133B; Thu, 27 Aug 2026 08:44:24 +0200 (CEST) Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Thu, 27 Aug 2026 08:44:18 +0200 Message-Id: Subject: Re: [PATCH datacenter-manager v2 18/20] api: subscriptions: use PdmApplication instead of globals From: "Lukas Wagner" To: =?utf-8?q?Michael_K=C3=B6ppl?= , "Lukas Wagner" , X-Mailer: aerc 0.21.0-0-g5549850facc2-dirty References: <20260820145220.418032-1-l.wagner@proxmox.com> <20260820145220.418032-19-l.wagner@proxmox.com> In-Reply-To: X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1787813050499 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.619 Adjusted score from AWL reputation of From: address DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment (newer systems) 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 Message-ID-Hash: 7IUVGET32IHKGM4HZXNH3DJMHF2JFL4X X-Message-ID-Hash: 7IUVGET32IHKGM4HZXNH3DJMHF2JFL4X X-MailFrom: l.wagner@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox Datacenter Manager development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: On Wed Aug 26, 2026 at 4:30 PM CEST, Michael K=C3=B6ppl wrote: > On Thu Aug 20, 2026 at 4:52 PM CEST, Lukas Wagner wrote: > > [snip] > >> +use crate::api_cache::ApiCache; >> +use crate::context::PdmApplication; >> use crate::metric_collection::top_entities; >> use crate::{api_cache, connection, views}; >> =20 >> @@ -686,6 +688,7 @@ pub async fn get_subscription_status( >> verbose: bool, >> view: Option, >> rpcenv: &mut dyn RpcEnvironment, >> + app: State, >> ) -> Result, Error> { >> let (remotes_config, _) =3D pdm_config::remotes::config()?; > > Wouldn't it make sense to use > > let (remotes_config, _) =3D app.remote_config().read()?; > > here as well? > I just double checked, this should be fixed as well in v3! These mistakes happen due to the slight 'viral' nature of 'app'. In this case here, other changes required me to add the 'app' param to get_subscription_info_for_remote [1], and so initially I only made the minimal changes needed to make it compile again and did not double-check if the now available app handle can be used in other ways as well in the callers. Thanks! >> =20 >> @@ -711,10 +714,11 @@ pub async fn get_subscription_status( >> } >> =20 >> let view =3D view.clone(); >> + let app_clone =3D app.clone(); >> =20 >> let future =3D async move { >> let (node_status, error) =3D >> - match get_subscription_info_for_remote(&remote, max_age= ).await { >> + match get_subscription_info_for_remote(&app_clone, &rem= ote, max_age).await { ^ [1] >> Ok(mut node_status) =3D> { >> node_status.retain(|node, _| { >> if let Some(view) =3D &view { > > [snip]