Skip to content

Commit 9d65420

Browse files
committed
Refactored mongodb_custom_roles to leverage multi-project configure
1 parent 3dbb57f commit 9d65420

File tree

5 files changed

+19
-64
lines changed

5 files changed

+19
-64
lines changed

api/v1/mdbmulti/mongodb_multi_types.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ func (m *MongoDBMultiCluster) GetCredentialsSecretNamespace() string {
6565
}
6666

6767
func (m *MongoDBMultiCluster) GetProjectConfigMapName() string {
68-
return m.Spec.OpsManagerConfig.ConfigMapRef.Name
68+
return m.Spec.GetProject()
6969
}
7070

7171
func (m *MongoDBMultiCluster) GetCredentialsSecretName() string {

docker/mongodb-kubernetes-tests/tests/authentication/mongodb_custom_roles.py

Lines changed: 11 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,18 @@
11
from kubetester import (
2-
create_or_update_configmap,
32
find_fixture,
43
random_k8s_name,
5-
read_configmap,
64
try_load,
75
wait_until,
86
)
97
from kubetester.mongodb import MongoDB, Phase
108
from kubetester.mongodb_multi import MongoDBMulti
119
from kubetester.mongodb_role import ClusterMongoDBRole, ClusterMongoDBRoleKind
10+
from kubetester.test_identifiers import set_test_identifier
1211
from pytest import fixture, mark
1312
from tests.multicluster.conftest import cluster_spec_list
1413

1514

16-
@fixture(scope="module")
17-
def project_name_prefix(namespace: str) -> str:
18-
return random_k8s_name(f"{namespace}-project-")
19-
20-
21-
@fixture(scope="module")
22-
def first_project(namespace: str, project_name_prefix: str) -> str:
23-
cm = read_configmap(namespace=namespace, name="my-project")
24-
project_name = f"{project_name_prefix}-first"
25-
return create_or_update_configmap(
26-
namespace=namespace,
27-
name=project_name,
28-
data={
29-
"baseUrl": cm["baseUrl"],
30-
"projectName": project_name,
31-
"orgId": cm["orgId"],
32-
},
33-
)
34-
35-
36-
@fixture(scope="module")
37-
def second_project(namespace: str, project_name_prefix: str) -> str:
38-
cm = read_configmap(namespace=namespace, name="my-project")
39-
project_name = f"{project_name_prefix}-second"
40-
return create_or_update_configmap(
41-
namespace=namespace,
42-
name=project_name,
43-
data={
44-
"baseUrl": cm["baseUrl"],
45-
"projectName": project_name,
46-
"orgId": cm["orgId"],
47-
},
48-
)
49-
50-
51-
@fixture(scope="module")
52-
def third_project(namespace: str, project_name_prefix: str) -> str:
53-
cm = read_configmap(namespace=namespace, name="my-project")
54-
project_name = f"{project_name_prefix}-third"
55-
return create_or_update_configmap(
56-
namespace=namespace,
57-
name=project_name,
58-
data={
59-
"baseUrl": cm["baseUrl"],
60-
"projectName": project_name,
61-
"orgId": cm["orgId"],
62-
},
63-
)
64-
65-
66-
@fixture(scope="module")
15+
@fixture(scope="function")
6716
def mongodb_role():
6817
resource = ClusterMongoDBRole.from_yaml(find_fixture("cluster-mongodb-role.yaml"), cluster_scoped=True)
6918

@@ -73,9 +22,10 @@ def mongodb_role():
7322
return resource.update()
7423

7524

76-
@fixture(scope="module")
77-
def replica_set(namespace: str, mongodb_role: ClusterMongoDBRole, first_project: str) -> MongoDB:
25+
@fixture(scope="function")
26+
def replica_set(namespace: str, mongodb_role: ClusterMongoDBRole) -> MongoDB:
7827
resource = MongoDB.from_yaml(find_fixture("replica-set-scram.yaml"), namespace=namespace)
28+
resource.configure(None, f"{resource.name}-first")
7929

8030
if try_load(resource):
8131
return resource
@@ -87,14 +37,14 @@ def replica_set(namespace: str, mongodb_role: ClusterMongoDBRole, first_project:
8737
"kind": ClusterMongoDBRoleKind,
8838
}
8939
]
90-
resource["spec"]["opsManager"]["configMapRef"]["name"] = first_project
9140

9241
return resource
9342

9443

95-
@fixture(scope="module")
96-
def sharded_cluster(namespace: str, mongodb_role: ClusterMongoDBRole, second_project: str) -> MongoDB:
44+
@fixture(scope="function")
45+
def sharded_cluster(namespace: str, mongodb_role: ClusterMongoDBRole) -> MongoDB:
9746
resource = MongoDB.from_yaml(find_fixture("sharded-cluster-scram-sha-1.yaml"), namespace=namespace)
47+
resource.configure(None, f"{resource.name}-second")
9848

9949
if try_load(resource):
10050
return resource
@@ -109,14 +59,14 @@ def sharded_cluster(namespace: str, mongodb_role: ClusterMongoDBRole, second_pro
10959
"kind": ClusterMongoDBRoleKind,
11060
}
11161
]
112-
resource["spec"]["opsManager"]["configMapRef"]["name"] = second_project
11362

11463
return resource
11564

11665

117-
@fixture(scope="module")
118-
def mc_replica_set(namespace: str, mongodb_role: ClusterMongoDBRole, third_project: str) -> MongoDBMulti:
66+
@fixture(scope="function")
67+
def mc_replica_set(namespace: str, mongodb_role: ClusterMongoDBRole) -> MongoDBMulti:
11968
resource = MongoDBMulti.from_yaml(find_fixture("mongodb-multi.yaml"), namespace=namespace)
69+
resource.configure(None, f"{resource.name}-third")
12070

12171
if try_load(resource):
12272
return resource
@@ -129,7 +79,6 @@ def mc_replica_set(namespace: str, mongodb_role: ClusterMongoDBRole, third_proje
12979
}
13080
]
13181
}
132-
resource["spec"]["opsManager"]["configMapRef"]["name"] = third_project
13382
resource["spec"]["clusterSpecList"] = cluster_spec_list(["kind-e2e-cluster-1"], [1])
13483

13584
return resource
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"

scripts/dev/contexts/root-context

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ export INIT_OPS_MANAGER_VERSION="${VERSION_ID}"
6262
export DATABASE_VERSION="${VERSION_ID}"
6363

6464
export KUBE_ENVIRONMENT_NAME=kind
65+
export CLUSTER_TYPE=kind
6566

6667
# when using EVG ec2 instance, we copy kubeconfig locally and use it
6768
if [[ "${EVG_HOST_NAME:-}" != "" ]]; then

scripts/funcs/multicluster

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ run_multi_cluster_kube_config_creator() {
277277
params+=("--install-database-roles")
278278
fi
279279

280-
if [[ "${OPERATOR_CLUSTER_SCOPED}" == "true" ]]; then
280+
if [[ "${OPERATOR_CLUSTER_SCOPED:-"false"}" == "true" ]]; then
281281
params+=("--cluster-scoped")
282282
fi
283283
if [[ "${MULTI_CLUSTER_CREATE_SERVICE_ACCOUNT_TOKEN_SECRETS}" == "true" ]]; then

0 commit comments

Comments
 (0)