Skip to content

Commit d70d9e6

Browse files
committed
wip
1 parent 52bf107 commit d70d9e6

File tree

3 files changed

+57
-24
lines changed

3 files changed

+57
-24
lines changed

.evergreen.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1030,7 +1030,6 @@ task_groups:
10301030
- e2e_om_feature_controls
10311031
- e2e_vault_setup_om
10321032
- e2e_vault_setup_om_backup
1033-
- e2e_search_enterprise_tls
10341033
<<: *teardown_group
10351034

10361035
- name: e2e_static_ops_manager_kind_only_task_group
@@ -1131,6 +1130,15 @@ task_groups:
11311130
- e2e_om_ops_manager_prometheus
11321131
<<: *teardown_group
11331132

1133+
# Tests features only supported on OM80
1134+
- name: e2e_ops_manager_kind_8_0_only_task_group
1135+
max_hosts: -1
1136+
<<: *setup_group
1137+
<<: *setup_and_teardown_task
1138+
tasks:
1139+
- e2e_search_enterprise_tls
1140+
<<: *teardown_group
1141+
11341142
# Tests features only supported on OM70 and OM80, its only upgrade test as we test upgrading from 6 to 7 or 7 to 8
11351143
- name: e2e_ops_manager_upgrade_only_task_group
11361144
max_hosts: -1
@@ -1341,6 +1349,7 @@ buildvariants:
13411349
- name: e2e_ops_manager_kind_5_0_only_task_group_without_queryable_backup
13421350
- name: e2e_ops_manager_kind_6_0_only_task_group
13431351
- name: e2e_ops_manager_upgrade_only_task_group
1352+
- name: e2e_ops_manager_kind_8_0_only_task_group
13441353

13451354
- name: e2e_static_om80_kind_ubi
13461355
display_name: e2e_static_om80_kind_ubi

docker/mongodb-kubernetes-tests/tests/search/om_deployment.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
from typing import Optional
22

3-
from pytest import fixture
4-
53
from kubetester import try_load
4+
from kubetester.kubetester import fixture as yaml_fixture
5+
from kubetester.kubetester import is_multi_cluster
66
from kubetester.opsmanager import MongoDBOpsManager
7+
from pytest import fixture
78
from tests.common.ops_manager.cloud_manager import is_cloud_qa
8-
from kubetester.kubetester import fixture as yaml_fixture, is_multi_cluster
9-
from tests.conftest import get_custom_om_version, get_custom_appdb_version
9+
from tests.conftest import get_custom_appdb_version, get_custom_om_version
1010
from tests.opsmanager.withMonitoredAppDB.conftest import enable_multi_cluster_deployment
1111

1212

docker/mongodb-kubernetes-tests/tests/search/search_enterprise_tls.py

Lines changed: 43 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import pymongo
22
import yaml
3-
from pytest import fixture, mark
4-
5-
from kubetester import create_or_update_secret, try_load
3+
from kubetester import create_or_update_secret, run_periodically, try_load
64
from kubetester.certs import create_mongodb_tls_certs, create_tls_certs
75
from kubetester.kubetester import KubernetesTester
86
from kubetester.kubetester import fixture as yaml_fixture
@@ -11,6 +9,8 @@
119
from kubetester.mongodb_user import MongoDBUser
1210
from kubetester.omtester import skip_if_cloud_manager
1311
from kubetester.phase import Phase
12+
from mypyc.irbuild.function import check_native_override
13+
from pytest import fixture, mark
1414
from tests import test_logger
1515
from tests.common.search import movies_search_helper
1616
from tests.common.search.search_tester import SearchTester
@@ -192,16 +192,32 @@ def test_create_search_resource(mdbs: MongoDBSearch):
192192
def test_wait_for_database_resource_ready(mdb: MongoDB):
193193
mdb.assert_reaches_phase(Phase.Running, timeout=300)
194194

