From b506aae260d2b9d995c1359dba122f11001b9313 Mon Sep 17 00:00:00 2001 From: Arthur Lu Date: Wed, 1 Jul 2026 18:08:21 +0000 Subject: [PATCH] fix missing pool membership clearing logic in ResolvePoolMembership --- app/model.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/model.go b/app/model.go index 2697d9a..47796c7 100644 --- a/app/model.go +++ b/app/model.go @@ -90,6 +90,13 @@ func (cluster *Cluster) ResolvePoolMembership() error { cluster.lock.Lock() defer cluster.lock.Unlock() + //clear existing pool memberships + for _, node := range cluster.Nodes { + for _, instance := range node.Instances { + instance.Pool = "" + } + } + //resolve pool membership pools, err := cluster.pve.client.Pools(context.Background()) if err != nil { @@ -110,7 +117,7 @@ func (cluster *Cluster) ResolvePoolMembership() error { if !ok { return fmt.Errorf("Instance %d claimed to be in node %s but was not", member.VMID, node.Name) } - if instance.Pool != "" { + if instance.Pool != "" { // enforces that an instance cannot be in two different pools return fmt.Errorf("Instance %d is in pools %s and %s which is not supported", member.VMID, instance.Pool, pool.PoolID) } instance.Pool = pool.PoolID