diff --git a/.evergreen-functions.yml b/.evergreen-functions.yml index 90520daa4..fd7732769 100644 --- a/.evergreen-functions.yml +++ b/.evergreen-functions.yml @@ -830,7 +830,7 @@ functions: working_dir: src/github.com/mongodb/mongodb-kubernetes binary: scripts/code_snippets/sample_commit_output.sh - # it executes a script by convention: ./scripts/code_snippets/${task_name}_test.sh + # it executes a script by convention: ./scripts/code_snippets/tests/${task_name} test_code_snippets: - *switch_context - command: shell.exec @@ -843,4 +843,4 @@ functions: - code_snippets_reset - task_name script: | - ./scripts/code_snippets/${task_name}_test.sh + ./scripts/code_snippets/tests/${task_name} diff --git a/.evergreen-snippets.yml b/.evergreen-snippets.yml new file mode 100644 index 000000000..9f316248f --- /dev/null +++ b/.evergreen-snippets.yml @@ -0,0 +1,151 @@ +variables: + - &setup_and_teardown_group_gke_code_snippets + setup_task_can_fail_task: true + setup_group: + - func: clone + - func: setup_gcloud_cli + - func: setup_mongosh + - func: download_kube_tools + - func: build_multi_cluster_binary + teardown_task: + - func: upload_e2e_logs + - func: upload_code_snippets_logs + + - &setup_and_teardown_group_kind_code_snippets + setup_task_can_fail_task: true + setup_group: + - func: clone + - func: cleanup_exec_environment + - func: download_kube_tools + - func: configure_docker_auth + - func: setup_kubernetes_environment + - func: setup_cloud_qa + teardown_task: + - func: upload_e2e_logs + - func: upload_code_snippets_logs + - func: teardown_kubernetes_environment + - func: teardown_cloud_qa + +# This variable is copied over from .evergreen.yml because anchors don't work for included files + - &base_om8_dependency + depends_on: + - name: build_om_images + variant: build_om80_images + - name: build_operator_ubi + variant: init_test_run + - name: build_init_database_image_ubi + variant: init_test_run + - name: build_database_image_ubi + variant: init_test_run + - name: build_test_image + variant: init_test_run + - name: build_init_appdb_images_ubi + variant: init_test_run + - name: build_init_om_images_ubi + variant: init_test_run + - name: build_agent_images_ubi + variant: init_test_run + +tasks: + # Code snippets tasks + # Each scripts/code_snippets/tests/test_*.sh should have its task defined here. + # TODO: it should be autogenerated + # Each task executes test_code_snippets functon executes scripts/code_snippets/tests/${task_name} by task name convention + - name: test_gke_multi_cluster_snippets.sh + tags: [ "code_snippets" ] + commands: + - func: test_code_snippets + - func: sample_commit_output + + - name: test_gke_multi_cluster_no_mesh_snippets.sh + tags: [ "code_snippets" ] + commands: + - func: test_code_snippets + - func: sample_commit_output + + - name: test_kind_search_community_snippets.sh + tags: [ "code_snippets", "patch-run" ] + commands: + - func: test_code_snippets + - func: sample_commit_output + + - name: test_kind_search_enterprise_snippets.sh + tags: [ "code_snippets", "patch-run" ] + commands: + - func: test_code_snippets + - func: sample_commit_output + +task_groups: + - name: gke_code_snippets_task_group + <<: *setup_and_teardown_group_gke_code_snippets + max_hosts: -1 + tasks: + - test_gke_multi_cluster_snippets.sh + - test_gke_multi_cluster_no_mesh_snippets.sh + + - name: kind_code_snippets_task_group + <<: *setup_and_teardown_group_kind_code_snippets + max_hosts: -1 + tasks: + - test_kind_search_community_snippets.sh + - test_kind_search_enterprise_snippets.sh + +buildvariants: + # These variants are used to test the code snippets and each one can be used in patches + # Prerelease is especially used when the repo is tagged + # More details in the TD: https://docs.google.com/document/d/1fuTxfRtP8QPtn7sKYxQM_AGcD6xycTZH8svngGxyKhc/edit?tab=t.0#bookmark=id.e8uva0393mbe + - name: public_gke_code_snippets + display_name: public_gke_code_snippets + allowed_requesters: [ "patch" ] + run_on: + - ubuntu2204-small + tasks: + - name: gke_code_snippets_task_group + + - name: prerelease_gke_code_snippets + display_name: prerelease_gke_code_snippets + tags: [ "release" ] + allowed_requesters: [ "patch", "github_tag" ] + depends_on: + - variant: release_images + name: '*' + patch_optional: true + run_on: + - ubuntu2204-small + tasks: + - name: gke_code_snippets_task_group + + - name: private_gke_code_snippets + display_name: private_gke_code_snippets + allowed_requesters: [ "patch" ] + run_on: + - ubuntu2204-small + <<: *base_om8_dependency + tasks: + - name: gke_code_snippets_task_group + + - name: private_kind_code_snippets + display_name: private_kind_code_snippets + tags: [ "e2e_test_suite" ] + allowed_requesters: [ "patch", "github_pr" ] + run_on: + - ubuntu2204-large + <<: *base_om8_dependency + tasks: + - name: kind_code_snippets_task_group + + - name: prerelease_kind_code_snippets + display_name: prerelease_kind_code_snippets + allowed_requesters: [ "patch" ] + run_on: + - ubuntu2204-large + tasks: + - name: kind_code_snippets_task_group + + - name: public_kind_code_snippets + display_name: public_kind_code_snippets + allowed_requesters: [ "patch" ] + run_on: + - ubuntu2204-large + tasks: + - name: kind_code_snippets_task_group diff --git a/.evergreen.yml b/.evergreen.yml index cd3acec95..bf31fdcca 100644 --- a/.evergreen.yml +++ b/.evergreen.yml @@ -5,6 +5,7 @@ include: - filename: .evergreen-functions.yml - filename: .evergreen-tasks.yml - filename: .evergreen-mco.yml + - filename: .evergreen-snippets.yml variables: - &ops_manager_60_latest 6.0.27 # The order/index is important, since these are anchors. Please do not change @@ -86,32 +87,6 @@ variables: - func: setup_building_host - func: build_multi_cluster_binary - - &setup_and_teardown_group_gke_code_snippets - setup_task_can_fail_task: true - setup_group: - - func: clone - - func: setup_gcloud_cli - - func: setup_mongosh - - func: download_kube_tools - - func: build_multi_cluster_binary - teardown_group: - - func: upload_code_snippets_logs - - - &setup_and_teardown_group_kind_code_snippets - setup_task_can_fail_task: true - setup_group: - - func: clone - - func: cleanup_exec_environment - - func: download_kube_tools - - func: configure_docker_auth - - func: setup_kubernetes_environment - - func: setup_cloud_qa - teardown_task: - - func: upload_e2e_logs - - func: upload_code_snippets_logs - - func: teardown_kubernetes_environment - - func: teardown_cloud_qa - - &setup_and_teardown_task_cloudqa setup_task_can_fail_task: true setup_task: @@ -175,6 +150,7 @@ variables: - name: build_init_om_images_ubi variant: init_test_run + # Any change to base_om8_dependency should be reflected to its copy in .evergreen-snippets.yml - &base_om8_dependency depends_on: - name: build_om_images @@ -670,20 +646,6 @@ task_groups: - unit_tests_python - sbom_tests - - name: gke_code_snippets_task_group - <<: *setup_and_teardown_group_gke_code_snippets - max_hosts: -1 - tasks: - - task_gke_multi_cluster_snippets - - task_gke_multi_cluster_no_mesh_snippets - - - name: kind_code_snippets_task_group - <<: *setup_and_teardown_group_kind_code_snippets - max_hosts: -1 - tasks: - - task_kind_search_community_snippets - - task_kind_search_enterprise_snippets - # Task group for deploying mongodbcommunity resources and testing the (former) MCO - name: e2e_mdb_community_task_group max_hosts: -1 @@ -2003,65 +1965,6 @@ buildvariants: tasks: - name: release_all_currently_used_agents_on_ecr - # These variants are used to test the code snippets and each one can be used in patches - # Prerelease is especially used when the repo is tagged - # More details in the TD: https://docs.google.com/document/d/1fuTxfRtP8QPtn7sKYxQM_AGcD6xycTZH8svngGxyKhc/edit?tab=t.0#bookmark=id.e8uva0393mbe - - name: public_gke_code_snippets - display_name: public_gke_code_snippets - allowed_requesters: ["patch"] - run_on: - - ubuntu2204-small - tasks: - - name: gke_code_snippets_task_group - - - name: prerelease_gke_code_snippets - display_name: prerelease_gke_code_snippets - tags: [ "release" ] - allowed_requesters: ["patch", "github_tag"] - depends_on: - - variant: release_images - name: '*' - patch_optional: true - run_on: - - ubuntu2204-small - tasks: - - name: gke_code_snippets_task_group - - - name: private_gke_code_snippets - display_name: private_gke_code_snippets - allowed_requesters: ["patch"] - run_on: - - ubuntu2204-small - <<: *base_om8_dependency - tasks: - - name: gke_code_snippets_task_group - - - name: private_kind_code_snippets - display_name: private_kind_code_snippets - tags: [ "e2e_test_suite" ] - allowed_requesters: ["patch", "github_pr"] - run_on: - - ubuntu2204-large - <<: *base_om8_dependency - tasks: - - name: kind_code_snippets_task_group - - - name: prerelease_kind_code_snippets - display_name: prerelease_kind_code_snippets - allowed_requesters: ["patch"] - run_on: - - ubuntu2204-large - tasks: - - name: kind_code_snippets_task_group - - - name: public_kind_code_snippets - display_name: public_kind_code_snippets - allowed_requesters: ["patch"] - run_on: - - ubuntu2204-large - tasks: - - name: kind_code_snippets_task_group - ### Build variants for manual patch only - name: backup_csv_images diff --git a/.githooks/pre-commit b/.githooks/pre-commit index 681e2e229..e885c25f5 100755 --- a/.githooks/pre-commit +++ b/.githooks/pre-commit @@ -163,6 +163,10 @@ lint_code() { scripts/evergreen/lint_code.sh } +function validate_snippets() { + scripts/code_snippets/validate_snippets.py +} + # bg_job_ vars are global; run_job_in_background function is appending to them on each call bg_job_pids=() bg_job_pids_with_names=() @@ -217,6 +221,7 @@ pre_commit() { run_job_in_background "regenerate_public_rbac_multi_cluster" run_job_in_background "python_formatting" run_job_in_background "check_erroneous_kubebuilder_annotations" + run_job_in_background "validate_snippets" if wait_for_all_background_jobs; then echo -e "${GREEN}pre-commit: All checks passed!${NO_COLOR}" diff --git a/.gitignore b/.gitignore index ec7ebbab0..43e5d90b1 100644 --- a/.gitignore +++ b/.gitignore @@ -91,3 +91,5 @@ docs/**/test.sh.run.log # goreleaser generated files dist +logs +*.run.log diff --git a/docs/search/community/quick-start/README.md b/docs/search/01-search-community-deploy/README.md similarity index 84% rename from docs/search/community/quick-start/README.md rename to docs/search/01-search-community-deploy/README.md index 7f6b6af99..66388aac4 100644 --- a/docs/search/community/quick-start/README.md +++ b/docs/search/01-search-community-deploy/README.md @@ -25,10 +25,10 @@ Download or copy the content of `env_variables.sh`: [env_variables.sh](env_variables.sh) ```shell copy # set it to the context name of the k8s cluster -export K8S_CLUSTER_0_CONTEXT_NAME="" +export K8S_CTX="" # the following namespace will be created if not exists -export MDB_NAMESPACE="mongodb" +export MDB_NS="mongodb" # minimum required MongoDB version for running MongoDB Search is 8.0.10 export MDB_VERSION="8.0.10" @@ -63,9 +63,9 @@ Next, install the MongoDB Kubernetes Operator from the Helm repository you just [code_snippets/0100_install_operator.sh](code_snippets/0100_install_operator.sh) ```shell copy -helm upgrade --install --debug --kube-context "${K8S_CLUSTER_0_CONTEXT_NAME}" \ +helm upgrade --install --debug --kube-context "${K8S_CTX}" \ --create-namespace \ - --namespace="${MDB_NAMESPACE}" \ + --namespace="${MDB_NS}" \ mongodb-kubernetes \ --set "${OPERATOR_ADDITIONAL_HELM_VALUES:-"dummy=value"}" \ "${OPERATOR_HELM_CHART}" @@ -82,15 +82,15 @@ MongoDB requires authentication for secure access. This step creates two Kuberne [code_snippets/0305_create_mongodb_community_user_secrets.sh](code_snippets/0305_create_mongodb_community_user_secrets.sh) ```shell copy -kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" --namespace "${MDB_NAMESPACE}" \ +kubectl --context "${K8S_CTX}" --namespace "${MDB_NS}" \ create secret generic mdb-admin-user-password \ --from-literal=password="${MDB_ADMIN_USER_PASSWORD}" -kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" --namespace "${MDB_NAMESPACE}" \ +kubectl --context "${K8S_CTX}" --namespace "${MDB_NS}" \ create secret generic mdbc-rs-search-sync-source-password \ --from-literal=password="${MDB_SEARCH_SYNC_USER_PASSWORD}" -kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" --namespace "${MDB_NAMESPACE}" \ +kubectl --context "${K8S_CTX}" --namespace "${MDB_NS}" \ create secret generic mdb-user-password \ --from-literal=password="${MDB_USER_PASSWORD}" @@ -106,7 +106,7 @@ Now, deploy MongoDB Community by creating a `MongoDBCommunity` custom resource n [code_snippets/0310_create_mongodb_community_resource.sh](code_snippets/0310_create_mongodb_community_resource.sh) ```yaml copy -kubectl apply --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${MDB_NAMESPACE}" -f - < /tmp/mdb_script.js -mongosh --quiet "mongodb://mdb-user:${MDB_USER_PASSWORD}@mdbc-rs-0.mdbc-rs-svc.${MDB_NAMESPACE}.svc.cluster.local:27017/?replicaSet=mdbc-rs" < /tmp/mdb_script.js +mongosh --quiet "mongodb://mdb-user:${MDB_USER_PASSWORD}@mdbc-rs-0.mdbc-rs-svc.${MDB_NS}.svc.cluster.local:27017/?replicaSet=mdbc-rs" < /tmp/mdb_script.js EOF )" -``` +``` \ No newline at end of file diff --git a/docs/search/community/quick-start/README.md.j2 b/docs/search/01-search-community-deploy/README.md.j2 similarity index 100% rename from docs/search/community/quick-start/README.md.j2 rename to docs/search/01-search-community-deploy/README.md.j2 diff --git a/docs/search/01-search-community-deploy/code_snippets/01_0045_create_namespaces.sh b/docs/search/01-search-community-deploy/code_snippets/01_0045_create_namespaces.sh new file mode 100755 index 000000000..076899281 --- /dev/null +++ b/docs/search/01-search-community-deploy/code_snippets/01_0045_create_namespaces.sh @@ -0,0 +1 @@ +kubectl --context "${K8S_CTX}" create namespace "${MDB_NS}" diff --git a/docs/search/enterprise/quick-start/code_snippets/0046_create_image_pull_secrets.sh b/docs/search/01-search-community-deploy/code_snippets/01_0046_create_image_pull_secrets.sh old mode 100755 new mode 100644 similarity index 68% rename from docs/search/enterprise/quick-start/code_snippets/0046_create_image_pull_secrets.sh rename to docs/search/01-search-community-deploy/code_snippets/01_0046_create_image_pull_secrets.sh index 270bdbe11..7158760c4 --- a/docs/search/enterprise/quick-start/code_snippets/0046_create_image_pull_secrets.sh +++ b/docs/search/01-search-community-deploy/code_snippets/01_0046_create_image_pull_secrets.sh @@ -1,3 +1,3 @@ -kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${MDB_NAMESPACE}" \ +kubectl --context "${K8S_CTX}" -n "${MDB_NS}" \ create secret generic "image-registries-secret" \ --from-file=.dockerconfigjson="${HOME}/.docker/config.json" --type=kubernetes.io/dockerconfigjson diff --git a/docs/search/community/quick-start/code_snippets/090_helm_add_mogodb_repo.sh b/docs/search/01-search-community-deploy/code_snippets/01_0090_helm_add_mogodb_repo.sh similarity index 100% rename from docs/search/community/quick-start/code_snippets/090_helm_add_mogodb_repo.sh rename to docs/search/01-search-community-deploy/code_snippets/01_0090_helm_add_mogodb_repo.sh diff --git a/docs/search/enterprise/quick-start/code_snippets/0100_install_operator.sh b/docs/search/01-search-community-deploy/code_snippets/01_0100_install_operator.sh similarity index 54% rename from docs/search/enterprise/quick-start/code_snippets/0100_install_operator.sh rename to docs/search/01-search-community-deploy/code_snippets/01_0100_install_operator.sh index 36715a6a2..8ada5bee6 100755 --- a/docs/search/enterprise/quick-start/code_snippets/0100_install_operator.sh +++ b/docs/search/01-search-community-deploy/code_snippets/01_0100_install_operator.sh @@ -1,6 +1,6 @@ -helm upgrade --install --debug --kube-context "${K8S_CLUSTER_0_CONTEXT_NAME}" \ +helm upgrade --install --debug --kube-context "${K8S_CTX}" \ --create-namespace \ - --namespace="${MDB_NAMESPACE}" \ + --namespace="${MDB_NS}" \ mongodb-kubernetes \ --set "${OPERATOR_ADDITIONAL_HELM_VALUES:-"dummy=value"}" \ "${OPERATOR_HELM_CHART}" diff --git a/docs/search/community/quick-start/code_snippets/0305_create_mongodb_community_user_secrets.sh b/docs/search/01-search-community-deploy/code_snippets/01_0305_create_mongodb_community_user_secrets.sh similarity index 56% rename from docs/search/community/quick-start/code_snippets/0305_create_mongodb_community_user_secrets.sh rename to docs/search/01-search-community-deploy/code_snippets/01_0305_create_mongodb_community_user_secrets.sh index 49b29b054..6e28372b7 100755 --- a/docs/search/community/quick-start/code_snippets/0305_create_mongodb_community_user_secrets.sh +++ b/docs/search/01-search-community-deploy/code_snippets/01_0305_create_mongodb_community_user_secrets.sh @@ -1,12 +1,12 @@ -kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" --namespace "${MDB_NAMESPACE}" \ +kubectl --context "${K8S_CTX}" --namespace "${MDB_NS}" \ create secret generic mdb-admin-user-password \ --from-literal=password="${MDB_ADMIN_USER_PASSWORD}" -kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" --namespace "${MDB_NAMESPACE}" \ +kubectl --context "${K8S_CTX}" --namespace "${MDB_NS}" \ create secret generic mdbc-rs-search-sync-source-password \ --from-literal=password="${MDB_SEARCH_SYNC_USER_PASSWORD}" -kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" --namespace "${MDB_NAMESPACE}" \ +kubectl --context "${K8S_CTX}" --namespace "${MDB_NS}" \ create secret generic mdb-user-password \ --from-literal=password="${MDB_USER_PASSWORD}" diff --git a/docs/search/community/quick-start/code_snippets/0310_create_mongodb_community_resource.sh b/docs/search/01-search-community-deploy/code_snippets/01_0310_create_mongodb_community_resource.sh similarity index 73% rename from docs/search/community/quick-start/code_snippets/0310_create_mongodb_community_resource.sh rename to docs/search/01-search-community-deploy/code_snippets/01_0310_create_mongodb_community_resource.sh index c67eb2bc6..83c1a2c6b 100755 --- a/docs/search/community/quick-start/code_snippets/0310_create_mongodb_community_resource.sh +++ b/docs/search/01-search-community-deploy/code_snippets/01_0310_create_mongodb_community_resource.sh @@ -1,4 +1,4 @@ -kubectl apply --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${MDB_NAMESPACE}" -f - < /tmp/mdb_script.js -mongosh --quiet "mongodb://mdb-user:${MDB_USER_PASSWORD}@mdb-rs-0.mdb-rs-svc.${MDB_NAMESPACE}.svc.cluster.local:27017/?replicaSet=mdb-rs" < /tmp/mdb_script.js +mongosh --quiet "${MDB_CONNECTION_STRING}" < /tmp/mdb_script.js EOF )" diff --git a/docs/search/03-search-query-usage/code_snippets/03_0455_execute_vector_search_query.sh b/docs/search/03-search-query-usage/code_snippets/03_0455_execute_vector_search_query.sh new file mode 100644 index 000000000..fb522d697 --- /dev/null +++ b/docs/search/03-search-query-usage/code_snippets/03_0455_execute_vector_search_query.sh @@ -0,0 +1,30 @@ +mdb_script=$(cat <<'EOF' +use sample_mflix; +db.embedded_movies.aggregate([ + { + "$vectorSearch": { + "index": "vector_index", + "path": "plot_embedding_voyage_3_large", + "queryVector": [-0.034731735,0.008558298,-0.0153717,-0.029912498,0.011549547,0.010261648,-0.011964999,-0.023265276,0.010303194,-0.006896493,-0.00054528,0.003926015,-0.025757983,0.027419789,0.001199616,-0.036227357,-0.005297005,0.021935832,0.010303194,-0.019193852,0.025093261,-0.040049512,-0.033900831,-0.011466458,-0.01827986,-0.0153717,0.023265276,0.007727395,0.000114249,0.005317777,-0.043871664,-0.02127111,-0.019609304,0.016368784,-0.004756918,0.003552109,0.006522586,-0.005400868,-0.015620971,-0.034565553,-0.018695312,-0.023099095,0.050851244,-0.034731735,0.004819236,0.022268193,-0.095719993,0.05517194,-0.046198189,-0.036393538,0.007187308,-0.02459472,-0.036725901,0.009472291,0.019027673,0.020938748,-0.011051006,0.027087428,0.04586583,-0.022600554,-0.05517194,0.044204023,0.01213118,0.047859997,-0.03938479,0.002928932,0.002056484,0.019443123,-0.028583053,0.013543714,0.022932915,0.011632638,0.004923099,0.000389486,0.020024756,-0.024096178,-0.022766734,0.011217186,-0.003198975,0.007104218,-0.047195274,-0.013377533,0.013294443,0.024096178,-0.056501385,-0.026755067,-0.008433662,-0.001911076,0.007976666,-0.008101301,-0.014042255,0.008641388,-0.02176965,0.010012378,-0.000607598,-0.024927082,0.024927082,-0.018612221,-0.001184036,0.005567048,0.001324251,-0.019526213,-0.023597637,0.060489718,-0.010178559,-0.019609304,0.004112968,-0.011217186,-0.031574301,-0.008766023,0.005483958,-0.061819162,-0.023431456,-0.040714234,0.015039339,0.026422706,0.016202603,0.004653055,0.041046593,-0.018030589,0.040381871,-0.002638116,0.013045172,0.004216831,0.005650138,0.027419789,0.003926015,-0.028749233,0.004798463,-0.030244859,0.063813329,0.007145763,-0.017448956,0.025591804,-0.045201108,0.010718645,0.002804297,0.014291527,0.04586583,-0.015205519,-0.021603471,-0.035230275,0.00760276,0.033236109,0.016534964,-0.043206941,-0.003115885,-0.026256526,0.005940954,0.016534964,0.024262359,-0.001630647,0.028084511,-0.012795902,0.007270399,0.001381376,-0.009763107,-0.006896493,0.008433662,-0.019360034,0.000386889,0.030411039,0.025591804,0.010469374,0.037722982,-0.001147684,-0.005400868,0.052845411,-0.052513052,0.00768585,-0.004299921,0.00922302,0.011881908,0.012962082,-0.068798743,0.003593654,0.020938748,-0.013792985,-0.034565553,-0.007519669,-0.04021569,-0.020689478,0.006273315,0.046862911,0.006107135,0.002638116,-0.013792985,-0.005400868,-0.020274026,0.007644305,-0.010801735,0.026422706,0.043871664,0.003780607,0.010261648,-0.064145692,0.011881908,-0.009056839,0.009347656,-0.02459472,0.026422706,0.033236109,0.041212775,0.019027673,-0.00315743,0.004424557,0.020689478,-0.0153717,-0.015205519,-0.034897912,0.020274026,0.016867325,0.040714234,-0.022766734,-0.010967916,0.026256526,0.007062673,-0.015953332,-0.007727395,0.031574301,-0.002887387,-0.00614868,0.004569965,0.019027673,0.012878992,0.011798819,0.004258377,-0.019193852,-0.021437289,-0.021603471,0.000301202,-0.051183607,-0.004985416,-0.030078677,0.012629721,0.065142773,-0.031740483,-0.021104928,-0.03938479,-0.003365156,-0.016036423,0.036393538,0.009804652,-0.018612221,0.060489718,-0.003697517,0.000547876,0.063480966,0.02758597,0.010053922,-0.003655972,-0.001485239,0.018362951,0.021104928,-0.003905243,0.019443123,-0.002658889,-0.00380138,-0.013626805,0.035894997,0.035396457,-0.005691683,0.002762751,0.012878992,-0.009596926,-0.009970833,-0.015953332,0.022434372,0.00614868,-0.021188019,0.001557943,-0.020190936,0.009763107,0.017448956,0.006730312,0.005567048,0.019692395,-0.00218112,-0.016867325,0.006854947,0.007976666,0.019193852,0.040880412,0.007353489,-0.02127111,-0.031906664,-0.026755067,-0.017947499,0.040381871,0.042209856,0.00913993,-0.0307434,-0.017781317,-0.015039339,0.03057722,0.017532047,0.0187784,-0.060822077,0.002928932,-0.026422706,-0.005899409,0.039717149,0.026588887,-0.000971118,0.004923099,-0.013626805,0.0187784,-0.031408124,-0.000695881,0.050851244,-0.014457707,-0.007311944,-0.001293092,-0.002139574,-0.019276943,0.00290816,0.019360034,-0.017781317,0.002160347,0.016618054,-0.006522586,0.011798819,0.029247776,-0.02775215,0.010344739,-0.018362951,-0.036725901,-0.015870241,0.015704062,-0.012463541,0.02459472,-0.024096178,0.001152877,-0.031408124,0.025425622,0.027087428,0.00922302,0.034565553,0.015704062,-0.020689478,-0.00517237,-0.014706978,-0.001589101,0.026090344,0.014956249,0.011715728,0.004299921,-0.00913993,0.022434372,-0.03705826,0.048524719,-0.030411039,0.008433662,0.017033506,-0.000511525,-0.031408124,0.005940954,-0.012962082,-0.031574301,0.017448956,0.010178559,-0.011383367,-0.020107845,-0.005151597,0.006647222,0.013128263,0.007145763,0.008059756,-0.045201108,-0.004943871,0.015787151,-0.045201108,-0.020772567,-0.020274026,0.028250692,-0.024262359,-0.004424557,0.009804652,0.000472576,-0.005691683,0.001443693,-0.013294443,0.001412535,0.013211353,-0.01213118,-0.002118802,0.017781317,-0.007353489,-0.031075761,-0.004923099,0.011383367,-0.004486875,-0.010178559,0.016618054,0.014457707,0.023763817,-0.02459472,-0.00388447,0.012546631,-0.007519669,0.015704062,-0.014291527,0.009680017,-0.035562634,0.023763817,0.053510133,-0.0555043,-0.003572882,0.022102011,0.021603471,-0.017282777,-0.001474852,-0.043539301,0.007810486,-0.025757983,-0.005400868,0.029912498,-0.00760276,0.014125346,0.030909581,-0.03340229,-0.009680017,0.018030589,0.008849114,0.03057722,0.019775484,0.014125346,0.031906664,-0.03057722,-0.027087428,-0.023597637,-0.022434372,-0.012878992,0.016285693,-0.021603471,-0.029746316,0.029746316,0.020357117,0.006314861,-0.001158071,0.028749233,-0.045201108,0.011383367,0.011134096,-0.021437289,-0.035728816,0.001827986,0.008267482,-0.057498466,0.01213118,-0.01213118,-0.040548053,0.010718645,0.004798463,-0.004881553,-0.019526213,-0.008558298,0.0059825,-0.000262254,-0.017615138,0.005193142,0.019692395,-0.00198378,-0.002845842,0.012546631,0.006107135,-0.008225936,-0.008890659,0.015870241,0.00517237,0.002596571,-0.010427829,-0.019110762,0.024262359,0.012048089,-0.032405205,0.006522586,0.013211353,0.013211353,-0.038221523,-0.007727395,-0.008267482,-0.019276943,0.001474852,0.031408124,-0.035562634,0.017532047,-0.023431456,-0.015454791,-0.011383367,0.016534964,-0.02176965,0.008682934,0.027253609,0.020190936,-0.0247609,-0.007311944,0.009555381,-0.01852913,-0.011632638,0.011549547,0.027419789,-0.034067012,-0.01229736,0.0307434,0.003946788,0.0046946,0.037722982,0.03057722,-0.010427829,0.002284982,0.033236109,0.030078677,-0.013377533,0.007395034,-0.012048089,0.040714234,-0.028749233,-0.000102565,-0.0059825,-0.041046593,0.017698228,-0.006356406,0.003178203,0.009056839,0.023099095,0.00606559,0.011881908,-0.02127111,-0.001126912,-0.027087428,0.011134096,0.001204809,-0.017033506,0.011051006,-0.014374617,0.017864408,0.023431456,-0.002077257,-0.026755067,-0.043871664,0.025757983,-0.006190225,0.001152877,0.011798819,-0.024262359,0.006564131,-0.070128188,-0.004362239,0.012962082,-0.013626805,-0.001402148,-0.012214269,0.011217186,-0.015953332,0.015787151,0.011134096,0.027253609,0.024262359,-0.048192356,0.009970833,0.018944582,-0.00517237,0.021935832,0.02775215,0.003406701,-0.010884825,0.075113602,-0.015953332,0.007727395,0.026755067,-0.006190225,-0.012712811,0.013377533,0.005940954,-0.008309027,0.02459472,0.002316141,-0.022434372,-0.012712811,0.03057722,-0.015787151,0.026755067,-0.001069787,0.03988333,-0.003697517,0.039550968,-0.019027673,-0.0059825,-0.00031029,-0.012546631,-0.003614427,0.007478124,0.005525503,0.032571387,-0.011798819,-0.011466458,-0.00606559,-0.011798819,0.018446039,0.007976666,0.018944582,-0.02176965,0.026588887,-0.006273315,-0.012463541,-0.007395034,0.012048089,-0.029247776,0.015454791,-0.007145763,0.006481041,-0.015620971,-0.00388447,-0.025757983,-0.001651419,-0.032903746,-0.005068507,0.03938479,0.003926015,0.004715373,0.022600554,-0.012546631,0.022932915,0.007810486,0.040714234,0.019941665,0.013543714,0.003406701,0.010884825,-0.03988333,0.042209856,-0.022766734,0.027419789,-0.029580137,0.043206941,0.022932915,0.021104928,-0.056833744,0.005193142,0.036061179,-0.012878992,0.008516753,-0.02758597,-0.030244859,-0.011798819,0.001111332,-0.014125346,-0.014125346,0.019027673,0.029081594,0.018861491,0.013626805,0.06846638,0.023099095,0.041378956,0.001599488,-0.028749233,0.017781317,0.016285693,0.021603471,-0.018113678,0.011300277,-0.032239024,0.022434372,-0.02459472,-0.013626805,0.005483958,0.013460624,-0.031574301,-0.015620971,0.016451873,0.014790068,-0.008849114,0.011134096,0.00461151,0.015122429,0.036227357,0.00206687,0.000877641,0.022102011,-0.028250692,0.022600554,-0.026422706,0.004029878,-0.032072846,0.017116595,0.010884825,0.019609304,0.00614868,0.005733229,0.016119512,0.002866614,-0.014540797,0.012463541,-0.003905243,0.003759835,-0.000485559,-0.022766734,-0.016285693,0.037722982,0.009513836,0.001506011,0.011964999,0.004029878,0.019941665,-0.000965924,0.002129188,0.015205519,0.071125269,0.022932915,0.005940954,-0.00044661,0.010220103,-0.03423319,-0.016285693,-0.016867325,-0.000659529,-0.008018211,-0.011383367,0.000016634,0.004071423,-0.029413955,0.019941665,-0.00913993,-0.024096178,0.010635555,0.010594009,0.001547556,0.036227357,-0.030078677,0.020772567,0.022268193,-0.014125346,0.008766023,-0.012962082,-0.007187308,0.017033506,-0.007187308,-0.015205519,-0.005608593,0.044536386,-0.001235968,0.007852031,0.001599488,0.005857864,-0.005940954,-0.010510919,-0.005567048,0.006730312,0.016285693,-0.010801735,-0.024428539,0.015122429,-0.02176965,0.01528861,-0.007436579,0.00226421,-0.004715373,0.004507647,0.004341467,0.005525503,-0.031075761,-0.005899409,0.037556801,0.014873158,-0.000342747,0.009970833,-0.019443123,0.023597637,-0.012048089,-0.025259443,0.006024044,-0.01827986,0.010012378,0.016784234,0.013211353,-0.005400868,-0.024428539,-0.02176965,-0.035230275,0.009347656,0.028583053,-0.015704062,-0.017781317,0.00226421,0.001199616,-0.003385928,0.008267482,0.002326528,0.022434372,-0.020190936,-0.015787151,0.000789358,0.031241942,0.011300277,0.001506011,-0.023265276,-0.010967916,0.009056839,0.011300277,-0.030244859,0.007478124,0.001111332,-0.035894997,0.0153717,0.002700434,0.021104928,0.010884825,-0.003344383,0.00768585,0.010386284,0.00452842,-0.014706978,0.028084511,0.013377533,0.014873158,0.046862911,-0.015454791,0.021188019,0.013959166,0.012629721,0.025924165,-0.018695312,-0.00922302,-0.0093892,0.007727395,0.036892079,0.007228854,-0.01229736,0.029247776,-0.004943871,-0.027253609,-0.008433662,0.043206941,0.002825069,0.028583053,-0.023431456,0.034897912,-0.041545134,-0.016534964,0.003053567,-0.012712811,0.002741979,-0.007187308,-0.025093261,-0.045201108,-0.004424557,-0.016618054,-0.008890659,0.008018211,-0.05184833,-0.019526213,-0.013377533,-0.010469374,0.030244859,-0.005068507,0.051183607,0.005483958,-0.006024044,0.035064094,-0.011134096,0.014956249,0.002284982,0.001724123,-0.01229736,0.012629721,0.010261648,0.014540797,0.048857078,-0.029580137,-0.024927082,-0.008350573,-0.03988333,0.000939959,0.013543714,0.013626805,-0.021437289,-0.012962082,0.006771857,0.013709894,-0.0059825,0.035396457,-0.006439496,-0.029580137,0.0046946,0.019609304,-0.007270399,0.014291527,-0.015620971,0.00118923,-0.00760276,-0.017199686,0.023265276,0.026588887,-0.030078677,-0.016701145,-0.025757983,0.004964644,0.026588887,0.043206941,0.011051006,-0.009846197,0.028915415,0.031574301,0.023763817,0.009264565,-0.008433662,-0.035064094,-0.000579035,-0.0247609,0.014125346,0.016618054,0.028749233,-0.052513052,-0.016867325,-0.01238045,0.002741979,0.013709894,0.010718645,0.013626805,0.009596926,-0.004403784,-0.02758597,-0.000945152,0.000420645,0.003759835,0.012546631,-0.011881908,0.008392117,0.012795902,0.005483958,-0.009763107,0.006397951,-0.010801735,0.012795902,-0.03938479,0.005733229,0.005733229,-0.000433627,0.015454791,0.002357686,-0.006564131,0.030244859,-0.024428539,0.016036423,0.014291527,-0.004964644,0.029413955,0.040381871,0.012629721,-0.033568468,-0.026422706,-0.037889164,-0.034399372,-0.03423319,0.021935832,0.004133741,-0.014623888,-0.013543714,-0.05517194,0.004736145,0.006314861,0.00006037,0.006356406,0.003323611,-0.010344739,0.007062673,0.005899409,-0.00623177,-0.001973394,-0.0555043,0.011881908,0.001350217,-0.033069927,-0.026921248,0.022268193,0.028583053,-0.021021837,0.010884825,0.019692395,-0.005442413,0.031574301,-0.014956249,0.01238045,-0.006356406,0.006273315,-0.003095113,-0.014540797,-0.02176965,0.005006189,-0.002658889,0.042542219,-0.02176965,0.017199686,-0.016701145,-0.001599488,0.016950415,-0.021188019,0.017864408,0.023763817,-0.000669915,0.025093261,0.021104928,0.008807569,0.037390623,-0.025591804,-0.003178203,-0.001319058,0.020523297,0.005255459,0.019276943,-0.00226421,0.00760276,-0.057166107,-0.006896493,-0.034067012,0.043871664,0.038221523,0.008101301,0.03988333,0.015870241,0.000955538,-0.004299921,-0.002928932,-0.002118802,-0.020523297,-0.001168457,-0.011134096,-0.000685495,0.003323611,0.011549547,0.034565553,0.029247776,-0.029746316,0.005213914,0.019110762,-0.003302838,0.026422706,0.028915415,-0.036227357,0.033236109,0.038387705,-0.035230275,0.004071423,-0.021935832,0.002928932,0.000976311,0.000527104,-0.006854947,-0.003822153,-0.001199616,0.019858574,-0.002762751,0.039052427,-0.008641388,0.032239024,-0.002295369,0.035396457,0.044536386,-0.029413955,0.025093261,-0.03423319,-0.016867325,-0.008849114,0.008433662,-0.004486875,0.017033506,0.006730312,-0.008599843,-0.008225936,-0.024428539,0.006564131,-0.007561215,-0.032072846,-0.019941665,0.035396457,0.019276943,0.010261648,0.005857864,0.032239024,-0.044204023,-0.018944582,0.002409618,0.032903746,0.05517194,-0.03655972,0.007976666,0.030909581,-0.023929998,0.016368784,0.01528861,-0.00768585,0.02176965,0.013626805,-0.02459472,0.04021569,-0.032737568,0.006854947,-0.011383367,0.014873158,-0.02176965,0.00243039,0.0093892,0.0093892,-0.029580137,0.019858574,0.01827986,0.024428539,0.017864408,-0.028250692,-0.001111332,0.056169022,0.007478124,-0.010718645,0.041046593,-0.015704062,0.034731735,0.002523867,-0.032571387,0.004341467,-0.023597637,-0.011881908,-0.035562634,0.006688767,0.007810486,-0.012712811,0.022600554,0.03057722,0.022600554,0.010552464,0.0307434,-0.009638472,0.02176965,-0.018030589,0.024262359,-0.036227357,-0.020772567,0.001641033,-0.022932915,-0.014623888,0.018362951,0.002575798,0.006190225,-0.011051006,0.021021837,0.019110762,0.02127111,-0.028583053,-0.052180689,-0.014291527,-0.010552464,0.036393538,0.042542219,-0.04586583,-0.001869531,0.008350573,-0.008516753,-0.020772567,0.000294711,0.015704062,-0.014457707,-0.020772567,0.008766023,-0.026588887,-0.004736145,-0.028084511,-0.007519669,0.010552464,-0.016534964,0.006190225,0.012962082,-0.016618054,0.012546631,0.02459472,0.022932915,0.020440206,-0.027918331,-0.008059756,0.020689478,-0.014623888,-0.011466458,-0.006896493,-0.020024756,-0.031408124,0.021603471,0.007270399,-0.03057722,0.008350573,-0.021437289,0.00072704,-0.043871664,0.006314861,-0.017199686,0.02176965,0.024262359,-0.020357117,-0.000542683,-0.005213914,0.001963008,-0.00064395,-0.022434372,0.022102011,-0.006688767,-0.028583053,0.002191506,-0.005047734,0.002368073,0.014956249,0.023929998,-0.003302838,-0.032239024,0.022268193,-0.013377533,-0.010801735,0.003676744,0.009015295,-0.039550968,0.010884825,-0.033568468,0.013709894,-0.029413955,-0.006356406,-0.020274026,0.023597637,0.030909581,0.02176965,0.016285693,0.045533467,-0.024096178,-0.030909581,-0.026422706,0.002783524,-0.010594009,0.004362239,-0.070792913,0.009472291,-0.022102011,0.011134096,-0.017448956,-0.011549547,-0.056833744,0.00082571,0.026588887,-0.013709894,0.002575798,0.02176965,-0.000568649,-0.007270399,0.004279149,-0.042874578,-0.026588887,0.016784234,0.036725901,-0.028915415,-0.009513836,0.017448956,0.002035712,-0.007228854,0.011383367,0.011134096,0.028915415,0.0153717,-0.027087428,0.043871664,-0.005089279,0.006314861,0.014291527,-0.003240521,0.025924165,-0.001230775,-0.015454791,-0.012629721,0.031740483,-0.039717149,-0.031075761,0.006605676,-0.008641388,-0.032239024,0.037722982,-0.03705826,-0.024096178,0.001911076,0.018196769,-0.007353489,-0.011300277,-0.029081594,0.004590738,-0.018030589,-0.026588887,0.010261648,0.038221523,0.008392117,-0.01213118,0.018362951,-0.034731735,-0.017781317,-0.011632638,0.005255459,0.000851675,0.014208436,-0.000039922,-0.000228498,0.014790068,0.00913993,0.0004544,-0.011798819,-0.020440206,0.005899409,0.008350573,0.006314861,0.040548053,0.003427474,-0.010801735,0.008599843,0.002586185,-0.041212775,-0.016368784,0.020024756,0.000965924,-0.021021837,-0.008475208,0.0307434,0.00760276,0.003614427,0.003489791,-0.025924165,0.000799744,0.013460624,-0.020440206,0.048857078,0.004320694,-0.048857078,0.015039339,-0.029580137,0.025924165,0.018861491,-0.014706978,0.000576439,-0.031241942,0.0307434,0.0153717,0.014706978,0.028084511,-0.01238045,-0.031241942,0.018196769,-0.034897912,0.008142847,0.010718645,0.00922302,0.047859997,-0.00072704,-0.010427829,0.007104218,0.026256526,0.012214269,-0.013377533,-0.05184833,0.005276232,0.021935832,-0.007021128,0.009804652,0.007893575,0.024096178,-0.002357686,0.033900831,-0.031740483,0.034565553,-0.036892079,-0.015454791,0.030411039,0.010552464,-0.022268193,-0.001391762,-0.008184392,-0.008558298,0.008475208,-0.009929287,0.010427829,0.041378956,-0.009555381,-0.008724478,-0.039052427,0.034731735,-0.014291527,0.023099095,0.029081594,0.007519669,0.010967916,-0.008142847,0.006190225,-0.031075761,0.033734649,-0.001672192,0.047859997,-0.022434372,-0.007395034,0.01213118,0.056169022,0.002762751,-0.029413955,-0.000763392,-0.015787151,0.010801735,0.008142847,0.029912498,-0.0018176,0.033236109,-0.046198189,-0.002492708,-0.006730312,0.008807569,-0.03655972,0.009430746,-0.053842496,-0.060489718,0.046862911,0.002783524,-0.0187784,0.000571246,0.00760276,0.002482322,0.001319058,-0.014291527,0.001464466,-0.011632638,-0.012463541,-0.004902326,0.000841289,0.006688767,0.030244859,0.018944582,0.000532297,-0.015620971,0.007104218,0.005608593,0.002035712,-0.023763817,0.003032795,0.010594009,-0.023597637,-0.042376038,-0.005255459,0.001199616,-0.0247609,-0.007893575,-0.011632638,0.013045172,-0.005691683,-0.007104218,0.027419789,-0.004320694,-0.005525503,-0.026090344,0.031408124,-0.012795902,-0.007062673,0.000939959,0.000030185,0.004175286,0.014291527,0.033236109,-0.038720068,0.074116521,-0.019692395,0.001589101,0.013792985,-0.056169022,-0.028749233,-0.001599488,0.004175286,0.014790068,0.00162026,-0.007519669,-0.041378956,0.016534964,-0.003572882,-0.002575798,-0.019526213,-0.00922302,-0.033900831,-0.042043675,-0.014208436,0.010178559,0.017698228,0.032239024,0.00913993,0.009264565,-0.012463541,-0.005857864,-0.015870241,0.004486875,0.018861491,-0.000176567,-0.029912498,0.016784234,0.012546631,0.051183607,0.023597637,0.032903746,0.0153717,-0.013377533,-0.000016634,-0.061486799,-0.034565553,0.016119512,0.00380138,-0.003863698,0.004362239,-0.017532047,-0.002762751,0.000102565,-0.021437289,0.029247776,-0.010718645,-0.015870241,-0.016285693,0.010220103,-0.000373906,0.012962082,0.010137013,-0.007228854,0.02127111,-0.029247776,0.018113678,0.009181475,0.002233051,0.014374617,-0.00396756,0.010801735,0.007644305,0.020855658,0.014790068,0.032737568,-0.037390623,0.003032795,0.010801735,-0.01553788,-0.014790068,0.019526213,-0.017947499,-0.007893575,-0.011964999,-0.00614868,-0.005857864,-0.032072846,-0.025924165,0.001163264,-0.013294443,-0.01553788,0.016701145,-0.013460624,-0.001111332,0.00760276,0.01553788,-0.033734649,0.048192356,-0.003282066,0.031906664,0.002845842,0.003240521,0.017116595,-0.01827986,0.006896493,-0.00760276,-0.009680017,-0.02459472,-0.020689478,-0.053510133,0.00614868,-0.010552464,-0.032405205,-0.0307434,0.025093261,0.003635199,-0.008101301,-0.00606559,-0.007436579,0.00606559,-0.012962082,0.026921248,0.009098385,0.046530552,-0.011632638,0.032571387,-0.033900831,0.009846197,0.002866614,0.032903746,0.008973749,0.012712811,0.040049512,0.013626805,-0.026256526,-0.031408124,0.036227357,0.011964999,-0.006024044,-0.001848759,0.015704062,-0.021188019,-0.035064094,-0.013377533,-0.009721561,-0.01553788,0.008766023,0.005400868,0.004507647,-0.018362951,-0.026588887,-0.00913993,-0.025591804,0.035894997,0.021935832,-0.031906664,-0.000602404,0.026422706,-0.006397951,0.006647222,0.0093892,0.020606387,0.00913993,0.015620971,-0.024096178,0.00063616,-0.006564131,0.01238045,-0.013709894,0.000563456,-0.009887742,0.016618054,-0.003323611,0.000451803,0.001609874,0.008682934,0.025259443,0.020024756,-0.027253609,0.010884825,0.028250692,-0.054839578,0.033568468,-0.004902326,0.003053567,0.020274026,-0.015704062,-0.00614868,-0.063813329,0.002482322,0.009763107,-0.001609874,-0.012214269,0.020107845,0.001921462,0.018695312,-0.004923099,0.007270399,-0.023763817,0.005234687,0.003406701,0.002565412,0.007104218,0.000841289,0.016202603,0.01827986,-0.031075761,-0.035562634,-0.025259443,-0.007021128,0.000641353,-0.033069927,0.010718645,0.005650138,0.024927082,-0.002658889,0.00380138,0.009929287,-0.004258377,-0.039717149,-0.022434372,0.025425622,0.00198378,0.006356406,0.017615138,-0.032072846,0.046862911,-0.026921248,0.005940954,0.021603471,-0.002253824,0.002825069,-0.030411039,-0.003115885,0.023597637,-0.004320694,-0.007852031,0.018030589,-0.008724478,-0.005733229,0.032903746,0.013876075,0.015454791,-0.023597637,0.005151597,-0.035396457,0.02176965,-0.012463541,0.025591804,0.014540797,-0.027918331,0.004154514,0.008724478,0.016036423,-0.015870241,0.005400868,-0.017365867,-0.044868745,-0.000485559,0.020357117,-0.00760276,-0.023265276,-0.012048089,0.008433662,0.018362951,-0.006979583,0.0307434,0.008392117,0.027087428,-0.019360034,0.016119512,0.02127111,0.010801735,0.00299125,0.002949705,0.012463541,-0.000025966,0.015953332,0.029413955,0.020024756,0.003780607,0.022102011,-0.031740483,0.01553788,0.010386284,0.028749233,-0.010884825,0.008682934,-0.003531337,-0.05517194,-0.019360034,-0.009347656,-0.002025325,0.003261293,-0.025425622,-0.01553788,-0.000251867,0.014291527,0.012546631,0.035728816,-0.007062673,-0.006605676,0.000384293,-0.005047734,-0.032571387,-0.021188019,-0.02127111,-0.016036423,0.008475208,-0.004009106,0.014291527,-0.008101301,0.004424557,-0.038221523,-0.019360034,0.015039339,-0.015454791,-0.029580137,0.035728816,0.004466102,-0.000778971,-0.005068507,-0.017781317,0.00477769,0.001838372,0.030244859,0.01213118,-0.022932915,-0.005359322,0.037390623,0.005899409,0.002046098,0.037889164,0.016701145,0.010303194,0.02127111,-0.009513836,-0.022268193,-0.005650138,-0.00388447,0.016534964,-0.023265276,-0.00054528,0.004819236,0.004715373,-0.001178843,-0.051183607,-0.00614868,-0.010552464,-0.002741979,-0.009181475,0.023597637,0.019193852,0.017199686,-0.036393538,-0.00243039,-0.015870241,-0.014706978,-0.00145408,0.016368784,-0.011632638,-0.014623888,-0.01229736,-0.01553788,0.040880412,0.023929998,-0.014623888,0.002648502,0.031906664,-0.033734649,-0.026755067,0.002783524,0.005359322,0.009970833,0.001412535,0.016950415,0.016285693,-0.006730312,-0.02459472,0.050851244,-0.001827986,-0.020855658,0.020938748,0.004071423,-0.021603471,-0.007852031,-0.023929998,-0.029912498,-0.003365156,0.017365867,-0.010427829,-0.011715728,0.014956249,0.011383367,0.032405205,-0.028583053,-0.017448956,0.018446039,0.017615138,0.035728816,-0.010095468,-0.00254464,0.010012378,0.028250692,-0.020855658,-0.002305755,-0.001002276,-0.014125346,-0.007021128,-0.028583053,-0.045533467,-0.02758597,-0.020440206,0.001350217,0.010053922,0.020689478,-0.017615138,0.026422706,0.040880412,0.012463541,-0.010718645,-0.014706978,0.068134025,0.038720068,0.047859997,-0.012546631,0.015704062,-0.002087643,-0.010303194,0.014790068,0.018612221,0.007395034,-0.014790068,-0.017864408,-0.005068507,-0.054507218,0.004902326,-0.004050651,0.021603471,0.019775484,-0.024262359,-0.012795902,0.021935832,-0.004009106,-0.039717149,0.037556801,-0.016701145,-0.025757983,0.005483958,-0.005110051,-0.021935832,-0.003406701,0.010594009,0.015787151,-0.049854163,0.007727395,-0.008392117,-0.017199686,0.009970833,-0.008849114,-0.013876075,-0.0059825,-0.015870241,-0.007104218,0.028250692,-0.029081594,0.026921248,0.00299125,-0.017781317,0.042542219,0.018196769,0.052845411,-0.004819236,-0.014125346,0.02459472,-0.011715728,0.015787151,-0.005774774,0.004902326,-0.004964644,-0.02758597,-0.013959166,-0.033568468,-0.027918331,-0.017698228,0.003489791,-0.020024756,-0.021603471,0.019360034,0.028084511,-0.002503094,-0.018861491,-0.002295369,0.050851244,-0.020689478,-0.000459593,-0.026090344,0.002783524,-0.005899409,-0.026921248,-0.0093892,-0.004112968,0.031574301,0.003926015,-0.032903746,-0.046198189,-0.019027673,-0.00913993,0.030411039,-0.019443123,0.001963008,-0.005193142,0.010884825,-0.02127111,-0.025259443,0.032737568,0.00089322,0.003282066,0.001713737,-0.006439496,0.016867325,-0.031574301,0.031075761,-0.009970833,0.022600554,-0.023597637,-0.014956249,0.004009106,0.00198378,0.026588887,-0.023431456,-0.023763817,-0.013294443,-0.029746316,0.001381376,-0.042874578,-0.00913993,0.014873158,0.016202603,0.012878992,-0.006024044,0.009638472,0.010552464,-0.017033506,-0.027087428,0.044536386,-0.038055345,0.001329444,-0.019609304,0.023597637,-0.043206941,0.040049512,0.017615138,0.046862911,0.02127111,0.013294443,-0.039550968,-0.018861491,-0.019609304,-0.033734649,0.00623177,-0.017199686,0.041212775,-0.017781317,-0.024262359,0.054507218,-0.009721561,0.005816319,-0.00206687,-0.008766023,0.017365867,-0.000737426,0.018362951,-0.023597637,-0.019110762,0.021935832,0.041545134,-0.020357117,-0.017615138,0.044868745,-0.018030589,-0.032405205,-0.050186522,-0.014540797,0.005213914,-0.006688767,0.047527634,0.040714234], + "numCandidates": 150, + "limit": 10, + "quantization": "scalar" + } + }, + { + "$project": { + "_id": 0, + "plot": 1, + "title": 1, + "score": { $meta: "vectorSearchScore" } + } + } +]); +EOF +) + +kubectl exec --context "${K8S_CTX}" -n "${MDB_NS}" mongodb-tools-pod -- /bin/bash -eu -c "$(cat < /tmp/mdb_script.js +mongosh --quiet "${MDB_CONNECTION_STRING}" < /tmp/mdb_script.js +EOF +)" diff --git a/docs/search/03-search-query-usage/code_snippets/03_9010_delete_namespace.sh b/docs/search/03-search-query-usage/code_snippets/03_9010_delete_namespace.sh new file mode 100755 index 000000000..2d28e4bb7 --- /dev/null +++ b/docs/search/03-search-query-usage/code_snippets/03_9010_delete_namespace.sh @@ -0,0 +1 @@ +kubectl --context "${K8S_CTX}" delete namespace "${MDB_NS}" diff --git a/docs/search/03-search-query-usage/env_variables.sh b/docs/search/03-search-query-usage/env_variables.sh new file mode 100644 index 000000000..af6bd874c --- /dev/null +++ b/docs/search/03-search-query-usage/env_variables.sh @@ -0,0 +1,20 @@ +# The env vars here are all commented out because this snippets module +# is reusable across different MongoDB deployments and all the necessary variables +# should be already defined there. + +# set it to the context name of the k8s cluster +#export K8S_CTX="" +# the following namespace will be used to deploy mongodb tools pod +#export MDB_NS="mongodb" + +# regular user performing restore and search queries on sample mflix database +# the user should be able to restore database using mongorestore +#export MDB_USER_PASSWORD="mdb-user-password-CHANGE-ME" + +# name of MongoDB or MongoDBCommunity resource in case it's deployed in the same cluster +# user only for the connection string in MDB_CONNECTION_STRING env var below +#export MDB_RESOURCE_NAME="mdbc-rs" + +# default connection string if MongoDB database is deployed using the operator +#export MDB_CONNECTION_STRING="mongodb://mdb-user:${MDB_USER_PASSWORD}@${MDB_RESOURCE_NAME}-0.${MDB_RESOURCE_NAME}-svc.${MDB_NS}.svc.cluster.local:27017/?replicaSet=${MDB_RESOURCE_NAME}" + diff --git a/docs/search/03-search-query-usage/test.sh b/docs/search/03-search-query-usage/test.sh new file mode 100755 index 000000000..28e430eb0 --- /dev/null +++ b/docs/search/03-search-query-usage/test.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +set -eou pipefail + +script_name=$(readlink -f "${BASH_SOURCE[0]}") +script_dir=$(dirname "${script_name}") + +source "${script_dir}/../../../scripts/code_snippets/sample_test_runner.sh" + +cd "${script_dir}" + +prepare_snippets + +run 03_0410_run_mongodb_tools_pod.sh +run_for_output 03_0420_import_movies_mflix_database.sh +run 03_0430_create_search_index.sh +run 03_0435_create_vector_search_index.sh +run_for_output 03_0440_wait_for_search_index_ready.sh +run_for_output 03_0444_list_search_indexes.sh +run_for_output 03_0445_list_vector_search_indexes.sh +run_for_output 03_0450_execute_search_query.sh +run_for_output 03_0455_execute_vector_search_query.sh + +cd - diff --git a/docs/search/community/quick-start/code_snippets/0045_create_namespaces.sh b/docs/search/community/quick-start/code_snippets/0045_create_namespaces.sh deleted file mode 100755 index 7d0899c63..000000000 --- a/docs/search/community/quick-start/code_snippets/0045_create_namespaces.sh +++ /dev/null @@ -1 +0,0 @@ -kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" create namespace "${MDB_NAMESPACE}" diff --git a/docs/search/community/quick-start/code_snippets/0315_wait_for_community_resource.sh b/docs/search/community/quick-start/code_snippets/0315_wait_for_community_resource.sh deleted file mode 100755 index d1f423368..000000000 --- a/docs/search/community/quick-start/code_snippets/0315_wait_for_community_resource.sh +++ /dev/null @@ -1,6 +0,0 @@ -echo "Waiting for MongoDBCommunity resource to reach Running phase..." -kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${MDB_NAMESPACE}" wait --for=jsonpath='{.status.phase}'=Running mdbc/mdbc-rs --timeout=400s -echo; echo "MongoDBCommunity resource" -kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${MDB_NAMESPACE}" get mdbc/mdbc-rs -echo; echo "Pods running in cluster ${K8S_CLUSTER_0_CONTEXT_NAME}" -kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${MDB_NAMESPACE}" get pods diff --git a/docs/search/community/quick-start/code_snippets/0325_wait_for_search_resource.sh b/docs/search/community/quick-start/code_snippets/0325_wait_for_search_resource.sh deleted file mode 100755 index fe91e335e..000000000 --- a/docs/search/community/quick-start/code_snippets/0325_wait_for_search_resource.sh +++ /dev/null @@ -1,2 +0,0 @@ -echo "Waiting for MongoDBSearch resource to reach Running phase..." -kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${MDB_NAMESPACE}" wait --for=jsonpath='{.status.phase}'=Running mdbs/mdbc-rs --timeout=300s diff --git a/docs/search/community/quick-start/code_snippets/0330_wait_for_community_resource.sh b/docs/search/community/quick-start/code_snippets/0330_wait_for_community_resource.sh deleted file mode 100755 index 4490c3967..000000000 --- a/docs/search/community/quick-start/code_snippets/0330_wait_for_community_resource.sh +++ /dev/null @@ -1,2 +0,0 @@ -echo "Waiting for MongoDBCommunity resource to reach Running phase..." -kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${MDB_NAMESPACE}" wait --for=jsonpath='{.status.phase}'=Running mdbc/mdbc-rs --timeout=400s diff --git a/docs/search/community/quick-start/code_snippets/0335_show_running_pods.sh b/docs/search/community/quick-start/code_snippets/0335_show_running_pods.sh deleted file mode 100755 index d1c200adc..000000000 --- a/docs/search/community/quick-start/code_snippets/0335_show_running_pods.sh +++ /dev/null @@ -1,6 +0,0 @@ -echo; echo "MongoDBCommunity resource" -kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${MDB_NAMESPACE}" get mdbc/mdbc-rs -echo; echo "MongoDBSearch resource" -kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${MDB_NAMESPACE}" get mdbs/mdbc-rs -echo; echo "Pods running in cluster ${K8S_CLUSTER_0_CONTEXT_NAME}" -kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${MDB_NAMESPACE}" get pods diff --git a/docs/search/community/quick-start/code_snippets/0420_import_movies_mflix_database.sh b/docs/search/community/quick-start/code_snippets/0420_import_movies_mflix_database.sh deleted file mode 100755 index 1a5a9a0e6..000000000 --- a/docs/search/community/quick-start/code_snippets/0420_import_movies_mflix_database.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -kubectl exec -n "${MDB_NAMESPACE}" --context "${K8S_CLUSTER_0_CONTEXT_NAME}" mongodb-tools-pod -- /bin/bash -eu -c "$(cat < /tmp/mdb_script.js -mongosh --quiet "mongodb://mdb-user:${MDB_USER_PASSWORD}@mdbc-rs-0.mdbc-rs-svc.${MDB_NAMESPACE}.svc.cluster.local:27017/?replicaSet=mdbc-rs" < /tmp/mdb_script.js -EOF -)" diff --git a/docs/search/community/quick-start/code_snippets/9010_delete_namespace.sh b/docs/search/community/quick-start/code_snippets/9010_delete_namespace.sh deleted file mode 100755 index ed2d3046d..000000000 --- a/docs/search/community/quick-start/code_snippets/9010_delete_namespace.sh +++ /dev/null @@ -1 +0,0 @@ -kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" delete namespace "${MDB_NAMESPACE}" diff --git a/docs/search/community/quick-start/env_variables_e2e_prerelease.sh b/docs/search/community/quick-start/env_variables_e2e_prerelease.sh deleted file mode 100644 index b708d7786..000000000 --- a/docs/search/community/quick-start/env_variables_e2e_prerelease.sh +++ /dev/null @@ -1,6 +0,0 @@ -export K8S_CLUSTER_0_CONTEXT_NAME="${CLUSTER_NAME}" - -export PRIVATE_PREVIEW_IMAGE_PULLSECRET="${COMMUNITY_PRIVATE_PREVIEW_PULLSECRET_DOCKERCONFIGJSON}" - -export OPERATOR_ADDITIONAL_HELM_VALUES="" -export OPERATOR_HELM_CHART="${PROJECT_DIR}/helm_chart" diff --git a/docs/search/community/quick-start/env_variables_e2e_public.sh b/docs/search/community/quick-start/env_variables_e2e_public.sh deleted file mode 100644 index 8a835d9b7..000000000 --- a/docs/search/community/quick-start/env_variables_e2e_public.sh +++ /dev/null @@ -1,2 +0,0 @@ -export K8S_CLUSTER_0_CONTEXT_NAME="${CLUSTER_NAME}" -export PRIVATE_PREVIEW_IMAGE_PULLSECRET="${COMMUNITY_PRIVATE_PREVIEW_PULLSECRET_DOCKERCONFIGJSON}" diff --git a/docs/search/community/quick-start/test.sh b/docs/search/community/quick-start/test.sh deleted file mode 100755 index 2975e2141..000000000 --- a/docs/search/community/quick-start/test.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -script_name=$(readlink -f "${BASH_SOURCE[0]}") -script_dir=$(dirname "${script_name}") - -source "${script_dir}/../../../../scripts/code_snippets/sample_test_runner.sh" - -cd "${script_dir}" - -prepare_snippets - -run 0045_create_namespaces.sh -run 0046_create_image_pull_secrets.sh - -run_for_output 090_helm_add_mogodb_repo.sh -run_for_output 0100_install_operator.sh -run 0305_create_mongodb_community_user_secrets.sh -run 0310_create_mongodb_community_resource.sh -run 0315_wait_for_community_resource.sh -run 0320_create_mongodb_search_resource.sh -run 0325_wait_for_search_resource.sh -run 0330_wait_for_community_resource.sh -run_for_output 0335_show_running_pods.sh -run 0410_run_mongodb_tools_pod.sh -run 0420_import_movies_mflix_database.sh -run 0430_create_search_index.sh -run_for_output 0440_wait_for_search_index_ready.sh -run_for_output 0450_execute_search_query.sh -cd - diff --git a/docs/search/enterprise/quick-start/README.md b/docs/search/enterprise/quick-start/README.md deleted file mode 100644 index a963d24ff..000000000 --- a/docs/search/enterprise/quick-start/README.md +++ /dev/null @@ -1,417 +0,0 @@ -# MongoDB Enterprise Search on Kubernetes - Quick Start - -This guide provides instructions for deploying MongoDB Enterprise Edition along with its Search capabilities onto a Kubernetes cluster. By following these steps, you will set up a MongoDB instance and configure search indexes to perform full-text search queries against your data. - -## Prerequisites - -Before you begin, ensure you have the following tools and configurations in place: - -- **Kubernetes cluster**: A running Kubernetes cluster (e.g., Minikube, Kind, GKE, EKS, AKS) with kubeconfig available locally. -- **kubectl**: The Kubernetes command-line tool, configured to communicate with your cluster. -- **Helm**: The package manager for Kubernetes, used here to install the MongoDB Kubernetes Operator. -- **Bash 5.1+**: All shell commands in this guide are intended to be run in Bash. Scripts in this guide are automatically tested on Linux with Bash 5.1. -- **Ops Manager or Cloud Manager**: Deploying MongoDB Enterprise Edition requires an Ops Manager or Cloud Manager project and API credentials. - -## Setup Steps - -The following steps guide you through deploying MongoDB Enterprise with Search. Each step provides a shell script. -**It is important to first source the `env_variables.sh` script provided and customize its values for your environment.** -The subsequent script snippets rely on the environment variables defined in `env_variables.sh`. You should copy and paste each script into your Bash terminal. - -### 1. Configure Environment Variables - -First, you need to set up your environment. The `env_variables.sh` script, shown below, contains variables for the subsequent steps. You should create this file locally or use the linked one. - -Download or copy the content of `env_variables.sh`: -[env_variables.sh](env_variables.sh) -```shell copy -# set it to the context name of the k8s cluster -export K8S_CLUSTER_0_CONTEXT_NAME="" - -# the following namespace will be created if not exists -export MDB_NAMESPACE="mongodb" - -# minimum required MongoDB version for running MongoDB Search is 8.0.10 -export MDB_VERSION="8.0.10" - -# root admin user for restoring the database from a sample backup -export MDB_ADMIN_USER_PASSWORD="admin-user-password-CHANGE-ME" -# regular user performing search queries on sample mflix database -export MDB_USER_PASSWORD="mdb-user-password-CHANGE-ME" -# user for MongoDB Search to connect to the replica set to synchronise data from -export MDB_SEARCH_SYNC_USER_PASSWORD="search-sync-user-password-CHANGE-ME" - -export MDB_OPS_MANAGER_CONFIG_MAP_NAME="" -export MDB_OPS_MANAGER_CREDENTIALS_SECRET_NAME="" - -export OPERATOR_HELM_CHART="mongodb/mongodb-kubernetes" -# comma-separated key=value pairs for additional parameters passed to the helm-chart installing the operator -export OPERATOR_ADDITIONAL_HELM_VALUES="" -``` -This will load the variables into your current shell session, making them available for the commands in the following steps. - -### 2. Add MongoDB Helm Repository - -First, add the MongoDB Helm repository. This repository contains the Helm chart required to install the MongoDB Kubernetes Operator. The operator automates the deployment and management of MongoDB instances (both Community and Enterprise editions) on Kubernetes. - -[code_snippets/090_helm_add_mogodb_repo.sh](code_snippets/090_helm_add_mogodb_repo.sh) -```shell copy -helm repo add mongodb https://mongodb.github.io/helm-charts -helm repo update mongodb -helm search repo mongodb/mongodb-kubernetes -``` - -### 3. Install MongoDB Kubernetes Operator - -Next, install the MongoDB Kubernetes Operator from the Helm repository you just added. The Operator will watch for MongoDB and MongoDBSearch custom resources and manage the lifecycle of your MongoDB deployments. - -[code_snippets/0100_install_operator.sh](code_snippets/0100_install_operator.sh) -```shell copy -helm upgrade --install --debug --kube-context "${K8S_CLUSTER_0_CONTEXT_NAME}" \ - --create-namespace \ - --namespace="${MDB_NAMESPACE}" \ - mongodb-kubernetes \ - --set "${OPERATOR_ADDITIONAL_HELM_VALUES:-"dummy=value"}" \ - "${OPERATOR_HELM_CHART}" -``` -This command installs the operator in the `mongodb` namespace (creating it if it doesn't exist). - -## Creating a MongoDB Search Deployment - -With the prerequisites and initial setup complete, you can now deploy MongoDB Enterprise Edition and enable Search. - -### 4. Create MongoDB Enterprise Resource - -Now, deploy MongoDB Enterprise by creating a `MongoDB` custom resource named `mdb-rs`. This resource definition instructs the MongoDB Kubernetes Operator to configure a MongoDB replica set with 3 members, running version 8.0.10. MongoDB Search is supported only from MongoDB Enterprise Server version 8.0.10. It also defines CPU and memory resources for the `mongodb-enterprise-database` container, and sets up three users: - - -[code_snippets/0305_create_mongodb_database_resource.sh](code_snippets/0305_create_mongodb_database_resource.sh) -```yaml copy -kubectl apply --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${MDB_NAMESPACE}" -f - < /tmp/mdb_script.js -mongosh --quiet "mongodb://mdb-user:${MDB_USER_PASSWORD}@mdb-rs-0.mdb-rs-svc.${MDB_NAMESPACE}.svc.cluster.local:27017/?replicaSet=mdb-rs" < /tmp/mdb_script.js -EOF -)" -``` \ No newline at end of file diff --git a/docs/search/enterprise/quick-start/README.md.j2 b/docs/search/enterprise/quick-start/README.md.j2 deleted file mode 100644 index 08ce07d99..000000000 --- a/docs/search/enterprise/quick-start/README.md.j2 +++ /dev/null @@ -1,179 +0,0 @@ -# MongoDB Enterprise Search on Kubernetes - Quick Start - -This guide provides instructions for deploying MongoDB Enterprise Edition along with its Search capabilities onto a Kubernetes cluster. By following these steps, you will set up a MongoDB instance and configure search indexes to perform full-text search queries against your data. - -## Prerequisites - -Before you begin, ensure you have the following tools and configurations in place: - -- **Kubernetes cluster**: A running Kubernetes cluster (e.g., Minikube, Kind, GKE, EKS, AKS) with kubeconfig available locally. -- **kubectl**: The Kubernetes command-line tool, configured to communicate with your cluster. -- **Helm**: The package manager for Kubernetes, used here to install the MongoDB Kubernetes Operator. -- **Bash 5.1+**: All shell commands in this guide are intended to be run in Bash. Scripts in this guide are automatically tested on Linux with Bash 5.1. -- **Ops Manager or Cloud Manager**: Deploying MongoDB Enterprise Edition requires an Ops Manager or Cloud Manager project and API credentials. - -## Setup Steps - -The following steps guide you through deploying MongoDB Enterprise with Search. Each step provides a shell script. -**It is important to first source the `env_variables.sh` script provided and customize its values for your environment.** -The subsequent script snippets rely on the environment variables defined in `env_variables.sh`. You should copy and paste each script into your Bash terminal. - -### 1. Configure Environment Variables - -First, you need to set up your environment. The `env_variables.sh` script, shown below, contains variables for the subsequent steps. You should create this file locally or use the linked one. - -Download or copy the content of `env_variables.sh`: -[env_variables.sh](env_variables.sh) -```shell copy -{% include "env_variables.sh" %} -``` -This will load the variables into your current shell session, making them available for the commands in the following steps. - -### 2. Add MongoDB Helm Repository - -First, add the MongoDB Helm repository. This repository contains the Helm chart required to install the MongoDB Kubernetes Operator. The operator automates the deployment and management of MongoDB instances (both Community and Enterprise editions) on Kubernetes. - -[code_snippets/090_helm_add_mogodb_repo.sh](code_snippets/090_helm_add_mogodb_repo.sh) -```shell copy -{% include "code_snippets/090_helm_add_mogodb_repo.sh" %} -``` - -### 3. Install MongoDB Kubernetes Operator - -Next, install the MongoDB Kubernetes Operator from the Helm repository you just added. The Operator will watch for MongoDB and MongoDBSearch custom resources and manage the lifecycle of your MongoDB deployments. - -[code_snippets/0100_install_operator.sh](code_snippets/0100_install_operator.sh) -```shell copy -{% include "code_snippets/0100_install_operator.sh" %} -``` -This command installs the operator in the `mongodb` namespace (creating it if it doesn't exist). - -## Creating a MongoDB Search Deployment - -With the prerequisites and initial setup complete, you can now deploy MongoDB Enterprise Edition and enable Search. - -### 4. Create MongoDB Enterprise Resource - -Now, deploy MongoDB Enterprise by creating a `MongoDB` custom resource named `mdb-rs`. This resource definition instructs the MongoDB Kubernetes Operator to configure a MongoDB replica set with 3 members, running version 8.0.10. MongoDB Search is supported only from MongoDB Enterprise Server version 8.0.10. It also defines CPU and memory resources for the `mongodb-enterprise-database` container, and sets up three users: - - -[code_snippets/0305_create_mongodb_database_resource.sh](code_snippets/0305_create_mongodb_database_resource.sh) -```yaml copy -{% include "code_snippets/0305_create_mongodb_database_resource.sh" %} -``` - -### 5. Wait for MongoDB Enterprise Resource to be Ready - -After applying the `MongoDB` custom resource, the operator begins deploying the MongoDB nodes (pods). This step uses `kubectl wait` to pause execution until the `mdb-rs` resource's status phase becomes `Running`, indicating that the MongoDB Enterprise replica set is operational. - -[code_snippets/0310_wait_for_database_resource.sh](code_snippets/0310_wait_for_database_resource.sh) -```shell copy -{% include "code_snippets/0310_wait_for_database_resource.sh" %} -``` - -### 6. Create MongoDB Users - -MongoDB requires authentication for secure access. This step creates three Kubernetes secrets: `mdb-admin-user-password`, `mdb-rs-search-sync-source-password`, and `mdb-user-password`. These secrets store the credentials for the MongoDB administrative user, the MongoDB Search service, and a dedicated user, respectively. These secrets will be mounted into the MongoDB pods. - -These secrets are then used to create the following users: -* `mdb-admin` - root user that restores the `sample_mflix` database from backup. -* `search-sync-source` - user that the MongoDB Search service is authenticating to the MongoDB Server as in order to manage and build indexes. -* `mdb-user` - a regular user that will execute search queries. - - -[code_snippets/0315_create_mongodb_users.sh](code_snippets/0315_create_mongodb_users.sh) -```shell copy -{% include "code_snippets/0315_create_mongodb_users.sh" %} -``` -Ensure these secrets and users are created in the same namespace where you deploy MongoDB Server and Search. - -### 7. Create MongoDB Search Resource - -Once your MongoDB deployment is ready, enable Search capabilities by creating a `MongoDBSearch` custom resource, also named `mdb-rs` to associate it with the MongoDB instance. This resource specifies the CPU and memory resource requirements for the search nodes. - -Note: Public Preview of MongoDB Search comes with some limitations, and it is not suitable for production use: -* Only one instance of the search node is supported (load balancing is not supported) - -[code_snippets/0320_create_mongodb_search_resource.sh](code_snippets/0320_create_mongodb_search_resource.sh) -```shell copy -{% include "code_snippets/0320_create_mongodb_search_resource.sh" %} -``` - -### 8. Wait for Search Resource to be Ready - -Similar to the MongoDB deployment, the Search deployment needs time to initialize. This step uses `kubectl wait` to pause until the `MongoDBSearch` resource `mdb-rs` reports a `Running` status in its `.status.phase` field, indicating that the search nodes are operational and integrated. - -[code_snippets/0325_wait_for_search_resource.sh](code_snippets/0325_wait_for_search_resource.sh) -```shell copy -{% include "code_snippets/0325_wait_for_search_resource.sh" %} -``` -This command polls the status of the `MongoDBSearch` resource `mdb-rs`. - -### 9. Verify MongoDB Enterprise Resource Status - -Double-check the status of your `MongoDB` resource to ensure it remains healthy and that the integration with the Search resource is reflected if applicable. - -[code_snippets/0330_wait_for_database_resource.sh](code_snippets/0330_wait_for_database_resource.sh) -```shell copy -{% include "code_snippets/0330_wait_for_database_resource.sh" %} -``` -This provides a final confirmation that the core database is operational. - -### 10. List Running Pods - -View all the running pods in your namespace. You should see pods for the MongoDB replica set members, the MongoDB Kubernetes Operator, and the MongoDB Search nodes. - -[code_snippets/0335_show_running_pods.sh](code_snippets/0335_show_running_pods.sh) -```shell copy -{% include "code_snippets/0335_show_running_pods.sh" %} -``` - -## Using MongoDB Search - -Now that your MongoDB Enterprise database with Search is deployed, you can start using its search capabilities. - -### 11. Deploy MongoDB Tools Pod - -To interact with your MongoDB deployment, this step deploys a utility pod named `mongodb-tools-pod`. This pod runs a MongoDB Enterprise Server image and is kept running with a `sleep infinity` command, allowing you to use `kubectl exec` to run MongoDB client tools like `mongosh` and `mongorestore` from within the Kubernetes cluster. Running steps in a pod inside the cluster simplifies connectivity to your MongoDB deployment without neeeding to expose the database externally (provided steps directly connect to the *.cluster.local hostnames). - -[code_snippets/0410_run_mongodb_tools_pod.sh](code_snippets/0410_run_mongodb_tools_pod.sh) -```shell copy -{% include "code_snippets/0410_run_mongodb_tools_pod.sh" %} -``` - -### 12. Import Sample Data - -To test the search functionality, this step imports the `sample_mflix.movies` collection. It downloads the sample dataset and uses `mongorestore` to load the data into the `sample_mflix` database in your MongoDB deployment, connecting as the admin user. - -[code_snippets/0420_import_movies_mflix_database.sh](code_snippets/0420_import_movies_mflix_database.sh) -```shell copy -{% include "code_snippets/0420_import_movies_mflix_database.sh" %} -``` -This command uses `mongorestore` from the `mongodb-tools-pod` to load data from the downloaded `sample_mflix.archive` file. - -### 13. Create Search Index - -Before performing search queries, create a search index. This step uses `kubectl exec` to run `mongosh` in the `mongodb-tools-pod`. It connects to the `sample_mflix` database as `search-user` and calls `db.movies.createSearchIndex()` to create a search index named "default" with dynamic mappings on the `movies` collection. Dynamic mapping automatically indexes all fields with supported types. MongoDB Search offers flexible index definitions, allowing for dynamic and static field mappings, various analyzer types (standard, language-specific, custom), and features like synonyms and faceted search. - -[code_snippets/0430_create_search_index.sh](code_snippets/0430_create_search_index.sh) -```shell copy -{% include "code_snippets/0430_create_search_index.sh" %} -``` - -### 14. Wait for Search Index to be Ready - -Creating a search index is an asynchronous operation. This script polls periodically the status by executing `db.movies.getSearchIndexes("default")`. - -[code_snippets/0440_wait_for_search_index_ready.sh](code_snippets/0440_wait_for_search_index_ready.sh) -```shell copy -{% include "code_snippets/0440_wait_for_search_index_ready.sh" %} -``` - -### 15. Execute a Search Query - -Once the search index is ready, execute search queries using the `$search` aggregation pipeline stage. MongoDB Search supports a query language, allowing for various types of queries such as text search, autocomplete, faceting, and more. You can combine `$search` with other aggregation stages to further refine and process your results. - -[code_snippets/0450_execute_search_query.sh](code_snippets/0450_execute_search_query.sh) -```shell copy -{% include "code_snippets/0450_execute_search_query.sh" %} -``` diff --git a/docs/search/enterprise/quick-start/code_snippets/0045_create_namespaces.sh b/docs/search/enterprise/quick-start/code_snippets/0045_create_namespaces.sh deleted file mode 100755 index 7d0899c63..000000000 --- a/docs/search/enterprise/quick-start/code_snippets/0045_create_namespaces.sh +++ /dev/null @@ -1 +0,0 @@ -kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" create namespace "${MDB_NAMESPACE}" diff --git a/docs/search/enterprise/quick-start/code_snippets/0050_configure_ops_manager_project.sh b/docs/search/enterprise/quick-start/code_snippets/0050_configure_ops_manager_project.sh deleted file mode 100644 index 9ab363540..000000000 --- a/docs/search/enterprise/quick-start/code_snippets/0050_configure_ops_manager_project.sh +++ /dev/null @@ -1,5 +0,0 @@ -if [[ "${ops_manager_version}" == "cloud_qa" && -n "${PROJECT_DIR}" ]]; then - pushd "${PROJECT_DIR}" - scripts/dev/configure_operator.sh - popd -fi diff --git a/docs/search/enterprise/quick-start/code_snippets/0310_wait_for_database_resource.sh b/docs/search/enterprise/quick-start/code_snippets/0310_wait_for_database_resource.sh deleted file mode 100755 index 06b0ea91a..000000000 --- a/docs/search/enterprise/quick-start/code_snippets/0310_wait_for_database_resource.sh +++ /dev/null @@ -1,6 +0,0 @@ -echo "Waiting for MongoDB resource to reach Running phase..." -kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${MDB_NAMESPACE}" wait --for=jsonpath='{.status.phase}'=Running mdb/mdb-rs --timeout=400s -echo; echo "MongoDB resource" -kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${MDB_NAMESPACE}" get mdb/mdb-rs -echo; echo "Pods running in cluster ${K8S_CLUSTER_0_CONTEXT_NAME}" -kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${MDB_NAMESPACE}" get pods diff --git a/docs/search/enterprise/quick-start/code_snippets/0325_wait_for_search_resource.sh b/docs/search/enterprise/quick-start/code_snippets/0325_wait_for_search_resource.sh deleted file mode 100755 index 485a01628..000000000 --- a/docs/search/enterprise/quick-start/code_snippets/0325_wait_for_search_resource.sh +++ /dev/null @@ -1,2 +0,0 @@ -echo "Waiting for MongoDBSearch resource to reach Running phase..." -kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${MDB_NAMESPACE}" wait --for=jsonpath='{.status.phase}'=Running mdbs/mdb-rs --timeout=300s diff --git a/docs/search/enterprise/quick-start/code_snippets/0330_wait_for_database_resource.sh b/docs/search/enterprise/quick-start/code_snippets/0330_wait_for_database_resource.sh deleted file mode 100755 index 089383894..000000000 --- a/docs/search/enterprise/quick-start/code_snippets/0330_wait_for_database_resource.sh +++ /dev/null @@ -1,2 +0,0 @@ -echo "Waiting for MongoDB resource to reach Running phase..." -kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${MDB_NAMESPACE}" wait --for=jsonpath='{.status.phase}'=Running mdb/mdb-rs --timeout=400s diff --git a/docs/search/enterprise/quick-start/code_snippets/0335_show_running_pods.sh b/docs/search/enterprise/quick-start/code_snippets/0335_show_running_pods.sh deleted file mode 100755 index 136ef8368..000000000 --- a/docs/search/enterprise/quick-start/code_snippets/0335_show_running_pods.sh +++ /dev/null @@ -1,6 +0,0 @@ -echo; echo "MongoDB resource" -kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${MDB_NAMESPACE}" get mdb/mdb-rs -echo; echo "MongoDBSearch resource" -kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${MDB_NAMESPACE}" get mdbs/mdb-rs -echo; echo "Pods running in cluster ${K8S_CLUSTER_0_CONTEXT_NAME}" -kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${MDB_NAMESPACE}" get pods diff --git a/docs/search/enterprise/quick-start/code_snippets/0410_run_mongodb_tools_pod.sh b/docs/search/enterprise/quick-start/code_snippets/0410_run_mongodb_tools_pod.sh deleted file mode 100755 index 3918143e9..000000000 --- a/docs/search/enterprise/quick-start/code_snippets/0410_run_mongodb_tools_pod.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -kubectl apply -n "${MDB_NAMESPACE}" --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -f - < switched to db sample_mflix -mdb-rs [primary] sample_mflix> ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... [ - { - plot: 'A sports agent stages an unconventional recruitment strategy to get talented Indian cricket players to play Major League Baseball.', - genres: [ 'Biography', 'Drama', 'Sport' ], - title: 'Million Dollar Arm', - released: ISODate('2014-05-16T00:00:00.000Z') - }, - { - plot: 'A Taiwanese high school baseball team travels to Japan in 1931 to compete in a national tournament.', - genres: [ 'Biography', 'Drama', 'History' ], - title: 'Kano', - released: ISODate('2014-02-27T00:00:00.000Z') - }, - { - plot: "12-year-old Josh is a mixed race boy and a promising baseball player. He is abused by his mother's boyfriend Byrd, and neglected by his mother Debbie. He forges his own path in life when ...", - genres: [ 'Drama' ], - title: 'Calloused Hands', - released: ISODate('2013-03-03T00:00:00.000Z') - } -] -mdb-rs [primary] sample_mflix> \ No newline at end of file diff --git a/docs/search/enterprise/quick-start/test.sh b/docs/search/enterprise/quick-start/test.sh deleted file mode 100755 index 2df98c99e..000000000 --- a/docs/search/enterprise/quick-start/test.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -script_name=$(readlink -f "${BASH_SOURCE[0]}") -script_dir=$(dirname "${script_name}") - -source "${script_dir}/../../../../scripts/code_snippets/sample_test_runner.sh" - -cd "${script_dir}" - -prepare_snippets - -run 0045_create_namespaces.sh -run 0046_create_image_pull_secrets.sh -run 0050_configure_ops_manager_project.sh - -run_for_output 090_helm_add_mogodb_repo.sh -run_for_output 0100_install_operator.sh -run 0305_create_mongodb_database_resource.sh -run 0310_wait_for_database_resource.sh -run 0315_create_mongodb_users.sh -run 0320_create_mongodb_search_resource.sh -run 0325_wait_for_search_resource.sh -run 0330_wait_for_database_resource.sh -run_for_output 0335_show_running_pods.sh -run 0410_run_mongodb_tools_pod.sh -run 0420_import_movies_mflix_database.sh -run 0430_create_search_index.sh -run_for_output 0440_wait_for_search_index_ready.sh -run_for_output 0450_execute_search_query.sh -cd - diff --git a/public/architectures/mongodb-replicaset-mc-no-mesh/output/1210_verify_mongosh_connection.out b/public/architectures/mongodb-replicaset-mc-no-mesh/output/1210_verify_mongosh_connection.out deleted file mode 100644 index 15875e92a..000000000 --- a/public/architectures/mongodb-replicaset-mc-no-mesh/output/1210_verify_mongosh_connection.out +++ /dev/null @@ -1,15 +0,0 @@ -{ - authInfo: { - authenticatedUsers: [ { user: 'rs-user', db: 'admin' } ], - authenticatedUserRoles: [ { role: 'root', db: 'admin' } ] - }, - ok: 1, - '$clusterTime': { - clusterTime: Timestamp({ t: 1751960325, i: 1 }), - signature: { - hash: Binary.createFromBase64('1zdo7WUvUyl6qvurToyZCoOwmdY=', 0), - keyId: Long('7524612286879629318') - } - }, - operationTime: Timestamp({ t: 1751960325, i: 1 }) -} diff --git a/public/architectures/mongodb-replicaset-mc-no-mesh/test.sh b/public/architectures/mongodb-replicaset-mc-no-mesh/test.sh deleted file mode 100755 index 4b7622391..000000000 --- a/public/architectures/mongodb-replicaset-mc-no-mesh/test.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -script_name=$(readlink -f "${BASH_SOURCE[0]}") -script_dir=$(dirname "${script_name}") - -source scripts/code_snippets/sample_test_runner.sh - -pushd "${script_dir}" - -prepare_snippets - -run 1050_generate_certs.sh -run 1100_mongodb_replicaset_multi_cluster.sh -run 1110_mongodb_replicaset_multi_cluster_wait_for_running_state.sh - -run 1200_create_mongodb_user.sh -sleep 10 -run_for_output 1210_verify_mongosh_connection.sh - -popd diff --git a/public/architectures/mongodb-replicaset-multi-cluster/output/1210_verify_mongosh_connection.out b/public/architectures/mongodb-replicaset-multi-cluster/output/1210_verify_mongosh_connection.out deleted file mode 100644 index 8fd3ba143..000000000 --- a/public/architectures/mongodb-replicaset-multi-cluster/output/1210_verify_mongosh_connection.out +++ /dev/null @@ -1,15 +0,0 @@ -{ - authInfo: { - authenticatedUsers: [ { user: 'rs-user', db: 'admin' } ], - authenticatedUserRoles: [ { role: 'root', db: 'admin' } ] - }, - ok: 1, - '$clusterTime': { - clusterTime: Timestamp({ t: 1747925179, i: 1 }), - signature: { - hash: Binary.createFromBase64('T1ZP+QUFgBXayfOsRI6XFdEmjKI=', 0), - keyId: Long('7507281432415305733') - } - }, - operationTime: Timestamp({ t: 1747925179, i: 1 }) -} diff --git a/public/architectures/mongodb-replicaset-multi-cluster/test.sh b/public/architectures/mongodb-replicaset-multi-cluster/test.sh deleted file mode 100755 index 4b7622391..000000000 --- a/public/architectures/mongodb-replicaset-multi-cluster/test.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -script_name=$(readlink -f "${BASH_SOURCE[0]}") -script_dir=$(dirname "${script_name}") - -source scripts/code_snippets/sample_test_runner.sh - -pushd "${script_dir}" - -prepare_snippets - -run 1050_generate_certs.sh -run 1100_mongodb_replicaset_multi_cluster.sh -run 1110_mongodb_replicaset_multi_cluster_wait_for_running_state.sh - -run 1200_create_mongodb_user.sh -sleep 10 -run_for_output 1210_verify_mongosh_connection.sh - -popd diff --git a/public/architectures/mongodb-sharded-mc-no-mesh/output/2210_verify_mongosh_connection.out b/public/architectures/mongodb-sharded-mc-no-mesh/output/2210_verify_mongosh_connection.out deleted file mode 100644 index a1ebea3a0..000000000 --- a/public/architectures/mongodb-sharded-mc-no-mesh/output/2210_verify_mongosh_connection.out +++ /dev/null @@ -1,15 +0,0 @@ -{ - authInfo: { - authenticatedUsers: [ { user: 'sc-user', db: 'admin' } ], - authenticatedUserRoles: [ { role: 'root', db: 'admin' } ] - }, - ok: 1, - '$clusterTime': { - clusterTime: Timestamp({ t: 1751960997, i: 1 }), - signature: { - hash: Binary.createFromBase64('nqvfLcd6LgzPn3D2ZvGFBF6xcdw=', 0), - keyId: Long('7524614838090203143') - } - }, - operationTime: Timestamp({ t: 1751960997, i: 1 }) -} diff --git a/public/architectures/mongodb-sharded-mc-no-mesh/test.sh b/public/architectures/mongodb-sharded-mc-no-mesh/test.sh deleted file mode 100755 index d45db935c..000000000 --- a/public/architectures/mongodb-sharded-mc-no-mesh/test.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -script_name=$(readlink -f "${BASH_SOURCE[0]}") -script_dir=$(dirname "${script_name}") - -source scripts/code_snippets/sample_test_runner.sh - -pushd "${script_dir}" - -prepare_snippets - -run 2050_generate_certs.sh -run 2100_mongodb_sharded_multi_cluster.sh -run 2110_mongodb_sharded_multi_cluster_wait_for_running_state.sh - -run 2200_create_mongodb_user.sh -sleep 10 -run_for_output 2210_verify_mongosh_connection.sh - -popd diff --git a/public/architectures/mongodb-sharded-multi-cluster/output/2210_verify_mongosh_connection.out b/public/architectures/mongodb-sharded-multi-cluster/output/2210_verify_mongosh_connection.out deleted file mode 100644 index 664ae8d80..000000000 --- a/public/architectures/mongodb-sharded-multi-cluster/output/2210_verify_mongosh_connection.out +++ /dev/null @@ -1,15 +0,0 @@ -{ - authInfo: { - authenticatedUsers: [ { user: 'sc-user', db: 'admin' } ], - authenticatedUserRoles: [ { role: 'root', db: 'admin' } ] - }, - ok: 1, - '$clusterTime': { - clusterTime: Timestamp({ t: 1747926002, i: 2 }), - signature: { - hash: Binary.createFromBase64('txVMxsU5ZT7eK/o9G3nqe96BdiY=', 0), - keyId: Long('7507284709475352599') - } - }, - operationTime: Timestamp({ t: 1747926002, i: 2 }) -} diff --git a/public/architectures/mongodb-sharded-multi-cluster/test.sh b/public/architectures/mongodb-sharded-multi-cluster/test.sh deleted file mode 100755 index d45db935c..000000000 --- a/public/architectures/mongodb-sharded-multi-cluster/test.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -script_name=$(readlink -f "${BASH_SOURCE[0]}") -script_dir=$(dirname "${script_name}") - -source scripts/code_snippets/sample_test_runner.sh - -pushd "${script_dir}" - -prepare_snippets - -run 2050_generate_certs.sh -run 2100_mongodb_sharded_multi_cluster.sh -run 2110_mongodb_sharded_multi_cluster_wait_for_running_state.sh - -run 2200_create_mongodb_user.sh -sleep 10 -run_for_output 2210_verify_mongosh_connection.sh - -popd diff --git a/public/architectures/ops-manager-mc-no-mesh/output/0150_om_load_balancer.out b/public/architectures/ops-manager-mc-no-mesh/output/0150_om_load_balancer.out deleted file mode 100644 index 2c9773b92..000000000 --- a/public/architectures/ops-manager-mc-no-mesh/output/0150_om_load_balancer.out +++ /dev/null @@ -1,10 +0,0 @@ -NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED -fw-ops-manager-hc default INGRESS 1000 tcp:8443 False -NAME PROTOCOL -om-healthcheck HTTPS -NAME BACKENDS PROTOCOL -om-backend-service HTTPS -NAME DEFAULT_SERVICE -om-url-map backendServices/om-backend-service -NAME SSL_CERTIFICATES URL_MAP REGION CERTIFICATE_MAP -om-lb-proxy om-certificate om-url-map diff --git a/public/architectures/ops-manager-mc-no-mesh/output/0330_ops_manager_wait_for_running_state.out b/public/architectures/ops-manager-mc-no-mesh/output/0330_ops_manager_wait_for_running_state.out deleted file mode 100644 index 7230ebd38..000000000 --- a/public/architectures/ops-manager-mc-no-mesh/output/0330_ops_manager_wait_for_running_state.out +++ /dev/null @@ -1,22 +0,0 @@ -Waiting for Application Database to reach Running phase... -mongodbopsmanager.mongodb.com/om condition met - -Waiting for Ops Manager to reach Running phase... -mongodbopsmanager.mongodb.com/om condition met - -MongoDBOpsManager resource -NAME REPLICAS VERSION STATE (OPSMANAGER) STATE (APPDB) STATE (BACKUP) AGE WARNINGS -om 8.0.5 Running Running Disabled 16m - -Pods running in cluster gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-686cc1e099f9ef000722c191-862 -NAME READY STATUS RESTARTS AGE -om-0-0 1/1 Running 0 12m -om-db-0-0 3/3 Running 0 3m49s -om-db-0-1 3/3 Running 0 4m51s - -Pods running in cluster gke_scratch-kubernetes-team_europe-central2-b_k8s-mdb-1-686cc1e099f9ef000722c191-862 -NAME READY STATUS RESTARTS AGE -om-1-0 1/1 Running 0 12m -om-1-1 1/1 Running 0 8m -om-db-1-0 3/3 Running 0 106s -om-db-1-1 3/3 Running 0 2m50s diff --git a/public/architectures/ops-manager-mc-no-mesh/output/0522_ops_manager_wait_for_running_state.out b/public/architectures/ops-manager-mc-no-mesh/output/0522_ops_manager_wait_for_running_state.out deleted file mode 100644 index b28afaad6..000000000 --- a/public/architectures/ops-manager-mc-no-mesh/output/0522_ops_manager_wait_for_running_state.out +++ /dev/null @@ -1,30 +0,0 @@ - -Waiting for Backup to reach Running phase... -mongodbopsmanager.mongodb.com/om condition met -Waiting for Application Database to reach Running phase... -mongodbopsmanager.mongodb.com/om condition met - -Waiting for Ops Manager to reach Running phase... -mongodbopsmanager.mongodb.com/om condition met - -MongoDBOpsManager resource -NAME REPLICAS VERSION STATE (OPSMANAGER) STATE (APPDB) STATE (BACKUP) AGE WARNINGS -om 8.0.5 Running Running Running 20m - -Pods running in cluster gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-686cc1e099f9ef000722c191-862 -NAME READY STATUS RESTARTS AGE -om-0-0 1/1 Running 0 16m -om-db-0-0 3/3 Running 0 8m3s -om-db-0-1 3/3 Running 0 9m5s - -Pods running in cluster gke_scratch-kubernetes-team_europe-central2-b_k8s-mdb-1-686cc1e099f9ef000722c191-862 -NAME READY STATUS RESTARTS AGE -om-1-0 1/1 Running 0 16m -om-1-1 1/1 Running 0 12m -om-db-1-0 3/3 Running 0 6m -om-db-1-1 3/3 Running 0 7m4s - -Pods running in cluster gke_scratch-kubernetes-team_europe-central2-c_k8s-mdb-2-686cc1e099f9ef000722c191-862 -NAME READY STATUS RESTARTS AGE -om-2-backup-daemon-0 1/1 Running 0 3m50s -om-db-2-0 3/3 Running 0 5m1s diff --git a/public/architectures/ops-manager-mc-no-mesh/test.sh b/public/architectures/ops-manager-mc-no-mesh/test.sh deleted file mode 100755 index 4c8e92a6f..000000000 --- a/public/architectures/ops-manager-mc-no-mesh/test.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -script_name=$(readlink -f "${BASH_SOURCE[0]}") -script_dir=$(dirname "${script_name}") - -source scripts/code_snippets/sample_test_runner.sh - -pushd "${script_dir}" - -prepare_snippets - -run 0100_generate_certs.sh -run 0110_add_cert_to_gcp.sh - -run_for_output 0150_om_load_balancer.sh - -run 0160_add_dns_record.sh - -run 0300_ops_manager_create_admin_credentials.sh - -run 0320_ops_manager_no_mesh.sh - -run_for_output 0321_ops_manager_wait_for_pending_state.sh - -run 0325_set_up_lb_services.sh -run 0326_set_up_lb_services.sh - -run_for_output 0330_ops_manager_wait_for_running_state.sh - -run 0400_install_minio_s3.sh -run 0500_ops_manager_prepare_s3_backup_secrets.sh -run 0510_ops_manager_enable_s3_backup.sh -run_for_output 0522_ops_manager_wait_for_running_state.sh - -run 0610_create_mdb_org_and_get_credentials.sh - -popd diff --git a/public/architectures/ops-manager-multi-cluster/output/0321_ops_manager_wait_for_pending_state.out b/public/architectures/ops-manager-multi-cluster/output/0321_ops_manager_wait_for_pending_state.out deleted file mode 100644 index 0e3908c8c..000000000 --- a/public/architectures/ops-manager-multi-cluster/output/0321_ops_manager_wait_for_pending_state.out +++ /dev/null @@ -1,4 +0,0 @@ -Waiting for Application Database to reach Pending phase... -mongodbopsmanager.mongodb.com/om condition met -Waiting for Ops Manager to reach Pending phase... -mongodbopsmanager.mongodb.com/om condition met diff --git a/public/architectures/ops-manager-multi-cluster/test.sh b/public/architectures/ops-manager-multi-cluster/test.sh deleted file mode 100755 index 760f5837e..000000000 --- a/public/architectures/ops-manager-multi-cluster/test.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -script_name=$(readlink -f "${BASH_SOURCE[0]}") -script_dir=$(dirname "${script_name}") - -source scripts/code_snippets/sample_test_runner.sh - -pushd "${script_dir}" - -prepare_snippets - -run 0250_generate_certs.sh - -run 0300_ops_manager_create_admin_credentials.sh -run 0310_ops_manager_deploy_on_single_member_cluster.sh -run_for_output 0311_ops_manager_wait_for_pending_state.sh -run_for_output 0312_ops_manager_wait_for_running_state.sh -run 0320_ops_manager_add_second_cluster.sh -run_for_output 0321_ops_manager_wait_for_pending_state.sh -run_for_output 0322_ops_manager_wait_for_running_state.sh - -run 0400_install_minio_s3.sh -run 0500_ops_manager_prepare_s3_backup_secrets.sh -run 0510_ops_manager_enable_s3_backup.sh -run_for_output 0522_ops_manager_wait_for_running_state.sh - -run 0610_create_mdb_org_and_get_credentials.sh - -popd diff --git a/public/architectures/ops-manager-multi-cluster/code_snippets/0250_generate_certs.sh b/public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0250_generate_certs.sh similarity index 100% rename from public/architectures/ops-manager-multi-cluster/code_snippets/0250_generate_certs.sh rename to public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0250_generate_certs.sh diff --git a/public/architectures/ops-manager-mc-no-mesh/code_snippets/0300_ops_manager_create_admin_credentials.sh b/public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0300_ops_manager_create_admin_credentials.sh similarity index 100% rename from public/architectures/ops-manager-mc-no-mesh/code_snippets/0300_ops_manager_create_admin_credentials.sh rename to public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0300_ops_manager_create_admin_credentials.sh diff --git a/public/architectures/ops-manager-multi-cluster/code_snippets/0310_ops_manager_deploy_on_single_member_cluster.sh b/public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0310_ops_manager_deploy_on_single_member_cluster.sh similarity index 100% rename from public/architectures/ops-manager-multi-cluster/code_snippets/0310_ops_manager_deploy_on_single_member_cluster.sh rename to public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0310_ops_manager_deploy_on_single_member_cluster.sh diff --git a/public/architectures/ops-manager-multi-cluster/code_snippets/0311_ops_manager_wait_for_pending_state.sh b/public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0311_ops_manager_wait_for_pending_state.sh similarity index 100% rename from public/architectures/ops-manager-multi-cluster/code_snippets/0311_ops_manager_wait_for_pending_state.sh rename to public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0311_ops_manager_wait_for_pending_state.sh diff --git a/public/architectures/ops-manager-mc-no-mesh/code_snippets/0330_ops_manager_wait_for_running_state.sh b/public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0312_ops_manager_wait_for_running_state.sh similarity index 100% rename from public/architectures/ops-manager-mc-no-mesh/code_snippets/0330_ops_manager_wait_for_running_state.sh rename to public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0312_ops_manager_wait_for_running_state.sh diff --git a/public/architectures/ops-manager-multi-cluster/code_snippets/0320_ops_manager_add_second_cluster.sh b/public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0320_ops_manager_add_second_cluster.sh similarity index 100% rename from public/architectures/ops-manager-multi-cluster/code_snippets/0320_ops_manager_add_second_cluster.sh rename to public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0320_ops_manager_add_second_cluster.sh diff --git a/public/architectures/ops-manager-mc-no-mesh/code_snippets/0321_ops_manager_wait_for_pending_state.sh b/public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0321_ops_manager_wait_for_pending_state.sh similarity index 100% rename from public/architectures/ops-manager-mc-no-mesh/code_snippets/0321_ops_manager_wait_for_pending_state.sh rename to public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0321_ops_manager_wait_for_pending_state.sh diff --git a/public/architectures/ops-manager-multi-cluster/code_snippets/0322_ops_manager_wait_for_running_state.sh b/public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0322_ops_manager_wait_for_running_state.sh similarity index 100% rename from public/architectures/ops-manager-multi-cluster/code_snippets/0322_ops_manager_wait_for_running_state.sh rename to public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0322_ops_manager_wait_for_running_state.sh diff --git a/public/architectures/ops-manager-multi-cluster/code_snippets/0400_install_minio_s3.sh b/public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0400_install_minio_s3.sh similarity index 100% rename from public/architectures/ops-manager-multi-cluster/code_snippets/0400_install_minio_s3.sh rename to public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0400_install_minio_s3.sh diff --git a/public/architectures/ops-manager-mc-no-mesh/code_snippets/0500_ops_manager_prepare_s3_backup_secrets.sh b/public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0500_ops_manager_prepare_s3_backup_secrets.sh similarity index 100% rename from public/architectures/ops-manager-mc-no-mesh/code_snippets/0500_ops_manager_prepare_s3_backup_secrets.sh rename to public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0500_ops_manager_prepare_s3_backup_secrets.sh diff --git a/public/architectures/ops-manager-multi-cluster/code_snippets/0510_ops_manager_enable_s3_backup.sh b/public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0510_ops_manager_enable_s3_backup.sh similarity index 100% rename from public/architectures/ops-manager-multi-cluster/code_snippets/0510_ops_manager_enable_s3_backup.sh rename to public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0510_ops_manager_enable_s3_backup.sh diff --git a/public/architectures/ops-manager-mc-no-mesh/code_snippets/0522_ops_manager_wait_for_running_state.sh b/public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0522_ops_manager_wait_for_running_state.sh similarity index 100% rename from public/architectures/ops-manager-mc-no-mesh/code_snippets/0522_ops_manager_wait_for_running_state.sh rename to public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0522_ops_manager_wait_for_running_state.sh diff --git a/public/architectures/ops-manager-multi-cluster/code_snippets/0610_create_mdb_org_and_get_credentials.sh b/public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0610_create_mdb_org_and_get_credentials.sh similarity index 100% rename from public/architectures/ops-manager-multi-cluster/code_snippets/0610_create_mdb_org_and_get_credentials.sh rename to public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0610_create_mdb_org_and_get_credentials.sh diff --git a/public/architectures/ops-manager-mc-no-mesh/code_snippets/9100_delete_backup_namespaces.sh b/public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_9100_delete_backup_namespaces.sh similarity index 100% rename from public/architectures/ops-manager-mc-no-mesh/code_snippets/9100_delete_backup_namespaces.sh rename to public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_9100_delete_backup_namespaces.sh diff --git a/public/architectures/ops-manager-mc-no-mesh/code_snippets/9200_delete_om.sh b/public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_9200_delete_om.sh similarity index 100% rename from public/architectures/ops-manager-mc-no-mesh/code_snippets/9200_delete_om.sh rename to public/architectures/ra-06-ops-manager-multi-cluster/code_snippets/ra-06_9200_delete_om.sh diff --git a/public/architectures/ops-manager-multi-cluster/env_variables.sh b/public/architectures/ra-06-ops-manager-multi-cluster/env_variables.sh similarity index 100% rename from public/architectures/ops-manager-multi-cluster/env_variables.sh rename to public/architectures/ra-06-ops-manager-multi-cluster/env_variables.sh diff --git a/public/architectures/ops-manager-multi-cluster/teardown.sh b/public/architectures/ra-06-ops-manager-multi-cluster/teardown.sh similarity index 75% rename from public/architectures/ops-manager-multi-cluster/teardown.sh rename to public/architectures/ra-06-ops-manager-multi-cluster/teardown.sh index cb0389a60..573a27b4a 100755 --- a/public/architectures/ops-manager-multi-cluster/teardown.sh +++ b/public/architectures/ra-06-ops-manager-multi-cluster/teardown.sh @@ -11,8 +11,8 @@ pushd "${script_dir}" prepare_snippets -run 9100_delete_backup_namespaces.sh & -run 9200_delete_om.sh & +run ra-06_9100_delete_backup_namespaces.sh & +run ra-06_9200_delete_om.sh & wait popd diff --git a/public/architectures/ra-06-ops-manager-multi-cluster/test.sh b/public/architectures/ra-06-ops-manager-multi-cluster/test.sh new file mode 100755 index 000000000..eb08178f3 --- /dev/null +++ b/public/architectures/ra-06-ops-manager-multi-cluster/test.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +set -eou pipefail + +script_name=$(readlink -f "${BASH_SOURCE[0]}") +script_dir=$(dirname "${script_name}") + +source scripts/code_snippets/sample_test_runner.sh + +pushd "${script_dir}" + +prepare_snippets + +run ra-06_0250_generate_certs.sh + +run ra-06_0300_ops_manager_create_admin_credentials.sh +run ra-06_0310_ops_manager_deploy_on_single_member_cluster.sh +run_for_output ra-06_0311_ops_manager_wait_for_pending_state.sh +run_for_output ra-06_0312_ops_manager_wait_for_running_state.sh +run ra-06_0320_ops_manager_add_second_cluster.sh +run_for_output ra-06_0321_ops_manager_wait_for_pending_state.sh +run_for_output ra-06_0322_ops_manager_wait_for_running_state.sh + +run ra-06_0400_install_minio_s3.sh +run ra-06_0500_ops_manager_prepare_s3_backup_secrets.sh +run ra-06_0510_ops_manager_enable_s3_backup.sh +run_for_output ra-06_0522_ops_manager_wait_for_running_state.sh + +run ra-06_0610_create_mdb_org_and_get_credentials.sh + +popd diff --git a/public/architectures/mongodb-replicaset-multi-cluster/code_snippets/1050_generate_certs.sh b/public/architectures/ra-07-mongodb-replicaset-multi-cluster/code_snippets/ra-07_1050_generate_certs.sh similarity index 100% rename from public/architectures/mongodb-replicaset-multi-cluster/code_snippets/1050_generate_certs.sh rename to public/architectures/ra-07-mongodb-replicaset-multi-cluster/code_snippets/ra-07_1050_generate_certs.sh diff --git a/public/architectures/mongodb-replicaset-multi-cluster/code_snippets/1100_mongodb_replicaset_multi_cluster.sh b/public/architectures/ra-07-mongodb-replicaset-multi-cluster/code_snippets/ra-07_1100_mongodb_replicaset_multi_cluster.sh similarity index 100% rename from public/architectures/mongodb-replicaset-multi-cluster/code_snippets/1100_mongodb_replicaset_multi_cluster.sh rename to public/architectures/ra-07-mongodb-replicaset-multi-cluster/code_snippets/ra-07_1100_mongodb_replicaset_multi_cluster.sh diff --git a/public/architectures/mongodb-replicaset-mc-no-mesh/code_snippets/1110_mongodb_replicaset_multi_cluster_wait_for_running_state.sh b/public/architectures/ra-07-mongodb-replicaset-multi-cluster/code_snippets/ra-07_1110_mongodb_replicaset_multi_cluster_wait_for_running_state.sh similarity index 100% rename from public/architectures/mongodb-replicaset-mc-no-mesh/code_snippets/1110_mongodb_replicaset_multi_cluster_wait_for_running_state.sh rename to public/architectures/ra-07-mongodb-replicaset-multi-cluster/code_snippets/ra-07_1110_mongodb_replicaset_multi_cluster_wait_for_running_state.sh diff --git a/public/architectures/mongodb-replicaset-mc-no-mesh/code_snippets/1200_create_mongodb_user.sh b/public/architectures/ra-07-mongodb-replicaset-multi-cluster/code_snippets/ra-07_1200_create_mongodb_user.sh similarity index 100% rename from public/architectures/mongodb-replicaset-mc-no-mesh/code_snippets/1200_create_mongodb_user.sh rename to public/architectures/ra-07-mongodb-replicaset-multi-cluster/code_snippets/ra-07_1200_create_mongodb_user.sh diff --git a/public/architectures/mongodb-replicaset-mc-no-mesh/code_snippets/1210_verify_mongosh_connection.sh b/public/architectures/ra-07-mongodb-replicaset-multi-cluster/code_snippets/ra-07_1210_verify_mongosh_connection.sh similarity index 100% rename from public/architectures/mongodb-replicaset-mc-no-mesh/code_snippets/1210_verify_mongosh_connection.sh rename to public/architectures/ra-07-mongodb-replicaset-multi-cluster/code_snippets/ra-07_1210_verify_mongosh_connection.sh diff --git a/public/architectures/mongodb-replicaset-mc-no-mesh/code_snippets/9000_delete_resources.sh b/public/architectures/ra-07-mongodb-replicaset-multi-cluster/code_snippets/ra-07_9000_delete_resources.sh similarity index 100% rename from public/architectures/mongodb-replicaset-mc-no-mesh/code_snippets/9000_delete_resources.sh rename to public/architectures/ra-07-mongodb-replicaset-multi-cluster/code_snippets/ra-07_9000_delete_resources.sh diff --git a/public/architectures/mongodb-replicaset-multi-cluster/env_variables.sh b/public/architectures/ra-07-mongodb-replicaset-multi-cluster/env_variables.sh similarity index 100% rename from public/architectures/mongodb-replicaset-multi-cluster/env_variables.sh rename to public/architectures/ra-07-mongodb-replicaset-multi-cluster/env_variables.sh diff --git a/public/architectures/mongodb-sharded-mc-no-mesh/teardown.sh b/public/architectures/ra-07-mongodb-replicaset-multi-cluster/teardown.sh similarity index 86% rename from public/architectures/mongodb-sharded-mc-no-mesh/teardown.sh rename to public/architectures/ra-07-mongodb-replicaset-multi-cluster/teardown.sh index dd5dd71a8..7695b3849 100755 --- a/public/architectures/mongodb-sharded-mc-no-mesh/teardown.sh +++ b/public/architectures/ra-07-mongodb-replicaset-multi-cluster/teardown.sh @@ -11,6 +11,6 @@ pushd "${script_dir}" prepare_snippets -run 9000_delete_resources.sh +run ra-07_9000_delete_resources.sh popd diff --git a/public/architectures/ra-07-mongodb-replicaset-multi-cluster/test.sh b/public/architectures/ra-07-mongodb-replicaset-multi-cluster/test.sh new file mode 100755 index 000000000..a49ca11f3 --- /dev/null +++ b/public/architectures/ra-07-mongodb-replicaset-multi-cluster/test.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +set -eou pipefail + +script_name=$(readlink -f "${BASH_SOURCE[0]}") +script_dir=$(dirname "${script_name}") + +source scripts/code_snippets/sample_test_runner.sh + +pushd "${script_dir}" + +prepare_snippets + +run ra-07_1050_generate_certs.sh +run ra-07_1100_mongodb_replicaset_multi_cluster.sh +run ra-07_1110_mongodb_replicaset_multi_cluster_wait_for_running_state.sh + +run ra-07_1200_create_mongodb_user.sh +sleep 10 +run_for_output ra-07_1210_verify_mongosh_connection.sh + +popd diff --git a/public/architectures/mongodb-sharded-multi-cluster/code_snippets/2050_generate_certs.sh b/public/architectures/ra-08-mongodb-sharded-multi-cluster/code_snippets/ra-08_2050_generate_certs.sh similarity index 100% rename from public/architectures/mongodb-sharded-multi-cluster/code_snippets/2050_generate_certs.sh rename to public/architectures/ra-08-mongodb-sharded-multi-cluster/code_snippets/ra-08_2050_generate_certs.sh diff --git a/public/architectures/mongodb-sharded-multi-cluster/code_snippets/2100_mongodb_sharded_multi_cluster.sh b/public/architectures/ra-08-mongodb-sharded-multi-cluster/code_snippets/ra-08_2100_mongodb_sharded_multi_cluster.sh similarity index 100% rename from public/architectures/mongodb-sharded-multi-cluster/code_snippets/2100_mongodb_sharded_multi_cluster.sh rename to public/architectures/ra-08-mongodb-sharded-multi-cluster/code_snippets/ra-08_2100_mongodb_sharded_multi_cluster.sh diff --git a/public/architectures/mongodb-sharded-mc-no-mesh/code_snippets/2110_mongodb_sharded_multi_cluster_wait_for_running_state.sh b/public/architectures/ra-08-mongodb-sharded-multi-cluster/code_snippets/ra-08_2110_mongodb_sharded_multi_cluster_wait_for_running_state.sh similarity index 100% rename from public/architectures/mongodb-sharded-mc-no-mesh/code_snippets/2110_mongodb_sharded_multi_cluster_wait_for_running_state.sh rename to public/architectures/ra-08-mongodb-sharded-multi-cluster/code_snippets/ra-08_2110_mongodb_sharded_multi_cluster_wait_for_running_state.sh diff --git a/public/architectures/mongodb-sharded-mc-no-mesh/code_snippets/2200_create_mongodb_user.sh b/public/architectures/ra-08-mongodb-sharded-multi-cluster/code_snippets/ra-08_2200_create_mongodb_user.sh similarity index 100% rename from public/architectures/mongodb-sharded-mc-no-mesh/code_snippets/2200_create_mongodb_user.sh rename to public/architectures/ra-08-mongodb-sharded-multi-cluster/code_snippets/ra-08_2200_create_mongodb_user.sh diff --git a/public/architectures/mongodb-sharded-mc-no-mesh/code_snippets/2210_verify_mongosh_connection.sh b/public/architectures/ra-08-mongodb-sharded-multi-cluster/code_snippets/ra-08_2210_verify_mongosh_connection.sh similarity index 100% rename from public/architectures/mongodb-sharded-mc-no-mesh/code_snippets/2210_verify_mongosh_connection.sh rename to public/architectures/ra-08-mongodb-sharded-multi-cluster/code_snippets/ra-08_2210_verify_mongosh_connection.sh diff --git a/public/architectures/mongodb-sharded-mc-no-mesh/code_snippets/9000_delete_resources.sh b/public/architectures/ra-08-mongodb-sharded-multi-cluster/code_snippets/ra-08_9000_delete_resources.sh similarity index 100% rename from public/architectures/mongodb-sharded-mc-no-mesh/code_snippets/9000_delete_resources.sh rename to public/architectures/ra-08-mongodb-sharded-multi-cluster/code_snippets/ra-08_9000_delete_resources.sh diff --git a/public/architectures/mongodb-sharded-multi-cluster/env_variables.sh b/public/architectures/ra-08-mongodb-sharded-multi-cluster/env_variables.sh similarity index 100% rename from public/architectures/mongodb-sharded-multi-cluster/env_variables.sh rename to public/architectures/ra-08-mongodb-sharded-multi-cluster/env_variables.sh diff --git a/public/architectures/mongodb-replicaset-mc-no-mesh/teardown.sh b/public/architectures/ra-08-mongodb-sharded-multi-cluster/teardown.sh similarity index 86% rename from public/architectures/mongodb-replicaset-mc-no-mesh/teardown.sh rename to public/architectures/ra-08-mongodb-sharded-multi-cluster/teardown.sh index dd5dd71a8..9b70289c8 100755 --- a/public/architectures/mongodb-replicaset-mc-no-mesh/teardown.sh +++ b/public/architectures/ra-08-mongodb-sharded-multi-cluster/teardown.sh @@ -11,6 +11,6 @@ pushd "${script_dir}" prepare_snippets -run 9000_delete_resources.sh +run ra-08_9000_delete_resources.sh popd diff --git a/public/architectures/ra-08-mongodb-sharded-multi-cluster/test.sh b/public/architectures/ra-08-mongodb-sharded-multi-cluster/test.sh new file mode 100755 index 000000000..3c3a49294 --- /dev/null +++ b/public/architectures/ra-08-mongodb-sharded-multi-cluster/test.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +set -eou pipefail + +script_name=$(readlink -f "${BASH_SOURCE[0]}") +script_dir=$(dirname "${script_name}") + +source scripts/code_snippets/sample_test_runner.sh + +pushd "${script_dir}" + +prepare_snippets + +run ra-08_2050_generate_certs.sh +run ra-08_2100_mongodb_sharded_multi_cluster.sh +run ra-08_2110_mongodb_sharded_multi_cluster_wait_for_running_state.sh + +run ra-08_2200_create_mongodb_user.sh +sleep 10 +run_for_output ra-08_2210_verify_mongosh_connection.sh + +popd diff --git a/public/architectures/ops-manager-mc-no-mesh/code_snippets/0100_generate_certs.sh b/public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0100_generate_certs.sh similarity index 100% rename from public/architectures/ops-manager-mc-no-mesh/code_snippets/0100_generate_certs.sh rename to public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0100_generate_certs.sh diff --git a/public/architectures/ops-manager-mc-no-mesh/code_snippets/0110_add_cert_to_gcp.sh b/public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0110_add_cert_to_gcp.sh similarity index 100% rename from public/architectures/ops-manager-mc-no-mesh/code_snippets/0110_add_cert_to_gcp.sh rename to public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0110_add_cert_to_gcp.sh diff --git a/public/architectures/ops-manager-mc-no-mesh/code_snippets/0150_om_load_balancer.sh b/public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0150_om_load_balancer.sh similarity index 100% rename from public/architectures/ops-manager-mc-no-mesh/code_snippets/0150_om_load_balancer.sh rename to public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0150_om_load_balancer.sh diff --git a/public/architectures/ops-manager-mc-no-mesh/code_snippets/0160_add_dns_record.sh b/public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0160_add_dns_record.sh similarity index 100% rename from public/architectures/ops-manager-mc-no-mesh/code_snippets/0160_add_dns_record.sh rename to public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0160_add_dns_record.sh diff --git a/public/architectures/ops-manager-multi-cluster/code_snippets/0300_ops_manager_create_admin_credentials.sh b/public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0300_ops_manager_create_admin_credentials.sh similarity index 100% rename from public/architectures/ops-manager-multi-cluster/code_snippets/0300_ops_manager_create_admin_credentials.sh rename to public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0300_ops_manager_create_admin_credentials.sh diff --git a/public/architectures/ops-manager-mc-no-mesh/code_snippets/0320_ops_manager_no_mesh.sh b/public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0320_ops_manager_no_mesh.sh similarity index 100% rename from public/architectures/ops-manager-mc-no-mesh/code_snippets/0320_ops_manager_no_mesh.sh rename to public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0320_ops_manager_no_mesh.sh diff --git a/public/architectures/ops-manager-multi-cluster/code_snippets/0321_ops_manager_wait_for_pending_state.sh b/public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0321_ops_manager_wait_for_pending_state.sh similarity index 100% rename from public/architectures/ops-manager-multi-cluster/code_snippets/0321_ops_manager_wait_for_pending_state.sh rename to public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0321_ops_manager_wait_for_pending_state.sh diff --git a/public/architectures/ops-manager-mc-no-mesh/code_snippets/0325_set_up_lb_services.sh b/public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0325_set_up_lb_services.sh similarity index 100% rename from public/architectures/ops-manager-mc-no-mesh/code_snippets/0325_set_up_lb_services.sh rename to public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0325_set_up_lb_services.sh diff --git a/public/architectures/ops-manager-mc-no-mesh/code_snippets/0326_set_up_lb_services.sh b/public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0326_set_up_lb_services.sh similarity index 100% rename from public/architectures/ops-manager-mc-no-mesh/code_snippets/0326_set_up_lb_services.sh rename to public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0326_set_up_lb_services.sh diff --git a/public/architectures/ops-manager-multi-cluster/code_snippets/0312_ops_manager_wait_for_running_state.sh b/public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0330_ops_manager_wait_for_running_state.sh similarity index 100% rename from public/architectures/ops-manager-multi-cluster/code_snippets/0312_ops_manager_wait_for_running_state.sh rename to public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0330_ops_manager_wait_for_running_state.sh diff --git a/public/architectures/ops-manager-mc-no-mesh/code_snippets/0400_install_minio_s3.sh b/public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0400_install_minio_s3.sh similarity index 100% rename from public/architectures/ops-manager-mc-no-mesh/code_snippets/0400_install_minio_s3.sh rename to public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0400_install_minio_s3.sh diff --git a/public/architectures/ops-manager-multi-cluster/code_snippets/0500_ops_manager_prepare_s3_backup_secrets.sh b/public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0500_ops_manager_prepare_s3_backup_secrets.sh similarity index 100% rename from public/architectures/ops-manager-multi-cluster/code_snippets/0500_ops_manager_prepare_s3_backup_secrets.sh rename to public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0500_ops_manager_prepare_s3_backup_secrets.sh diff --git a/public/architectures/ops-manager-mc-no-mesh/code_snippets/0510_ops_manager_enable_s3_backup.sh b/public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0510_ops_manager_enable_s3_backup.sh similarity index 100% rename from public/architectures/ops-manager-mc-no-mesh/code_snippets/0510_ops_manager_enable_s3_backup.sh rename to public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0510_ops_manager_enable_s3_backup.sh diff --git a/public/architectures/ops-manager-multi-cluster/code_snippets/0522_ops_manager_wait_for_running_state.sh b/public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0522_ops_manager_wait_for_running_state.sh similarity index 100% rename from public/architectures/ops-manager-multi-cluster/code_snippets/0522_ops_manager_wait_for_running_state.sh rename to public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0522_ops_manager_wait_for_running_state.sh diff --git a/public/architectures/ops-manager-mc-no-mesh/code_snippets/0610_create_mdb_org_and_get_credentials.sh b/public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0610_create_mdb_org_and_get_credentials.sh similarity index 100% rename from public/architectures/ops-manager-mc-no-mesh/code_snippets/0610_create_mdb_org_and_get_credentials.sh rename to public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0610_create_mdb_org_and_get_credentials.sh diff --git a/public/architectures/ops-manager-mc-no-mesh/code_snippets/9000_cleanup_gke_lb.sh b/public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_9000_cleanup_gke_lb.sh similarity index 100% rename from public/architectures/ops-manager-mc-no-mesh/code_snippets/9000_cleanup_gke_lb.sh rename to public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_9000_cleanup_gke_lb.sh diff --git a/public/architectures/ops-manager-multi-cluster/code_snippets/9100_delete_backup_namespaces.sh b/public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_9100_delete_backup_namespaces.sh similarity index 100% rename from public/architectures/ops-manager-multi-cluster/code_snippets/9100_delete_backup_namespaces.sh rename to public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_9100_delete_backup_namespaces.sh diff --git a/public/architectures/ops-manager-multi-cluster/code_snippets/9200_delete_om.sh b/public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_9200_delete_om.sh similarity index 100% rename from public/architectures/ops-manager-multi-cluster/code_snippets/9200_delete_om.sh rename to public/architectures/ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_9200_delete_om.sh diff --git a/public/architectures/ops-manager-mc-no-mesh/env_variables.sh b/public/architectures/ra-10-ops-manager-mc-no-mesh/env_variables.sh similarity index 100% rename from public/architectures/ops-manager-mc-no-mesh/env_variables.sh rename to public/architectures/ra-10-ops-manager-mc-no-mesh/env_variables.sh diff --git a/public/architectures/ops-manager-mc-no-mesh/teardown.sh b/public/architectures/ra-10-ops-manager-mc-no-mesh/teardown.sh similarity index 67% rename from public/architectures/ops-manager-mc-no-mesh/teardown.sh rename to public/architectures/ra-10-ops-manager-mc-no-mesh/teardown.sh index 7719fa13d..c6060f0b1 100755 --- a/public/architectures/ops-manager-mc-no-mesh/teardown.sh +++ b/public/architectures/ra-10-ops-manager-mc-no-mesh/teardown.sh @@ -11,9 +11,9 @@ pushd "${script_dir}" prepare_snippets -run 9000_cleanup_gke_lb.sh & -run 9100_delete_backup_namespaces.sh & -run 9200_delete_om.sh & +run ra-10_9000_cleanup_gke_lb.sh & +run ra-10_9100_delete_backup_namespaces.sh & +run ra-10_9200_delete_om.sh & wait popd diff --git a/public/architectures/ra-10-ops-manager-mc-no-mesh/test.sh b/public/architectures/ra-10-ops-manager-mc-no-mesh/test.sh new file mode 100755 index 000000000..ff7731845 --- /dev/null +++ b/public/architectures/ra-10-ops-manager-mc-no-mesh/test.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + +set -eou pipefail + +script_name=$(readlink -f "${BASH_SOURCE[0]}") +script_dir=$(dirname "${script_name}") + +source scripts/code_snippets/sample_test_runner.sh + +pushd "${script_dir}" + +prepare_snippets + +run ra-10_0100_generate_certs.sh +sleep 10 # wait for cert-manager to generate secrets + +run ra-10_0110_add_cert_to_gcp.sh + +run_for_output ra-10_0150_om_load_balancer.sh + +run ra-10_0160_add_dns_record.sh + +run ra-10_0300_ops_manager_create_admin_credentials.sh + +run ra-10_0320_ops_manager_no_mesh.sh + +run_for_output ra-10_0321_ops_manager_wait_for_pending_state.sh + +run ra-10_0325_set_up_lb_services.sh +run ra-10_0326_set_up_lb_services.sh + +run_for_output ra-10_0330_ops_manager_wait_for_running_state.sh + +run ra-10_0400_install_minio_s3.sh +run ra-10_0500_ops_manager_prepare_s3_backup_secrets.sh +run ra-10_0510_ops_manager_enable_s3_backup.sh +run_for_output ra-10_0522_ops_manager_wait_for_running_state.sh + +run ra-10_0610_create_mdb_org_and_get_credentials.sh + +popd diff --git a/public/architectures/mongodb-sharded-mc-no-mesh/code_snippets/2050_generate_certs.sh b/public/architectures/ra-11-mongodb-sharded-mc-no-mesh/code_snippets/ra-11_2050_generate_certs.sh similarity index 100% rename from public/architectures/mongodb-sharded-mc-no-mesh/code_snippets/2050_generate_certs.sh rename to public/architectures/ra-11-mongodb-sharded-mc-no-mesh/code_snippets/ra-11_2050_generate_certs.sh diff --git a/public/architectures/mongodb-sharded-mc-no-mesh/code_snippets/2100_mongodb_sharded_multi_cluster.sh b/public/architectures/ra-11-mongodb-sharded-mc-no-mesh/code_snippets/ra-11_2100_mongodb_sharded_multi_cluster.sh similarity index 100% rename from public/architectures/mongodb-sharded-mc-no-mesh/code_snippets/2100_mongodb_sharded_multi_cluster.sh rename to public/architectures/ra-11-mongodb-sharded-mc-no-mesh/code_snippets/ra-11_2100_mongodb_sharded_multi_cluster.sh diff --git a/public/architectures/mongodb-sharded-multi-cluster/code_snippets/2110_mongodb_sharded_multi_cluster_wait_for_running_state.sh b/public/architectures/ra-11-mongodb-sharded-mc-no-mesh/code_snippets/ra-11_2110_mongodb_sharded_multi_cluster_wait_for_running_state.sh similarity index 100% rename from public/architectures/mongodb-sharded-multi-cluster/code_snippets/2110_mongodb_sharded_multi_cluster_wait_for_running_state.sh rename to public/architectures/ra-11-mongodb-sharded-mc-no-mesh/code_snippets/ra-11_2110_mongodb_sharded_multi_cluster_wait_for_running_state.sh diff --git a/public/architectures/mongodb-sharded-multi-cluster/code_snippets/2200_create_mongodb_user.sh b/public/architectures/ra-11-mongodb-sharded-mc-no-mesh/code_snippets/ra-11_2200_create_mongodb_user.sh similarity index 100% rename from public/architectures/mongodb-sharded-multi-cluster/code_snippets/2200_create_mongodb_user.sh rename to public/architectures/ra-11-mongodb-sharded-mc-no-mesh/code_snippets/ra-11_2200_create_mongodb_user.sh diff --git a/public/architectures/mongodb-sharded-multi-cluster/code_snippets/2210_verify_mongosh_connection.sh b/public/architectures/ra-11-mongodb-sharded-mc-no-mesh/code_snippets/ra-11_2210_verify_mongosh_connection.sh similarity index 100% rename from public/architectures/mongodb-sharded-multi-cluster/code_snippets/2210_verify_mongosh_connection.sh rename to public/architectures/ra-11-mongodb-sharded-mc-no-mesh/code_snippets/ra-11_2210_verify_mongosh_connection.sh diff --git a/public/architectures/mongodb-sharded-multi-cluster/code_snippets/9000_delete_resources.sh b/public/architectures/ra-11-mongodb-sharded-mc-no-mesh/code_snippets/ra-11_9000_delete_resources.sh similarity index 100% rename from public/architectures/mongodb-sharded-multi-cluster/code_snippets/9000_delete_resources.sh rename to public/architectures/ra-11-mongodb-sharded-mc-no-mesh/code_snippets/ra-11_9000_delete_resources.sh diff --git a/public/architectures/mongodb-sharded-mc-no-mesh/env_variables.sh b/public/architectures/ra-11-mongodb-sharded-mc-no-mesh/env_variables.sh similarity index 100% rename from public/architectures/mongodb-sharded-mc-no-mesh/env_variables.sh rename to public/architectures/ra-11-mongodb-sharded-mc-no-mesh/env_variables.sh diff --git a/public/architectures/mongodb-replicaset-multi-cluster/teardown.sh b/public/architectures/ra-11-mongodb-sharded-mc-no-mesh/teardown.sh similarity index 86% rename from public/architectures/mongodb-replicaset-multi-cluster/teardown.sh rename to public/architectures/ra-11-mongodb-sharded-mc-no-mesh/teardown.sh index dd5dd71a8..d9423a9cd 100755 --- a/public/architectures/mongodb-replicaset-multi-cluster/teardown.sh +++ b/public/architectures/ra-11-mongodb-sharded-mc-no-mesh/teardown.sh @@ -11,6 +11,6 @@ pushd "${script_dir}" prepare_snippets -run 9000_delete_resources.sh +run ra-11_9000_delete_resources.sh popd diff --git a/public/architectures/ra-11-mongodb-sharded-mc-no-mesh/test.sh b/public/architectures/ra-11-mongodb-sharded-mc-no-mesh/test.sh new file mode 100755 index 000000000..917f85714 --- /dev/null +++ b/public/architectures/ra-11-mongodb-sharded-mc-no-mesh/test.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +set -eou pipefail + +script_name=$(readlink -f "${BASH_SOURCE[0]}") +script_dir=$(dirname "${script_name}") + +source scripts/code_snippets/sample_test_runner.sh + +pushd "${script_dir}" + +prepare_snippets + +run ra-11_2050_generate_certs.sh +run ra-11_2100_mongodb_sharded_multi_cluster.sh +run ra-11_2110_mongodb_sharded_multi_cluster_wait_for_running_state.sh + +run ra-11_2200_create_mongodb_user.sh +sleep 10 +run_for_output ra-11_2210_verify_mongosh_connection.sh + +popd diff --git a/public/architectures/mongodb-replicaset-mc-no-mesh/code_snippets/1050_generate_certs.sh b/public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/code_snippets/ra-12_1050_generate_certs.sh similarity index 100% rename from public/architectures/mongodb-replicaset-mc-no-mesh/code_snippets/1050_generate_certs.sh rename to public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/code_snippets/ra-12_1050_generate_certs.sh diff --git a/public/architectures/mongodb-replicaset-mc-no-mesh/code_snippets/1100_mongodb_replicaset_multi_cluster.sh b/public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/code_snippets/ra-12_1100_mongodb_replicaset_multi_cluster.sh similarity index 100% rename from public/architectures/mongodb-replicaset-mc-no-mesh/code_snippets/1100_mongodb_replicaset_multi_cluster.sh rename to public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/code_snippets/ra-12_1100_mongodb_replicaset_multi_cluster.sh diff --git a/public/architectures/mongodb-replicaset-multi-cluster/code_snippets/1110_mongodb_replicaset_multi_cluster_wait_for_running_state.sh b/public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/code_snippets/ra-12_1110_mongodb_replicaset_multi_cluster_wait_for_running_state.sh similarity index 100% rename from public/architectures/mongodb-replicaset-multi-cluster/code_snippets/1110_mongodb_replicaset_multi_cluster_wait_for_running_state.sh rename to public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/code_snippets/ra-12_1110_mongodb_replicaset_multi_cluster_wait_for_running_state.sh diff --git a/public/architectures/mongodb-replicaset-multi-cluster/code_snippets/1200_create_mongodb_user.sh b/public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/code_snippets/ra-12_1200_create_mongodb_user.sh similarity index 100% rename from public/architectures/mongodb-replicaset-multi-cluster/code_snippets/1200_create_mongodb_user.sh rename to public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/code_snippets/ra-12_1200_create_mongodb_user.sh diff --git a/public/architectures/mongodb-replicaset-multi-cluster/code_snippets/1210_verify_mongosh_connection.sh b/public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/code_snippets/ra-12_1210_verify_mongosh_connection.sh similarity index 100% rename from public/architectures/mongodb-replicaset-multi-cluster/code_snippets/1210_verify_mongosh_connection.sh rename to public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/code_snippets/ra-12_1210_verify_mongosh_connection.sh diff --git a/public/architectures/mongodb-replicaset-multi-cluster/code_snippets/9000_delete_resources.sh b/public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/code_snippets/ra-12_9000_delete_resources.sh similarity index 100% rename from public/architectures/mongodb-replicaset-multi-cluster/code_snippets/9000_delete_resources.sh rename to public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/code_snippets/ra-12_9000_delete_resources.sh diff --git a/public/architectures/mongodb-replicaset-mc-no-mesh/env_variables.sh b/public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/env_variables.sh similarity index 100% rename from public/architectures/mongodb-replicaset-mc-no-mesh/env_variables.sh rename to public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/env_variables.sh diff --git a/public/architectures/mongodb-sharded-multi-cluster/teardown.sh b/public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/teardown.sh similarity index 86% rename from public/architectures/mongodb-sharded-multi-cluster/teardown.sh rename to public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/teardown.sh index dd5dd71a8..13940afce 100755 --- a/public/architectures/mongodb-sharded-multi-cluster/teardown.sh +++ b/public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/teardown.sh @@ -11,6 +11,6 @@ pushd "${script_dir}" prepare_snippets -run 9000_delete_resources.sh +run ra-12_9000_delete_resources.sh popd diff --git a/public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/test.sh b/public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/test.sh new file mode 100755 index 000000000..c53de03b1 --- /dev/null +++ b/public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/test.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +set -eou pipefail + +script_name=$(readlink -f "${BASH_SOURCE[0]}") +script_dir=$(dirname "${script_name}") + +source scripts/code_snippets/sample_test_runner.sh + +pushd "${script_dir}" + +prepare_snippets + +run ra-12_1050_generate_certs.sh +run ra-12_1100_mongodb_replicaset_multi_cluster.sh +run ra-12_1110_mongodb_replicaset_multi_cluster_wait_for_running_state.sh + +run ra-12_1200_create_mongodb_user.sh +sleep 10 +run_for_output ra-12_1210_verify_mongosh_connection.sh + +popd diff --git a/public/architectures/setup-multi-cluster/setup-gke/code_snippets/0005_gcloud_set_current_project.sh b/public/architectures/setup-multi-cluster/ra-01-setup-gke/code_snippets/ra-01_0005_gcloud_set_current_project.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-gke/code_snippets/0005_gcloud_set_current_project.sh rename to public/architectures/setup-multi-cluster/ra-01-setup-gke/code_snippets/ra-01_0005_gcloud_set_current_project.sh diff --git a/public/architectures/setup-multi-cluster/setup-gke/code_snippets/0010_create_gke_cluster_0.sh b/public/architectures/setup-multi-cluster/ra-01-setup-gke/code_snippets/ra-01_0010_create_gke_cluster_0.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-gke/code_snippets/0010_create_gke_cluster_0.sh rename to public/architectures/setup-multi-cluster/ra-01-setup-gke/code_snippets/ra-01_0010_create_gke_cluster_0.sh diff --git a/public/architectures/setup-multi-cluster/setup-gke/code_snippets/0010_create_gke_cluster_1.sh b/public/architectures/setup-multi-cluster/ra-01-setup-gke/code_snippets/ra-01_0010_create_gke_cluster_1.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-gke/code_snippets/0010_create_gke_cluster_1.sh rename to public/architectures/setup-multi-cluster/ra-01-setup-gke/code_snippets/ra-01_0010_create_gke_cluster_1.sh diff --git a/public/architectures/setup-multi-cluster/setup-gke/code_snippets/0010_create_gke_cluster_2.sh b/public/architectures/setup-multi-cluster/ra-01-setup-gke/code_snippets/ra-01_0010_create_gke_cluster_2.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-gke/code_snippets/0010_create_gke_cluster_2.sh rename to public/architectures/setup-multi-cluster/ra-01-setup-gke/code_snippets/ra-01_0010_create_gke_cluster_2.sh diff --git a/public/architectures/setup-multi-cluster/setup-gke/code_snippets/0020_get_gke_credentials.sh b/public/architectures/setup-multi-cluster/ra-01-setup-gke/code_snippets/ra-01_0020_get_gke_credentials.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-gke/code_snippets/0020_get_gke_credentials.sh rename to public/architectures/setup-multi-cluster/ra-01-setup-gke/code_snippets/ra-01_0020_get_gke_credentials.sh diff --git a/public/architectures/setup-multi-cluster/setup-gke/code_snippets/0030_verify_access_to_clusters.sh b/public/architectures/setup-multi-cluster/ra-01-setup-gke/code_snippets/ra-01_0030_verify_access_to_clusters.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-gke/code_snippets/0030_verify_access_to_clusters.sh rename to public/architectures/setup-multi-cluster/ra-01-setup-gke/code_snippets/ra-01_0030_verify_access_to_clusters.sh diff --git a/public/architectures/setup-multi-cluster/setup-gke/code_snippets/9010_delete_gke_clusters.sh b/public/architectures/setup-multi-cluster/ra-01-setup-gke/code_snippets/ra-01_9010_delete_gke_clusters.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-gke/code_snippets/9010_delete_gke_clusters.sh rename to public/architectures/setup-multi-cluster/ra-01-setup-gke/code_snippets/ra-01_9010_delete_gke_clusters.sh diff --git a/public/architectures/setup-multi-cluster/setup-gke/env_variables.sh b/public/architectures/setup-multi-cluster/ra-01-setup-gke/env_variables.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-gke/env_variables.sh rename to public/architectures/setup-multi-cluster/ra-01-setup-gke/env_variables.sh diff --git a/public/architectures/setup-multi-cluster/ra-01-setup-gke/teardown.sh b/public/architectures/setup-multi-cluster/ra-01-setup-gke/teardown.sh new file mode 100755 index 000000000..8aad13311 --- /dev/null +++ b/public/architectures/setup-multi-cluster/ra-01-setup-gke/teardown.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +set -eou pipefail + +script_name=$(readlink -f "${BASH_SOURCE[0]}") +script_dir=$(dirname "${script_name}") + +source scripts/code_snippets/sample_test_runner.sh + +pushd "${script_dir}" + +prepare_snippets + +run ra-01_9010_delete_gke_clusters.sh + +popd diff --git a/public/architectures/setup-multi-cluster/ra-01-setup-gke/test.sh b/public/architectures/setup-multi-cluster/ra-01-setup-gke/test.sh new file mode 100755 index 000000000..b38509182 --- /dev/null +++ b/public/architectures/setup-multi-cluster/ra-01-setup-gke/test.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +set -eou pipefail + +script_name=$(readlink -f "${BASH_SOURCE[0]}") +script_dir=$(dirname "${script_name}") + +source scripts/code_snippets/sample_test_runner.sh + +pushd "${script_dir}" + +prepare_snippets + +run ra-01_0005_gcloud_set_current_project.sh +run ra-01_0010_create_gke_cluster_0.sh & +run ra-01_0010_create_gke_cluster_1.sh & +run ra-01_0010_create_gke_cluster_2.sh & +wait + +run ra-01_0020_get_gke_credentials.sh +run_for_output ra-01_0030_verify_access_to_clusters.sh + +popd diff --git a/public/architectures/setup-multi-cluster/setup-operator/code_snippets/0045_create_namespaces.sh b/public/architectures/setup-multi-cluster/ra-02-setup-operator/code_snippets/ra-02_0045_create_namespaces.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-operator/code_snippets/0045_create_namespaces.sh rename to public/architectures/setup-multi-cluster/ra-02-setup-operator/code_snippets/ra-02_0045_create_namespaces.sh diff --git a/public/architectures/setup-multi-cluster/setup-operator/code_snippets/0046_create_image_pull_secrets.sh b/public/architectures/setup-multi-cluster/ra-02-setup-operator/code_snippets/ra-02_0046_create_image_pull_secrets.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-operator/code_snippets/0046_create_image_pull_secrets.sh rename to public/architectures/setup-multi-cluster/ra-02-setup-operator/code_snippets/ra-02_0046_create_image_pull_secrets.sh diff --git a/public/architectures/setup-multi-cluster/setup-operator/code_snippets/0200_kubectl_mongodb_configure_multi_cluster.sh b/public/architectures/setup-multi-cluster/ra-02-setup-operator/code_snippets/ra-02_0200_kubectl_mongodb_configure_multi_cluster.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-operator/code_snippets/0200_kubectl_mongodb_configure_multi_cluster.sh rename to public/architectures/setup-multi-cluster/ra-02-setup-operator/code_snippets/ra-02_0200_kubectl_mongodb_configure_multi_cluster.sh diff --git a/public/architectures/setup-multi-cluster/setup-operator/code_snippets/0205_helm_configure_repo.sh b/public/architectures/setup-multi-cluster/ra-02-setup-operator/code_snippets/ra-02_0205_helm_configure_repo.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-operator/code_snippets/0205_helm_configure_repo.sh rename to public/architectures/setup-multi-cluster/ra-02-setup-operator/code_snippets/ra-02_0205_helm_configure_repo.sh diff --git a/public/architectures/setup-multi-cluster/setup-operator/code_snippets/0210_helm_install_operator.sh b/public/architectures/setup-multi-cluster/ra-02-setup-operator/code_snippets/ra-02_0210_helm_install_operator.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-operator/code_snippets/0210_helm_install_operator.sh rename to public/architectures/setup-multi-cluster/ra-02-setup-operator/code_snippets/ra-02_0210_helm_install_operator.sh diff --git a/public/architectures/setup-multi-cluster/setup-operator/code_snippets/0211_check_operator_deployment.sh b/public/architectures/setup-multi-cluster/ra-02-setup-operator/code_snippets/ra-02_0211_check_operator_deployment.sh similarity index 79% rename from public/architectures/setup-multi-cluster/setup-operator/code_snippets/0211_check_operator_deployment.sh rename to public/architectures/setup-multi-cluster/ra-02-setup-operator/code_snippets/ra-02_0211_check_operator_deployment.sh index fef1f8f27..19f4a121b 100755 --- a/public/architectures/setup-multi-cluster/setup-operator/code_snippets/0211_check_operator_deployment.sh +++ b/public/architectures/setup-multi-cluster/ra-02-setup-operator/code_snippets/ra-02_0211_check_operator_deployment.sh @@ -1,4 +1,4 @@ -kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${OPERATOR_NAMESPACE}" rollout status deployment/mongodb-kubernetes-operator-multi-cluster +kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${OPERATOR_NAMESPACE}" rollout status --timeout=2m deployment/mongodb-kubernetes-operator-multi-cluster echo "Operator deployment in ${OPERATOR_NAMESPACE} namespace" kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${OPERATOR_NAMESPACE}" get deployments echo; echo "Operator pod in ${OPERATOR_NAMESPACE} namespace" diff --git a/public/architectures/setup-multi-cluster/setup-operator/code_snippets/9000_delete_namespaces.sh b/public/architectures/setup-multi-cluster/ra-02-setup-operator/code_snippets/ra-02_9000_delete_namespaces.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-operator/code_snippets/9000_delete_namespaces.sh rename to public/architectures/setup-multi-cluster/ra-02-setup-operator/code_snippets/ra-02_9000_delete_namespaces.sh diff --git a/public/architectures/setup-multi-cluster/setup-operator/env_variables.sh b/public/architectures/setup-multi-cluster/ra-02-setup-operator/env_variables.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-operator/env_variables.sh rename to public/architectures/setup-multi-cluster/ra-02-setup-operator/env_variables.sh diff --git a/public/architectures/setup-multi-cluster/ra-02-setup-operator/teardown.sh b/public/architectures/setup-multi-cluster/ra-02-setup-operator/teardown.sh new file mode 100755 index 000000000..ed888c2dd --- /dev/null +++ b/public/architectures/setup-multi-cluster/ra-02-setup-operator/teardown.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +set -eou pipefail + +script_name=$(readlink -f "${BASH_SOURCE[0]}") +script_dir=$(dirname "${script_name}") + +source scripts/code_snippets/sample_test_runner.sh + +pushd "${script_dir}" + +prepare_snippets + +run ra-02_9000_delete_namespaces.sh + +popd diff --git a/public/architectures/setup-multi-cluster/ra-02-setup-operator/test.sh b/public/architectures/setup-multi-cluster/ra-02-setup-operator/test.sh new file mode 100755 index 000000000..aebb69474 --- /dev/null +++ b/public/architectures/setup-multi-cluster/ra-02-setup-operator/test.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +set -eou pipefail + +script_name=$(readlink -f "${BASH_SOURCE[0]}") +script_dir=$(dirname "${script_name}") + +source scripts/code_snippets/sample_test_runner.sh + +pushd "${script_dir}" + +prepare_snippets + +run ra-02_0045_create_namespaces.sh +run ra-02_0046_create_image_pull_secrets.sh + +run_for_output ra-02_0200_kubectl_mongodb_configure_multi_cluster.sh +run_for_output ra-02_0205_helm_configure_repo.sh +run_for_output ra-02_0210_helm_install_operator.sh +run_for_output ra-02_0211_check_operator_deployment.sh + +popd diff --git a/public/architectures/setup-multi-cluster/setup-istio/code_snippets/0040_install_istio.sh b/public/architectures/setup-multi-cluster/ra-03-setup-istio/code_snippets/ra-03_0040_install_istio.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-istio/code_snippets/0040_install_istio.sh rename to public/architectures/setup-multi-cluster/ra-03-setup-istio/code_snippets/ra-03_0040_install_istio.sh diff --git a/public/architectures/setup-multi-cluster/setup-istio/code_snippets/0050_label_namespaces.sh b/public/architectures/setup-multi-cluster/ra-03-setup-istio/code_snippets/ra-03_0050_label_namespaces.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-istio/code_snippets/0050_label_namespaces.sh rename to public/architectures/setup-multi-cluster/ra-03-setup-istio/code_snippets/ra-03_0050_label_namespaces.sh diff --git a/public/architectures/setup-multi-cluster/setup-istio/install_istio_separate_network.sh b/public/architectures/setup-multi-cluster/ra-03-setup-istio/install_istio_separate_network.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-istio/install_istio_separate_network.sh rename to public/architectures/setup-multi-cluster/ra-03-setup-istio/install_istio_separate_network.sh diff --git a/public/architectures/setup-multi-cluster/setup-istio/test.sh b/public/architectures/setup-multi-cluster/ra-03-setup-istio/test.sh similarity index 77% rename from public/architectures/setup-multi-cluster/setup-istio/test.sh rename to public/architectures/setup-multi-cluster/ra-03-setup-istio/test.sh index 9d874fdd0..f03d28154 100755 --- a/public/architectures/setup-multi-cluster/setup-istio/test.sh +++ b/public/architectures/setup-multi-cluster/ra-03-setup-istio/test.sh @@ -11,7 +11,7 @@ pushd "${script_dir}" prepare_snippets -run 0040_install_istio.sh -run 0050_label_namespaces.sh +run ra-03_0040_install_istio.sh +run ra-03_0050_label_namespaces.sh popd diff --git a/public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0045_create_connectivity_test_namespaces.sh b/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0045_create_connectivity_test_namespaces.sh similarity index 100% rename from public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0045_create_connectivity_test_namespaces.sh rename to public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0045_create_connectivity_test_namespaces.sh diff --git a/public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0050_check_cluster_connectivity_create_sts_0.sh b/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0050_check_cluster_connectivity_create_sts_0.sh similarity index 100% rename from public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0050_check_cluster_connectivity_create_sts_0.sh rename to public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0050_check_cluster_connectivity_create_sts_0.sh diff --git a/public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0050_check_cluster_connectivity_create_sts_1.sh b/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0050_check_cluster_connectivity_create_sts_1.sh similarity index 100% rename from public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0050_check_cluster_connectivity_create_sts_1.sh rename to public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0050_check_cluster_connectivity_create_sts_1.sh diff --git a/public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0050_check_cluster_connectivity_create_sts_2.sh b/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0050_check_cluster_connectivity_create_sts_2.sh similarity index 100% rename from public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0050_check_cluster_connectivity_create_sts_2.sh rename to public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0050_check_cluster_connectivity_create_sts_2.sh diff --git a/public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0060_check_cluster_connectivity_wait_for_sts.sh b/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0060_check_cluster_connectivity_wait_for_sts.sh similarity index 100% rename from public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0060_check_cluster_connectivity_wait_for_sts.sh rename to public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0060_check_cluster_connectivity_wait_for_sts.sh diff --git a/public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0070_check_cluster_connectivity_create_pod_service_0.sh b/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0070_check_cluster_connectivity_create_pod_service_0.sh similarity index 100% rename from public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0070_check_cluster_connectivity_create_pod_service_0.sh rename to public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0070_check_cluster_connectivity_create_pod_service_0.sh diff --git a/public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0070_check_cluster_connectivity_create_pod_service_1.sh b/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0070_check_cluster_connectivity_create_pod_service_1.sh similarity index 100% rename from public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0070_check_cluster_connectivity_create_pod_service_1.sh rename to public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0070_check_cluster_connectivity_create_pod_service_1.sh diff --git a/public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0070_check_cluster_connectivity_create_pod_service_2.sh b/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0070_check_cluster_connectivity_create_pod_service_2.sh similarity index 100% rename from public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0070_check_cluster_connectivity_create_pod_service_2.sh rename to public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0070_check_cluster_connectivity_create_pod_service_2.sh diff --git a/public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0080_check_cluster_connectivity_create_round_robin_service_0.sh b/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0080_check_cluster_connectivity_create_round_robin_service_0.sh similarity index 100% rename from public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0080_check_cluster_connectivity_create_round_robin_service_0.sh rename to public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0080_check_cluster_connectivity_create_round_robin_service_0.sh diff --git a/public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0080_check_cluster_connectivity_create_round_robin_service_1.sh b/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0080_check_cluster_connectivity_create_round_robin_service_1.sh similarity index 100% rename from public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0080_check_cluster_connectivity_create_round_robin_service_1.sh rename to public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0080_check_cluster_connectivity_create_round_robin_service_1.sh diff --git a/public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0080_check_cluster_connectivity_create_round_robin_service_2.sh b/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0080_check_cluster_connectivity_create_round_robin_service_2.sh similarity index 100% rename from public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0080_check_cluster_connectivity_create_round_robin_service_2.sh rename to public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0080_check_cluster_connectivity_create_round_robin_service_2.sh diff --git a/public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0090_check_cluster_connectivity_verify_pod_0_0_from_cluster_1.sh b/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0090_check_cluster_connectivity_verify_pod_0_0_from_cluster_1.sh similarity index 100% rename from public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0090_check_cluster_connectivity_verify_pod_0_0_from_cluster_1.sh rename to public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0090_check_cluster_connectivity_verify_pod_0_0_from_cluster_1.sh diff --git a/public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_0.sh b/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_0.sh similarity index 100% rename from public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_0.sh rename to public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_0.sh diff --git a/public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_2.sh b/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_2.sh similarity index 100% rename from public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_2.sh rename to public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_2.sh diff --git a/public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0090_check_cluster_connectivity_verify_pod_2_0_from_cluster_0.sh b/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0090_check_cluster_connectivity_verify_pod_2_0_from_cluster_0.sh similarity index 100% rename from public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0090_check_cluster_connectivity_verify_pod_2_0_from_cluster_0.sh rename to public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0090_check_cluster_connectivity_verify_pod_2_0_from_cluster_0.sh diff --git a/public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0100_check_cluster_connectivity_cleanup.sh b/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0100_check_cluster_connectivity_cleanup.sh similarity index 100% rename from public/architectures/setup-multi-cluster/verify-connectivity/code_snippets/0100_check_cluster_connectivity_cleanup.sh rename to public/architectures/setup-multi-cluster/ra-04-verify-connectivity/code_snippets/ra-04_0100_check_cluster_connectivity_cleanup.sh diff --git a/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/test.sh b/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/test.sh new file mode 100755 index 000000000..f78d2073d --- /dev/null +++ b/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/test.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +set -eou pipefail + +script_name=$(readlink -f "${BASH_SOURCE[0]}") +script_dir=$(dirname "${script_name}") + +source scripts/code_snippets/sample_test_runner.sh + +pushd "${script_dir}" + +prepare_snippets + +run ra-04_0045_create_connectivity_test_namespaces.sh + +run ra-04_0050_check_cluster_connectivity_create_sts_0.sh +run ra-04_0050_check_cluster_connectivity_create_sts_1.sh +run ra-04_0050_check_cluster_connectivity_create_sts_2.sh + +run ra-04_0060_check_cluster_connectivity_wait_for_sts.sh +run ra-04_0070_check_cluster_connectivity_create_pod_service_0.sh +run ra-04_0070_check_cluster_connectivity_create_pod_service_1.sh +run ra-04_0070_check_cluster_connectivity_create_pod_service_2.sh +run ra-04_0080_check_cluster_connectivity_create_round_robin_service_0.sh +run ra-04_0080_check_cluster_connectivity_create_round_robin_service_1.sh +run ra-04_0080_check_cluster_connectivity_create_round_robin_service_2.sh +run_for_output ra-04_0090_check_cluster_connectivity_verify_pod_0_0_from_cluster_1.sh +run_for_output ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_0.sh +run_for_output ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_2.sh +run_for_output ra-04_0090_check_cluster_connectivity_verify_pod_2_0_from_cluster_0.sh +run ra-04_0100_check_cluster_connectivity_cleanup.sh + +popd diff --git a/public/architectures/setup-multi-cluster/setup-cert-manager/code_snippets/0215_helm_configure_repo.sh b/public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/code_snippets/ra-05_0215_helm_configure_repo.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-cert-manager/code_snippets/0215_helm_configure_repo.sh rename to public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/code_snippets/ra-05_0215_helm_configure_repo.sh diff --git a/public/architectures/setup-multi-cluster/setup-cert-manager/code_snippets/0216_helm_install_cert_manager.sh b/public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/code_snippets/ra-05_0216_helm_install_cert_manager.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-cert-manager/code_snippets/0216_helm_install_cert_manager.sh rename to public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/code_snippets/ra-05_0216_helm_install_cert_manager.sh diff --git a/public/architectures/setup-multi-cluster/setup-cert-manager/code_snippets/0220_create_issuer.sh b/public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/code_snippets/ra-05_0220_create_issuer.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-cert-manager/code_snippets/0220_create_issuer.sh rename to public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/code_snippets/ra-05_0220_create_issuer.sh diff --git a/public/architectures/setup-multi-cluster/setup-cert-manager/code_snippets/0221_verify_issuer.sh b/public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/code_snippets/ra-05_0221_verify_issuer.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-cert-manager/code_snippets/0221_verify_issuer.sh rename to public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/code_snippets/ra-05_0221_verify_issuer.sh diff --git a/public/architectures/setup-multi-cluster/setup-cert-manager/code_snippets/0225_create_ca_configmap.sh b/public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/code_snippets/ra-05_0225_create_ca_configmap.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-cert-manager/code_snippets/0225_create_ca_configmap.sh rename to public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/code_snippets/ra-05_0225_create_ca_configmap.sh diff --git a/public/architectures/setup-multi-cluster/setup-cert-manager/test.sh b/public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/test.sh similarity index 51% rename from public/architectures/setup-multi-cluster/setup-cert-manager/test.sh rename to public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/test.sh index 6019bab95..5913b4b40 100755 --- a/public/architectures/setup-multi-cluster/setup-cert-manager/test.sh +++ b/public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/test.sh @@ -11,10 +11,10 @@ pushd "${script_dir}" prepare_snippets -run_for_output 0215_helm_configure_repo.sh -run_for_output 0216_helm_install_cert_manager.sh -run 0220_create_issuer.sh -run_for_output 0221_verify_issuer.sh -run 0225_create_ca_configmap.sh +run_for_output ra-05_0215_helm_configure_repo.sh +run_for_output ra-05_0216_helm_install_cert_manager.sh +run ra-05_0220_create_issuer.sh +run_for_output ra-05_0221_verify_issuer.sh +run ra-05_0225_create_ca_configmap.sh popd diff --git a/public/architectures/setup-multi-cluster/setup-externaldns/code_snippets/0100_create_gke_sa.sh b/public/architectures/setup-multi-cluster/ra-09-setup-externaldns/code_snippets/ra-09_0100_create_gke_sa.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-externaldns/code_snippets/0100_create_gke_sa.sh rename to public/architectures/setup-multi-cluster/ra-09-setup-externaldns/code_snippets/ra-09_0100_create_gke_sa.sh diff --git a/public/architectures/setup-multi-cluster/setup-externaldns/code_snippets/0120_add_role_to_sa.sh b/public/architectures/setup-multi-cluster/ra-09-setup-externaldns/code_snippets/ra-09_0120_add_role_to_sa.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-externaldns/code_snippets/0120_add_role_to_sa.sh rename to public/architectures/setup-multi-cluster/ra-09-setup-externaldns/code_snippets/ra-09_0120_add_role_to_sa.sh diff --git a/public/architectures/setup-multi-cluster/setup-externaldns/code_snippets/0130_create_sa_key.sh b/public/architectures/setup-multi-cluster/ra-09-setup-externaldns/code_snippets/ra-09_0130_create_sa_key.sh similarity index 62% rename from public/architectures/setup-multi-cluster/setup-externaldns/code_snippets/0130_create_sa_key.sh rename to public/architectures/setup-multi-cluster/ra-09-setup-externaldns/code_snippets/ra-09_0130_create_sa_key.sh index af41bc117..349bcb19e 100644 --- a/public/architectures/setup-multi-cluster/setup-externaldns/code_snippets/0130_create_sa_key.sh +++ b/public/architectures/setup-multi-cluster/ra-09-setup-externaldns/code_snippets/ra-09_0130_create_sa_key.sh @@ -1,3 +1,3 @@ mkdir -p secrets -gcloud iam service-accounts keys create secrets/external-dns-sa-key.json --iam-account="${DNS_SA_EMAIL}" +gcloud iam service-accounts keys create secrets/external-dns-sa-key.json --iam-account="${DNS_SA_EMAIL}" || true diff --git a/public/architectures/setup-multi-cluster/setup-externaldns/code_snippets/0140_create_namespaces.sh b/public/architectures/setup-multi-cluster/ra-09-setup-externaldns/code_snippets/ra-09_0140_create_namespaces.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-externaldns/code_snippets/0140_create_namespaces.sh rename to public/architectures/setup-multi-cluster/ra-09-setup-externaldns/code_snippets/ra-09_0140_create_namespaces.sh diff --git a/public/architectures/setup-multi-cluster/setup-externaldns/code_snippets/0150_create_sa_secrets.sh b/public/architectures/setup-multi-cluster/ra-09-setup-externaldns/code_snippets/ra-09_0150_create_sa_secrets.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-externaldns/code_snippets/0150_create_sa_secrets.sh rename to public/architectures/setup-multi-cluster/ra-09-setup-externaldns/code_snippets/ra-09_0150_create_sa_secrets.sh diff --git a/public/architectures/setup-multi-cluster/setup-externaldns/code_snippets/0200_install_externaldns.sh b/public/architectures/setup-multi-cluster/ra-09-setup-externaldns/code_snippets/ra-09_0200_install_externaldns.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-externaldns/code_snippets/0200_install_externaldns.sh rename to public/architectures/setup-multi-cluster/ra-09-setup-externaldns/code_snippets/ra-09_0200_install_externaldns.sh diff --git a/public/architectures/setup-multi-cluster/setup-externaldns/code_snippets/0300_setup_dns_zone.sh b/public/architectures/setup-multi-cluster/ra-09-setup-externaldns/code_snippets/ra-09_0300_setup_dns_zone.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-externaldns/code_snippets/0300_setup_dns_zone.sh rename to public/architectures/setup-multi-cluster/ra-09-setup-externaldns/code_snippets/ra-09_0300_setup_dns_zone.sh diff --git a/public/architectures/setup-multi-cluster/setup-externaldns/code_snippets/9000_delete_sa.sh b/public/architectures/setup-multi-cluster/ra-09-setup-externaldns/code_snippets/ra-09_9000_delete_sa.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-externaldns/code_snippets/9000_delete_sa.sh rename to public/architectures/setup-multi-cluster/ra-09-setup-externaldns/code_snippets/ra-09_9000_delete_sa.sh diff --git a/public/architectures/setup-multi-cluster/setup-externaldns/code_snippets/9050_delete_namespace.sh b/public/architectures/setup-multi-cluster/ra-09-setup-externaldns/code_snippets/ra-09_9050_delete_namespace.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-externaldns/code_snippets/9050_delete_namespace.sh rename to public/architectures/setup-multi-cluster/ra-09-setup-externaldns/code_snippets/ra-09_9050_delete_namespace.sh diff --git a/public/architectures/setup-multi-cluster/setup-externaldns/code_snippets/9100_delete_dns_zone.sh b/public/architectures/setup-multi-cluster/ra-09-setup-externaldns/code_snippets/ra-09_9100_delete_dns_zone.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-externaldns/code_snippets/9100_delete_dns_zone.sh rename to public/architectures/setup-multi-cluster/ra-09-setup-externaldns/code_snippets/ra-09_9100_delete_dns_zone.sh diff --git a/public/architectures/setup-multi-cluster/setup-externaldns/env_variables.sh b/public/architectures/setup-multi-cluster/ra-09-setup-externaldns/env_variables.sh similarity index 100% rename from public/architectures/setup-multi-cluster/setup-externaldns/env_variables.sh rename to public/architectures/setup-multi-cluster/ra-09-setup-externaldns/env_variables.sh diff --git a/public/architectures/setup-multi-cluster/ra-09-setup-externaldns/teardown.sh b/public/architectures/setup-multi-cluster/ra-09-setup-externaldns/teardown.sh new file mode 100755 index 000000000..f7223dac3 --- /dev/null +++ b/public/architectures/setup-multi-cluster/ra-09-setup-externaldns/teardown.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +set -eou pipefail + +script_name=$(readlink -f "${BASH_SOURCE[0]}") +script_dir=$(dirname "${script_name}") + +source scripts/code_snippets/sample_test_runner.sh + +pushd "${script_dir}" + +prepare_snippets + +run ra-09_9000_delete_sa.sh +run ra-09_9050_delete_namespace.sh +run ra-09_9100_delete_dns_zone.sh + +popd diff --git a/public/architectures/setup-multi-cluster/setup-externaldns/test.sh b/public/architectures/setup-multi-cluster/ra-09-setup-externaldns/test.sh similarity index 54% rename from public/architectures/setup-multi-cluster/setup-externaldns/test.sh rename to public/architectures/setup-multi-cluster/ra-09-setup-externaldns/test.sh index be99a98ac..972409af3 100755 --- a/public/architectures/setup-multi-cluster/setup-externaldns/test.sh +++ b/public/architectures/setup-multi-cluster/ra-09-setup-externaldns/test.sh @@ -11,14 +11,14 @@ pushd "${script_dir}" prepare_snippets -run 0100_create_gke_sa.sh +run ra-09_0100_create_gke_sa.sh # need to wait as the SA is not immediately available sleep 10 -run 0120_add_role_to_sa.sh -run 0130_create_sa_key.sh -run 0140_create_namespaces.sh -run 0150_create_sa_secrets.sh -run 0200_install_externaldns.sh -run 0300_setup_dns_zone.sh +run ra-09_0120_add_role_to_sa.sh +run ra-09_0130_create_sa_key.sh +run ra-09_0140_create_namespaces.sh +run ra-09_0150_create_sa_secrets.sh +run ra-09_0200_install_externaldns.sh +run ra-09_0300_setup_dns_zone.sh popd diff --git a/public/architectures/setup-multi-cluster/setup-externaldns/yamls/externaldns.yaml b/public/architectures/setup-multi-cluster/ra-09-setup-externaldns/yamls/externaldns.yaml similarity index 100% rename from public/architectures/setup-multi-cluster/setup-externaldns/yamls/externaldns.yaml rename to public/architectures/setup-multi-cluster/ra-09-setup-externaldns/yamls/externaldns.yaml diff --git a/public/architectures/setup-multi-cluster/setup-externaldns/teardown.sh b/public/architectures/setup-multi-cluster/setup-externaldns/teardown.sh deleted file mode 100755 index f6fb4ad2e..000000000 --- a/public/architectures/setup-multi-cluster/setup-externaldns/teardown.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -script_name=$(readlink -f "${BASH_SOURCE[0]}") -script_dir=$(dirname "${script_name}") - -source scripts/code_snippets/sample_test_runner.sh - -pushd "${script_dir}" - -prepare_snippets - -run 9000_delete_sa.sh -run 9050_delete_namespace.sh -run 9100_delete_dns_zone.sh - -popd diff --git a/public/architectures/setup-multi-cluster/setup-gke/output/0030_verify_access_to_clusters.out b/public/architectures/setup-multi-cluster/setup-gke/output/0030_verify_access_to_clusters.out deleted file mode 100644 index 814af3902..000000000 --- a/public/architectures/setup-multi-cluster/setup-gke/output/0030_verify_access_to_clusters.out +++ /dev/null @@ -1,15 +0,0 @@ -Nodes in cluster gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-686cc1e099f9ef000722c191-862 -NAME STATUS ROLES AGE VERSION -gke-k8s-mdb-0-686cc1e099-default-pool-63c33f99-532x Ready 3m7s v1.32.4-gke.1415000 -gke-k8s-mdb-0-686cc1e099-default-pool-63c33f99-fs12 Ready 3m7s v1.32.4-gke.1415000 -gke-k8s-mdb-0-686cc1e099-default-pool-63c33f99-hghj Ready 3m7s v1.32.4-gke.1415000 - -Nodes in cluster gke_scratch-kubernetes-team_europe-central2-b_k8s-mdb-1-686cc1e099f9ef000722c191-862 -NAME STATUS ROLES AGE VERSION -gke-k8s-mdb-1-686cc1e099-default-pool-93d5418d-712x Ready 57s v1.32.4-gke.1415000 -gke-k8s-mdb-1-686cc1e099-default-pool-93d5418d-hpcc Ready 58s v1.32.4-gke.1415000 -gke-k8s-mdb-1-686cc1e099-default-pool-93d5418d-wg14 Ready 61s v1.32.4-gke.1415000 - -Nodes in cluster gke_scratch-kubernetes-team_europe-central2-c_k8s-mdb-2-686cc1e099f9ef000722c191-862 -NAME STATUS ROLES AGE VERSION -gke-k8s-mdb-2-686cc1e099-default-pool-d128293d-tng2 Ready 3m12s v1.32.4-gke.1415000 diff --git a/public/architectures/setup-multi-cluster/setup-gke/teardown.sh b/public/architectures/setup-multi-cluster/setup-gke/teardown.sh deleted file mode 100755 index 155327fc8..000000000 --- a/public/architectures/setup-multi-cluster/setup-gke/teardown.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -script_name=$(readlink -f "${BASH_SOURCE[0]}") -script_dir=$(dirname "${script_name}") - -source scripts/code_snippets/sample_test_runner.sh - -pushd "${script_dir}" - -prepare_snippets - -run 9010_delete_gke_clusters.sh - -popd diff --git a/public/architectures/setup-multi-cluster/setup-gke/test.sh b/public/architectures/setup-multi-cluster/setup-gke/test.sh deleted file mode 100755 index 040e2092a..000000000 --- a/public/architectures/setup-multi-cluster/setup-gke/test.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -script_name=$(readlink -f "${BASH_SOURCE[0]}") -script_dir=$(dirname "${script_name}") - -source scripts/code_snippets/sample_test_runner.sh - -pushd "${script_dir}" - -prepare_snippets - -run 0005_gcloud_set_current_project.sh -run 0010_create_gke_cluster_0.sh & -run 0010_create_gke_cluster_1.sh & -run 0010_create_gke_cluster_2.sh & -wait - -run 0020_get_gke_credentials.sh -run_for_output 0030_verify_access_to_clusters.sh - -popd diff --git a/public/architectures/setup-multi-cluster/setup-operator/teardown.sh b/public/architectures/setup-multi-cluster/setup-operator/teardown.sh deleted file mode 100755 index faef13d92..000000000 --- a/public/architectures/setup-multi-cluster/setup-operator/teardown.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -script_name=$(readlink -f "${BASH_SOURCE[0]}") -script_dir=$(dirname "${script_name}") - -source scripts/code_snippets/sample_test_runner.sh - -pushd "${script_dir}" - -prepare_snippets - -run 9000_delete_namespaces.sh - -popd diff --git a/public/architectures/setup-multi-cluster/setup-operator/test.sh b/public/architectures/setup-multi-cluster/setup-operator/test.sh deleted file mode 100755 index 12cbd5f47..000000000 --- a/public/architectures/setup-multi-cluster/setup-operator/test.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -script_name=$(readlink -f "${BASH_SOURCE[0]}") -script_dir=$(dirname "${script_name}") - -source scripts/code_snippets/sample_test_runner.sh - -pushd "${script_dir}" - -prepare_snippets - -run 0045_create_namespaces.sh -run 0046_create_image_pull_secrets.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 - -popd diff --git a/public/architectures/setup-multi-cluster/verify-connectivity/test.sh b/public/architectures/setup-multi-cluster/verify-connectivity/test.sh deleted file mode 100755 index 543ffab2e..000000000 --- a/public/architectures/setup-multi-cluster/verify-connectivity/test.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail - -script_name=$(readlink -f "${BASH_SOURCE[0]}") -script_dir=$(dirname "${script_name}") - -source scripts/code_snippets/sample_test_runner.sh - -pushd "${script_dir}" - -prepare_snippets - -run 0045_create_connectivity_test_namespaces.sh - -run 0050_check_cluster_connectivity_create_sts_0.sh -run 0050_check_cluster_connectivity_create_sts_1.sh -run 0050_check_cluster_connectivity_create_sts_2.sh - -run 0060_check_cluster_connectivity_wait_for_sts.sh -run 0070_check_cluster_connectivity_create_pod_service_0.sh -run 0070_check_cluster_connectivity_create_pod_service_1.sh -run 0070_check_cluster_connectivity_create_pod_service_2.sh -run 0080_check_cluster_connectivity_create_round_robin_service_0.sh -run 0080_check_cluster_connectivity_create_round_robin_service_1.sh -run 0080_check_cluster_connectivity_create_round_robin_service_2.sh -run_for_output 0090_check_cluster_connectivity_verify_pod_0_0_from_cluster_1.sh -run_for_output 0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_0.sh -run_for_output 0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_2.sh -run_for_output 0090_check_cluster_connectivity_verify_pod_2_0_from_cluster_0.sh -run 0100_check_cluster_connectivity_cleanup.sh - -popd diff --git a/scripts/code_snippets/code_snippets_cleanup.sh b/scripts/code_snippets/code_snippets_cleanup.sh index 5c4736bb4..f88f9f36a 100755 --- a/scripts/code_snippets/code_snippets_cleanup.sh +++ b/scripts/code_snippets/code_snippets_cleanup.sh @@ -1,16 +1,36 @@ -#!/usr/bin/env bash +#!/bin/bash set -eou pipefail -find public/architectures -name "test.sh" -exec sh -c ' - source scripts/code_snippets/sample_test_runner.sh +script_name=$(readlink -f "${BASH_SOURCE[0]}") +# shellcheck disable=SC2034 +script_dir=$(dirname "${script_name}") - pushd "$(dirname $1)" +source scripts/code_snippets/sample_test_runner.sh + +cleanup_directory() { + local test_file="$1" + local dir + dir="$(dirname "${test_file}")" + + echo " ${dir}" + + pushd "${dir}" >/dev/null run_cleanup "test.sh" run_cleanup "teardown.sh" - rm -rf istio* - rm -rf certs - rm -rf secrets + rm -rf .generated 2>/dev/null || true + rm -rf istio* 2>/dev/null || true + rm -rf certs 2>/dev/null || true + rm -rf secrets 2>/dev/null || true + rm ./*.run.log 2>/dev/null || true + popd >/dev/null +} + +echo "Cleaning up from snippets runtime files from the following directories..." +for snippet_dir in $(bash "${script_dir}/find_snippets_directories.sh"); do + cleanup_directory "${snippet_dir}/test.sh" & +done + +wait +echo "Cleaning up done." - popd - ' sh {} \; diff --git a/scripts/code_snippets/find_snippets_directories.sh b/scripts/code_snippets/find_snippets_directories.sh new file mode 100644 index 000000000..463a42ea5 --- /dev/null +++ b/scripts/code_snippets/find_snippets_directories.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +set -eou pipefail +test "${MDB_BASH_DEBUG:-0}" -eq 1 && set -x + +source scripts/dev/set_env_context.sh + +# It finds all directories containing both test.sh and code_snippets subdirectory +find . -path "*/code_snippets" -type d | while read -r code_snippets_dir; do + parent_dir="$(dirname "${code_snippets_dir}")" + if [[ -f "${parent_dir}/test.sh" ]]; then + echo "${parent_dir}" + fi +done diff --git a/scripts/code_snippets/kind_search_snippets_render_template.sh b/scripts/code_snippets/kind_search_snippets_render_template.sh index 2d63e9046..57d2fcc28 100755 --- a/scripts/code_snippets/kind_search_snippets_render_template.sh +++ b/scripts/code_snippets/kind_search_snippets_render_template.sh @@ -1,7 +1,6 @@ #!/usr/bin/env bash set -eou pipefail -source scripts/dev/set_env_context.sh test_dir="$1" -python scripts/code_snippets/render_template.py "${test_dir}/README.md.j2" "${test_dir}/README.md" +scripts/evergreen/run_python.sh scripts/code_snippets/render_template.py "${test_dir}/README.md.j2" "${test_dir}/README.md" diff --git a/scripts/code_snippets/sample_commit_output.sh b/scripts/code_snippets/sample_commit_output.sh index 0eb12227b..12790b0b5 100755 --- a/scripts/code_snippets/sample_commit_output.sh +++ b/scripts/code_snippets/sample_commit_output.sh @@ -1,6 +1,8 @@ #!/usr/bin/env bash -set -Eeou pipefail +set -eou pipefail +test "${MDB_BASH_DEBUG:-0}" -eq 1 && set -x + source scripts/dev/set_env_context.sh if [[ "${CODE_SNIPPETS_COMMIT_OUTPUT:-"false"}" == "true" ]]; then @@ -8,9 +10,7 @@ if [[ "${CODE_SNIPPETS_COMMIT_OUTPUT:-"false"}" == "true" ]]; then branch="meko-snippets-update-$(date "+%Y%m%d%H%M%S")" git checkout -b "${branch}" git reset - git add public/architectures/**/*.out - git add docs/**/output/*.out - git add docs/**/*.md + git add scripts/code_snippets/tests/outputs/test_* git commit -m "Update code snippets outputs" git remote set-url origin "https://x-access-token:${GH_TOKEN}@github.com/mongodb/mongodb-kubernetes.git" git push origin "${branch}" diff --git a/scripts/code_snippets/sample_test_runner.sh b/scripts/code_snippets/sample_test_runner.sh index bc579b732..0e9c17f0b 100755 --- a/scripts/code_snippets/sample_test_runner.sh +++ b/scripts/code_snippets/sample_test_runner.sh @@ -2,12 +2,22 @@ set -eou pipefail -log_file="$(basename "$0").run.log" +test "${MDB_BASH_DEBUG:-0}" -eq 1 && set -x + +script_name=$(readlink -f "${BASH_SOURCE[0]}") +# we reuse script_dir if already set by the script that is sourcing this file +script_dir=${script_dir:-$(dirname "${script_name}")} + +# script_dir will be set from the file that is sourcing this file +log_file="${RUN_LOG_FILE:-$(basename "${script_dir}").run.log}" + snippets_src_dir="code_snippets" snippets_run_dir=".generated" DEBUG=${DEBUG:-"false"} +_SNIPPETS_OUTPUT_DIR=${_SNIPPETS_OUTPUT_DIR:-"output"} + function snippets_list() { src_dir=$1 # shellcheck disable=SC2012 @@ -18,7 +28,8 @@ function run_cleanup() { script_file=$1 rm -rf "${snippets_run_dir}" 2>/dev/null || true rm -rf "log" 2>/dev/null || true - git restore --staged --worktree rm -rf "output" 2>/dev/null || true + rm -rf ".generated" 2>/dev/null || true + git restore --staged --worktree rm -rf "${_SNIPPETS_OUTPUT_DIR}" 2>/dev/null || true rm -rf "${script_file}.run.log" 2>/dev/null || true } @@ -27,7 +38,7 @@ function prepare_snippets() { touch "${log_file}" mkdir log 2>/dev/null || true - mkdir output 2>/dev/null || true + mkdir "${_SNIPPETS_OUTPUT_DIR}" 2>/dev/null || true rm -rf "${snippets_run_dir}" 2>/dev/null || true mkdir "${snippets_run_dir}" 2>/dev/null || true @@ -36,7 +47,7 @@ function prepare_snippets() { while IFS= read -r file_name; do file_path="${snippets_run_dir}/${file_name}" ( - echo "# This file is generated automatically from ${file_path}" + echo "# This file is generated automatically from ${snippets_src_dir}/${file_name}" echo "# DO NOT EDIT" echo "function ${file_name%.sh}() {" cat "${snippets_src_dir}/${file_name}" @@ -95,7 +106,7 @@ function run_for_output() { ret=$? set -e if [[ ${ret} == 0 ]]; then - tee "output/${cmd}.out" < "${stdout_file}" + tee "${_SNIPPETS_OUTPUT_DIR}/${cmd}.out" < "${stdout_file}" else echo "Error running: ${cmd}" fi diff --git a/scripts/code_snippets/task_gke_multi_cluster_no_mesh_snippets_test.sh b/scripts/code_snippets/task_gke_multi_cluster_no_mesh_snippets_test.sh deleted file mode 100755 index 97245a8c2..000000000 --- a/scripts/code_snippets/task_gke_multi_cluster_no_mesh_snippets_test.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail -source scripts/dev/set_env_context.sh - -function cleanup() { - if [ "${code_snippets_teardown:-true}" = true ]; then - echo "Deleting clusters and resources" - ./public/architectures/ops-manager-mc-no-mesh/teardown.sh & - ./public/architectures/setup-multi-cluster/setup-externaldns/teardown.sh & - wait - - ./public/architectures/setup-multi-cluster/setup-gke/teardown.sh - elif [ "${code_snippets_reset:-false}" = true ]; then - echo "Deleting resources, keeping the clusters" - ./public/architectures/ops-manager-mc-no-mesh/teardown.sh & - ./public/architectures/mongodb-sharded-mc-no-mesh/teardown.sh & - ./public/architectures/mongodb-replicaset-mc-no-mesh/teardown.sh & - ./public/architectures/setup-multi-cluster/setup-externaldns/teardown.sh & - wait - - ./public/architectures/setup-multi-cluster/setup-operator/teardown.sh - else - echo "Not deleting anything" - fi -} -trap cleanup EXIT - -source public/architectures/setup-multi-cluster/setup-gke/env_variables.sh -./public/architectures/setup-multi-cluster/setup-gke/test.sh - -source public/architectures/setup-multi-cluster/setup-operator/env_variables.sh -./public/architectures/setup-multi-cluster/setup-operator/test.sh - -./public/architectures/setup-multi-cluster/setup-cert-manager/test.sh - -source public/architectures/setup-multi-cluster/setup-externaldns/env_variables.sh -./public/architectures/setup-multi-cluster/setup-externaldns/test.sh - -source public/architectures/ops-manager-mc-no-mesh/env_variables.sh -./public/architectures/ops-manager-mc-no-mesh/test.sh - -source public/architectures/mongodb-replicaset-mc-no-mesh/env_variables.sh -./public/architectures/mongodb-replicaset-mc-no-mesh/test.sh - -source public/architectures/mongodb-sharded-mc-no-mesh/env_variables.sh -./public/architectures/mongodb-sharded-mc-no-mesh/test.sh diff --git a/scripts/code_snippets/task_gke_multi_cluster_snippets_test.sh b/scripts/code_snippets/task_gke_multi_cluster_snippets_test.sh deleted file mode 100755 index 850a68e9c..000000000 --- a/scripts/code_snippets/task_gke_multi_cluster_snippets_test.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail -source scripts/dev/set_env_context.sh - -function cleanup() { - if [ "${code_snippets_teardown:-true}" = true ]; then - echo "Deleting clusters" - ./public/architectures/setup-multi-cluster/setup-gke/teardown.sh - elif [ "${code_snippets_reset:-false}" = true ]; then - echo "Deleting resources, keeping the clusters" - ./public/architectures/ops-manager-multi-cluster/teardown.sh & - ./public/architectures/mongodb-sharded-multi-cluster/teardown.sh & - ./public/architectures/mongodb-replicaset-multi-cluster/teardown.sh & - wait - - ./public/architectures/setup-multi-cluster/setup-operator/teardown.sh - else - echo "Not deleting anything" - fi -} -trap cleanup EXIT - -source public/architectures/setup-multi-cluster/setup-gke/env_variables.sh -./public/architectures/setup-multi-cluster/setup-gke/test.sh - -source public/architectures/setup-multi-cluster/setup-operator/env_variables.sh -./public/architectures/setup-multi-cluster/setup-operator/test.sh - -./public/architectures/setup-multi-cluster/setup-istio/test.sh - -./public/architectures/setup-multi-cluster/verify-connectivity/test.sh - -./public/architectures/setup-multi-cluster/setup-cert-manager/test.sh - -source public/architectures/ops-manager-multi-cluster/env_variables.sh -./public/architectures/ops-manager-multi-cluster/test.sh - -source public/architectures/mongodb-replicaset-multi-cluster/env_variables.sh -./public/architectures/mongodb-replicaset-multi-cluster/test.sh - -source public/architectures/mongodb-sharded-multi-cluster/env_variables.sh -./public/architectures/mongodb-sharded-multi-cluster/test.sh diff --git a/scripts/code_snippets/task_kind_search_community_snippets_test.sh b/scripts/code_snippets/task_kind_search_community_snippets_test.sh deleted file mode 100755 index 3d8df6e42..000000000 --- a/scripts/code_snippets/task_kind_search_community_snippets_test.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail -source scripts/dev/set_env_context.sh - -dump_logs() { - source scripts/evergreen/e2e/dump_diagnostic_information.sh - if [[ "${SKIP_DUMP:-"false"}" != "true" ]]; then - dump_all_non_default_namespaces "$@" - fi -} -trap dump_logs EXIT - -test_dir="./docs/search/community/quick-start" - -source "${test_dir}/env_variables.sh" -echo "Sourcing env variables for ${CODE_SNIPPETS_FLAVOR} flavor" -# shellcheck disable=SC1090 -test -f "${test_dir}/env_variables_${CODE_SNIPPETS_FLAVOR}.sh" && source "${test_dir}/env_variables_${CODE_SNIPPETS_FLAVOR}.sh" - -${test_dir}/test.sh -scripts/code_snippets/kind_search_snippets_render_template.sh ${test_dir} diff --git a/scripts/code_snippets/task_kind_search_enterprise_snippets_test.sh b/scripts/code_snippets/task_kind_search_enterprise_snippets_test.sh deleted file mode 100755 index cf9399478..000000000 --- a/scripts/code_snippets/task_kind_search_enterprise_snippets_test.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash - -set -eou pipefail -source scripts/dev/set_env_context.sh - -dump_logs() { - source scripts/evergreen/e2e/dump_diagnostic_information.sh - if [[ "${SKIP_DUMP:-"false"}" != "true" ]]; then - dump_all_non_default_namespaces "$@" - fi -} -trap dump_logs EXIT - -test_dir="./docs/search/enterprise/quick-start" - -source "${test_dir}/env_variables.sh" -echo "Sourcing env variables for ${CODE_SNIPPETS_FLAVOR} flavor" -# shellcheck disable=SC1090 -test -f "${test_dir}/env_variables_${CODE_SNIPPETS_FLAVOR}.sh" && source "${test_dir}/env_variables_${CODE_SNIPPETS_FLAVOR}.sh" - -${test_dir}/test.sh -scripts/code_snippets/kind_search_snippets_render_template.sh ${test_dir} diff --git a/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-01_0030_verify_access_to_clusters.out b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-01_0030_verify_access_to_clusters.out new file mode 100644 index 000000000..156ad4795 --- /dev/null +++ b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-01_0030_verify_access_to_clusters.out @@ -0,0 +1,15 @@ +Nodes in cluster gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-68876175f5ad6d0007fdc1d4-31160 +NAME STATUS ROLES AGE VERSION +gke-k8s-mdb-0-68876175f5-default-pool-c1ce34c2-4bg5 Ready 7m20s v1.33.2-gke.1240000 +gke-k8s-mdb-0-68876175f5-default-pool-c1ce34c2-bk96 Ready 7m22s v1.33.2-gke.1240000 +gke-k8s-mdb-0-68876175f5-default-pool-c1ce34c2-r0px Ready 7m21s v1.33.2-gke.1240000 + +Nodes in cluster gke_scratch-kubernetes-team_europe-central2-b_k8s-mdb-1-68876175f5ad6d0007fdc1d4-31160 +NAME STATUS ROLES AGE VERSION +gke-k8s-mdb-1-68876175f5-default-pool-6f4972b3-bxwx Ready 6m30s v1.33.2-gke.1240000 +gke-k8s-mdb-1-68876175f5-default-pool-6f4972b3-djkk Ready 6m30s v1.33.2-gke.1240000 +gke-k8s-mdb-1-68876175f5-default-pool-6f4972b3-ps8q Ready 6m30s v1.33.2-gke.1240000 + +Nodes in cluster gke_scratch-kubernetes-team_europe-central2-c_k8s-mdb-2-68876175f5ad6d0007fdc1d4-31160 +NAME STATUS ROLES AGE VERSION +gke-k8s-mdb-2-68876175f5-default-pool-e4665169-g134 Ready 7m16s v1.33.2-gke.1240000 diff --git a/public/architectures/setup-multi-cluster/setup-operator/output/0200_kubectl_mongodb_configure_multi_cluster.out b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-02_0200_kubectl_mongodb_configure_multi_cluster.out similarity index 83% rename from public/architectures/setup-multi-cluster/setup-operator/output/0200_kubectl_mongodb_configure_multi_cluster.out rename to scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-02_0200_kubectl_mongodb_configure_multi_cluster.out index c04777b8d..6a82b75ec 100644 --- a/public/architectures/setup-multi-cluster/setup-operator/output/0200_kubectl_mongodb_configure_multi_cluster.out +++ b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-02_0200_kubectl_mongodb_configure_multi_cluster.out @@ -1,49 +1,49 @@ -Build: , +Build: 1bcc69172341bbdb7eed4366df26dd960f53119e, 2025-08-24T21:36:12Z Ensured namespaces exist in all clusters. -creating central cluster roles in cluster: gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-686cc1e099f9ef000722c191-862 +creating central cluster roles in cluster: gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-68876175f5ad6d0007fdc1d4-31160 created clusterrole: mongodb-kubernetes-operator-multi-cluster-role-telemetry created clusterrolebinding: mongodb-kubernetes-operator-multi-telemetry-cluster-role-binding created clusterrolebinding: mongodb-kubernetes-operator-mongodb-operator-multi-cluster-mongodb-role-binding created clusterrole: mongodb-kubernetes-operator-multi-cluster-role-telemetry created clusterrolebinding: mongodb-kubernetes-operator-multi-telemetry-cluster-role-binding created clusterrolebinding: mongodb-kubernetes-operator-mongodb-operator-multi-cluster-mongodb-role-binding -creating member roles in cluster: gke_scratch-kubernetes-team_europe-central2-b_k8s-mdb-1-686cc1e099f9ef000722c191-862 +creating member roles in cluster: gke_scratch-kubernetes-team_europe-central2-b_k8s-mdb-1-68876175f5ad6d0007fdc1d4-31160 created clusterrole: mongodb-kubernetes-operator-multi-cluster-role-telemetry created clusterrolebinding: mongodb-kubernetes-operator-multi-telemetry-cluster-role-binding created clusterrole: mongodb-kubernetes-operator-multi-cluster-role-telemetry created clusterrolebinding: mongodb-kubernetes-operator-multi-telemetry-cluster-role-binding -creating member roles in cluster: gke_scratch-kubernetes-team_europe-central2-c_k8s-mdb-2-686cc1e099f9ef000722c191-862 +creating member roles in cluster: gke_scratch-kubernetes-team_europe-central2-c_k8s-mdb-2-68876175f5ad6d0007fdc1d4-31160 created clusterrole: mongodb-kubernetes-operator-multi-cluster-role-telemetry created clusterrolebinding: mongodb-kubernetes-operator-multi-telemetry-cluster-role-binding created clusterrole: mongodb-kubernetes-operator-multi-cluster-role-telemetry created clusterrolebinding: mongodb-kubernetes-operator-multi-telemetry-cluster-role-binding Ensured ServiceAccounts and Roles. -Creating KubeConfig secret mongodb-operator/mongodb-enterprise-operator-multi-cluster-kubeconfig in cluster gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-686cc1e099f9ef000722c191-862 +Creating KubeConfig secret mongodb-operator/mongodb-enterprise-operator-multi-cluster-kubeconfig in cluster gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-68876175f5ad6d0007fdc1d4-31160 Ensured database Roles in member clusters. -Creating Member list Configmap mongodb-operator/mongodb-kubernetes-operator-member-list in cluster gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-686cc1e099f9ef000722c191-862 +Creating Member list Configmap mongodb-operator/mongodb-kubernetes-operator-member-list in cluster gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-68876175f5ad6d0007fdc1d4-31160 -Build: , +Build: 1bcc69172341bbdb7eed4366df26dd960f53119e, 2025-08-24T21:36:12Z Ensured namespaces exist in all clusters. -creating central cluster roles in cluster: gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-686cc1e099f9ef000722c191-862 +creating central cluster roles in cluster: gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-68876175f5ad6d0007fdc1d4-31160 created clusterrole: mongodb-kubernetes-operator-multi-cluster-role-telemetry created clusterrolebinding: mongodb-kubernetes-operator-multi-telemetry-cluster-role-binding created clusterrolebinding: mongodb-kubernetes-operator-mongodb-operator-multi-cluster-mongodb-role-binding created clusterrole: mongodb-kubernetes-operator-multi-cluster-role-telemetry created clusterrolebinding: mongodb-kubernetes-operator-multi-telemetry-cluster-role-binding created clusterrolebinding: mongodb-kubernetes-operator-mongodb-operator-multi-cluster-mongodb-role-binding -creating member roles in cluster: gke_scratch-kubernetes-team_europe-central2-b_k8s-mdb-1-686cc1e099f9ef000722c191-862 +creating member roles in cluster: gke_scratch-kubernetes-team_europe-central2-b_k8s-mdb-1-68876175f5ad6d0007fdc1d4-31160 created clusterrole: mongodb-kubernetes-operator-multi-cluster-role-telemetry created clusterrolebinding: mongodb-kubernetes-operator-multi-telemetry-cluster-role-binding created clusterrole: mongodb-kubernetes-operator-multi-cluster-role-telemetry created clusterrolebinding: mongodb-kubernetes-operator-multi-telemetry-cluster-role-binding -creating member roles in cluster: gke_scratch-kubernetes-team_europe-central2-c_k8s-mdb-2-686cc1e099f9ef000722c191-862 +creating member roles in cluster: gke_scratch-kubernetes-team_europe-central2-c_k8s-mdb-2-68876175f5ad6d0007fdc1d4-31160 created clusterrole: mongodb-kubernetes-operator-multi-cluster-role-telemetry created clusterrolebinding: mongodb-kubernetes-operator-multi-telemetry-cluster-role-binding created clusterrole: mongodb-kubernetes-operator-multi-cluster-role-telemetry created clusterrolebinding: mongodb-kubernetes-operator-multi-telemetry-cluster-role-binding Ensured ServiceAccounts and Roles. -Creating KubeConfig secret mongodb-operator/mongodb-enterprise-operator-multi-cluster-kubeconfig in cluster gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-686cc1e099f9ef000722c191-862 +Creating KubeConfig secret mongodb-operator/mongodb-enterprise-operator-multi-cluster-kubeconfig in cluster gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-68876175f5ad6d0007fdc1d4-31160 Secret mongodb-operator/mongodb-enterprise-operator-multi-cluster-kubeconfig already exists, updating it Ensured database Roles in member clusters. -Creating Member list Configmap mongodb-operator/mongodb-kubernetes-operator-member-list in cluster gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-686cc1e099f9ef000722c191-862 +Creating Member list Configmap mongodb-operator/mongodb-kubernetes-operator-member-list in cluster gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-68876175f5ad6d0007fdc1d4-31160 diff --git a/docs/search/community/quick-start/output/090_helm_add_mogodb_repo.out b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-02_0205_helm_configure_repo.out similarity index 100% rename from docs/search/community/quick-start/output/090_helm_add_mogodb_repo.out rename to scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-02_0205_helm_configure_repo.out diff --git a/public/architectures/setup-multi-cluster/setup-operator/output/0210_helm_install_operator.out b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-02_0210_helm_install_operator.out similarity index 100% rename from public/architectures/setup-multi-cluster/setup-operator/output/0210_helm_install_operator.out rename to scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-02_0210_helm_install_operator.out diff --git a/public/architectures/setup-multi-cluster/setup-operator/output/0211_check_operator_deployment.out b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-02_0211_check_operator_deployment.out similarity index 85% rename from public/architectures/setup-multi-cluster/setup-operator/output/0211_check_operator_deployment.out rename to scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-02_0211_check_operator_deployment.out index 12cff4d42..2f01f86c7 100644 --- a/public/architectures/setup-multi-cluster/setup-operator/output/0211_check_operator_deployment.out +++ b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-02_0211_check_operator_deployment.out @@ -6,4 +6,4 @@ mongodb-kubernetes-operator-multi-cluster 1/1 1 1 8s Operator pod in mongodb-operator namespace NAME READY STATUS RESTARTS AGE -mongodb-kubernetes-operator-multi-cluster-5b875c54c5-d2gq6 1/1 Running 0 8s +mongodb-kubernetes-operator-multi-cluster-64647b6db5-2jfn5 1/1 Running 0 9s diff --git a/public/architectures/setup-multi-cluster/verify-connectivity/output/0090_check_cluster_connectivity_verify_pod_0_0_from_cluster_1.out b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-04_0090_check_cluster_connectivity_verify_pod_0_0_from_cluster_1.out similarity index 71% rename from public/architectures/setup-multi-cluster/verify-connectivity/output/0090_check_cluster_connectivity_verify_pod_0_0_from_cluster_1.out rename to scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-04_0090_check_cluster_connectivity_verify_pod_0_0_from_cluster_1.out index a4bba85c3..4665128e6 100644 --- a/public/architectures/setup-multi-cluster/verify-connectivity/output/0090_check_cluster_connectivity_verify_pod_0_0_from_cluster_1.out +++ b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-04_0090_check_cluster_connectivity_verify_pod_0_0_from_cluster_1.out @@ -1,2 +1,2 @@ -Checking cross-cluster DNS resolution and connectivity from echoserver1-0 in gke_scratch-kubernetes-team_europe-central2-b_k8s-mdb-1-682f2df6e1745e000788a1d5-24552 to echoserver0-0 +Checking cross-cluster DNS resolution and connectivity from echoserver1-0 in gke_scratch-kubernetes-team_europe-central2-b_k8s-mdb-1-68876175f5ad6d0007fdc1d4-31160 to echoserver0-0 SUCCESS diff --git a/public/architectures/setup-multi-cluster/verify-connectivity/output/0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_0.out b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_0.out similarity index 71% rename from public/architectures/setup-multi-cluster/verify-connectivity/output/0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_0.out rename to scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_0.out index 2272553f9..0e6fcac94 100644 --- a/public/architectures/setup-multi-cluster/verify-connectivity/output/0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_0.out +++ b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_0.out @@ -1,2 +1,2 @@ -Checking cross-cluster DNS resolution and connectivity from echoserver0-0 in gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-682f2df6e1745e000788a1d5-24552 to echoserver1-0 +Checking cross-cluster DNS resolution and connectivity from echoserver0-0 in gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-68876175f5ad6d0007fdc1d4-31160 to echoserver1-0 SUCCESS diff --git a/public/architectures/setup-multi-cluster/verify-connectivity/output/0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_2.out b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_2.out similarity index 71% rename from public/architectures/setup-multi-cluster/verify-connectivity/output/0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_2.out rename to scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_2.out index 174dfd35d..7b79ecdd0 100644 --- a/public/architectures/setup-multi-cluster/verify-connectivity/output/0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_2.out +++ b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_2.out @@ -1,2 +1,2 @@ -Checking cross-cluster DNS resolution and connectivity from echoserver2-0 in gke_scratch-kubernetes-team_europe-central2-c_k8s-mdb-2-682f2df6e1745e000788a1d5-24552 to echoserver1-0 +Checking cross-cluster DNS resolution and connectivity from echoserver2-0 in gke_scratch-kubernetes-team_europe-central2-c_k8s-mdb-2-68876175f5ad6d0007fdc1d4-31160 to echoserver1-0 SUCCESS diff --git a/public/architectures/setup-multi-cluster/verify-connectivity/output/0090_check_cluster_connectivity_verify_pod_2_0_from_cluster_0.out b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-04_0090_check_cluster_connectivity_verify_pod_2_0_from_cluster_0.out similarity index 71% rename from public/architectures/setup-multi-cluster/verify-connectivity/output/0090_check_cluster_connectivity_verify_pod_2_0_from_cluster_0.out rename to scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-04_0090_check_cluster_connectivity_verify_pod_2_0_from_cluster_0.out index 7c5f21ec9..78286fa61 100644 --- a/public/architectures/setup-multi-cluster/verify-connectivity/output/0090_check_cluster_connectivity_verify_pod_2_0_from_cluster_0.out +++ b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-04_0090_check_cluster_connectivity_verify_pod_2_0_from_cluster_0.out @@ -1,2 +1,2 @@ -Checking cross-cluster DNS resolution and connectivity from echoserver0-0 in gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-682f2df6e1745e000788a1d5-24552 to echoserver2-0 +Checking cross-cluster DNS resolution and connectivity from echoserver0-0 in gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-68876175f5ad6d0007fdc1d4-31160 to echoserver2-0 SUCCESS diff --git a/public/architectures/setup-multi-cluster/setup-cert-manager/output/0215_helm_configure_repo.out b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-05_0215_helm_configure_repo.out similarity index 100% rename from public/architectures/setup-multi-cluster/setup-cert-manager/output/0215_helm_configure_repo.out rename to scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-05_0215_helm_configure_repo.out diff --git a/public/architectures/setup-multi-cluster/setup-cert-manager/output/0216_helm_install_cert_manager.out b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-05_0216_helm_install_cert_manager.out similarity index 96% rename from public/architectures/setup-multi-cluster/setup-cert-manager/output/0216_helm_install_cert_manager.out rename to scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-05_0216_helm_install_cert_manager.out index e00ae2241..b6242935f 100644 --- a/public/architectures/setup-multi-cluster/setup-cert-manager/output/0216_helm_install_cert_manager.out +++ b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-05_0216_helm_install_cert_manager.out @@ -1,6 +1,6 @@ Release "cert-manager" does not exist. Installing it now. NAME: cert-manager -LAST DEPLOYED: Tue Jul 8 07:13:38 2025 +LAST DEPLOYED: Mon Aug 25 09:08:18 2025 NAMESPACE: cert-manager STATUS: deployed REVISION: 1 diff --git a/public/architectures/setup-multi-cluster/setup-cert-manager/output/0221_verify_issuer.out b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-05_0221_verify_issuer.out similarity index 100% rename from public/architectures/setup-multi-cluster/setup-cert-manager/output/0221_verify_issuer.out rename to scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-05_0221_verify_issuer.out diff --git a/public/architectures/ops-manager-multi-cluster/output/0311_ops_manager_wait_for_pending_state.out b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-06_0311_ops_manager_wait_for_pending_state.out similarity index 100% rename from public/architectures/ops-manager-multi-cluster/output/0311_ops_manager_wait_for_pending_state.out rename to scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-06_0311_ops_manager_wait_for_pending_state.out diff --git a/public/architectures/ops-manager-multi-cluster/output/0312_ops_manager_wait_for_running_state.out b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-06_0312_ops_manager_wait_for_running_state.out similarity index 65% rename from public/architectures/ops-manager-multi-cluster/output/0312_ops_manager_wait_for_running_state.out rename to scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-06_0312_ops_manager_wait_for_running_state.out index 45a23aefb..7ece648e9 100644 --- a/public/architectures/ops-manager-multi-cluster/output/0312_ops_manager_wait_for_running_state.out +++ b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-06_0312_ops_manager_wait_for_running_state.out @@ -6,13 +6,13 @@ mongodbopsmanager.mongodb.com/om condition met MongoDBOpsManager resource NAME REPLICAS VERSION STATE (OPSMANAGER) STATE (APPDB) STATE (BACKUP) AGE WARNINGS -om 8.0.5 Running Running Disabled 12m +om 8.0.5 Running Running Disabled 18m -Pods running in cluster gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-682f2df6e1745e000788a1d5-24552 +Pods running in cluster gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-68876175f5ad6d0007fdc1d4-31160 NAME READY STATUS RESTARTS AGE -om-0-0 2/2 Running 0 9m41s -om-db-0-0 4/4 Running 0 51s -om-db-0-1 4/4 Running 0 2m25s -om-db-0-2 4/4 Running 0 4m16s +om-0-0 2/2 Running 0 15m +om-db-0-0 4/4 Running 0 7m31s +om-db-0-1 4/4 Running 0 9m2s +om-db-0-2 4/4 Running 0 10m -Pods running in cluster gke_scratch-kubernetes-team_europe-central2-b_k8s-mdb-1-682f2df6e1745e000788a1d5-24552 +Pods running in cluster gke_scratch-kubernetes-team_europe-central2-b_k8s-mdb-1-68876175f5ad6d0007fdc1d4-31160 diff --git a/public/architectures/ops-manager-mc-no-mesh/output/0321_ops_manager_wait_for_pending_state.out b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-06_0321_ops_manager_wait_for_pending_state.out similarity index 100% rename from public/architectures/ops-manager-mc-no-mesh/output/0321_ops_manager_wait_for_pending_state.out rename to scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-06_0321_ops_manager_wait_for_pending_state.out diff --git a/public/architectures/ops-manager-multi-cluster/output/0322_ops_manager_wait_for_running_state.out b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-06_0322_ops_manager_wait_for_running_state.out similarity index 62% rename from public/architectures/ops-manager-multi-cluster/output/0322_ops_manager_wait_for_running_state.out rename to scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-06_0322_ops_manager_wait_for_running_state.out index 2b45590a2..fc67f254a 100644 --- a/public/architectures/ops-manager-multi-cluster/output/0322_ops_manager_wait_for_running_state.out +++ b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-06_0322_ops_manager_wait_for_running_state.out @@ -6,17 +6,17 @@ mongodbopsmanager.mongodb.com/om condition met MongoDBOpsManager resource NAME REPLICAS VERSION STATE (OPSMANAGER) STATE (APPDB) STATE (BACKUP) AGE WARNINGS -om 8.0.5 Running Running Disabled 20m +om 8.0.5 Running Running Disabled 26m -Pods running in cluster gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-682f2df6e1745e000788a1d5-24552 +Pods running in cluster gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-68876175f5ad6d0007fdc1d4-31160 NAME READY STATUS RESTARTS AGE om-0-0 2/2 Running 0 2m53s -om-db-0-0 4/4 Running 0 8m42s -om-db-0-1 4/4 Running 0 10m -om-db-0-2 4/4 Running 0 12m +om-db-0-0 4/4 Running 0 14m +om-db-0-1 4/4 Running 0 16m +om-db-0-2 4/4 Running 0 17m -Pods running in cluster gke_scratch-kubernetes-team_europe-central2-b_k8s-mdb-1-682f2df6e1745e000788a1d5-24552 +Pods running in cluster gke_scratch-kubernetes-team_europe-central2-b_k8s-mdb-1-68876175f5ad6d0007fdc1d4-31160 NAME READY STATUS RESTARTS AGE -om-1-0 2/2 Running 0 3m24s -om-db-1-0 4/4 Running 0 7m43s -om-db-1-1 4/4 Running 0 5m31s +om-1-0 2/2 Running 0 3m25s +om-db-1-0 4/4 Running 0 7m16s +om-db-1-1 4/4 Running 0 5m2s diff --git a/public/architectures/ops-manager-multi-cluster/output/0522_ops_manager_wait_for_running_state.out b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-06_0522_ops_manager_wait_for_running_state.out similarity index 63% rename from public/architectures/ops-manager-multi-cluster/output/0522_ops_manager_wait_for_running_state.out rename to scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-06_0522_ops_manager_wait_for_running_state.out index 9f404efdc..c3a0d3b14 100644 --- a/public/architectures/ops-manager-multi-cluster/output/0522_ops_manager_wait_for_running_state.out +++ b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-06_0522_ops_manager_wait_for_running_state.out @@ -9,21 +9,21 @@ mongodbopsmanager.mongodb.com/om condition met MongoDBOpsManager resource NAME REPLICAS VERSION STATE (OPSMANAGER) STATE (APPDB) STATE (BACKUP) AGE WARNINGS -om 8.0.5 Running Running Running 23m +om 8.0.5 Running Running Running 29m -Pods running in cluster gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-682f2df6e1745e000788a1d5-24552 +Pods running in cluster gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-68876175f5ad6d0007fdc1d4-31160 NAME READY STATUS RESTARTS AGE -om-0-0 2/2 Running 0 5m46s -om-db-0-0 4/4 Running 0 11m -om-db-0-1 4/4 Running 0 13m -om-db-0-2 4/4 Running 0 15m +om-0-0 2/2 Running 0 6m2s +om-db-0-0 4/4 Running 0 18m +om-db-0-1 4/4 Running 0 19m +om-db-0-2 4/4 Running 0 20m -Pods running in cluster gke_scratch-kubernetes-team_europe-central2-b_k8s-mdb-1-682f2df6e1745e000788a1d5-24552 +Pods running in cluster gke_scratch-kubernetes-team_europe-central2-b_k8s-mdb-1-68876175f5ad6d0007fdc1d4-31160 NAME READY STATUS RESTARTS AGE -om-1-0 2/2 Running 0 6m17s +om-1-0 2/2 Running 0 6m33s om-db-1-0 4/4 Running 0 10m -om-db-1-1 4/4 Running 0 8m24s +om-db-1-1 4/4 Running 0 8m10s -Pods running in cluster gke_scratch-kubernetes-team_europe-central2-c_k8s-mdb-2-682f2df6e1745e000788a1d5-24552 +Pods running in cluster gke_scratch-kubernetes-team_europe-central2-c_k8s-mdb-2-68876175f5ad6d0007fdc1d4-31160 NAME READY STATUS RESTARTS AGE -om-2-backup-daemon-0 2/2 Running 0 2m31s +om-2-backup-daemon-0 2/2 Running 0 2m49s diff --git a/docs/search/enterprise/quick-start/output/090_helm_add_mogodb_repo.out b/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/01_0090_helm_add_mogodb_repo.out similarity index 100% rename from docs/search/enterprise/quick-start/output/090_helm_add_mogodb_repo.out rename to scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/01_0090_helm_add_mogodb_repo.out diff --git a/docs/search/enterprise/quick-start/output/0100_install_operator.out b/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/01_0100_install_operator.out similarity index 73% rename from docs/search/enterprise/quick-start/output/0100_install_operator.out rename to scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/01_0100_install_operator.out index 84ef0e38a..e00b5bd25 100644 --- a/docs/search/enterprise/quick-start/output/0100_install_operator.out +++ b/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/01_0100_install_operator.out @@ -1,26 +1,50 @@ Release "mongodb-kubernetes" does not exist. Installing it now. NAME: mongodb-kubernetes -LAST DEPLOYED: Fri Aug 1 22:48:48 2025 -NAMESPACE: mongodb-test +<<<<<<<< HEAD:docs/community-search/quick-start/output/0100_install_operator.out +LAST DEPLOYED: Tue Jul 8 07:04:51 2025 +======== +LAST DEPLOYED: Sat Aug 23 12:17:51 2025 +>>>>>>>> 6309cff6f (Refactor of existing snippets on master):scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/01_0100_install_operator.out +NAMESPACE: mongodb STATUS: deployed REVISION: 1 TEST SUITE: None USER-SUPPLIED VALUES: +<<<<<<<< HEAD:docs/community-search/quick-start/output/0100_install_operator.out +dummy: value +======== +agent: + version: 108.0.2.8729-1 database: - version: 688cf772f2350700075c5909 + name: mongodb-kubernetes-database + version: 68876175f5ad6d0007fdc1d4 initAppDb: - version: 688cf772f2350700075c5909 + version: 68876175f5ad6d0007fdc1d4 initDatabase: - version: 688cf772f2350700075c5909 + version: 68876175f5ad6d0007fdc1d4 initOpsManager: - version: 688cf772f2350700075c5909 + version: 68876175f5ad6d0007fdc1d4 +managedSecurityContext: false +mongodb: + imageType: ubi9 + name: mongodb-enterprise-server operator: - version: 688cf772f2350700075c5909 + enablePVCResize: true + maxConcurrentReconciles: 10 + mdbDefaultArchitecture: non-static + telemetry: + collection: + frequency: 1m + send: + enabled: false + version: 68876175f5ad6d0007fdc1d4 +opsManager: + name: mongodb-enterprise-ops-manager-ubi registry: agent: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev appDb: quay.io/mongodb database: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev - imagePullSecrets: image-registries-secret2 + imagePullSecrets: image-registries-secret initAppDb: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev initDatabase: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev initOpsManager: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev @@ -28,9 +52,10 @@ registry: opsManager: quay.io/mongodb search: community: - name: community - repo: 268558157000.dkr.ecr.eu-west-1.amazonaws.com/mongot + name: mongot/community + repo: 268558157000.dkr.ecr.eu-west-1.amazonaws.com version: fbd60fb055dd500058edcb45677ea85d19421f47 +>>>>>>>> 6309cff6f (Refactor of existing snippets on master):scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/01_0100_install_operator.out COMPUTED VALUES: agent: @@ -63,20 +88,21 @@ community: version: 4.4.0 database: name: mongodb-kubernetes-database - version: 688cf772f2350700075c5909 + version: 1.2.0 +dummy: value initAppDb: name: mongodb-kubernetes-init-appdb - version: 688cf772f2350700075c5909 + version: 1.2.0 initDatabase: name: mongodb-kubernetes-init-database - version: 688cf772f2350700075c5909 + version: 1.2.0 initOpsManager: name: mongodb-kubernetes-init-ops-manager - version: 688cf772f2350700075c5909 + version: 1.2.0 managedSecurityContext: false mongodb: appdbAssumeOldFormat: false - imageType: ubi8 + imageType: ubi9 name: mongodb-enterprise-server repo: quay.io/mongodb multiCluster: @@ -94,7 +120,7 @@ operator: enableClusterMongoDBRoles: true enablePVCResize: true env: prod - maxConcurrentReconciles: 1 + maxConcurrentReconciles: 10 mdbDefaultArchitecture: non-static name: mongodb-kubernetes-operator nodeSelector: {} @@ -111,15 +137,16 @@ operator: collection: clusters: {} deployments: {} - frequency: 1h + frequency: 1m operators: {} send: + enabled: false frequency: 168h tolerations: [] vaultSecretBackend: enabled: false tlsSecretRef: "" - version: 688cf772f2350700075c5909 + version: 1.2.0 watchedResources: - mongodb - opsmanagers @@ -135,23 +162,30 @@ readinessProbe: name: mongodb-kubernetes-readinessprobe version: 1.0.22 registry: - agent: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev + agent: quay.io/mongodb appDb: quay.io/mongodb - database: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev - imagePullSecrets: image-registries-secret2 - initAppDb: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev - initDatabase: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev - initOpsManager: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev - operator: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev + database: quay.io/mongodb + imagePullSecrets: null + initAppDb: quay.io/mongodb + initDatabase: quay.io/mongodb + initOpsManager: quay.io/mongodb + operator: quay.io/mongodb opsManager: quay.io/mongodb pullPolicy: Always readinessProbe: quay.io/mongodb versionUpgradeHook: quay.io/mongodb search: community: - name: community - repo: 268558157000.dkr.ecr.eu-west-1.amazonaws.com/mongot +<<<<<<<< HEAD:docs/community-search/quick-start/output/0100_install_operator.out + name: mongodb-search-community + repo: quay.io/mongodb + version: 1.47.0 +subresourceEnabled: true +======== + name: mongot/community + repo: 268558157000.dkr.ecr.eu-west-1.amazonaws.com version: fbd60fb055dd500058edcb45677ea85d19421f47 +>>>>>>>> 6309cff6f (Refactor of existing snippets on master):scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/01_0100_install_operator.out versionUpgradeHook: name: mongodb-kubernetes-operator-version-upgrade-post-start-hook version: 1.0.9 @@ -164,42 +198,34 @@ apiVersion: v1 kind: ServiceAccount metadata: name: mongodb-kubernetes-appdb - namespace: mongodb-test -imagePullSecrets: - - name: image-registries-secret2 + namespace: mongodb --- # Source: mongodb-kubernetes/templates/database-roles.yaml apiVersion: v1 kind: ServiceAccount metadata: name: mongodb-kubernetes-database-pods - namespace: mongodb-test -imagePullSecrets: - - name: image-registries-secret2 + namespace: mongodb --- # Source: mongodb-kubernetes/templates/database-roles.yaml apiVersion: v1 kind: ServiceAccount metadata: name: mongodb-kubernetes-ops-manager - namespace: mongodb-test -imagePullSecrets: - - name: image-registries-secret2 + namespace: mongodb --- # Source: mongodb-kubernetes/templates/operator-sa.yaml apiVersion: v1 kind: ServiceAccount metadata: name: mongodb-kubernetes-operator - namespace: mongodb-test -imagePullSecrets: - - name: image-registries-secret2 + namespace: mongodb --- -# Source: mongodb-kubernetes/templates/operator-roles-clustermongodbroles.yaml +# Source: mongodb-kubernetes/templates/operator-roles.yaml kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata: - name: mongodb-kubernetes-operator-mongodb-test-cluster-mongodb-role + name: mongodb-kubernetes-operator-mongodb-cluster-mongodb-role rules: - apiGroups: - mongodb.com @@ -208,7 +234,34 @@ rules: resources: - clustermongodbroles --- -# Source: mongodb-kubernetes/templates/operator-roles-telemetry.yaml +# Source: mongodb-kubernetes/templates/operator-roles.yaml +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: mongodb-kubernetes-operator-mongodb-webhook +rules: + - apiGroups: + - "admissionregistration.k8s.io" + resources: + - validatingwebhookconfigurations + verbs: + - get + - create + - update + - delete + - apiGroups: + - "" + resources: + - services + verbs: + - get + - list + - watch + - create + - update + - delete +--- +# Source: mongodb-kubernetes/templates/operator-roles.yaml # Additional ClusterRole for clusterVersionDetection kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 @@ -236,82 +289,55 @@ rules: verbs: - list --- -# Source: mongodb-kubernetes/templates/operator-roles-webhook.yaml -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: mongodb-kubernetes-operator-mongodb-webhook -rules: - - apiGroups: - - "admissionregistration.k8s.io" - resources: - - validatingwebhookconfigurations - verbs: - - get - - create - - update - - delete - - apiGroups: - - "" - resources: - - services - verbs: - - get - - list - - watch - - create - - update - - delete ---- -# Source: mongodb-kubernetes/templates/operator-roles-clustermongodbroles.yaml +# Source: mongodb-kubernetes/templates/operator-roles.yaml kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: - name: mongodb-kubernetes-operator-mongodb-test-cluster-mongodb-role-binding + name: mongodb-kubernetes-operator-mongodb-cluster-mongodb-role-binding roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole - name: mongodb-kubernetes-operator-mongodb-test-cluster-mongodb-role + name: mongodb-kubernetes-operator-mongodb-cluster-mongodb-role subjects: - kind: ServiceAccount name: mongodb-kubernetes-operator - namespace: mongodb-test + namespace: mongodb --- -# Source: mongodb-kubernetes/templates/operator-roles-telemetry.yaml -# ClusterRoleBinding for clusterVersionDetection +# Source: mongodb-kubernetes/templates/operator-roles.yaml kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: - name: mongodb-kubernetes-operator-mongodb-test-cluster-telemetry-binding + name: mongodb-kubernetes-operator-mongodb-webhook-binding roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole - name: mongodb-kubernetes-operator-cluster-telemetry + name: mongodb-kubernetes-operator-mongodb-webhook subjects: - kind: ServiceAccount name: mongodb-kubernetes-operator - namespace: mongodb-test + namespace: mongodb --- -# Source: mongodb-kubernetes/templates/operator-roles-webhook.yaml +# Source: mongodb-kubernetes/templates/operator-roles.yaml +# ClusterRoleBinding for clusterVersionDetection kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: - name: mongodb-kubernetes-operator-mongodb-test-webhook-binding + name: mongodb-kubernetes-operator-mongodb-cluster-telemetry-binding roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole - name: mongodb-kubernetes-operator-mongodb-webhook + name: mongodb-kubernetes-operator-cluster-telemetry subjects: - kind: ServiceAccount name: mongodb-kubernetes-operator - namespace: mongodb-test + namespace: mongodb --- # Source: mongodb-kubernetes/templates/database-roles.yaml kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: mongodb-kubernetes-appdb - namespace: mongodb-test + namespace: mongodb rules: - apiGroups: - '' @@ -328,12 +354,12 @@ rules: - delete - get --- -# Source: mongodb-kubernetes/templates/operator-roles-base.yaml +# Source: mongodb-kubernetes/templates/operator-roles.yaml kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: mongodb-kubernetes-operator - namespace: mongodb-test + namespace: mongodb rules: - apiGroups: - '' @@ -408,14 +434,7 @@ rules: - opsmanagers/status - mongodbmulticluster/status - mongodbsearch/status ---- -# Source: mongodb-kubernetes/templates/operator-roles-pvc-resize.yaml -kind: Role -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: mongodb-kubernetes-operator-pvc-resize - namespace: mongodb-test -rules: + - apiGroups: - '' resources: @@ -433,7 +452,7 @@ kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: mongodb-kubernetes-appdb - namespace: mongodb-test + namespace: mongodb roleRef: apiGroup: rbac.authorization.k8s.io kind: Role @@ -441,14 +460,14 @@ roleRef: subjects: - kind: ServiceAccount name: mongodb-kubernetes-appdb - namespace: mongodb-test + namespace: mongodb --- -# Source: mongodb-kubernetes/templates/operator-roles-base.yaml +# Source: mongodb-kubernetes/templates/operator-roles.yaml kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: mongodb-kubernetes-operator - namespace: mongodb-test + namespace: mongodb roleRef: apiGroup: rbac.authorization.k8s.io kind: Role @@ -456,29 +475,14 @@ roleRef: subjects: - kind: ServiceAccount name: mongodb-kubernetes-operator - namespace: mongodb-test ---- -# Source: mongodb-kubernetes/templates/operator-roles-pvc-resize.yaml -kind: RoleBinding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: mongodb-kubernetes-operator-pvc-resize-binding - namespace: mongodb-test -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: mongodb-kubernetes-operator-pvc-resize -subjects: - - kind: ServiceAccount - name: mongodb-kubernetes-operator - namespace: mongodb-test + namespace: mongodb --- # Source: mongodb-kubernetes/templates/operator.yaml apiVersion: apps/v1 kind: Deployment metadata: name: mongodb-kubernetes-operator - namespace: mongodb-test + namespace: mongodb spec: replicas: 1 selector: @@ -497,11 +501,9 @@ spec: securityContext: runAsNonRoot: true runAsUser: 2000 - imagePullSecrets: - - name: image-registries-secret2 containers: - name: mongodb-kubernetes-operator - image: "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes:688cf772f2350700075c5909" + image: "quay.io/mongodb/mongodb-kubernetes:1.2.0" imagePullPolicy: Always args: - -watch-resource=mongodb @@ -533,7 +535,9 @@ spec: fieldRef: fieldPath: metadata.namespace - name: MDB_OPERATOR_TELEMETRY_COLLECTION_FREQUENCY - value: "1h" + value: "1m" + - name: MDB_OPERATOR_TELEMETRY_SEND_ENABLED + value: "false" - name: MDB_OPERATOR_TELEMETRY_SEND_FREQUENCY value: "168h" - name: CLUSTER_CLIENT_TIMEOUT @@ -542,43 +546,41 @@ spec: value: Always # Database - name: MONGODB_ENTERPRISE_DATABASE_IMAGE - value: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-database + value: quay.io/mongodb/mongodb-kubernetes-database - name: INIT_DATABASE_IMAGE_REPOSITORY - value: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-init-database + value: quay.io/mongodb/mongodb-kubernetes-init-database - name: INIT_DATABASE_VERSION - value: 688cf772f2350700075c5909 + value: 1.2.0 - name: DATABASE_VERSION - value: 688cf772f2350700075c5909 + value: 1.2.0 # Ops Manager - name: OPS_MANAGER_IMAGE_REPOSITORY value: quay.io/mongodb/mongodb-enterprise-ops-manager-ubi - name: INIT_OPS_MANAGER_IMAGE_REPOSITORY - value: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-init-ops-manager + value: quay.io/mongodb/mongodb-kubernetes-init-ops-manager - name: INIT_OPS_MANAGER_VERSION - value: 688cf772f2350700075c5909 + value: 1.2.0 # AppDB - name: INIT_APPDB_IMAGE_REPOSITORY - value: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-init-appdb + value: quay.io/mongodb/mongodb-kubernetes-init-appdb - name: INIT_APPDB_VERSION - value: 688cf772f2350700075c5909 + value: 1.2.0 - name: OPS_MANAGER_IMAGE_PULL_POLICY value: Always - name: AGENT_IMAGE - value: "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-agent-ubi:108.0.2.8729-1" + value: "quay.io/mongodb/mongodb-agent-ubi:108.0.2.8729-1" - name: MDB_AGENT_IMAGE_REPOSITORY - value: "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-agent-ubi" + value: "quay.io/mongodb/mongodb-agent-ubi" - name: MONGODB_IMAGE value: mongodb-enterprise-server - name: MONGODB_REPO_URL value: quay.io/mongodb - name: MDB_IMAGE_TYPE - value: ubi8 + value: ubi9 - name: PERFORM_FAILOVER value: 'true' - - name: IMAGE_PULL_SECRETS - value: image-registries-secret2 - name: MDB_MAX_CONCURRENT_RECONCILES - value: "1" + value: "10" - name: POD_NAME valueFrom: fieldRef: @@ -600,9 +602,15 @@ spec: value: "ubi8" # Community Env Vars End - name: MDB_SEARCH_COMMUNITY_REPO_URL - value: "268558157000.dkr.ecr.eu-west-1.amazonaws.com/mongot" +<<<<<<<< HEAD:docs/community-search/quick-start/output/0100_install_operator.out + value: "quay.io/mongodb" + - name: MDB_SEARCH_COMMUNITY_NAME + value: "mongodb-search-community" +======== + value: "268558157000.dkr.ecr.eu-west-1.amazonaws.com" - name: MDB_SEARCH_COMMUNITY_NAME - value: "community" + value: "mongot/community" +>>>>>>>> 6309cff6f (Refactor of existing snippets on master):scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/01_0100_install_operator.out - name: MDB_SEARCH_COMMUNITY_VERSION - value: "fbd60fb055dd500058edcb45677ea85d19421f47" + value: "1.47.0" diff --git a/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/01_0315_wait_for_community_resource.out b/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/01_0315_wait_for_community_resource.out new file mode 100644 index 000000000..2bc88b5b9 --- /dev/null +++ b/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/01_0315_wait_for_community_resource.out @@ -0,0 +1,16 @@ +Waiting for MongoDBCommunity resource to reach Running phase... +mongodbcommunity.mongodbcommunity.mongodb.com/mdbc-rs condition met + +MongoDBCommunity resource +NAME PHASE VERSION +mdbc-rs Running 8.0.10 + +Pods running in cluster kind-kind +NAME READY STATUS RESTARTS AGE +mdb-debug-mdbc-rs-0-0 1/1 Running 0 96s +mdb-debug-mdbc-rs-1-0 1/1 Running 0 95s +mdb-debug-mdbc-rs-2-0 1/1 Running 0 95s +mdbc-rs-0 2/2 Running 0 2m41s +mdbc-rs-1 2/2 Running 0 87s +mdbc-rs-2 2/2 Running 0 38s +mongodb-kubernetes-operator-696b5dd864-kpgkl 1/1 Running 0 2m49s diff --git a/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/01_0330_wait_for_community_resource.out b/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/01_0330_wait_for_community_resource.out new file mode 100644 index 000000000..6971e0146 --- /dev/null +++ b/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/01_0330_wait_for_community_resource.out @@ -0,0 +1,2 @@ +Waiting for MongoDBCommunity resource to reach Running phase... +mongodbcommunity.mongodbcommunity.mongodb.com/mdbc-rs condition met diff --git a/docs/search/community/quick-start/output/0335_show_running_pods.out b/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/01_0335_show_running_pods.out similarity index 72% rename from docs/search/community/quick-start/output/0335_show_running_pods.out rename to scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/01_0335_show_running_pods.out index cd7017404..6c2bcf86a 100644 --- a/docs/search/community/quick-start/output/0335_show_running_pods.out +++ b/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/01_0335_show_running_pods.out @@ -5,16 +5,16 @@ mdbc-rs Running 8.0.10 MongoDBSearch resource NAME PHASE AGE -mdbc-rs Running 7m58s +mdbc-rs Running 5m33s Pods running in cluster kind-kind NAME READY STATUS RESTARTS AGE -mdb-debug-mdbc-rs-0-0 1/1 Running 0 10m -mdb-debug-mdbc-rs-1-0 1/1 Running 0 10m -mdb-debug-mdbc-rs-2-0 1/1 Running 0 10m -mdb-debug-mdbc-rs-search-0-0 1/1 Running 0 7m57s -mdbc-rs-0 2/2 Running 1 (3m13s ago) 10m -mdbc-rs-1 2/2 Running 1 (5m49s ago) 9m23s -mdbc-rs-2 2/2 Running 1 (4m32s ago) 8m35s -mdbc-rs-search-0 1/1 Running 0 25s -mongodb-kubernetes-operator-5776c8b4df-wm82f 1/1 Running 0 35s +mdb-debug-mdbc-rs-0-0 1/1 Running 0 7m12s +mdb-debug-mdbc-rs-1-0 1/1 Running 0 7m11s +mdb-debug-mdbc-rs-2-0 1/1 Running 0 7m11s +mdb-debug-mdbc-rs-search-0-0 1/1 Running 0 5m33s +mdbc-rs-0 2/2 Running 1 (31s ago) 8m17s +mdbc-rs-1 2/2 Running 1 (3m8s ago) 7m3s +mdbc-rs-2 2/2 Running 1 (109s ago) 6m14s +mdbc-rs-search-0 1/1 Running 4 (4m17s ago) 5m34s +mongodb-kubernetes-operator-696b5dd864-kpgkl 1/1 Running 0 8m25s diff --git a/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/03_0420_import_movies_mflix_database.out b/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/03_0420_import_movies_mflix_database.out new file mode 100644 index 000000000..a7432faf0 --- /dev/null +++ b/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/03_0420_import_movies_mflix_database.out @@ -0,0 +1,2 @@ +Downloading sample database archive... +Restoring sample database diff --git a/docs/search/community/quick-start/output/0440_wait_for_search_index_ready.out b/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/03_0440_wait_for_search_index_ready.out similarity index 100% rename from docs/search/community/quick-start/output/0440_wait_for_search_index_ready.out rename to scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/03_0440_wait_for_search_index_ready.out diff --git a/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/03_0444_list_search_indexes.out b/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/03_0444_list_search_indexes.out new file mode 100644 index 000000000..871ba5e65 --- /dev/null +++ b/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/03_0444_list_search_indexes.out @@ -0,0 +1,32 @@ +{ + cursor: { + id: 0, + ns: 'sample_mflix.movies', + firstBatch: [ + { + id: '68a9975db53fad6a875bb74f', + name: 'default', + type: 'search', + latestDefinition: { + indexID: ObjectId('68a9975db53fad6a875bb74f'), + name: 'default', + database: 'sample_mflix', + lastObservedCollectionName: 'movies', + collectionUUID: UUID('b28e600a-fd5f-459f-9a80-1cd85a113261'), + numPartitions: 1, + mappings: { dynamic: true, fields: {} }, + indexFeatureVersion: 3 + } + } + ] + }, + ok: 1, + '$clusterTime': { + clusterTime: Timestamp({ t: 1755944851, i: 1 }), + signature: { + hash: Binary.createFromBase64('P3ygPKAHEg7beuDCsygB5MSm0xQ=', 0), + keyId: Long('7541723951982968838') + } + }, + operationTime: Timestamp({ t: 1755944851, i: 1 }) +} diff --git a/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/03_0445_list_vector_search_indexes.out b/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/03_0445_list_vector_search_indexes.out new file mode 100644 index 000000000..2b7013164 --- /dev/null +++ b/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/03_0445_list_vector_search_indexes.out @@ -0,0 +1,40 @@ +{ + cursor: { + id: 0, + ns: 'sample_mflix.embedded_movies', + firstBatch: [ + { + id: '68a9975eb53fad6a875bb750', + name: 'vector_index', + type: 'vectorSearch', + latestDefinition: { + type: 'vectorSearch', + indexID: ObjectId('68a9975eb53fad6a875bb750'), + name: 'vector_index', + database: 'sample_mflix', + lastObservedCollectionName: 'embedded_movies', + collectionUUID: UUID('19e50df1-f30c-47ae-9a98-1b0986f19d1e'), + numPartitions: 1, + fields: [ + { + type: 'vector', + path: 'plot_embedding_voyage_3_large', + numDimensions: 2048, + similarity: 'dotProduct', + quantization: 'scalar' + } + ] + } + } + ] + }, + ok: 1, + '$clusterTime': { + clusterTime: Timestamp({ t: 1755944861, i: 1 }), + signature: { + hash: Binary.createFromBase64('MpVLnzPwR4lpliG75kYSEMdvHXk=', 0), + keyId: Long('7541723951982968838') + } + }, + operationTime: Timestamp({ t: 1755944861, i: 1 }) +} diff --git a/docs/search/community/quick-start/output/0450_execute_search_query.out b/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/03_0450_execute_search_query.out similarity index 100% rename from docs/search/community/quick-start/output/0450_execute_search_query.out rename to scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/03_0450_execute_search_query.out diff --git a/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/03_0455_execute_vector_search_query.out b/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/03_0455_execute_vector_search_query.out new file mode 100644 index 000000000..fb9f3de41 --- /dev/null +++ b/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/03_0455_execute_vector_search_query.out @@ -0,0 +1,54 @@ +mdbc-rs [primary] test> switched to db sample_mflix +mdbc-rs [primary] sample_mflix> ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... [ + { + plot: 'At the age of 21, Tim discovers he can travel in time and change what happens and has happened in his own life. His decision to make his world a better place by getting a girlfriend turns out not to be as easy as you might think.', + title: 'About Time', + score: 0.7704131603240967 + }, + { + plot: 'A psychiatrist makes multiple trips through time to save a woman that was murdered by her brutal husband.', + title: 'Retroactive', + score: 0.7597770690917969 + }, + { + plot: 'An officer for a security agency that regulates time travel, must fend for his life against a shady politician who has a tie to his past.', + title: 'Timecop', + score: 0.7574796676635742 + }, + { + plot: 'A time-travel experiment in which a robot probe is sent from the year 2073 to the year 1973 goes terribly wrong thrusting one of the project scientists, a man named Nicholas Sinclair into a...', + title: 'A.P.E.X.', + score: 0.7573235034942627 + }, + { + plot: 'After visiting 2015, Marty McFly must repeat his visit to 1955 to prevent disastrous changes to 1985... without interfering with his first trip.', + title: 'Back to the Future Part II', + score: 0.751945972442627 + }, + { + plot: 'A reporter, learning of time travelers visiting 20th century disasters, tries to change the history they know by averting upcoming disasters.', + title: 'Thrill Seekers', + score: 0.7503504753112793 + }, + { + plot: 'Hoping to alter the events of the past, a 19th century inventor instead travels 800,000 years into the future, where he finds humankind divided into two warring races.', + title: 'The Time Machine', + score: 0.750007152557373 + }, + { + plot: 'Lyle, a motorcycle champion is traveling the Mexican desert, when he find himself in the action radius of a time machine. So he find himself one century back in the past between rapists, ...', + title: 'Timerider: The Adventure of Lyle Swann', + score: 0.7499568462371826 + }, + { + plot: 'A romantic drama about a Chicago librarian with a gene that causes him to involuntarily time travel, and the complications it creates for his marriage.', + title: "The Time Traveler's Wife", + score: 0.7492842674255371 + }, + { + plot: 'A modern aircraft carrier is thrown back in time to 1941 near Hawaii, just hours before the Japanese attack on Pearl Harbor.', + title: 'The Final Countdown', + score: 0.7472751140594482 + } +] +mdbc-rs [primary] sample_mflix> \ No newline at end of file diff --git a/public/architectures/setup-multi-cluster/setup-operator/output/0205_helm_configure_repo.out b/scripts/code_snippets/tests/outputs/test_kind_search_enterprise_snippets/02_0090_helm_add_mogodb_repo.out similarity index 85% rename from public/architectures/setup-multi-cluster/setup-operator/output/0205_helm_configure_repo.out rename to scripts/code_snippets/tests/outputs/test_kind_search_enterprise_snippets/02_0090_helm_add_mogodb_repo.out index e8630fdff..b1576c236 100644 --- a/public/architectures/setup-multi-cluster/setup-operator/output/0205_helm_configure_repo.out +++ b/scripts/code_snippets/tests/outputs/test_kind_search_enterprise_snippets/02_0090_helm_add_mogodb_repo.out @@ -1,4 +1,4 @@ -"mongodb" has been added to your repositories +"mongodb" already exists with the same configuration, skipping Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "mongodb" chart repository Update Complete. ⎈Happy Helming!⎈ diff --git a/docs/search/community/quick-start/output/0100_install_operator.out b/scripts/code_snippets/tests/outputs/test_kind_search_enterprise_snippets/02_0100_install_operator.out similarity index 90% rename from docs/search/community/quick-start/output/0100_install_operator.out rename to scripts/code_snippets/tests/outputs/test_kind_search_enterprise_snippets/02_0100_install_operator.out index 075f69619..00371a764 100644 --- a/docs/search/community/quick-start/output/0100_install_operator.out +++ b/scripts/code_snippets/tests/outputs/test_kind_search_enterprise_snippets/02_0100_install_operator.out @@ -1,12 +1,15 @@ Release "mongodb-kubernetes" does not exist. Installing it now. NAME: mongodb-kubernetes -LAST DEPLOYED: Mon Jul 28 15:07:59 2025 -NAMESPACE: mongodb +LAST DEPLOYED: Sun Aug 24 14:01:47 2025 +NAMESPACE: ls STATUS: deployed REVISION: 1 TEST SUITE: None USER-SUPPLIED VALUES: +agent: + version: 108.0.2.8729-1 database: + name: mongodb-kubernetes-database version: 68876175f5ad6d0007fdc1d4 initAppDb: version: 68876175f5ad6d0007fdc1d4 @@ -14,8 +17,22 @@ initDatabase: version: 68876175f5ad6d0007fdc1d4 initOpsManager: version: 68876175f5ad6d0007fdc1d4 +managedSecurityContext: false +mongodb: + imageType: ubi9 + name: mongodb-enterprise-server operator: + enablePVCResize: true + maxConcurrentReconciles: 10 + mdbDefaultArchitecture: non-static + telemetry: + collection: + frequency: 1m + send: + enabled: false version: 68876175f5ad6d0007fdc1d4 +opsManager: + name: mongodb-enterprise-ops-manager-ubi registry: agent: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev appDb: quay.io/mongodb @@ -25,11 +42,11 @@ registry: initDatabase: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev initOpsManager: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev operator: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev - opsManager: quay.io/mongodb + opsManager: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev search: community: - name: community - repo: 268558157000.dkr.ecr.eu-west-1.amazonaws.com/mongot + name: mongot/community + repo: 268558157000.dkr.ecr.eu-west-1.amazonaws.com version: fbd60fb055dd500058edcb45677ea85d19421f47 COMPUTED VALUES: @@ -76,7 +93,7 @@ initOpsManager: managedSecurityContext: false mongodb: appdbAssumeOldFormat: false - imageType: ubi8 + imageType: ubi9 name: mongodb-enterprise-server repo: quay.io/mongodb multiCluster: @@ -94,7 +111,7 @@ operator: enableClusterMongoDBRoles: true enablePVCResize: true env: prod - maxConcurrentReconciles: 1 + maxConcurrentReconciles: 10 mdbDefaultArchitecture: non-static name: mongodb-kubernetes-operator nodeSelector: {} @@ -111,9 +128,10 @@ operator: collection: clusters: {} deployments: {} - frequency: 1h + frequency: 1m operators: {} send: + enabled: false frequency: 168h tolerations: [] vaultSecretBackend: @@ -143,14 +161,14 @@ registry: initDatabase: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev initOpsManager: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev operator: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev - opsManager: quay.io/mongodb + opsManager: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev pullPolicy: Always readinessProbe: quay.io/mongodb versionUpgradeHook: quay.io/mongodb search: community: - name: community - repo: 268558157000.dkr.ecr.eu-west-1.amazonaws.com/mongot + name: mongot/community + repo: 268558157000.dkr.ecr.eu-west-1.amazonaws.com version: fbd60fb055dd500058edcb45677ea85d19421f47 versionUpgradeHook: name: mongodb-kubernetes-operator-version-upgrade-post-start-hook @@ -164,7 +182,7 @@ apiVersion: v1 kind: ServiceAccount metadata: name: mongodb-kubernetes-appdb - namespace: mongodb + namespace: ls imagePullSecrets: - name: image-registries-secret --- @@ -173,7 +191,7 @@ apiVersion: v1 kind: ServiceAccount metadata: name: mongodb-kubernetes-database-pods - namespace: mongodb + namespace: ls imagePullSecrets: - name: image-registries-secret --- @@ -182,7 +200,7 @@ apiVersion: v1 kind: ServiceAccount metadata: name: mongodb-kubernetes-ops-manager - namespace: mongodb + namespace: ls imagePullSecrets: - name: image-registries-secret --- @@ -191,7 +209,7 @@ apiVersion: v1 kind: ServiceAccount metadata: name: mongodb-kubernetes-operator - namespace: mongodb + namespace: ls imagePullSecrets: - name: image-registries-secret --- @@ -199,7 +217,7 @@ imagePullSecrets: kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata: - name: mongodb-kubernetes-operator-mongodb-cluster-mongodb-role + name: mongodb-kubernetes-operator-ls-cluster-mongodb-role rules: - apiGroups: - mongodb.com @@ -267,22 +285,22 @@ rules: kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: - name: mongodb-kubernetes-operator-mongodb-cluster-mongodb-role-binding + name: mongodb-kubernetes-operator-ls-cluster-mongodb-role-binding roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole - name: mongodb-kubernetes-operator-mongodb-cluster-mongodb-role + name: mongodb-kubernetes-operator-ls-cluster-mongodb-role subjects: - kind: ServiceAccount name: mongodb-kubernetes-operator - namespace: mongodb + namespace: ls --- # Source: mongodb-kubernetes/templates/operator-roles-telemetry.yaml # ClusterRoleBinding for clusterVersionDetection kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: - name: mongodb-kubernetes-operator-mongodb-cluster-telemetry-binding + name: mongodb-kubernetes-operator-ls-cluster-telemetry-binding roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole @@ -290,13 +308,13 @@ roleRef: subjects: - kind: ServiceAccount name: mongodb-kubernetes-operator - namespace: mongodb + namespace: ls --- # Source: mongodb-kubernetes/templates/operator-roles-webhook.yaml kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: - name: mongodb-kubernetes-operator-mongodb-webhook-binding + name: mongodb-kubernetes-operator-ls-webhook-binding roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole @@ -304,14 +322,14 @@ roleRef: subjects: - kind: ServiceAccount name: mongodb-kubernetes-operator - namespace: mongodb + namespace: ls --- # Source: mongodb-kubernetes/templates/database-roles.yaml kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: mongodb-kubernetes-appdb - namespace: mongodb + namespace: ls rules: - apiGroups: - '' @@ -333,7 +351,7 @@ kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: mongodb-kubernetes-operator - namespace: mongodb + namespace: ls rules: - apiGroups: - '' @@ -414,7 +432,7 @@ kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: mongodb-kubernetes-operator-pvc-resize - namespace: mongodb + namespace: ls rules: - apiGroups: - '' @@ -433,7 +451,7 @@ kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: mongodb-kubernetes-appdb - namespace: mongodb + namespace: ls roleRef: apiGroup: rbac.authorization.k8s.io kind: Role @@ -441,14 +459,14 @@ roleRef: subjects: - kind: ServiceAccount name: mongodb-kubernetes-appdb - namespace: mongodb + namespace: ls --- # Source: mongodb-kubernetes/templates/operator-roles-base.yaml kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: mongodb-kubernetes-operator - namespace: mongodb + namespace: ls roleRef: apiGroup: rbac.authorization.k8s.io kind: Role @@ -456,14 +474,14 @@ roleRef: subjects: - kind: ServiceAccount name: mongodb-kubernetes-operator - namespace: mongodb + namespace: ls --- # Source: mongodb-kubernetes/templates/operator-roles-pvc-resize.yaml kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: mongodb-kubernetes-operator-pvc-resize-binding - namespace: mongodb + namespace: ls roleRef: apiGroup: rbac.authorization.k8s.io kind: Role @@ -471,14 +489,14 @@ roleRef: subjects: - kind: ServiceAccount name: mongodb-kubernetes-operator - namespace: mongodb + namespace: ls --- # Source: mongodb-kubernetes/templates/operator.yaml apiVersion: apps/v1 kind: Deployment metadata: name: mongodb-kubernetes-operator - namespace: mongodb + namespace: ls spec: replicas: 1 selector: @@ -533,7 +551,9 @@ spec: fieldRef: fieldPath: metadata.namespace - name: MDB_OPERATOR_TELEMETRY_COLLECTION_FREQUENCY - value: "1h" + value: "1m" + - name: MDB_OPERATOR_TELEMETRY_SEND_ENABLED + value: "false" - name: MDB_OPERATOR_TELEMETRY_SEND_FREQUENCY value: "168h" - name: CLUSTER_CLIENT_TIMEOUT @@ -551,7 +571,7 @@ spec: value: 68876175f5ad6d0007fdc1d4 # Ops Manager - name: OPS_MANAGER_IMAGE_REPOSITORY - value: quay.io/mongodb/mongodb-enterprise-ops-manager-ubi + value: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-enterprise-ops-manager-ubi - name: INIT_OPS_MANAGER_IMAGE_REPOSITORY value: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-init-ops-manager - name: INIT_OPS_MANAGER_VERSION @@ -572,13 +592,13 @@ spec: - name: MONGODB_REPO_URL value: quay.io/mongodb - name: MDB_IMAGE_TYPE - value: ubi8 + value: ubi9 - name: PERFORM_FAILOVER value: 'true' - name: IMAGE_PULL_SECRETS value: image-registries-secret - name: MDB_MAX_CONCURRENT_RECONCILES - value: "1" + value: "10" - name: POD_NAME valueFrom: fieldRef: @@ -600,9 +620,9 @@ spec: value: "ubi8" # Community Env Vars End - name: MDB_SEARCH_COMMUNITY_REPO_URL - value: "268558157000.dkr.ecr.eu-west-1.amazonaws.com/mongot" + value: "268558157000.dkr.ecr.eu-west-1.amazonaws.com" - name: MDB_SEARCH_COMMUNITY_NAME - value: "community" + value: "mongot/community" - name: MDB_SEARCH_COMMUNITY_VERSION value: "fbd60fb055dd500058edcb45677ea85d19421f47" diff --git a/scripts/code_snippets/tests/test_gke_multi_cluster_no_mesh_snippets.sh b/scripts/code_snippets/tests/test_gke_multi_cluster_no_mesh_snippets.sh new file mode 100755 index 000000000..0eff029ff --- /dev/null +++ b/scripts/code_snippets/tests/test_gke_multi_cluster_no_mesh_snippets.sh @@ -0,0 +1,78 @@ +#!/usr/bin/env bash + +set -eou pipefail +source scripts/dev/set_env_context.sh + +script_name=$(readlink -f "${BASH_SOURCE[0]}") + +_SNIPPETS_OUTPUT_DIR="$(dirname "${script_name}")/outputs/$(basename "${script_name%.*}")" +export _SNIPPETS_OUTPUT_DIR +mkdir -p "${_SNIPPETS_OUTPUT_DIR}" + +function cleanup() { + if [ "${code_snippets_teardown:-true}" = true ]; then + echo "Deleting clusters and resources" + ./public/architectures/ra-10-ops-manager-mc-no-mesh/teardown.sh & + ./public/architectures/setup-multi-cluster/ra-09-setup-externaldns/teardown.sh & + wait + + ./public/architectures/setup-multi-cluster/ra-01-setup-gke/teardown.sh + elif [ "${code_snippets_reset:-false}" = true ]; then + echo "Deleting resources, keeping the clusters" + ./public/architectures/ra-10-ops-manager-mc-no-mesh/teardown.sh & + ./public/architectures/ra-11-mongodb-sharded-mc-no-mesh/teardown.sh & + ./public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/teardown.sh & + ./public/architectures/setup-multi-cluster/ra-09-setup-externaldns/teardown.sh & + wait + + ./public/architectures/setup-multi-cluster/ra-02-setup-operator/teardown.sh + else + echo "Not deleting anything" + fi +} + +dump_logs() { + scripts/evergreen/e2e/dump_diagnostic_information_from_all_namespaces.sh "${K8S_CLUSTER_0_CONTEXT_NAME}" + scripts/evergreen/e2e/dump_diagnostic_information_from_all_namespaces.sh "${K8S_CLUSTER_1_CONTEXT_NAME}" + scripts/evergreen/e2e/dump_diagnostic_information_from_all_namespaces.sh "${K8S_CLUSTER_2_CONTEXT_NAME}" +} + +cmd=${1:-""} +if [[ "${cmd}" == "dump_logs" ]]; then + source public/architectures/setup-multi-cluster/ra-01-setup-gke/env_variables.sh + dump_logs + exit 0 +elif [[ "${cmd}" == "cleanup" ]]; then + source public/architectures/setup-multi-cluster/ra-01-setup-gke/env_variables.sh + cleanup + exit 0 +fi + +function on_exit() { + dump_logs + cleanup +} + +trap on_exit EXIT + +source public/architectures/setup-multi-cluster/ra-01-setup-gke/env_variables.sh +# we need some env vars, e.g. OM_NAMESPACE for teardown in case setup gke is failing +source public/architectures/setup-multi-cluster/ra-02-setup-operator/env_variables.sh + +./public/architectures/setup-multi-cluster/ra-01-setup-gke/test.sh + +./public/architectures/setup-multi-cluster/ra-02-setup-operator/test.sh + +./public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/test.sh + +source public/architectures/setup-multi-cluster/ra-09-setup-externaldns/env_variables.sh +./public/architectures/setup-multi-cluster/ra-09-setup-externaldns/test.sh + +source public/architectures/ra-10-ops-manager-mc-no-mesh/env_variables.sh +./public/architectures/ra-10-ops-manager-mc-no-mesh/test.sh + +source public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/env_variables.sh +./public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/test.sh + +source public/architectures/ra-11-mongodb-sharded-mc-no-mesh/env_variables.sh +./public/architectures/ra-11-mongodb-sharded-mc-no-mesh/test.sh diff --git a/scripts/code_snippets/tests/test_gke_multi_cluster_snippets.sh b/scripts/code_snippets/tests/test_gke_multi_cluster_snippets.sh new file mode 100755 index 000000000..614d167f4 --- /dev/null +++ b/scripts/code_snippets/tests/test_gke_multi_cluster_snippets.sh @@ -0,0 +1,73 @@ +#!/usr/bin/env bash + +set -eou pipefail +source scripts/dev/set_env_context.sh + +script_name=$(readlink -f "${BASH_SOURCE[0]}") + +_SNIPPETS_OUTPUT_DIR="$(dirname "${script_name}")/outputs/$(basename "${script_name%.*}")" +export _SNIPPETS_OUTPUT_DIR +mkdir -p "${_SNIPPETS_OUTPUT_DIR}" + +function cleanup() { + if [ "${code_snippets_teardown:-true}" = true ]; then + echo "Deleting clusters" + ./public/architectures/setup-multi-cluster/ra-01-setup-gke/teardown.sh + elif [ "${code_snippets_reset:-false}" = true ]; then + echo "Deleting resources, keeping the clusters" + ./public/architectures/ra-06-ops-manager-multi-cluster/teardown.sh & + ./public/architectures/ra-08-mongodb-sharded-multi-cluster/teardown.sh & + ./public/architectures/ra-07-mongodb-replicaset-multi-cluster/teardown.sh & + wait + + ./public/architectures/setup-multi-cluster/ra-02-setup-operator/teardown.sh + else + echo "Not deleting anything" + fi +} + +dump_logs() { + scripts/evergreen/e2e/dump_diagnostic_information_from_all_namespaces.sh "${K8S_CLUSTER_0_CONTEXT_NAME}" + scripts/evergreen/e2e/dump_diagnostic_information_from_all_namespaces.sh "${K8S_CLUSTER_1_CONTEXT_NAME}" + scripts/evergreen/e2e/dump_diagnostic_information_from_all_namespaces.sh "${K8S_CLUSTER_2_CONTEXT_NAME}" +} + +cmd=${1:-""} +if [[ "${cmd}" == "dump_logs" ]]; then + source public/architectures/setup-multi-cluster/ra-01-setup-gke/env_variables.sh + dump_logs + exit 0 +elif [[ "${cmd}" == "cleanup" ]]; then + source public/architectures/setup-multi-cluster/ra-01-setup-gke/env_variables.sh + cleanup + exit 0 +fi +# if no cmd, proceed with the test normally +function on_exit() { + dump_logs + cleanup +} + +trap on_exit EXIT + + +source public/architectures/setup-multi-cluster/ra-01-setup-gke/env_variables.sh +./public/architectures/setup-multi-cluster/ra-01-setup-gke/test.sh + +source public/architectures/setup-multi-cluster/ra-02-setup-operator/env_variables.sh +./public/architectures/setup-multi-cluster/ra-02-setup-operator/test.sh + +./public/architectures/setup-multi-cluster/ra-03-setup-istio/test.sh + +./public/architectures/setup-multi-cluster/ra-04-verify-connectivity/test.sh + +./public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/test.sh + +source public/architectures/ra-06-ops-manager-multi-cluster/env_variables.sh +./public/architectures/ra-06-ops-manager-multi-cluster/test.sh + +source public/architectures/ra-07-mongodb-replicaset-multi-cluster/env_variables.sh +./public/architectures/ra-07-mongodb-replicaset-multi-cluster/test.sh + +source public/architectures/ra-08-mongodb-sharded-multi-cluster/env_variables.sh +./public/architectures/ra-08-mongodb-sharded-multi-cluster/test.sh diff --git a/scripts/code_snippets/tests/test_kind_search_community_snippets.sh b/scripts/code_snippets/tests/test_kind_search_community_snippets.sh new file mode 100755 index 000000000..7fb16a6e5 --- /dev/null +++ b/scripts/code_snippets/tests/test_kind_search_community_snippets.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +set -eou pipefail +test "${MDB_BASH_DEBUG:-0}" -eq 1 && set -x + +source scripts/dev/set_env_context.sh + +script_name=$(readlink -f "${BASH_SOURCE[0]}") + +_SNIPPETS_OUTPUT_DIR="$(dirname "${script_name}")/outputs/$(basename "${script_name%.*}")" +export _SNIPPETS_OUTPUT_DIR +mkdir -p "${_SNIPPETS_OUTPUT_DIR}" + +dump_logs() { + source scripts/evergreen/e2e/dump_diagnostic_information.sh + if [[ "${SKIP_DUMP:-"false"}" != "true" ]]; then + dump_all_non_default_namespaces "$@" + echo + fi +} +trap dump_logs EXIT + +test_dir="./docs/search/01-search-community-deploy" +source "${test_dir}/env_variables.sh" +echo "Sourcing env variables for ${CODE_SNIPPETS_FLAVOR} flavor" +# shellcheck disable=SC1090 +test -f "${test_dir}/env_variables_${CODE_SNIPPETS_FLAVOR}.sh" && source "${test_dir}/env_variables_${CODE_SNIPPETS_FLAVOR}.sh" +${test_dir}/test.sh + +test_dir="./docs/search/03-search-query-usage" +echo "Sourcing env variables for ${CODE_SNIPPETS_FLAVOR} flavor" +# shellcheck disable=SC1090 +test -f "${test_dir}/env_variables_${CODE_SNIPPETS_FLAVOR}.sh" && source "${test_dir}/env_variables_${CODE_SNIPPETS_FLAVOR}.sh" + +export MDB_RESOURCE_NAME="mdbc-rs" +export MDB_CONNECTION_STRING="mongodb://mdb-user:${MDB_USER_PASSWORD}@${MDB_RESOURCE_NAME}-0.${MDB_RESOURCE_NAME}-svc.${MDB_NS}.svc.cluster.local:27017/?replicaSet=${MDB_RESOURCE_NAME}" + +${test_dir}/test.sh + diff --git a/scripts/code_snippets/tests/test_kind_search_enterprise_snippets.sh b/scripts/code_snippets/tests/test_kind_search_enterprise_snippets.sh new file mode 100755 index 000000000..be44ab6dc --- /dev/null +++ b/scripts/code_snippets/tests/test_kind_search_enterprise_snippets.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash + +set -eou pipefail +test "${MDB_BASH_DEBUG:-0}" -eq 1 && set -x + +source scripts/dev/set_env_context.sh + +script_name=$(readlink -f "${BASH_SOURCE[0]}") + +_SNIPPETS_OUTPUT_DIR="$(dirname "${script_name}")/outputs/$(basename "${script_name%.*}")" +export _SNIPPETS_OUTPUT_DIR +mkdir -p "${_SNIPPETS_OUTPUT_DIR}" + +dump_logs() { + source scripts/evergreen/e2e/dump_diagnostic_information.sh + if [[ "${SKIP_DUMP:-"false"}" != "true" ]]; then + dump_all_non_default_namespaces "$@" + echo + fi +} +trap dump_logs EXIT + +test_dir="./docs/search/02-search-enterprise-deploy" +source "${test_dir}/env_variables.sh" +echo "Sourcing env variables for ${CODE_SNIPPETS_FLAVOR} flavor" +# shellcheck disable=SC1090 +test -f "${test_dir}/env_variables_${CODE_SNIPPETS_FLAVOR}.sh" && source "${test_dir}/env_variables_${CODE_SNIPPETS_FLAVOR}.sh" +${test_dir}/test.sh + +test_dir="./docs/search/03-search-query-usage" +echo "Sourcing env variables for ${CODE_SNIPPETS_FLAVOR} flavor" +# shellcheck disable=SC1090 +test -f "${test_dir}/env_variables_${CODE_SNIPPETS_FLAVOR}.sh" && source "${test_dir}/env_variables_${CODE_SNIPPETS_FLAVOR}.sh" + +export MDB_RESOURCE_NAME="mdbc-rs" +export MDB_CONNECTION_STRING="mongodb://mdb-user:${MDB_USER_PASSWORD}@${MDB_RESOURCE_NAME}-0.${MDB_RESOURCE_NAME}-svc.${MDB_NS}.svc.cluster.local:27017/?replicaSet=${MDB_RESOURCE_NAME}" + +${test_dir}/test.sh diff --git a/scripts/code_snippets/validate_snippets.py b/scripts/code_snippets/validate_snippets.py new file mode 100755 index 000000000..be797add9 --- /dev/null +++ b/scripts/code_snippets/validate_snippets.py @@ -0,0 +1,68 @@ +#!/usr/bin/env python3 + +import os +import sys +from collections import defaultdict + + +def find_snippet_directories(): + """Find all directories containing both test.sh and code_snippets subdirectory.""" + snippet_dirs = [] + + # Traverse current directory recursively to find test.sh files + for root, dirs, files in os.walk("."): + if "test.sh" in files: + # Check if this directory also has a code_snippets subdirectory + code_snippets_path = os.path.join(root, "code_snippets") + if os.path.isdir(code_snippets_path): + snippet_dirs.append(root) + + return snippet_dirs + + +def verify_snippets_files_are_unique(): + """Check if files in snippet directories have unique names across all directories.""" + dirs = find_snippet_directories() + + if not dirs: + print("No snippet directories found (no test.sh files).") + return True + + file_map = defaultdict(list) + + print(f"Checking for duplicate file names across code snippet directories:\n {"\t\n".join(dirs)}") + + # Scan all files in code_snippets subdirectories only + for snippet_dir in dirs: + code_snippets_dir = os.path.join(snippet_dir, "code_snippets") + if os.path.exists(code_snippets_dir): + for file in os.listdir(code_snippets_dir): + file_path = os.path.join(code_snippets_dir, file) + if os.path.isfile(file_path): + file_map[file].append(file_path) + + # Check for duplicates + duplicates_found = False + for filename, paths in file_map.items(): + if len(paths) > 1: + if not duplicates_found: + print("ERROR: Duplicate file names found:") + duplicates_found = True + print(f" File '{filename}' appears in multiple locations:") + for path in sorted(paths): + print(f" {path}") + print() + + if duplicates_found: + print("Failure - please rename duplicate files to ensure uniqueness across all snippet directories.") + return False + else: + print("OK - all snippets have unique names across directories.") + return True + + +if __name__ == "__main__": + checks = [verify_snippets_files_are_unique()] + + # Exit 0 if all checks pass, 1 if any fail + sys.exit(0 if all(checks) else 1) diff --git a/scripts/dev/contexts/prerelease_gke_code_snippets b/scripts/dev/contexts/prerelease_gke_code_snippets index 61a07676f..c07a18630 100644 --- a/scripts/dev/contexts/prerelease_gke_code_snippets +++ b/scripts/dev/contexts/prerelease_gke_code_snippets @@ -10,7 +10,7 @@ script_dir=$(dirname "${script_name}") source "${script_dir}/root-context" export MDB_GKE_PROJECT="scratch-kubernetes-team" -export K8S_CLUSTER_SUFFIX="-${version_id}-${RANDOM}" +export K8S_CLUSTER_SUFFIX="${K8S_CLUSTER_SUFFIX:-"-${version_id}-${RANDOM}"}" export CODE_SNIPPETS_COMMIT_OUTPUT=true # we reset evg host to use a default ~/.kube/config for GKE instead of the one from evg host diff --git a/scripts/dev/contexts/private_gke_code_snippets b/scripts/dev/contexts/private_gke_code_snippets index 50bc169ce..c88583802 100644 --- a/scripts/dev/contexts/private_gke_code_snippets +++ b/scripts/dev/contexts/private_gke_code_snippets @@ -10,8 +10,10 @@ script_dir=$(dirname "${script_name}") source "${script_dir}/root-context" source "${script_dir}/variables/om80" +export KUBE_ENVIRONMENT_NAME=multi + export MDB_GKE_PROJECT="scratch-kubernetes-team" -export K8S_CLUSTER_SUFFIX="-${version_id}-${RANDOM}" +export K8S_CLUSTER_SUFFIX="${K8S_CLUSTER_SUFFIX:-"-${version_id}-${RANDOM}"}" # we reset evg host to use a default ~/.kube/config for GKE instead of the one from evg host export EVG_HOST_NAME="" diff --git a/scripts/dev/contexts/private_kind_code_snippets b/scripts/dev/contexts/private_kind_code_snippets index 4f968896f..6ae3751d8 100644 --- a/scripts/dev/contexts/private_kind_code_snippets +++ b/scripts/dev/contexts/private_kind_code_snippets @@ -10,7 +10,7 @@ script_dir=$(dirname "${script_name}") source "${script_dir}/root-context" source "${script_dir}/e2e_mdb_community" -export NAMESPACE=mongodb-test +export NAMESPACE=mongodb export CODE_SNIPPETS_FLAVOR=e2e_private export ops_manager_version="cloud_qa" diff --git a/scripts/dev/contexts/public_gke_code_snippets b/scripts/dev/contexts/public_gke_code_snippets index dddae3db9..6cc413dc4 100644 --- a/scripts/dev/contexts/public_gke_code_snippets +++ b/scripts/dev/contexts/public_gke_code_snippets @@ -9,9 +9,11 @@ script_dir=$(dirname "${script_name}") source "${script_dir}/root-context" +export KUBE_ENVIRONMENT_NAME=multi + export MDB_GKE_PROJECT="scratch-kubernetes-team" # shellcheck disable=SC2154 -export K8S_CLUSTER_SUFFIX="-${version_id}-${RANDOM}" +export K8S_CLUSTER_SUFFIX="${K8S_CLUSTER_SUFFIX:-"-${version_id}-${RANDOM}"}" # we reset evg host to use a default ~/.kube/config for GKE instead of the one from evg host export EVG_HOST_NAME="" diff --git a/scripts/evergreen/e2e/dump_diagnostic_information.sh b/scripts/evergreen/e2e/dump_diagnostic_information.sh index f4ea7b986..2e7fde7d2 100755 --- a/scripts/evergreen/e2e/dump_diagnostic_information.sh +++ b/scripts/evergreen/e2e/dump_diagnostic_information.sh @@ -8,12 +8,11 @@ set +e source scripts/funcs/printing -dump_all_non_default_namespaces() { - echo "Gathering logs from all non-default namespaces" +_dump_all_non_default_namespaces() { + local context="${1}" local original_context original_context="$(kubectl config current-context)" - kubectl config use-context "${1:-${original_context}}" &> /dev/null prefix="${1:-${original_context}}_" # shellcheck disable=SC2154 if [[ "${KUBE_ENVIRONMENT_NAME:-}" != "multi" ]]; then @@ -21,36 +20,40 @@ dump_all_non_default_namespaces() { fi mkdir -p logs - namespaces=$(kubectl get namespace --output=jsonpath="{.items[*].metadata.name}" | tr ' ' '\n' | \ + namespaces=$(kubectl --context="${context}" get namespace --output=jsonpath="{.items[*].metadata.name}" | tr ' ' '\n' | \ grep -v "default" | \ grep -v "kube-node-lease" | \ grep -v "kube-node-lease" | \ grep -v "kube-public" | \ grep -v "kube-system" | \ grep -v "local-path-storage" | \ + grep -v "gmp-" | \ + grep -v "gke-managed" | \ + grep -v "local-path-storage" | \ + grep -v "local-path-storage" | \ grep -v "metallb-system" ) for ns in ${namespaces}; do - if kubectl get namespace "${ns}" -o jsonpath='{.metadata.annotations}'; then + if kubectl --context="${context}" get namespace "${ns}" -o jsonpath='{.metadata.annotations}'; then echo "Dumping all diagnostic information for namespace ${ns}" - dump_namespace "${ns}" "${prefix}" + dump_namespace "${context}" "${ns}" "${prefix}" fi done } -dump_all() { +dump_all_non_default_namespaces() { + local context="${1}" + _dump_all_non_default_namespaces "$@" 2>&1 | prepend "${context}" +} + +_dump_all() { [[ "${MODE-}" = "dev" ]] && return mkdir -p logs - # TODO: provide a cleaner way of handling this. For now we run the same command with kubectl configured - # with a different context. - local original_context - original_context="$(kubectl config current-context)" - kubectl config use-context "${1:-${original_context}}" &> /dev/null - prefix="${1:-${original_context}}_" - # shellcheck disable=SC2154 + local context="${1}" + prefix="${context}_" if [[ "${KUBE_ENVIRONMENT_NAME:-}" != "multi" ]]; then prefix="" fi @@ -59,197 +62,241 @@ dump_all() { # but in some exceptional cases (e.g. clusterwide operator) there can be more than 1 namespace to print diagnostics # In this case the python test app may create the test namespace and add necessary labels and annotations so they # would be dumped for diagnostics as well - for ns in $(kubectl get namespace -l "evg=task" --output=jsonpath={.items..metadata.name}); do - if kubectl get namespace "${ns}" -o jsonpath='{.metadata.annotations}' | grep -q "${task_id:-'not-specified'}"; then + for ns in $(kubectl --context="${context}" get namespace -l "evg=task" --output=jsonpath={.items..metadata.name}); do + if kubectl --context="${context}" get namespace "${ns}" -o jsonpath='{.metadata.annotations}' | grep -q "${task_id:-'not-specified'}"; then echo "Dumping all diagnostic information for namespace ${ns}" - dump_namespace "${ns}" "${prefix}" + dump_namespace "${context}" "${ns}" "${prefix}" fi done - if kubectl get namespace "olm" &>/dev/null; then + if kubectl --context="${context}" get namespace "olm" &>/dev/null; then echo "Dumping olm namespace" - dump_namespace "olm" "olm" + dump_namespace "${context}" "olm" "olm" fi - kubectl config use-context "${original_context}" &> /dev/null + kubectl --context="${context}" -n "kube-system" get configmap coredns -o yaml > "logs/${prefix}coredns.yaml" - kubectl -n "kube-system" get configmap coredns -o yaml > "logs/${prefix}coredns.yaml" + kubectl --context="${context}" events --all-namespaces > "logs/${prefix}kube_events.json" +} - kubectl events --all-namespaces > "logs/${prefix}kube_events.json" +dump_all() { + local context="${1}" + _dump_all "$@" 2>&1 | prepend "${context}" } dump_objects() { - local object=$1 - local msg=$2 - local namespace=${3} - local action=${4:-get -o yaml} + local context=$1 + local object=$2 + local msg=$3 + local namespace=${4} + local action=${5:-get -o yaml} + local out_file=${6:-""} + + # First check if the resource type exists + if ! kubectl --context="${context}" get "${object}" --no-headers -o name -n "${namespace}" >/dev/null 2>&1; then + # Resource type doesn't exist, skip silently + return + fi + + # Check if there are any objects of this type + local resource_count + resource_count=$(kubectl --context="${context}" get "${object}" --no-headers -o name -n "${namespace}" 2>/dev/null | wc -l) + if [ "${resource_count}" -eq 0 ]; then + # Resource type exists but no objects of this type, return + return + fi + + # Capture output first to check if it contains actual resources + local temp_output + temp_output=$(kubectl --context="${context}" -n "${namespace}" ${action} "${object}" 2>&1) - if [ "$(kubectl get "${object}" --no-headers -o name -n "${namespace}" | wc -l)" = "0" ]; then - # if no objects of this type, return + # Check if output contains actual resources (not just empty list) + # Skip if it's an empty YAML list (contains "items: []") + if printf '%s\n' "${temp_output}" | grep -Fq "items: []"; then + # Empty list, don't create file return fi - header "${msg}" - # shellcheck disable=SC2086 - kubectl -n "${namespace}" ${action} "${object}" 2>&1 + if [[ -n "${out_file}" ]]; then + { + header "${msg}" + echo "${temp_output}" + } > "${out_file}" + else + header "${msg}" + kubectl --context="${context}" -n "${namespace}" ${action} "${object}" 2>&1 + fi } # get_operator_managed_pods returns a list of names of the Pods that are managed # by the Operator. get_operator_managed_pods() { - local namespace=${1} - kubectl get pods --namespace "${namespace}" --selector=controller=mongodb-enterprise-operator --no-headers -o custom-columns=":metadata.name" + local context=${1} + local namespace=${2} + kubectl --context="${context}" get pods --namespace "${namespace}" --selector=controller=mongodb-enterprise-operator --no-headers -o custom-columns=":metadata.name" } get_all_pods() { - local namespace=${1} - kubectl get pods --namespace "${namespace}" --no-headers -o custom-columns=":metadata.name" + local context=${1} + local namespace=${2} + kubectl --context="${context}" get pods --namespace "${namespace}" --no-headers -o custom-columns=":metadata.name" } is_mdb_resource_pod() { - local pod="${1}" - local namespace="${2}" + local context="${1}" + local pod="${2}" + local namespace="${3}" - kubectl exec "${pod}" -n "${namespace}" -- ls /var/log/mongodb-mms-automation/automation-agent-verbose.log &>/dev/null + kubectl --context="${context}" exec "${pod}" -n "${namespace}" -- ls /var/log/mongodb-mms-automation/automation-agent-verbose.log &>/dev/null } # dump_pod_logs dumps agent and mongodb logs. dump_pod_logs() { - local pod="${1}" - local namespace="${2}" - local prefix="${3}" + local context="${1}" + local pod="${2}" + local namespace="${3}" + local prefix="${4}" - if is_mdb_resource_pod "${pod}" "${namespace}"; then + if is_mdb_resource_pod "${context}" "${pod}" "${namespace}"; then # for MDB resource Pods, we dump the log files from the file system echo "Writing agent and mongodb logs for pod ${pod} to logs" - kubectl cp "${namespace}/${pod}:/var/log/mongodb-mms-automation/automation-agent-verbose.log" "logs/${prefix}${pod}-agent-verbose.log" &> /dev/null - kubectl cp "${namespace}/${pod}:/var/log/mongodb-mms-automation/automation-agent.log" "logs/${prefix}${pod}-agent.log" &> /dev/null - kubectl cp "${namespace}/${pod}:/var/log/mongodb-mms-automation/monitoring-agent-verbose.log" "logs/${prefix}${pod}-monitoring-agent-verbose.log" &> /dev/null - kubectl cp "${namespace}/${pod}:/var/log/mongodb-mms-automation/monitoring-agent.log" "logs/${prefix}${pod}-monitoring-agent.log" &> /dev/null - kubectl logs -n "${namespace}" "${pod}" -c "mongodb-agent-monitoring" > "logs/${prefix}${pod}-monitoring-agent-stdout.log" || true - kubectl logs -n "${namespace}" "${pod}" -c "mongod" > "logs/${prefix}${pod}-mongod-container.log" || true - kubectl logs -n "${namespace}" "${pod}" -c "mongodb-agent" > "logs/${prefix}${pod}-mongodb-agent-container.log" || true - kubectl cp "${namespace}/${pod}:/var/log/mongodb-mms-automation/mongodb.log" "logs/${prefix}${pod}-mongodb.log" &> /dev/null || true + kubectl --context="${context}" cp "${namespace}/${pod}:/var/log/mongodb-mms-automation/automation-agent-verbose.log" "logs/${prefix}${pod}-agent-verbose.log" &> /dev/null + kubectl --context="${context}" cp "${namespace}/${pod}:/var/log/mongodb-mms-automation/automation-agent.log" "logs/${prefix}${pod}-agent.log" &> /dev/null + kubectl --context="${context}" cp "${namespace}/${pod}:/var/log/mongodb-mms-automation/monitoring-agent-verbose.log" "logs/${prefix}${pod}-monitoring-agent-verbose.log" &> /dev/null + kubectl --context="${context}" cp "${namespace}/${pod}:/var/log/mongodb-mms-automation/monitoring-agent.log" "logs/${prefix}${pod}-monitoring-agent.log" &> /dev/null + kubectl --context="${context}" logs -n "${namespace}" "${pod}" -c "mongodb-agent-monitoring" > "logs/${prefix}${pod}-monitoring-agent-stdout.log" || true + kubectl --context="${context}" logs -n "${namespace}" "${pod}" -c "mongod" > "logs/${prefix}${pod}-mongod-container.log" || true + kubectl --context="${context}" logs -n "${namespace}" "${pod}" -c "mongodb-agent" > "logs/${prefix}${pod}-mongodb-agent-container.log" || true + kubectl --context="${context}" cp "${namespace}/${pod}:/var/log/mongodb-mms-automation/mongodb.log" "logs/${prefix}${pod}-mongodb.log" &> /dev/null || true # note that this file may get empty if the logs have already grew too much - seems it's better to have it explicitly empty then just omit - kubectl logs -n "${namespace}" "${pod}" | jq -c -r 'select( .logType == "agent-launcher-script") | .contents' 2> /dev/null > "logs/${prefix}${pod}-launcher.log" + kubectl --context="${context}" logs -n "${namespace}" "${pod}" | jq -c -r 'select( .logType == "agent-launcher-script") | .contents' 2> /dev/null > "logs/${prefix}${pod}-launcher.log" else # for all other pods we want each log per container from kubectl - for container in $(kubectl get pods -n "${namespace}" "${pod}" -o jsonpath='{.spec.containers[*].name}'); do - echo "Writing log file for pod ${pod} - container ${container} to logs/${pod}-${container}.log" - kubectl logs -n "${namespace}" "${pod}" -c "${container}" > "logs/${pod}-${container}.log" + for container in $(kubectl --context="${context}" get pods -n "${namespace}" "${pod}" -o jsonpath='{.spec.containers[*].name}'); do + echo "Writing log file for pod ${pod} - container ${container} to logs/${prefix}${pod}-${container}.log" + kubectl --context="${context}" logs -n "${namespace}" "${pod}" -c "${container}" > "logs/${prefix}${pod}-${container}.log" # Check if the container has restarted by examining its restart count - restartCount=$(kubectl get pod -n "${namespace}" "${pod}" -o jsonpath="{.status.containerStatuses[?(@.name=='${container}')].restartCount}") + restartCount=$(kubectl --context="${context}" get pod -n "${namespace}" "${pod}" -o jsonpath="{.status.containerStatuses[?(@.name=='${container}')].restartCount}") if [ "${restartCount}" -gt 0 ]; then - echo "Writing log file for restarted ${pod} - container ${container} to logs/${pod}-${container}-previous.log" - kubectl logs --previous -n "${namespace}" "${pod}" -c "${container}" > "logs/${pod}-${container}-previous.log" || true + echo "Writing log file for restarted ${pod} - container ${container} to logs/${prefix}${pod}-${container}-previous.log" + kubectl --context="${context}" logs --previous -n "${namespace}" "${pod}" -c "${container}" > "logs/${prefix}${pod}-${container}-previous.log" || true fi done fi - if kubectl exec "${pod}" -n "${namespace}" -- ls /var/log/mongodb-mms-automation/automation-agent-stderr.log &>/dev/null; then - kubectl cp "${namespace}/${pod}:/var/log/mongodb-mms-automation/automation-agent-stderr.log" "logs/${prefix}${pod}-agent-stderr.log" &> /dev/null + if kubectl --context="${context}" exec "${pod}" -n "${namespace}" -- ls /var/log/mongodb-mms-automation/automation-agent-stderr.log &>/dev/null; then + kubectl --context="${context}" cp "${namespace}/${pod}:/var/log/mongodb-mms-automation/automation-agent-stderr.log" "logs/${prefix}${pod}-agent-stderr.log" &> /dev/null fi } # dump_pod_readiness_state dumps readiness and agent-health-status files. dump_pod_readiness_state() { - local pod="${1}" - local namespace="${2}" - local prefix="${3}" + local context="${1}" + local pod="${2}" + local namespace="${3}" + local prefix="${4}" # kubectl cp won't create any files if the file doesn't exist in the container agent_health_status="logs/${prefix}${pod}-agent-health-status.json" echo "Writing agent ${agent_health_status}" - kubectl cp -c "mongodb-agent" "${namespace}/${pod}:/var/log/mongodb-mms-automation/agent-health-status.json" "${agent_health_status}" &> /dev/null + kubectl --context="${context}" cp -c "mongodb-agent" "${namespace}/${pod}:/var/log/mongodb-mms-automation/agent-health-status.json" "${agent_health_status}" &> /dev/null ([[ -f "${agent_health_status}" ]] && jq . < "${agent_health_status}" > tmpfile && mv tmpfile "${agent_health_status}") if [[ ! -f "${agent_health_status}" ]]; then echo "Agent health status not found; trying community health status: " - kubectl cp -c "mongodb-agent" "${namespace}/${pod}:/var/log/mongodb-mms-automation/healthstatus/agent-health-status.json" "${agent_health_status}" &> /dev/null + kubectl --context="${context}" cp -c "mongodb-agent" "${namespace}/${pod}:/var/log/mongodb-mms-automation/healthstatus/agent-health-status.json" "${agent_health_status}" &> /dev/null ([[ -f "${agent_health_status}" ]] && jq . < "${agent_health_status}" > tmpfile && mv tmpfile "${agent_health_status}") fi - kubectl cp "${namespace}/${pod}:/var/log/mongodb-mms-automation/readiness.log" "logs/${prefix}${pod}-readiness.log" &> /dev/null + kubectl --context="${context}" cp "${namespace}/${pod}:/var/log/mongodb-mms-automation/readiness.log" "logs/${prefix}${pod}-readiness.log" &> /dev/null } # dump_pod_config dumps mongod configuration and cluster-config. dump_pod_config() { - local pod="${1}" - local namespace="${2}" - local prefix="${3}" + local context="${1}" + local pod="${2}" + local namespace="${3}" + local prefix="${4}" # cluster-config.json is a mounted volume and the actual file is located in the "..data" directory pod_cluster_config="logs/${prefix}${pod}-cluster-config.json" - kubectl cp "${namespace}/${pod}:/var/lib/mongodb-automation/..data/cluster-config.json" "${pod_cluster_config}" &> /dev/null + kubectl --context="${context}" cp "${namespace}/${pod}:/var/lib/mongodb-automation/..data/cluster-config.json" "${pod_cluster_config}" &> /dev/null ([[ -f "${pod_cluster_config}" ]] && jq . < "${pod_cluster_config}" > tmpfile && mv tmpfile "${pod_cluster_config}") # Mongodb Configuration - kubectl cp "${namespace}/${pod}:data/automation-mongod.conf" "logs/${prefix}${pod}-automation-mongod.conf" &> /dev/null + kubectl --context="${context}" cp "${namespace}/${pod}:data/automation-mongod.conf" "logs/${prefix}${pod}-automation-mongod.conf" &> /dev/null } dump_configmaps() { - local namespace="${1}" - local prefix="${2}" - kubectl -n "${namespace}" get configmaps -o yaml > "logs/${prefix}z_configmaps.txt" + local context="${1}" + local namespace="${2}" + local prefix="${3}" + kubectl --context="${context}" -n "${namespace}" get configmaps -o yaml > "logs/${prefix}z_configmaps.txt" } decode_secret() { - local secret=${1} - local namespace=${2} + local context=${1} + local secret=${2} + local namespace=${3} - kubectl get secret "${secret}" -o json -n "${namespace}" | jq -r '.data | with_entries(.value |= @base64d)' 2> /dev/null + kubectl --context="${context}" get secret "${secret}" -o json -n "${namespace}" | jq -r '.data | with_entries(.value |= @base64d)' 2> /dev/null } dump_secrets() { - local namespace="${1}" - local prefix="${2}" - for secret in $(kubectl get secrets -n "${namespace}" --no-headers | grep -v service-account-token | grep -v dockerconfigjson | awk '{ print $1 }'); do - decode_secret "${secret}" "${namespace}" > "logs/${prefix}z_secret_${secret}.txt" + local context="${1}" + local namespace="${2}" + local prefix="${3}" + for secret in $(kubectl --context="${context}" get secrets -n "${namespace}" --no-headers | grep -v service-account-token | grep -v dockerconfigjson | awk '{ print $1 }'); do + decode_secret "${context}" "${secret}" "${namespace}" > "logs/${prefix}z_secret_${secret}.txt" done } dump_services() { - local namespace="${1}" - local prefix="${2}" - kubectl -n "${namespace}" get svc -o yaml > "logs/${prefix}z_services.txt" + local context="${1}" + local namespace="${2}" + local prefix="${3}" + kubectl --context="${context}" -n "${namespace}" get svc -o yaml > "logs/${prefix}z_services.txt" } dump_metrics() { - local namespace="${1}" - local operator_pod="${2}" - kubectl exec -it "${operator_pod}" -n "${namespace}" -- curl localhost:8080/metrics > "logs/metrics_${operator_pod}.txt" + local context="${1}" + local namespace="${2}" + local operator_pod="${3}" + local prefix="${4}" + kubectl --context="${context}" exec -it "${operator_pod}" -n "${namespace}" -- curl localhost:8080/metrics > "logs/${prefix}metrics_${operator_pod}.txt" } # dump_pods writes logs for each relevant Pod in the namespace: agent, mongodb # logs, etc. dump_pods() { - local namespace="${1}" - local prefix="${2}" + local context="${1}" + local namespace="${2}" + local prefix="${3}" - pods=$(get_all_pods "${namespace}") + pods=$(get_all_pods "${context}" "${namespace}") # we only have readiness and automationconfig in mdb pods for pod in ${pods}; do - dump_pod_readiness_state "${pod}" "${namespace}" "${prefix}" - dump_pod_config "${pod}" "${namespace}" "${prefix}" + dump_pod_readiness_state "${context}" "${pod}" "${namespace}" "${prefix}" + dump_pod_config "${context}" "${pod}" "${namespace}" "${prefix}" done # for all pods in the namespace we want to have logs and describe output echo "Iterating over pods to dump logs: ${pods}" for pod in ${pods}; do - kubectl describe "pod/${pod}" -n "${namespace}" > "logs/${prefix}${pod}-pod-describe.txt" - dump_pod_logs "${pod}" "${namespace}" "${prefix}" + kubectl --context="${context}" describe "pod/${pod}" -n "${namespace}" > "logs/${prefix}${pod}-pod-describe.txt" + dump_pod_logs "${context}" "${pod}" "${namespace}" "${prefix}" done - if (kubectl get pod -n "${namespace}" -l app.kubernetes.io/name=controller ) &> /dev/null ; then - operator_pod=$(kubectl get pod -n "${namespace}" -l app.kubernetes.io/component=controller --no-headers -o custom-columns=":metadata.name") + if (kubectl --context="${context}" get pod -n "${namespace}" -l app.kubernetes.io/name=controller ) &> /dev/null ; then + operator_pod=$(kubectl --context="${context}" get pod -n "${namespace}" -l app.kubernetes.io/component=controller --no-headers -o custom-columns=":metadata.name") if [ -n "${operator_pod}" ]; then - kubectl describe "pod/${operator_pod}" -n "${namespace}" > "logs/z_${operator_pod}-pod-describe.txt" - dump_metrics "${namespace}" "${operator_pod}" + kubectl --context="${context}" describe "pod/${operator_pod}" -n "${namespace}" > "logs/${prefix}z_${operator_pod}-pod-describe.txt" + dump_metrics "${context}" "${namespace}" "${operator_pod}" "${prefix}" fi fi @@ -260,53 +307,57 @@ dump_pods() { # high density of information; the main objective of this file is to direct you # to a place where to find your problem, not to tell you what the problem is. dump_diagnostics() { - local namespace="${1}" - - dump_objects mongodb "MongoDB Resources" "${namespace}" - dump_objects mongodbcommunity "MongoDBCommunity Resources" "${namespace}" - dump_objects mongodbusers "MongoDBUser Resources" "${namespace}" - dump_objects opsmanagers "MongoDBOpsManager Resources" "${namespace}" - dump_objects mongodbmulticluster "MongoDB Multi Resources" "${namespace}" - dump_objects mongodbsearch "MongoDB Search Resources" "${namespace}" + local context="${1}" + local namespace="${2}" header "All namespace resources" - kubectl get all -n "${namespace}" + kubectl --context="${context}" get all -n "${namespace}" + + dump_objects "${context}" mongodb "MongoDB Resources" "${namespace}" "get -o yaml" + dump_objects "${context}" mongodbcommunity "MongoDBCommunity Resources" "${namespace}" "get -o yaml" + dump_objects "${context}" mongodbusers "MongoDBUser Resources" "${namespace}" "get -o yaml" + dump_objects "${context}" opsmanagers "MongoDBOpsManager Resources" "${namespace}" "get -o yaml" + dump_objects "${context}" mongodbmulticluster "MongoDB Multi Resources" "${namespace}" "get -o yaml" + dump_objects "${context}" mongodbsearch "MongoDB Search Resources" "${namespace}" "get -o yaml" } download_test_results() { - local namespace="${1}" - local test_pod_name="${2:-e2e-test}" + local context="${1}" + local namespace="${2}" + local test_pod_name="${3:-e2e-test}" echo "Downloading test results from ${test_pod_name} pod" # Try to copy from shared volume using the keepalive container - if kubectl cp "${namespace}/${test_pod_name}:/tmp/results/result.suite" "logs/result.suite" -c keepalive 2>/dev/null; then + if kubectl --context="${context}" cp "${namespace}/${test_pod_name}:/tmp/results/result.suite" "logs/result.suite" -c keepalive 2>/dev/null; then echo "Successfully downloaded result.suite from test pod" else echo "Could not find result.suite via direct copy" # Get logs from the test container - kubectl logs -n "${namespace}" "${test_pod_name}" -c e2e-test > "logs/result.suite" 2>/dev/null + kubectl --context="${context}" logs -n "${namespace}" "${test_pod_name}" -c e2e-test > "logs/result.suite" 2>/dev/null fi } # dump_events gets all events from a namespace and saves them to a file dump_events() { - local namespace="${1}" - local prefix="${2}" + local context="${1}" + local namespace="${2}" + local prefix="${3}" echo "Collecting events for namespace ${namespace}" # Sort by lastTimestamp to have the most recent events at the top - kubectl get events --sort-by='.lastTimestamp' -n "${namespace}" > "logs/${prefix}events.txt" + kubectl --context="${context}" get events --sort-by='.lastTimestamp' -n "${namespace}" > "logs/${prefix}events.txt" # Also get events in yaml format for more details - kubectl get events -n "${namespace}" -o yaml > "logs/${prefix}events_detailed.yaml" + kubectl --context="${context}" get events -n "${namespace}" -o yaml > "logs/${prefix}events_detailed.yaml" } # dump_namespace dumps a namespace, diagnostics, logs and generic Kubernetes # resources. dump_namespace() { - local namespace=${1} - local prefix="${2}" + local context=${1} + local namespace=${2} + local prefix="${3}_${namespace}_" # do not fail for any reason set +e @@ -316,42 +367,42 @@ dump_namespace() { mkdir -p logs # 2. Write diagnostics file - dump_diagnostics "${namespace}" > "logs/${prefix}0_diagnostics.txt" + dump_diagnostics "${context}" "${namespace}" > "logs/${prefix}0_diagnostics.txt" # 3. Print Pod logs - dump_pods "${namespace}" "${prefix}" + dump_pods "${context}" "${namespace}" "${prefix}" # 4. Print other Kubernetes resources - dump_configmaps "${namespace}" "${prefix}" - dump_secrets "${namespace}" "${prefix}" - dump_services "${namespace}" "${prefix}" - dump_events "${namespace}" "${prefix}" + dump_configmaps "${context}" "${namespace}" "${prefix}" + dump_secrets "${context}" "${namespace}" "${prefix}" + dump_services "${context}" "${namespace}" "${prefix}" + dump_events "${context}" "${namespace}" "${prefix}" # Download test results from the test pod in community - download_test_results "${namespace}" "e2e-test" - - dump_objects pvc "Persistent Volume Claims" "${namespace}" > "logs/${prefix}z_persistent_volume_claims.txt" - dump_objects deploy "Deployments" "${namespace}" > "logs/${prefix}z_deployments.txt" - dump_objects deploy "Deployments" "${namespace}" "describe" > "logs/${prefix}z_deployments_describe.txt" - dump_objects sts "StatefulSets" "${namespace}" describe > "logs/${prefix}z_statefulsets.txt" - dump_objects sts "StatefulSets Yaml" "${namespace}" >> "logs/${prefix}z_statefulsets.txt" - dump_objects serviceaccounts "ServiceAccounts" "${namespace}" > "logs/${prefix}z_service_accounts.txt" - dump_objects clusterrolebindings "ClusterRoleBindings" "${namespace}" > "logs/${prefix}z_clusterrolebindings.txt" - dump_objects clusterroles "ClusterRoles" "${namespace}" > "logs/${prefix}z_clusterroles.txt" - dump_objects rolebindings "RoleBindings" "${namespace}" > "logs/${prefix}z_rolebindings.txt" - dump_objects roles "Roles" "${namespace}" > "logs/${prefix}z_roles.txt" - dump_objects validatingwebhookconfigurations "Validating Webhook Configurations" "${namespace}" > "logs/${prefix}z_validatingwebhookconfigurations.txt" - dump_objects certificates.cert-manager.io "Cert-manager certificates" "${namespace}" 2> /dev/null > "logs/${prefix}z_certificates_certmanager.txt" - dump_objects catalogsources "OLM CatalogSources" "${namespace}" 2> /dev/null > "logs/${prefix}z_olm_catalogsources.txt" - dump_objects operatorgroups "OLM OperatorGroups" "${namespace}" 2> /dev/null > "logs/${prefix}z_olm_operatorgroups.txt" - dump_objects subscriptions "OLM Subscriptions" "${namespace}" 2> /dev/null > "logs/${prefix}z_olm_subscriptions.txt" - dump_objects installplans "OLM InstallPlans" "${namespace}" 2> /dev/null > "logs/${prefix}z_olm_installplans.txt" - dump_objects clusterserviceversions "OLM ClusterServiceVersions" "${namespace}" 2> /dev/null > "logs/${prefix}z_olm_clusterserviceversions.txt" - dump_objects pods "Pods" "${namespace}" 2> /dev/null > "logs/${prefix}z_pods.txt" - - kubectl get crd -o name + download_test_results "${context}" "${namespace}" "e2e-test" + + dump_objects "${context}" pvc "Persistent Volume Claims" "${namespace}" "get -o yaml" "logs/${prefix}z_persistent_volume_claims.txt" + dump_objects "${context}" deploy "Deployments" "${namespace}" "get -o yaml" "logs/${prefix}z_deployments.txt" + dump_objects "${context}" deploy "Deployments" "${namespace}" "describe" "logs/${prefix}z_deployments_describe.txt" + dump_objects "${context}" sts "StatefulSets" "${namespace}" "describe" "logs/${prefix}z_statefulsets.txt" + dump_objects "${context}" sts "StatefulSets Yaml" "${namespace}" "get -o yaml" "logs/${prefix}z_statefulsets.txt" + dump_objects "${context}" serviceaccounts "ServiceAccounts" "${namespace}" "get -o yaml" "logs/${prefix}z_service_accounts.txt" + dump_objects "${context}" clusterrolebindings "ClusterRoleBindings" "${namespace}" "get -o yaml" "logs/${prefix}z_clusterrolebindings.txt" + dump_objects "${context}" clusterroles "ClusterRoles" "${namespace}" "get -o yaml" "logs/${prefix}z_clusterroles.txt" + dump_objects "${context}" rolebindings "RoleBindings" "${namespace}" "get -o yaml" "logs/${prefix}z_rolebindings.txt" + dump_objects "${context}" roles "Roles" "${namespace}" "get -o yaml" "logs/${prefix}z_roles.txt" + dump_objects "${context}" validatingwebhookconfigurations "Validating Webhook Configurations" "${namespace}" "get -o yaml" "logs/${prefix}z_validatingwebhookconfigurations.txt" + dump_objects "${context}" certificates.cert-manager.io "Cert-manager certificates" "${namespace}" "get -o yaml" "logs/${prefix}z_certificates_certmanager.txt" 2> /dev/null + dump_objects "${context}" catalogsources "OLM CatalogSources" "${namespace}" "get -o yaml" "logs/${prefix}z_olm_catalogsources.txt" 2> /dev/null + dump_objects "${context}" operatorgroups "OLM OperatorGroups" "${namespace}" "get -o yaml" "logs/${prefix}z_olm_operatorgroups.txt" 2> /dev/null + dump_objects "${context}" subscriptions "OLM Subscriptions" "${namespace}" "get -o yaml" "logs/${prefix}z_olm_subscriptions.txt" 2> /dev/null + dump_objects "${context}" installplans "OLM InstallPlans" "${namespace}" "get -o yaml" "logs/${prefix}z_olm_installplans.txt" 2> /dev/null + dump_objects "${context}" clusterserviceversions "OLM ClusterServiceVersions" "${namespace}" "get -o yaml" "logs/${prefix}z_olm_clusterserviceversions.txt" 2> /dev/null + dump_objects "${context}" pods "Pods" "${namespace}" "get -o yaml" "logs/${prefix}z_pods.txt" 2> /dev/null + + kubectl --context="${context}" get crd -o name # shellcheck disable=SC2046 - kubectl describe $(kubectl get crd -o name | grep mongodb) > "logs/${prefix}z_mongodb_crds.log" + kubectl --context="${context}" describe $(kubectl --context="${context}" get crd -o name | grep mongodb) > "logs/${prefix}z_mongodb_crds.log" - kubectl describe nodes > "logs/${prefix}z_nodes_detailed.log" || true + kubectl --context="${context}" describe nodes > "logs/${prefix}z_nodes_detailed.log" || true } diff --git a/scripts/evergreen/e2e/dump_diagnostic_information_from_all_namespaces.sh b/scripts/evergreen/e2e/dump_diagnostic_information_from_all_namespaces.sh index 72571a811..59a41f19f 100755 --- a/scripts/evergreen/e2e/dump_diagnostic_information_from_all_namespaces.sh +++ b/scripts/evergreen/e2e/dump_diagnostic_information_from_all_namespaces.sh @@ -7,4 +7,9 @@ set +e source scripts/funcs/printing source scripts/evergreen/e2e/dump_diagnostic_information.sh -dump_all_non_default_namespaces "$@" +# If no context provided, use current context +if [ $# -eq 0 ]; then + dump_all_non_default_namespaces "$(kubectl config current-context)" +else + dump_all_non_default_namespaces "$@" +fi diff --git a/scripts/evergreen/e2e/e2e.sh b/scripts/evergreen/e2e/e2e.sh index 9d6e8de83..e1e6ed556 100755 --- a/scripts/evergreen/e2e/e2e.sh +++ b/scripts/evergreen/e2e/e2e.sh @@ -42,7 +42,7 @@ dump_cluster_information() { done else # Dump all the information we can from this namespace - dump_all || true + dump_all "$(kubectl config current-context)" || true fi } diff --git a/scripts/funcs/operator_deployment b/scripts/funcs/operator_deployment index 43a507cc9..d8c7a5ed3 100644 --- a/scripts/funcs/operator_deployment +++ b/scripts/funcs/operator_deployment @@ -70,9 +70,11 @@ get_operator_helm_values() { # shellcheck disable=SC2154 if [[ "${KUBE_ENVIRONMENT_NAME-}" = "multi" ]]; then - comma_separated_list="$(echo "${MEMBER_CLUSTERS}" | tr ' ' ',')" - # shellcheck disable=SC2154 - config+=("multiCluster.clusters={${comma_separated_list}}") + if [[ -n "${MEMBER_CLUSTERS:-}" ]]; then + comma_separated_list="$(echo "${MEMBER_CLUSTERS}" | tr ' ' ',')" + # shellcheck disable=SC2154 + config+=("multiCluster.clusters={${comma_separated_list}}") + fi config+=("operator.createOperatorServiceAccount=false") fi