[pdm-devel] [PATCH datacenter-manager] fix #7120: remote updates: drop vanished nodes/remotes from cache file
Samuel Rufinatscha
s.rufinatscha at proxmox.com
Thu Jan 8 15:38:49 CET 2026
On 1/8/26 2:06 PM, Lukas Wagner wrote:
> This commits makes sure that vanished remotes and remote cluster nodes
> are dropped from the remote updates cache file. This happens whenever
> the cache file is fully refreshed, either by the periodic update task,
> or by pressing "Refresh All" in the UI.
>
> Signed-off-by: Lukas Wagner <l.wagner at proxmox.com>
> ---
> server/src/remote_updates.rs | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/server/src/remote_updates.rs b/server/src/remote_updates.rs
> index e772eef5..0490d28e 100644
> --- a/server/src/remote_updates.rs
> +++ b/server/src/remote_updates.rs
> @@ -214,6 +214,11 @@ pub async fn refresh_update_summary_cache(remotes: Vec<Remote>) -> Result<(), Er
>
> let mut content = get_cached_summary_or_default()?;
>
> + // Clean out any remotes that might have been removed from the remote config in the meanwhile.
> + content
> + .remotes
> + .retain(|remote, _| fetch_results.remote_results.contains_key(remote));
> +
> for (remote_name, result) in fetch_results.remote_results {
> let entry = content
> .remotes
> @@ -234,6 +239,11 @@ pub async fn refresh_update_summary_cache(remotes: Vec<Remote>) -> Result<(), Er
> Ok(remote_result) => {
> entry.status = RemoteUpdateStatus::Success;
>
> + // Clean out any nodes that might have been removed from the cluster in the meanwhile.
> + entry
> + .nodes
> + .retain(|name, _| remote_result.node_results.contains_key(name));
> +
> for (node_name, node_result) in remote_result.node_results {
> match node_result {
> Ok(NodeResults { data, .. }) => {
Patch looks good to me! I could reproduce the issue and can confirm
the patch works. After the patch,
/var/cache/proxmox-datacenter-manager/remote-updates.json no
longer shows the removed remote when running "Refresh All".
Reviewed-by: Samuel Rufinatscha <s.rufinatscha at proxmox.com>
Tested-by: Samuel Rufinatscha <s.rufinatscha at proxmox.com>
More information about the pdm-devel
mailing list