@@ -65,6 +65,9 @@ var _ = Describe("ClustersummaryController", func() {
65
65
"dc" : "eng" ,
66
66
},
67
67
},
68
+ Status : clusterv1.ClusterStatus {
69
+ ControlPlaneReady : true ,
70
+ },
68
71
}
69
72
70
73
clusterProfile = & configv1alpha1.ClusterProfile {
@@ -92,11 +95,42 @@ var _ = Describe("ClustersummaryController", func() {
92
95
93
96
prepareForDeployment (clusterProfile , clusterSummary , cluster )
94
97
98
+ cluster .Status .ControlPlaneReady = true
99
+
95
100
// Get ClusterSummary so OwnerReference is set
96
101
Expect (testEnv .Get (context .TODO (),
97
102
types.NamespacedName {Namespace : clusterSummary .Namespace , Name : clusterSummary .Name }, clusterSummary )).To (Succeed ())
98
103
})
99
104
105
+ It ("isReady returns true if CAPI Cluster has Status.ControlPlaneReady set to true" , func () {
106
+ cluster .Status .ControlPlaneReady = true
107
+
108
+ initObjects := []client.Object {
109
+ clusterProfile ,
110
+ clusterSummary ,
111
+ cluster ,
112
+ }
113
+
114
+ c := fake .NewClientBuilder ().WithScheme (scheme ).WithStatusSubresource (initObjects ... ).WithObjects (initObjects ... ).Build ()
115
+
116
+ reconciler := & controllers.ClusterSummaryReconciler {
117
+ Client : c ,
118
+ Scheme : scheme ,
119
+ Deployer : nil ,
120
+ ClusterMap : make (map [corev1.ObjectReference ]* libsveltosset.Set ),
121
+ ReferenceMap : make (map [corev1.ObjectReference ]* libsveltosset.Set ),
122
+ ClusterSummaryMap : make (map [types.NamespacedName ]* libsveltosset.Set ),
123
+ PolicyMux : sync.Mutex {},
124
+ }
125
+
126
+ Expect (controllers .IsReady (reconciler , context .TODO (), clusterSummary )).To (BeTrue ())
127
+
128
+ cluster .Status .ControlPlaneReady = false
129
+ Expect (c .Status ().Update (context .TODO (), cluster )).To (Succeed ())
130
+
131
+ Expect (controllers .IsReady (reconciler , context .TODO (), clusterSummary )).To (BeFalse ())
132
+ })
133
+
100
134
It ("isPaused returns true if CAPI Cluster has Spec.Paused set" , func () {
101
135
initObjects := []client.Object {
102
136
clusterProfile ,
@@ -964,6 +998,13 @@ var _ = Describe("ClusterSummaryReconciler: requeue methods", func() {
964
998
Expect (waitForObject (context .TODO (), testEnv .Client , ns )).To (Succeed ())
965
999
966
1000
Expect (testEnv .Client .Create (context .TODO (), cluster )).To (Succeed ())
1001
+ Expect (waitForObject (context .TODO (), testEnv .Client , cluster )).To (Succeed ())
1002
+ currentCluster := clusterv1.Cluster {}
1003
+ Expect (testEnv .Client .Get (context .TODO (),
1004
+ types.NamespacedName {Namespace : cluster .Namespace , Name : cluster .Name },
1005
+ & currentCluster )).To (Succeed ())
1006
+ currentCluster .Status .ControlPlaneReady = true
1007
+ Expect (testEnv .Client .Status ().Update (ctx , & currentCluster )).To (Succeed ())
967
1008
968
1009
configMap := createConfigMapWithPolicy (namespace , randomString (), fmt .Sprintf (editClusterRole , randomString ()))
969
1010
By (fmt .Sprintf ("Creating %s %s/%s" , configMap .Kind , configMap .Namespace , configMap .Name ))
@@ -1033,6 +1074,16 @@ var _ = Describe("ClusterSummaryReconciler: requeue methods", func() {
1033
1074
Expect (testEnv .Client .Create (context .TODO (), ns )).To (Succeed ())
1034
1075
Expect (waitForObject (context .TODO (), testEnv .Client , ns )).To (Succeed ())
1035
1076
1077
+ Expect (testEnv .Client .Create (context .TODO (), cluster )).To (Succeed ())
1078
+ Expect (waitForObject (context .TODO (), testEnv .Client , cluster )).To (Succeed ())
1079
+ Expect (addTypeInformationToObject (scheme , cluster )).To (Succeed ())
1080
+ currentCluster := clusterv1.Cluster {}
1081
+ Expect (testEnv .Client .Get (context .TODO (),
1082
+ types.NamespacedName {Namespace : cluster .Namespace , Name : cluster .Name },
1083
+ & currentCluster )).To (Succeed ())
1084
+ currentCluster .Status .ControlPlaneReady = true
1085
+ Expect (testEnv .Client .Status ().Update (ctx , & currentCluster )).To (Succeed ())
1086
+
1036
1087
Expect (testEnv .Client .Create (context .TODO (), referencingClusterSummary )).To (Succeed ())
1037
1088
Expect (waitForObject (context .TODO (), testEnv .Client , referencingClusterSummary )).To (Succeed ())
1038
1089
addOwnerReference (ctx , testEnv .Client , referencingClusterSummary , clusterProfile )
@@ -1041,10 +1092,6 @@ var _ = Describe("ClusterSummaryReconciler: requeue methods", func() {
1041
1092
Expect (waitForObject (context .TODO (), testEnv .Client , nonReferencingClusterSummary )).To (Succeed ())
1042
1093
addOwnerReference (ctx , testEnv .Client , nonReferencingClusterSummary , clusterProfile )
1043
1094
1044
- Expect (testEnv .Client .Create (context .TODO (), cluster )).To (Succeed ())
1045
- Expect (waitForObject (context .TODO (), testEnv .Client , cluster )).To (Succeed ())
1046
- Expect (addTypeInformationToObject (scheme , cluster )).To (Succeed ())
1047
-
1048
1095
clusterSummaryName := client.ObjectKey {
1049
1096
Name : referencingClusterSummary .Name ,
1050
1097
Namespace : referencingClusterSummary .Namespace ,
0 commit comments