Skip to content

Commit ba4755d

Browse files
committed
fix appdb spec
1 parent f8fd451 commit ba4755d

File tree

4 files changed

+30
-23
lines changed

4 files changed

+30
-23
lines changed

docker/mongodb-kubernetes-tests/kubetester/kubetester.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ def is_default_architecture_static() -> bool:
6969
return os.getenv("MDB_DEFAULT_ARCHITECTURE", "non-static") == "static"
7070

7171

72-
def assert_container_count(current_container_count: int, expected_counter_without_static: int):
72+
def assert_container_count_with_static(current_container_count: int, expected_counter_without_static: int):
7373
if is_default_architecture_static():
7474
assert current_container_count == expected_counter_without_static + 1
7575
else:

docker/mongodb-kubernetes-tests/tests/opsmanager/withMonitoredAppDB/om_ops_manager_pod_spec.py

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from kubernetes import client
1010
from kubetester import try_load
1111
from kubetester.custom_podspec import assert_volume_mounts_are_equal
12+
from kubetester.kubetester import assert_container_count_with_static
1213
from kubetester.kubetester import fixture as yaml_fixture
1314
from kubetester.kubetester import is_default_architecture_static
1415
from kubetester.opsmanager import MongoDBOpsManager
@@ -79,19 +80,26 @@ def test_backup_1_pod_becomes_ready(self, ops_manager: MongoDBOpsManager):
7980

8081
def test_appdb_pod_template_containers(self, ops_manager: MongoDBOpsManager):
8182
appdb_sts = ops_manager.read_appdb_statefulset()
82-
assert len(appdb_sts.spec.template.spec.containers) == 4
83+
assert_container_count_with_static(len(appdb_sts.spec.template.spec.containers), 4)
8384

8485
assert appdb_sts.spec.template.spec.service_account_name == APPDB_SA_NAME
8586

86-
appdb_agent_container = appdb_sts.spec.template.spec.containers[2]
87-
assert appdb_agent_container.name == "mongodb-agent"
88-
assert appdb_agent_container.resources.limits["cpu"] == "750m"
89-
assert appdb_agent_container.resources.limits["memory"] == "850M"
90-
91-
assert appdb_sts.spec.template.spec.containers[0].name == "appdb-sidecar"
92-
assert appdb_sts.spec.template.spec.containers[0].image == "busybox"
93-
assert appdb_sts.spec.template.spec.containers[0].command == ["sleep"]
94-
assert appdb_sts.spec.template.spec.containers[0].args == ["infinity"]
87+
found_agent_container = False
88+
found_sidecar_container = False
89+
for container in appdb_sts.spec.template.spec.containers:
90+
if container.name == "mongodb-agent":
91+
found_agent_container = True
92+
appdb_agent_container = container
93+
assert appdb_agent_container.resources.limits["cpu"] == "750m"
94+
assert appdb_agent_container.resources.limits["memory"] == "850M"
95+
elif container.name == "appdb-sidecar":
96+
found_sidecar_container = True
97+
assert container.image == "busybox"
98+
assert container.command == ["sleep"]
99+
assert container.args == ["infinity"]
100+
101+
assert found_agent_container, "mongodb-agent container not found"
102+
assert found_sidecar_container, "appdb-sidecar container not found"
95103

96104
def test_appdb_persistence(self, ops_manager: MongoDBOpsManager, namespace: str):
97105
# appdb pod volume claim template
@@ -362,16 +370,15 @@ def test_backup_1_pod_becomes_ready(self, ops_manager: MongoDBOpsManager):
362370

363371
def test_appdb_pod_template(self, ops_manager: MongoDBOpsManager):
364372
appdb_sts = ops_manager.read_appdb_statefulset()
365-
assert len(appdb_sts.spec.template.spec.containers) == 4
366-
367-
appdb_mongod_container = appdb_sts.spec.template.spec.containers[1]
368-
assert appdb_mongod_container.name == "mongod"
373+
assert_container_count_with_static(len(appdb_sts.spec.template.spec.containers), 4)
369374

370-
appdb_agent_container = appdb_sts.spec.template.spec.containers[2]
371-
assert appdb_agent_container.name == "mongodb-agent"
375+
# Find each container by name instead of position
376+
containers_by_name = {c.name: c for c in appdb_sts.spec.template.spec.containers}
372377

373-
appdb_agent_monitoring_container = appdb_sts.spec.template.spec.containers[3]
374-
assert appdb_agent_monitoring_container.name == "mongodb-agent-monitoring"
378+
# Check that all required containers exist
379+
assert "mongod" in containers_by_name, "mongod container not found"
380+
assert "mongodb-agent" in containers_by_name, "mongodb-agent container not found"
381+
assert "mongodb-agent-monitoring" in containers_by_name, "mongodb-agent-monitoring container not found"
375382

376383
assert appdb_sts.spec.template.metadata.annotations == {"annotation1": "val"}
377384

docker/mongodb-kubernetes-tests/tests/vaultintegration/om_backup_vault.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
from kubetester.awss3client import AwsS3Client, s3_endpoint
1616
from kubetester.certs import create_mongodb_tls_certs, create_ops_manager_tls_certs
1717
from kubetester.http import https_endpoint_is_reachable
18-
from kubetester.kubetester import KubernetesTester, assert_container_count
18+
from kubetester.kubetester import KubernetesTester, assert_container_count_with_static
1919
from kubetester.kubetester import fixture as yaml_fixture
2020
from kubetester.kubetester import get_pods
2121
from kubetester.mongodb import MongoDB
@@ -452,7 +452,7 @@ def test_appdb_reached_running_and_pod_count(ops_manager: MongoDBOpsManager, nam
452452
# check AppDB has 4 containers(+1 because of vault-agent)
453453
for pod_name in get_pods(ops_manager.name + "-db-{}", 3):
454454
pod = client.CoreV1Api().read_namespaced_pod(pod_name, namespace)
455-
assert_container_count(len(pod.spec.containers), 4)
455+
assert_container_count_with_static(len(pod.spec.containers), 4)
456456

457457

458458
@mark.e2e_vault_setup_om_backup

docker/mongodb-kubernetes-tests/tests/vaultintegration/om_deployment_vault.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
read_secret,
1313
)
1414
from kubetester.certs import create_mongodb_tls_certs, create_ops_manager_tls_certs
15-
from kubetester.kubetester import KubernetesTester, assert_container_count
15+
from kubetester.kubetester import KubernetesTester, assert_container_count_with_static
1616
from kubetester.kubetester import fixture as yaml_fixture
1717
from kubetester.kubetester import get_pods, is_default_architecture_static
1818
from kubetester.operator import Operator
@@ -277,7 +277,7 @@ def test_appdb_reached_running_and_pod_count(ops_manager: MongoDBOpsManager, nam
277277
# check AppDB has 4 containers(+1 because of vault-agent)
278278
for pod_name in get_pods(ops_manager.name + "-db-{}", 3):
279279
pod = client.CoreV1Api().read_namespaced_pod(pod_name, namespace)
280-
assert_container_count(len(pod.spec.containers), 4)
280+
assert_container_count_with_static(len(pod.spec.containers), 4)
281281

282282

283283
@mark.e2e_vault_setup_om

0 commit comments

Comments
 (0)