195-
for idx in range(mdb.get_members()):
196-
mongod_config = yaml.safe_load(
197-
KubernetesTester.run_command_in_pod_container(
198-
f"{mdb.name}-{idx}", mdb.namespace, ["cat", "/data/automation-mongod.conf"]
195+
196+
@mark.e2e_search_enterprise_tls
197+
def test_wait_for_mongod_parameters(mdb: MongoDB):
198+
def check_mongod_parameters():
199+
parameters_are_set = True
200+
pod_parameters = []
201+
for idx in range(mdb.get_members()):
202+
mongod_config = yaml.safe_load(
203+
KubernetesTester.run_command_in_pod_container(
204+
f"{mdb.name}-{idx}", mdb.namespace, ["cat", "/data/automation-mongod.conf"]
205+
)
199206
)
200-
)
201-
set_parameter = mongod_config.get("setParameter", {})
202-
assert (
203-
"mongotHost" in set_parameter and "searchIndexManagementHostAndPort" in set_parameter
204-
), "mongot parameters not found in mongod config"
207+
set_parameter = mongod_config.get("setParameter", {})
208+
parameters_are_set = parameters_are_set and (
209+
"mongotHost" in set_parameter and "searchIndexManagementHostAndPort" in set_parameter
210+
)
211+
pod_parameters.append(f"pod {idx} setParameter: {set_parameter}")
212+
213+
return parameters_are_set, f'Not all pods have mongot parameters set:\n{"\n".join(pod_parameters)}'
214+
215+
run_periodically(lambda: check_mongod_parameters(), timeout=200)
216+
217+
218+
@mark.e2e_search_enterprise_tls
219+
def test_wait_for_database_resource_ready2(mdb: MongoDB):
220+
mdb.assert_reaches_phase(Phase.Running, timeout=300)
205221

206222

207223
@mark.e2e_search_enterprise_tls
@@ -228,8 +244,8 @@ def test_search_assert_search_query(mdb: MongoDB):
228244
class TestUpgradeMongod:
229245
def test_check_polyfilled_role_in_ac(self, mdb: MongoDB):
230246
custom_roles = mdb.get_automation_config_tester().automation_config.get("roles", [])
231-
assert (len(custom_roles) > 0)
232-
assert ("searchCoordinator" in [role["role"] for role in custom_roles])
247+
assert len(custom_roles) > 0
248+
assert "searchCoordinator" in [role["role"] for role in custom_roles]
233249

234250
def test_mongod_version(self, mdb: MongoDB):
235251
mdb.tester(ca_path=get_issuer_ca_filepath(), use_ssl=True).assert_version(MDB_VERSION_WITHOUT_BUILT_IN_ROLE)
@@ -241,12 +257,14 @@ def test_upgrade_to_mongo_8_2(self, mdb: MongoDB):
241257

242258
def test_check_polyfilled_role_not_in_ac(self, mdb: MongoDB):
243259
custom_roles = mdb.get_automation_config_tester().automation_config.get("roles", [])
244-
assert (len(custom_roles) >= 0)
245-
assert ("searchCoordinator" not in [role["role"] for role in custom_roles])
260+
assert len(custom_roles) >= 0
261+
assert "searchCoordinator" not in [role["role"] for role in custom_roles]
246262

247263
def test_mongod_version_after_upgrade(self, mdb: MongoDB):
248264
mdb_tester = mdb.tester(ca_path=get_issuer_ca_filepath(), use_ssl=True)
249-
mdb_tester.assert_scram_sha_authentication(ADMIN_USER_NAME, ADMIN_USER_PASSWORD, "SCRAM-SHA-256", 1, ssl=True, tlsCAFile=get_issuer_ca_filepath())
265+
mdb_tester.assert_scram_sha_authentication(
266+
ADMIN_USER_NAME, ADMIN_USER_PASSWORD, "SCRAM-SHA-256", 1, ssl=True, tlsCAFile=get_issuer_ca_filepath()
267+
)
250268
# TODO check why assert version works without auth for 8.0 and not for 8.2
251269
mdb_tester.assert_version(MDB_VERSION_WITH_BUILT_IN_ROLE)
252270

@@ -262,13 +280,19 @@ def get_connection_string(mdb: MongoDB, user_name: str, user_password: str) -> s
262280

263281
def get_admin_sample_movies_helper(mdb):
264282
return movies_search_helper.SampleMoviesSearchHelper(
265-
SearchTester(get_connection_string(mdb, ADMIN_USER_NAME, ADMIN_USER_PASSWORD), use_ssl=True, ca_path=get_issuer_ca_filepath())
283+
SearchTester(
284+
get_connection_string(mdb, ADMIN_USER_NAME, ADMIN_USER_PASSWORD),
285+
use_ssl=True,
286+
ca_path=get_issuer_ca_filepath(),
287+
)
266288
)
267289

268290

269291
def get_user_sample_movies_helper(mdb):
270292
return movies_search_helper.SampleMoviesSearchHelper(
271-
SearchTester(get_connection_string(mdb, USER_NAME, USER_PASSWORD), use_ssl=True, ca_path=get_issuer_ca_filepath())
293+
SearchTester(
294+
get_connection_string(mdb, USER_NAME, USER_PASSWORD), use_ssl=True, ca_path=get_issuer_ca_filepath()
295+
)
272296
)
273297

274298

0 commit comments

Comments
 (0)