From e56ded848268d5bfe1d603774c9b76718baedc7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Sierant?= Date: Thu, 4 Jul 2024 18:51:27 +0200 Subject: [PATCH 1/3] Fixed certs for OM MC GKE install guide --- .../code_snippets/0010_create_gke_cluster_2.sh | 6 +----- .../code_snippets/0011_gcloud_set_current_project.sh | 0 .../code_snippets/0020_get_gke_credentials.sh | 1 + .../code_snippets/0205_helm_configure_repo.sh | 4 ++++ .../code_snippets/0250_generate_certs.sh | 7 +++++++ .../code_snippets/0400_install_minio_s3.sh | 4 ++-- samples/ops-manager-multi-cluster/env_variables.sh | 5 +++-- samples/ops-manager-multi-cluster/test.sh | 2 ++ 8 files changed, 20 insertions(+), 9 deletions(-) create mode 100644 samples/ops-manager-multi-cluster/code_snippets/0011_gcloud_set_current_project.sh create mode 100644 samples/ops-manager-multi-cluster/code_snippets/0205_helm_configure_repo.sh diff --git a/samples/ops-manager-multi-cluster/code_snippets/0010_create_gke_cluster_2.sh b/samples/ops-manager-multi-cluster/code_snippets/0010_create_gke_cluster_2.sh index aebf13d..48cf31e 100644 --- a/samples/ops-manager-multi-cluster/code_snippets/0010_create_gke_cluster_2.sh +++ b/samples/ops-manager-multi-cluster/code_snippets/0010_create_gke_cluster_2.sh @@ -1,5 +1 @@ -gcloud container clusters create "${K8S_CLUSTER_2}" \ - --zone="${K8S_CLUSTER_2_ZONE}" \ - --num-nodes="${K8S_CLUSTER_2_NUMBER_OF_NODES}" \ - --machine-type "${K8S_CLUSTER_2_MACHINE_TYPE}" \ - ${GKE_SPOT_INSTANCES_SWITCH:-""} +gcloud config set project "${MDB_GKE_PROJECT}" diff --git a/samples/ops-manager-multi-cluster/code_snippets/0011_gcloud_set_current_project.sh b/samples/ops-manager-multi-cluster/code_snippets/0011_gcloud_set_current_project.sh new file mode 100644 index 0000000..e69de29 diff --git a/samples/ops-manager-multi-cluster/code_snippets/0020_get_gke_credentials.sh b/samples/ops-manager-multi-cluster/code_snippets/0020_get_gke_credentials.sh index 58dbe0e..f1a8dda 100644 --- a/samples/ops-manager-multi-cluster/code_snippets/0020_get_gke_credentials.sh +++ b/samples/ops-manager-multi-cluster/code_snippets/0020_get_gke_credentials.sh @@ -1,3 +1,4 @@ +gcloud config set project gcloud container clusters get-credentials "${K8S_CLUSTER_0}" --zone="${K8S_CLUSTER_0_ZONE}" gcloud container clusters get-credentials "${K8S_CLUSTER_1}" --zone="${K8S_CLUSTER_1_ZONE}" gcloud container clusters get-credentials "${K8S_CLUSTER_2}" --zone="${K8S_CLUSTER_2_ZONE}" diff --git a/samples/ops-manager-multi-cluster/code_snippets/0205_helm_configure_repo.sh b/samples/ops-manager-multi-cluster/code_snippets/0205_helm_configure_repo.sh new file mode 100644 index 0000000..460580b --- /dev/null +++ b/samples/ops-manager-multi-cluster/code_snippets/0205_helm_configure_repo.sh @@ -0,0 +1,4 @@ +helm repo add mongodb https://mongodb.github.io/helm-charts +helm repo update mongodb +helm search repo "${OFFICIAL_OPERATOR_HELM_CHART}" + diff --git a/samples/ops-manager-multi-cluster/code_snippets/0250_generate_certs.sh b/samples/ops-manager-multi-cluster/code_snippets/0250_generate_certs.sh index 1717b46..c568204 100644 --- a/samples/ops-manager-multi-cluster/code_snippets/0250_generate_certs.sh +++ b/samples/ops-manager-multi-cluster/code_snippets/0250_generate_certs.sh @@ -6,6 +6,7 @@ default_bits = 2048 prompt = no default_md = sha256 distinguished_name = dn +x509_extensions = v3_ca [ dn ] C=US @@ -14,6 +15,12 @@ L=New York O=Example Company OU=IT Department CN=exampleCA + +[ v3_ca ] +basicConstraints = CA:TRUE +keyUsage = critical, keyCertSign, cRLSign +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always,issuer EOF cat <certs/om.cnf diff --git a/samples/ops-manager-multi-cluster/code_snippets/0400_install_minio_s3.sh b/samples/ops-manager-multi-cluster/code_snippets/0400_install_minio_s3.sh index 2a46a39..601facb 100644 --- a/samples/ops-manager-multi-cluster/code_snippets/0400_install_minio_s3.sh +++ b/samples/ops-manager-multi-cluster/code_snippets/0400_install_minio_s3.sh @@ -1,7 +1,7 @@ -kustomize build "github.com/minio/operator/resources/?timeout=120&ref=v5.0.12" | \ +kubectl kustomize "github.com/minio/operator/resources/?timeout=120&ref=v5.0.12" | \ kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" apply -f - -kustomize build "github.com/minio/operator/examples/kustomization/tenant-tiny?timeout=120&ref=v5.0.12" | \ +kubectl kustomize "github.com/minio/operator/examples/kustomization/tenant-tiny?timeout=120&ref=v5.0.12" | \ kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" apply -f - # add two buckets to the tenant config diff --git a/samples/ops-manager-multi-cluster/env_variables.sh b/samples/ops-manager-multi-cluster/env_variables.sh index 4ecad65..d966dd3 100644 --- a/samples/ops-manager-multi-cluster/env_variables.sh +++ b/samples/ops-manager-multi-cluster/env_variables.sh @@ -1,4 +1,4 @@ -export MDB_GKE_PROJECT="### Set your GKE project name here ###" +export MDB_GKE_PROJECT="scratch-kubernetes-team" export NAMESPACE="mongodb" export OPERATOR_NAMESPACE="mongodb-operator" @@ -38,7 +38,8 @@ export S3_ENDPOINT="minio.tenant-tiny.svc.cluster.local" export S3_ACCESS_KEY="console" export S3_SECRET_KEY="console123" -export OPERATOR_HELM_CHART="mongodb/enterprise-operator" +export OFFICIAL_OPERATOR_HELM_CHART="mongodb/enterprise-operator" +export OPERATOR_HELM_CHART="${OFFICIAL_OPERATOR_HELM_CHART}" # (Optional) Change the following setting when using the external URL. # This env variable is used in OpenSSL configuration to generate diff --git a/samples/ops-manager-multi-cluster/test.sh b/samples/ops-manager-multi-cluster/test.sh index 7df7ab4..0b96ce1 100755 --- a/samples/ops-manager-multi-cluster/test.sh +++ b/samples/ops-manager-multi-cluster/test.sh @@ -11,6 +11,7 @@ run 0010_create_gke_cluster_0.sh & run 0010_create_gke_cluster_1.sh & run 0010_create_gke_cluster_2.sh & wait +run 0011_gcloud_set_current_project.sh run 0020_get_gke_credentials.sh run_for_output 0030_verify_access_to_clusters.sh @@ -38,6 +39,7 @@ run_for_output 0090_check_cluster_connectivity_verify_pod_2_0_from_cluster_0.sh run 0100_check_cluster_connectivity_cleanup.sh run_for_output 0200_kubectl_mongodb_configure_multi_cluster.sh +run_for_output 0205_helm_configure_repo.sh run_for_output 0210_helm_install_operator.sh run_for_output 0211_check_operator_deployment.sh From ac10ce872b25bf3bee3040723b6ec4d409069ec8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Sierant?= Date: Fri, 5 Jul 2024 10:29:46 +0200 Subject: [PATCH 2/3] Test fixes --- .../code_snippets/0011_gcloud_set_current_project.sh | 1 + .../code_snippets/0020_get_gke_credentials.sh | 2 +- .../code_snippets/9000_delete_namespaces.sh | 2 ++ samples/ops-manager-multi-cluster/test_cleanup.sh | 4 ++++ scripts/sample_test_runner.sh | 1 - 5 files changed, 8 insertions(+), 2 deletions(-) diff --git a/samples/ops-manager-multi-cluster/code_snippets/0011_gcloud_set_current_project.sh b/samples/ops-manager-multi-cluster/code_snippets/0011_gcloud_set_current_project.sh index e69de29..48cf31e 100644 --- a/samples/ops-manager-multi-cluster/code_snippets/0011_gcloud_set_current_project.sh +++ b/samples/ops-manager-multi-cluster/code_snippets/0011_gcloud_set_current_project.sh @@ -0,0 +1 @@ +gcloud config set project "${MDB_GKE_PROJECT}" diff --git a/samples/ops-manager-multi-cluster/code_snippets/0020_get_gke_credentials.sh b/samples/ops-manager-multi-cluster/code_snippets/0020_get_gke_credentials.sh index f1a8dda..cdfdd4d 100644 --- a/samples/ops-manager-multi-cluster/code_snippets/0020_get_gke_credentials.sh +++ b/samples/ops-manager-multi-cluster/code_snippets/0020_get_gke_credentials.sh @@ -1,4 +1,4 @@ -gcloud config set project + gcloud container clusters get-credentials "${K8S_CLUSTER_0}" --zone="${K8S_CLUSTER_0_ZONE}" gcloud container clusters get-credentials "${K8S_CLUSTER_1}" --zone="${K8S_CLUSTER_1_ZONE}" gcloud container clusters get-credentials "${K8S_CLUSTER_2}" --zone="${K8S_CLUSTER_2_ZONE}" diff --git a/samples/ops-manager-multi-cluster/code_snippets/9000_delete_namespaces.sh b/samples/ops-manager-multi-cluster/code_snippets/9000_delete_namespaces.sh index 2474dc3..b1c68d3 100644 --- a/samples/ops-manager-multi-cluster/code_snippets/9000_delete_namespaces.sh +++ b/samples/ops-manager-multi-cluster/code_snippets/9000_delete_namespaces.sh @@ -2,4 +2,6 @@ kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" delete ns "${NAMESPACE}" & kubectl --context "${K8S_CLUSTER_1_CONTEXT_NAME}" delete ns "${NAMESPACE}" & kubectl --context "${K8S_CLUSTER_2_CONTEXT_NAME}" delete ns "${NAMESPACE}" & kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" delete ns "${OPERATOR_NAMESPACE}" & +kubectl --context "${K8S_CLUSTER_1_CONTEXT_NAME}" delete ns "${OPERATOR_NAMESPACE}" & +kubectl --context "${K8S_CLUSTER_2_CONTEXT_NAME}" delete ns "${OPERATOR_NAMESPACE}" & wait diff --git a/samples/ops-manager-multi-cluster/test_cleanup.sh b/samples/ops-manager-multi-cluster/test_cleanup.sh index 13580c4..63202f1 100755 --- a/samples/ops-manager-multi-cluster/test_cleanup.sh +++ b/samples/ops-manager-multi-cluster/test_cleanup.sh @@ -1,8 +1,12 @@ #!/usr/bin/env bash +# This script only cleans up local directory to prepare to a fresh run. It's not cleaning up any deployed resources/clusters. + set -eou pipefail source env_variables.sh source ../../scripts/sample_test_runner.sh run_cleanup "test.sh" +rm -rf istio* +rm -rf certs diff --git a/scripts/sample_test_runner.sh b/scripts/sample_test_runner.sh index ef4a6f9..becd5f3 100644 --- a/scripts/sample_test_runner.sh +++ b/scripts/sample_test_runner.sh @@ -18,7 +18,6 @@ function run_cleanup() { script_file=$1 rm -rf "${snippets_run_dir}" 2>/dev/null || true rm -rf "log" 2>/dev/null || true - rm -rf "output" 2>/dev/null || true rm -rf "${script_file}.run.log" 2>/dev/null || true } From ea7774cd88ce6ae81e73f10ee54c2385cbd0c74e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Sierant?= Date: Fri, 5 Jul 2024 10:48:52 +0200 Subject: [PATCH 3/3] Test fixes --- .../code_snippets/0010_create_gke_cluster_2.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/samples/ops-manager-multi-cluster/code_snippets/0010_create_gke_cluster_2.sh b/samples/ops-manager-multi-cluster/code_snippets/0010_create_gke_cluster_2.sh index 48cf31e..aebf13d 100644 --- a/samples/ops-manager-multi-cluster/code_snippets/0010_create_gke_cluster_2.sh +++ b/samples/ops-manager-multi-cluster/code_snippets/0010_create_gke_cluster_2.sh @@ -1 +1,5 @@ -gcloud config set project "${MDB_GKE_PROJECT}" +gcloud container clusters create "${K8S_CLUSTER_2}" \ + --zone="${K8S_CLUSTER_2_ZONE}" \ + --num-nodes="${K8S_CLUSTER_2_NUMBER_OF_NODES}" \ + --machine-type "${K8S_CLUSTER_2_MACHINE_TYPE}" \ + ${GKE_SPOT_INSTANCES_SWITCH:-""}