Skip to content

Commit de06308

Browse files
committed
Running search test under OM 8.2
1 parent 8806eb3 commit de06308

File tree

9 files changed

+77
-16
lines changed

9 files changed

+77
-16
lines changed

.evergreen.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1030,6 +1030,7 @@ task_groups:
10301030
- e2e_om_feature_controls
10311031
- e2e_vault_setup_om
10321032
- e2e_vault_setup_om_backup
1033+
- e2e_search_enterprise_tls
10331034
<<: *teardown_group
10341035

10351036
- name: e2e_static_ops_manager_kind_only_task_group

docker/mongodb-kubernetes-init-database/content/agent-launcher-lib.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ download_agent() {
115115
esac
116116

117117
script_log "Downloading Agent version: ${AGENT_VERSION}"
118-
script_log "Downloading a Mongodb Agent from ${base_url:?}"
118+
script_log "Downloading a Mongodb Agent from ${base_url:?}/download/agent/automation/${AGENT_FILE}"
119119
curl_opts=(
120120
"${base_url}/download/agent/automation/${AGENT_FILE}"
121121

@@ -133,6 +133,7 @@ download_agent() {
133133
curl_opts+=("--cacert" "${SSL_TRUSTED_MMS_SERVER_CERTIFICATE}")
134134
fi
135135

136+
echo "Executing curl command: curl ${curl_opts[*]}"
136137
if ! curl "${curl_opts[@]}" &>"${MMS_LOG_DIR}/curl.log"; then
137138
script_log "Error while downloading the Mongodb agent"
138139
exit 1

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

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,11 @@
2121
from opentelemetry import trace
2222
from requests.adapters import HTTPAdapter, Retry
2323

24+
from tests.common.ops_manager.cloud_manager import is_cloud_qa
2425
from .kubetester import get_env_var_or_fail
2526

2627

27-
def running_cloud_manager():
28-
"Determines if the current test is running against Cloud Manager"
29-
return get_env_var_or_fail("OM_HOST") == "https://cloud-qa.mongodb.com"
30-
31-
32-
skip_if_cloud_manager = pytest.mark.skipif(running_cloud_manager(), reason="Do not run in Cloud Manager")
28+
skip_if_cloud_manager = pytest.mark.skipif(is_cloud_qa(), reason="Do not run in Cloud Manager")
3329

3430

3531
class BackupStatus(str, Enum):
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import os
2+
3+
4+
def is_cloud_qa() -> bool:
5+
return os.getenv("ops_manager_version", "cloud_qa") == "cloud_qa"

docker/mongodb-kubernetes-tests/tests/multicluster_shardedcluster/multi_cluster_sharded_disaster_recovery.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import os
21
import time
32
from typing import Optional
43

@@ -12,12 +11,10 @@
1211
update_configmap,
1312
)
1413
from kubetester.kubetester import (
15-
KubernetesTester,
1614
ensure_ent_version,
1715
)
1816
from kubetester.kubetester import fixture as yaml_fixture
1917
from kubetester.kubetester import (
20-
get_env_var_or_fail,
2118
is_default_architecture_static,
2219
is_multi_cluster,
2320
run_periodically,
@@ -29,6 +26,7 @@
2926
from kubetester.phase import Phase
3027
from pytest import fixture, mark
3128
from tests import test_logger
29+
from tests.common.ops_manager.cloud_manager import is_cloud_qa
3230
from tests.conftest import (
3331
MULTI_CLUSTER_MEMBER_LIST_CONFIGMAP,
3432
get_central_cluster_client,
@@ -54,10 +52,6 @@
5452
# to reconfigure the deployment further.
5553

5654

57-
def is_cloud_qa() -> bool:
58-
return os.getenv("ops_manager_version", "cloud_qa") == "cloud_qa"
59-
60-
6155
@mark.e2e_multi_cluster_sharded_disaster_recovery
6256
def test_install_operator(multi_cluster_operator: Operator):
6357
multi_cluster_operator.assert_is_running()

docker/mongodb-kubernetes-tests/tests/opsmanager/fixtures/om_ops_manager_basic.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,16 @@ spec:
1515

1616
backup:
1717
enabled: false
18+
19+
# adding this just to avoid wizard when opening OM UI
20+
configuration:
21+
automation.versions.source: mongodb
22+
mms.adminEmailAddr: [email protected]
23+
mms.fromEmailAddr: [email protected]
24+
mms.ignoreInitialUiSetup: "true"
25+
mms.mail.hostname: email-smtp.us-east-1.amazonaws.com
26+
mms.mail.port: "465"
27+
mms.mail.ssl: "true"
28+
mms.mail.transport: smtp
29+
mms.minimumTLSVersion: TLSv1.2
30+
mms.replyToEmailAddr: [email protected]
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
from typing import Optional
2+
3+
from pytest import fixture
4+
5+
from kubetester import try_load
6+
from kubetester.opsmanager import MongoDBOpsManager
7+
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
10+
from tests.opsmanager.withMonitoredAppDB.conftest import enable_multi_cluster_deployment
11+
12+
13+
def get_ops_manager(namespace: str) -> Optional[MongoDBOpsManager]:
14+
if is_cloud_qa():
15+
return None
16+
17+
resource: MongoDBOpsManager = MongoDBOpsManager.from_yaml(
18+
yaml_fixture("om_ops_manager_basic.yaml"), namespace=namespace
19+
)
20+
21+
if try_load(resource):
22+
return resource
23+
24+
resource.set_version(get_custom_om_version())
25+
resource.set_appdb_version(get_custom_appdb_version())
26+
resource.allow_mdb_rc_versions()
27+
28+
if is_multi_cluster():
29+
enable_multi_cluster_deployment(resource)
30+
31+
return resource

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

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,26 @@
1+
from typing import Optional
2+
13
import pymongo
24
import yaml
35
from kubetester import create_or_update_secret, try_load
46
from kubetester.certs import create_mongodb_tls_certs, create_tls_certs
5-
from kubetester.kubetester import KubernetesTester
7+
from kubetester.kubetester import KubernetesTester, is_multi_cluster
68
from kubetester.kubetester import fixture as yaml_fixture
79
from kubetester.mongodb import MongoDB
810
from kubetester.mongodb_search import MongoDBSearch
911
from kubetester.mongodb_user import MongoDBUser
12+
from kubetester.omtester import skip_if_cloud_manager
13+
from kubetester.opsmanager import MongoDBOpsManager
1014
from kubetester.phase import Phase
1115
from pytest import fixture, mark
1216
from tests import test_logger
17+
from tests.common.ops_manager.cloud_manager import is_cloud_qa
1318
from tests.common.search import movies_search_helper
1419
from tests.common.search.movies_search_helper import SampleMoviesSearchHelper
1520
from tests.common.search.search_tester import SearchTester
1621
from tests.conftest import get_default_operator
22+
from tests.opsmanager.withMonitoredAppDB.conftest import enable_multi_cluster_deployment
23+
from tests.search.om_deployment import get_ops_manager
1724

1825
logger = test_logger.get_test_logger(__name__)
1926

@@ -26,7 +33,7 @@
2633
USER_NAME = "mdb-user"
2734
USER_PASSWORD = f"{USER_NAME}-password"
2835

29-
MDB_RESOURCE_NAME = "mdb-rs"
36+
MDB_RESOURCE_NAME = "mdb-ent-tls"
3037

3138
# MongoDBSearch TLS configuration
3239
MDBS_TLS_SECRET_NAME = "mdbs-tls-secret"
@@ -39,6 +46,7 @@ def mdb(namespace: str, issuer_ca_configmap: str) -> MongoDB:
3946
name=MDB_RESOURCE_NAME,
4047
namespace=namespace,
4148
)
49+
resource.configure(om=get_ops_manager(namespace), project_name=MDB_RESOURCE_NAME)
4250

4351
if try_load(resource):
4452
return resource
@@ -115,6 +123,16 @@ def test_install_operator(namespace: str, operator_installation_config: dict[str
115123
operator.assert_is_running()
116124

117125

126+
@mark.e2e_search_enterprise_tls
127+
@skip_if_cloud_manager
128+
def test_create_ops_manager(namespace: str):
129+
ops_manager = get_ops_manager(namespace)
130+
if ops_manager is not None:
131+
ops_manager.update()
132+
ops_manager.om_status().assert_reaches_phase(Phase.Running, timeout=1200)
133+
ops_manager.appdb_status().assert_reaches_phase(Phase.Running, timeout=600)
134+
135+
118136
@mark.e2e_search_enterprise_tls
119137
def test_install_tls_secrets_and_configmaps(namespace: str, mdb: MongoDB, mdbs: MongoDBSearch, issuer: str):
120138
create_mongodb_tls_certs(issuer, namespace, mdb.name, f"certs-{mdb.name}-cert", mdb.get_members())

scripts/dev/contexts/variables/om80

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,5 @@ export AGENT_IMAGE="${MDB_AGENT_IMAGE_REPOSITORY}:${AGENT_VERSION}"
1919
export CUSTOM_APPDB_VERSION=8.0.6-ent
2020
export TEST_MODE=opsmanager
2121
export OPS_MANAGER_REGISTRY="${BASE_REPO_URL}"
22+
23+
export ops_manager_version="${CUSTOM_OM_VERSION}"

0 commit comments

Comments
 (0)