From 7d1c85e476c21727a3dbe90c5a8602cd5e700e1a Mon Sep 17 00:00:00 2001 From: Marcin Wielgus Date: Tue, 23 Aug 2016 13:10:48 +0200 Subject: [PATCH] Test if 2 federated informers in rs controller are in sync --- .../replicaset/replicasetcontroller.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/federation/pkg/federation-controller/replicaset/replicasetcontroller.go b/federation/pkg/federation-controller/replicaset/replicasetcontroller.go index 9efdf42f6c7..151e985faa3 100644 --- a/federation/pkg/federation-controller/replicaset/replicasetcontroller.go +++ b/federation/pkg/federation-controller/replicaset/replicasetcontroller.go @@ -232,9 +232,20 @@ func (frsc *ReplicaSetController) isSynced() bool { glog.V(2).Infof("Cluster list not synced") return false } + clusters2, err := frsc.fedPodInformer.GetReadyClusters() + if err != nil { + glog.Errorf("Failed to get ready clusters: %v", err) + return false + } + + // This also checks whether podInformer and replicaSetInformer have the + // same cluster lists. if !frsc.fedPodInformer.GetTargetStore().ClustersSynced(clusters) { return false } + if !frsc.fedPodInformer.GetTargetStore().ClustersSynced(clusters2) { + return false + } if !frsc.replicaSetController.HasSynced() { glog.V(2).Infof("federation replicaset list not synced")