@@ -216,18 +216,23 @@ var _ = Describe("Operator Upgrades", Label("e2e", "pr"), func() {
216
216
Expect (err ).NotTo (HaveOccurred ())
217
217
218
218
// Check if the restarted process is showing up in IncompatibleConnections list in status output.
219
- Eventually (func (g Gomega ) bool {
219
+ Eventually (func (g Gomega ) map [ string ]fdbv1beta2. None {
220
220
status := fdbCluster .GetStatus ()
221
221
if len (status .Cluster .IncompatibleConnections ) == 0 {
222
- return false
222
+ return nil
223
223
}
224
224
225
225
log .Println ("IncompatibleProcesses:" , status .Cluster .IncompatibleConnections )
226
- g .Expect (status .Cluster .IncompatibleConnections ).To (HaveLen (1 ))
227
- // Extract the IP of the incompatible process.
228
- incompatibleProcess := strings .Split (status .Cluster .IncompatibleConnections [0 ], ":" )[0 ]
229
- return incompatibleProcess == selectedCoordinator .Status .PodIP
230
- }).WithTimeout (180 * time .Second ).WithPolling (4 * time .Second ).Should (BeTrue ())
226
+ result := make (map [string ]fdbv1beta2.None )
227
+ // Ensure that all reported incompatible connections are from the selectedCoordinator.
228
+ for _ , incompatibleConnection := range status .Cluster .IncompatibleConnections {
229
+ parsedAddr , err := fdbv1beta2 .ParseProcessAddress (incompatibleConnection )
230
+ g .Expect (err ).NotTo (HaveOccurred ())
231
+ result [parsedAddr .MachineAddress ()] = fdbv1beta2.None {}
232
+ }
233
+
234
+ return result
235
+ }).WithTimeout (180 * time .Second ).WithPolling (4 * time .Second ).Should (And (HaveLen (1 ), HaveKey (selectedCoordinator .Status .PodIP )))
231
236
232
237
// Allow the operator to restart processes and the upgrade should continue and finish.
233
238
fdbCluster .SetKillProcesses (true )
0 commit comments