Skip to content

Commit 054f967

Browse files
committed
fix test
1 parent c6c0220 commit 054f967

File tree

3 files changed

+31
-11
lines changed

3 files changed

+31
-11
lines changed

docker/mongodb-kubernetes-tests/tests/multicluster/fixtures/mongodb-multi-cluster.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,4 @@ spec:
1818
members: 1
1919
- clusterName: kind-e2e-cluster-3
2020
members: 2
21+
logLevel: DEBUG

docker/mongodb-kubernetes-tests/tests/multicluster/fixtures/mongodb-multi.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,4 @@ spec:
1818
members: 1
1919
- clusterName: kind-e2e-cluster-3
2020
members: 2
21+
logLevel: DEBUG

docker/mongodb-kubernetes-tests/tests/multicluster/multi_cluster_reconcile_races.py

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import kubernetes.client
77
import pytest
88
from kubetester import create_or_update_secret, find_fixture, try_load
9-
from kubetester.kubetester import KubernetesTester
9+
from kubetester.kubetester import KubernetesTester, ensure_ent_version
1010
from kubetester.kubetester import fixture as yaml_fixture
1111
from kubetester.mongodb import MongoDB
1212
from kubetester.mongodb_multi import MongoDBMulti
@@ -70,13 +70,18 @@ def get_replica_set(ops_manager, namespace: str, idx: int) -> MongoDB:
7070
return resource
7171

7272

73-
def get_mdbmc(ops_manager, namespace: str, idx: int) -> MongoDBMulti:
73+
def get_mdbmc(
74+
ops_manager, namespace: str, idx: int
75+
) -> MongoDBMulti:
7476
name = f"mdb-{idx}-mc"
7577
resource = MongoDBMulti.from_yaml(
7678
yaml_fixture("mongodb-multi-cluster.yaml"),
7779
namespace=namespace,
7880
name=name,
7981
).configure(ops_manager, name, api_client=get_central_cluster_client())
82+
resource.set_version(ensure_ent_version(get_custom_mdb_version()))
83+
resource.api = kubernetes.client.CustomObjectsApi(get_central_cluster_client())
84+
resource["spec"]["clusterSpecList"] = cluster_spec_list(get_member_cluster_names(), [1, 1, 1])
8085

8186
try_load(resource)
8287
return resource
@@ -89,6 +94,8 @@ def get_sharded(ops_manager, namespace: str, idx: int) -> MongoDB:
8994
namespace=namespace,
9095
name=name,
9196
).configure(ops_manager, name, api_client=get_central_cluster_client())
97+
resource.set_version(get_custom_mdb_version())
98+
9299
try_load(resource)
93100
return resource
94101

@@ -172,14 +179,13 @@ def test_create_mdb(ops_manager: MongoDBOpsManager, namespace: str):
172179

173180

174181
@pytest.mark.e2e_om_reconcile_race_with_telemetry
175-
def test_create_mdbmc(ops_manager: MongoDBOpsManager, namespace: str):
182+
def test_create_mdbmc(
183+
ops_manager: MongoDBOpsManager, namespace: str
184+
):
176185
for resource in get_all_mdbmc(ops_manager, namespace):
177-
resource.set_version(get_custom_mdb_version())
178-
resource["spec"]["clusterSpecList"] = cluster_spec_list(get_member_cluster_names(), [1, 1, 1])
179186
resource.update()
180-
181-
for r in get_all_rs(ops_manager, namespace):
182-
r.assert_reaches_phase(Phase.Running)
187+
for r in get_all_mdbmc(ops_manager, namespace):
188+
r.assert_reaches_phase(Phase.Running, timeout=1600)
183189

184190

185191
@pytest.mark.e2e_om_reconcile_race_with_telemetry
@@ -188,7 +194,7 @@ def test_create_sharded(ops_manager: MongoDBOpsManager, namespace: str):
188194
resource.set_version(get_custom_mdb_version())
189195
resource.update()
190196

191-
for r in get_all_rs(ops_manager, namespace):
197+
for r in get_all_sharded(ops_manager, namespace):
192198
r.assert_reaches_phase(Phase.Running)
193199

194200

@@ -198,7 +204,7 @@ def test_create_standalone(ops_manager: MongoDBOpsManager, namespace: str):
198204
resource.set_version(get_custom_mdb_version())
199205
resource.update()
200206

201-
for r in get_all_rs(ops_manager, namespace):
207+
for r in get_all_standalone(ops_manager, namespace):
202208
r.assert_reaches_phase(Phase.Running)
203209

204210

@@ -216,6 +222,8 @@ def test_create_users(ops_manager: MongoDBOpsManager, namespace: str):
216222
resource.update()
217223

218224
for r in get_all_rs(ops_manager, namespace):
225+
for resource in get_all_users(ops_manager, namespace, mdb):
226+
resource.assert_reaches_phase(Phase.Updated, timeout=400)
219227
r.assert_reaches_phase(Phase.Running)
220228

221229

@@ -232,13 +240,23 @@ def test_pod_logs_race(multi_cluster_operator: Operator):
232240

233241

234242
@pytest.mark.e2e_om_reconcile_race_with_telemetry
235-
def test_restart_operator_pod(ops_manager: MongoDBOpsManager, namespace: str, multi_cluster_operator: Operator):
243+
def test_restart_operator_pod(
244+
ops_manager: MongoDBOpsManager,
245+
namespace: str,
246+
multi_cluster_operator: Operator
247+
):
236248
# this enforces a requeue of all existing resources, increasing the chances of races to happen
237249
multi_cluster_operator.restart_operator_deployment()
238250
multi_cluster_operator.assert_is_running()
239251
time.sleep(5)
240252
for r in get_all_rs(ops_manager, namespace):
241253
r.assert_reaches_phase(Phase.Running)
254+
for r in get_all_mdbmc(ops_manager, namespace):
255+
r.assert_reaches_phase(Phase.Running)
256+
for r in get_all_sharded(ops_manager, namespace):
257+
r.assert_reaches_phase(Phase.Running)
258+
for r in get_all_standalone(ops_manager, namespace):
259+
r.assert_reaches_phase(Phase.Running)
242260

243261

244262
@pytest.mark.e2e_om_reconcile_race_with_telemetry

0 commit comments

Comments
 (0)