From 454cd6b8c7129427f00b40f6d53cddc30ab9752c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Sierant?= Date: Sun, 24 Aug 2025 15:55:29 +0200 Subject: [PATCH 1/7] Refactor of existing snippets on master --- .evergreen-functions.yml | 4 +- .evergreen-snippets.yml | 150 ++++++ .evergreen.yml | 97 +--- .githooks/pre-commit | 5 + .gitignore | 2 + .../code_snippets/0045_create_namespaces.sh | 1 - ...0_configure_community_search_pullsecret.sh | 25 - ...0210_verify_community_search_pullsecret.sh | 10 - ...5_create_mongodb_community_user_secrets.sh | 7 - .../0310_create_mongodb_community_resource.sh | 55 --- .../0315_wait_for_community_resource.sh | 6 - .../0325_wait_for_search_resource.sh | 2 - .../0330_wait_for_community_resource.sh | 2 - .../code_snippets/0335_show_running_pods.sh | 6 - .../0420_import_movies_mflix_database.sh | 9 - .../code_snippets/0430_create_search_index.sh | 6 - .../0440_wait_for_search_index_ready.sh | 20 - .../code_snippets/9010_delete_namespace.sh | 1 - .../community_search_snippets_test.sh.run.log | 16 - .../quick-start/env_variables.sh | 16 - .../env_variables_e2e_prerelease.sh | 6 - .../quick-start/env_variables_e2e_private.sh | 8 - .../quick-start/env_variables_e2e_public.sh | 2 - ..._configure_community_search_pullsecret.out | 18 - ...210_verify_community_search_pullsecret.out | 3 - .../output/0335_show_running_pods.out | 16 - .../0440_wait_for_search_index_ready.out | 4 - docs/community-search/quick-start/test.sh | 33 -- .../01-search-community-deploy}/README.md | 135 ++++-- .../01-search-community-deploy}/README.md.j2 | 60 +-- .../01_0045_create_namespaces.sh | 1 + .../01_0046_create_image_pull_secrets.sh} | 2 +- .../01_0090_helm_add_mogodb_repo.sh} | 0 .../01_0100_install_operator.sh} | 4 +- ...5_create_mongodb_community_user_secrets.sh | 12 + ..._0310_create_mongodb_community_resource.sh | 76 ++++ .../01_0315_wait_for_community_resource.sh | 7 + ...01_0320_create_mongodb_search_resource.sh} | 2 +- .../01_0325_wait_for_search_resource.sh | 3 + .../01_0330_wait_for_community_resource.sh | 3 + .../01_0335_show_running_pods.sh | 6 + .../code_snippets/01_9010_delete_namespace.sh | 1 + .../env_variables.sh | 22 + .../env_variables_e2e_prerelease.sh | 4 + .../env_variables_e2e_private.sh | 7 + .../env_variables_e2e_private_dev.sh | 36 ++ .../env_variables_e2e_public.sh | 1 + .../search/01-search-community-deploy/test.sh | 26 ++ .../03_0410_run_mongodb_tools_pod.sh} | 7 +- .../03_0420_import_movies_mflix_database.sh | 14 + .../03_0430_create_search_index.sh | 5 + .../03_0435_create_vector_search_index.sh | 12 + .../03_0440_wait_for_search_index_ready.sh | 3 + .../03_0444_list_search_indexes.sh | 4 + .../03_0445_list_vector_search_indexes.sh | 4 + .../03_0450_execute_search_query.sh} | 9 +- .../03_0455_execute_vector_search_query.sh | 30 ++ .../code_snippets/03_9010_delete_namespace.sh | 1 + .../03-search-query-usage/env_variables.sh | 20 + docs/search/03-search-query-usage/test.sh | 24 + .../mongodb-replicaset-multi-cluster/test.sh | 22 - .../mongodb-sharded-mc-no-mesh/test.sh | 22 - .../mongodb-sharded-multi-cluster/test.sh | 22 - .../ops-manager-mc-no-mesh/test.sh | 39 -- .../ops-manager-multi-cluster/test.sh | 31 -- .../ra-06_0250_generate_certs.sh} | 0 ...0_ops_manager_create_admin_credentials.sh} | 0 ...anager_deploy_on_single_member_cluster.sh} | 0 ...311_ops_manager_wait_for_pending_state.sh} | 0 ...312_ops_manager_wait_for_running_state.sh} | 0 ...06_0320_ops_manager_add_second_cluster.sh} | 0 ...321_ops_manager_wait_for_pending_state.sh} | 0 ...322_ops_manager_wait_for_running_state.sh} | 0 .../ra-06_0400_install_minio_s3.sh} | 0 ..._ops_manager_prepare_s3_backup_secrets.sh} | 0 ...a-06_0510_ops_manager_enable_s3_backup.sh} | 0 ...522_ops_manager_wait_for_running_state.sh} | 0 ...610_create_mdb_org_and_get_credentials.sh} | 0 .../ra-06_9100_delete_backup_namespaces.sh} | 0 .../code_snippets/ra-06_9200_delete_om.sh} | 0 .../env_variables.sh | 0 ...11_ops_manager_wait_for_pending_state.out} | 0 ...12_ops_manager_wait_for_running_state.out} | 0 ...21_ops_manager_wait_for_pending_state.out} | 0 ...22_ops_manager_wait_for_running_state.out} | 0 ...22_ops_manager_wait_for_running_state.out} | 0 .../teardown.sh | 4 +- .../ra-06-ops-manager-multi-cluster/test.sh | 31 ++ .../ra-07_1050_generate_certs.sh} | 0 ..._1100_mongodb_replicaset_multi_cluster.sh} | 0 ...t_multi_cluster_wait_for_running_state.sh} | 0 .../ra-07_1200_create_mongodb_user.sh} | 0 .../ra-07_1210_verify_mongosh_connection.sh} | 0 .../ra-07_9000_delete_resources.sh} | 0 .../env_variables.sh | 0 .../ra-07_1210_verify_mongosh_connection.out} | 0 .../teardown.sh | 2 +- .../test.sh | 22 + .../ra-08_2050_generate_certs.sh} | 0 ...-08_2100_mongodb_sharded_multi_cluster.sh} | 0 ...d_multi_cluster_wait_for_running_state.sh} | 0 .../ra-08_2200_create_mongodb_user.sh} | 0 .../ra-08_2210_verify_mongosh_connection.sh} | 0 .../ra-08_9000_delete_resources.sh} | 0 .../env_variables.sh | 0 .../ra-08_2210_verify_mongosh_connection.out} | 0 .../teardown.sh | 2 +- .../test.sh | 22 + .../ra-10_0100_generate_certs.sh} | 0 .../ra-10_0110_add_cert_to_gcp.sh} | 0 .../ra-10_0150_om_load_balancer.sh} | 0 .../ra-10_0160_add_dns_record.sh} | 0 ...0_ops_manager_create_admin_credentials.sh} | 0 .../ra-10_0320_ops_manager_no_mesh.sh} | 0 ...321_ops_manager_wait_for_pending_state.sh} | 0 .../ra-10_0325_set_up_lb_services.sh} | 0 .../ra-10_0326_set_up_lb_services.sh} | 0 ...330_ops_manager_wait_for_running_state.sh} | 0 .../ra-10_0400_install_minio_s3.sh} | 0 ..._ops_manager_prepare_s3_backup_secrets.sh} | 0 ...a-10_0510_ops_manager_enable_s3_backup.sh} | 0 ...522_ops_manager_wait_for_running_state.sh} | 0 ...610_create_mdb_org_and_get_credentials.sh} | 0 .../ra-10_9000_cleanup_gke_lb.sh} | 0 .../ra-10_9100_delete_backup_namespaces.sh} | 0 .../code_snippets/ra-10_9200_delete_om.sh} | 0 .../env_variables.sh | 0 .../output/ra-10_0150_om_load_balancer.out} | 0 ...21_ops_manager_wait_for_pending_state.out} | 0 ...30_ops_manager_wait_for_running_state.out} | 0 ...22_ops_manager_wait_for_running_state.out} | 0 .../teardown.sh | 6 +- .../ra-10-ops-manager-mc-no-mesh/test.sh | 39 ++ .../ra-11_2050_generate_certs.sh} | 0 ...-11_2100_mongodb_sharded_multi_cluster.sh} | 0 ...d_multi_cluster_wait_for_running_state.sh} | 0 .../ra-11_2200_create_mongodb_user.sh} | 0 .../ra-11_2210_verify_mongosh_connection.sh} | 0 .../ra-11_9000_delete_resources.sh} | 0 .../env_variables.sh | 0 .../ra-11_2210_verify_mongosh_connection.out} | 0 .../teardown.sh | 2 +- .../ra-11-mongodb-sharded-mc-no-mesh/test.sh | 22 + .../ra-12_1050_generate_certs.sh} | 0 ..._1100_mongodb_replicaset_multi_cluster.sh} | 0 ...t_multi_cluster_wait_for_running_state.sh} | 0 .../ra-12_1200_create_mongodb_user.sh} | 0 .../ra-12_1210_verify_mongosh_connection.sh} | 0 .../ra-12_9000_delete_resources.sh} | 0 .../env_variables.sh | 0 .../ra-12_1210_verify_mongosh_connection.out} | 0 .../teardown.sh | 2 +- .../test.sh | 0 .../ra-01_0005_gcloud_set_current_project.sh} | 0 .../ra-01_0010_create_gke_cluster_0.sh} | 0 .../ra-01_0010_create_gke_cluster_1.sh} | 0 .../ra-01_0010_create_gke_cluster_2.sh} | 0 .../ra-01_0020_get_gke_credentials.sh} | 0 .../ra-01_0030_verify_access_to_clusters.sh} | 0 .../ra-01_9010_delete_gke_clusters.sh} | 0 .../env_variables.sh | 0 .../ra-01_0030_verify_access_to_clusters.out} | 0 .../ra-01-setup-gke/teardown.sh | 16 + .../ra-01-setup-gke/test.sh | 23 + .../ra-02_0045_create_namespaces.sh} | 0 .../ra-02_0046_create_image_pull_secrets.sh} | 0 ...ubectl_mongodb_configure_multi_cluster.sh} | 0 .../ra-02_0205_helm_configure_repo.sh} | 0 .../ra-02_0210_helm_install_operator.sh} | 0 .../ra-02_0211_check_operator_deployment.sh} | 2 +- .../ra-02_9000_delete_namespaces.sh} | 0 .../env_variables.sh | 0 ...bectl_mongodb_configure_multi_cluster.out} | 0 .../output/ra-02_0205_helm_configure_repo.out | 0 .../ra-02_0210_helm_install_operator.out} | 0 .../ra-02_0211_check_operator_deployment.out} | 0 .../ra-02-setup-operator/teardown.sh | 16 + .../ra-02-setup-operator/test.sh | 22 + .../ra-03_0040_install_istio.sh} | 0 .../ra-03_0050_label_namespaces.sh} | 0 .../install_istio_separate_network.sh | 0 .../test.sh | 4 +- ...45_create_connectivity_test_namespaces.sh} | 0 ...heck_cluster_connectivity_create_sts_0.sh} | 0 ...heck_cluster_connectivity_create_sts_1.sh} | 0 ...heck_cluster_connectivity_create_sts_2.sh} | 0 ...heck_cluster_connectivity_wait_for_sts.sh} | 0 ...ster_connectivity_create_pod_service_0.sh} | 0 ...ster_connectivity_create_pod_service_1.sh} | 0 ...ster_connectivity_create_pod_service_2.sh} | 0 ...nectivity_create_round_robin_service_0.sh} | 0 ...nectivity_create_round_robin_service_1.sh} | 0 ...nectivity_create_round_robin_service_2.sh} | 0 ...ectivity_verify_pod_0_0_from_cluster_1.sh} | 0 ...ectivity_verify_pod_1_0_from_cluster_0.sh} | 0 ...ectivity_verify_pod_1_0_from_cluster_2.sh} | 0 ...ectivity_verify_pod_2_0_from_cluster_0.sh} | 0 ...100_check_cluster_connectivity_cleanup.sh} | 0 ...ctivity_verify_pod_0_0_from_cluster_1.out} | 0 ...ctivity_verify_pod_1_0_from_cluster_0.out} | 0 ...ctivity_verify_pod_1_0_from_cluster_2.out} | 0 ...ctivity_verify_pod_2_0_from_cluster_0.out} | 0 .../ra-04-verify-connectivity/test.sh | 33 ++ .../ra-05_0215_helm_configure_repo.sh} | 0 .../ra-05_0216_helm_install_cert_manager.sh} | 0 .../ra-05_0220_create_issuer.sh} | 0 .../ra-05_0221_verify_issuer.sh} | 0 .../ra-05_0225_create_ca_configmap.sh} | 0 .../ra-05_0215_helm_configure_repo.out} | 0 .../ra-05_0216_helm_install_cert_manager.out} | 0 .../output/ra-05_0221_verify_issuer.out} | 0 .../test.sh | 10 +- .../ra-09_0100_create_gke_sa.sh} | 0 .../ra-09_0120_add_role_to_sa.sh} | 0 .../ra-09_0130_create_sa_key.sh} | 0 .../ra-09_0140_create_namespaces.sh} | 0 .../ra-09_0150_create_sa_secrets.sh} | 0 .../ra-09_0200_install_externaldns.sh} | 0 .../ra-09_0300_setup_dns_zone.sh} | 0 .../code_snippets/ra-09_9000_delete_sa.sh} | 0 .../ra-09_9050_delete_namespace.sh} | 0 .../ra-09_9100_delete_dns_zone.sh} | 0 .../env_variables.sh | 0 .../ra-09-setup-externaldns/teardown.sh | 18 + .../test.sh | 14 +- .../yamls/externaldns.yaml | 0 .../setup-externaldns/teardown.sh | 18 - .../setup-multi-cluster/setup-gke/teardown.sh | 16 - .../setup-multi-cluster/setup-gke/test.sh | 23 - .../setup-operator/teardown.sh | 16 - .../setup-operator/test.sh | 22 - .../verify-connectivity/test.sh | 33 -- .../code_snippets/code_snippets_cleanup.sh | 38 +- .../find_snippets_directories.sh | 14 + ...mmunity_search_snippets_render_template.sh | 5 +- scripts/code_snippets/sample_commit_output.sh | 8 +- scripts/code_snippets/sample_test_runner.sh | 21 +- ...gke_multi_cluster_no_mesh_snippets_test.sh | 47 -- .../task_gke_multi_cluster_snippets_test.sh | 43 -- ...ask_kind_community_search_snippets_test.sh | 20 - .../ra-01_0030_verify_access_to_clusters.out | 15 + ...ubectl_mongodb_configure_multi_cluster.out | 49 ++ .../ra-02_0205_helm_configure_repo.out | 6 + .../ra-02_0210_helm_install_operator.out | 427 ++++++++++++++++++ .../ra-02_0211_check_operator_deployment.out | 9 + ...ectivity_verify_pod_0_0_from_cluster_1.out | 2 + ...ectivity_verify_pod_1_0_from_cluster_0.out | 2 + ...ectivity_verify_pod_1_0_from_cluster_2.out | 2 + ...ectivity_verify_pod_2_0_from_cluster_0.out | 2 + .../ra-05_0215_helm_configure_repo.out | 1 + .../ra-05_0216_helm_install_cert_manager.out | 28 ++ .../ra-05_0221_verify_issuer.out | 3 + ...311_ops_manager_wait_for_pending_state.out | 2 + ...312_ops_manager_wait_for_running_state.out | 18 + ...321_ops_manager_wait_for_pending_state.out | 4 + ...322_ops_manager_wait_for_running_state.out | 22 + ...522_ops_manager_wait_for_running_state.out | 29 ++ .../01_0090_helm_add_mogodb_repo.out | 0 .../01_0100_install_operator.out | 76 +++- .../01_0315_wait_for_community_resource.out | 16 + .../01_0330_wait_for_community_resource.out | 2 + .../01_0335_show_running_pods.out | 20 + .../03_0420_import_movies_mflix_database.out | 2 + .../03_0440_wait_for_search_index_ready.out | 1 + .../03_0444_list_search_indexes.out | 32 ++ .../03_0445_list_vector_search_indexes.out | 40 ++ .../03_0450_execute_search_query.out | 0 .../03_0455_execute_vector_search_query.out | 54 +++ ...test_gke_multi_cluster_no_mesh_snippets.sh | 56 +++ .../tests/test_gke_multi_cluster_snippets.sh | 49 ++ .../test_kind_search_community_snippets.sh | 39 ++ scripts/code_snippets/validate_snippets.py | 68 +++ scripts/dev/contexts/e2e_mdb_community | 9 + scripts/dev/contexts/e2e_mdb_kind_ubi_cloudqa | 4 + .../contexts/e2e_static_mdb_kind_ubi_cloudqa | 4 + .../dev/contexts/private_kind_code_snippets | 3 + scripts/funcs/operator_deployment | 3 + 277 files changed, 2070 insertions(+), 872 deletions(-) create mode 100644 .evergreen-snippets.yml delete mode 100755 docs/community-search/quick-start/code_snippets/0045_create_namespaces.sh delete mode 100644 docs/community-search/quick-start/code_snippets/0200_configure_community_search_pullsecret.sh delete mode 100644 docs/community-search/quick-start/code_snippets/0210_verify_community_search_pullsecret.sh delete mode 100644 docs/community-search/quick-start/code_snippets/0305_create_mongodb_community_user_secrets.sh delete mode 100644 docs/community-search/quick-start/code_snippets/0310_create_mongodb_community_resource.sh delete mode 100644 docs/community-search/quick-start/code_snippets/0315_wait_for_community_resource.sh delete mode 100644 docs/community-search/quick-start/code_snippets/0325_wait_for_search_resource.sh delete mode 100644 docs/community-search/quick-start/code_snippets/0330_wait_for_community_resource.sh delete mode 100644 docs/community-search/quick-start/code_snippets/0335_show_running_pods.sh delete mode 100644 docs/community-search/quick-start/code_snippets/0420_import_movies_mflix_database.sh delete mode 100644 docs/community-search/quick-start/code_snippets/0430_create_search_index.sh delete mode 100644 docs/community-search/quick-start/code_snippets/0440_wait_for_search_index_ready.sh delete mode 100644 docs/community-search/quick-start/code_snippets/9010_delete_namespace.sh delete mode 100644 docs/community-search/quick-start/community_search_snippets_test.sh.run.log delete mode 100644 docs/community-search/quick-start/env_variables.sh delete mode 100644 docs/community-search/quick-start/env_variables_e2e_prerelease.sh delete mode 100644 docs/community-search/quick-start/env_variables_e2e_private.sh delete mode 100644 docs/community-search/quick-start/env_variables_e2e_public.sh delete mode 100644 docs/community-search/quick-start/output/0200_configure_community_search_pullsecret.out delete mode 100644 docs/community-search/quick-start/output/0210_verify_community_search_pullsecret.out delete mode 100644 docs/community-search/quick-start/output/0335_show_running_pods.out delete mode 100644 docs/community-search/quick-start/output/0440_wait_for_search_index_ready.out delete mode 100755 docs/community-search/quick-start/test.sh rename docs/{community-search/quick-start => search/01-search-community-deploy}/README.md (80%) rename docs/{community-search/quick-start => search/01-search-community-deploy}/README.md.j2 (78%) create mode 100755 docs/search/01-search-community-deploy/code_snippets/01_0045_create_namespaces.sh rename docs/{community-search/quick-start/code_snippets/0046_create_image_pull_secrets.sh => search/01-search-community-deploy/code_snippets/01_0046_create_image_pull_secrets.sh} (68%) rename docs/{community-search/quick-start/code_snippets/090_helm_add_mogodb_repo.sh => search/01-search-community-deploy/code_snippets/01_0090_helm_add_mogodb_repo.sh} (100%) rename docs/{community-search/quick-start/code_snippets/0100_install_operator.sh => search/01-search-community-deploy/code_snippets/01_0100_install_operator.sh} (54%) create mode 100755 docs/search/01-search-community-deploy/code_snippets/01_0305_create_mongodb_community_user_secrets.sh create mode 100755 docs/search/01-search-community-deploy/code_snippets/01_0310_create_mongodb_community_resource.sh create mode 100755 docs/search/01-search-community-deploy/code_snippets/01_0315_wait_for_community_resource.sh rename docs/{community-search/quick-start/code_snippets/0320_create_mongodb_search_resource.sh => search/01-search-community-deploy/code_snippets/01_0320_create_mongodb_search_resource.sh} (69%) create mode 100755 docs/search/01-search-community-deploy/code_snippets/01_0325_wait_for_search_resource.sh create mode 100755 docs/search/01-search-community-deploy/code_snippets/01_0330_wait_for_community_resource.sh create mode 100755 docs/search/01-search-community-deploy/code_snippets/01_0335_show_running_pods.sh create mode 100755 docs/search/01-search-community-deploy/code_snippets/01_9010_delete_namespace.sh create mode 100644 docs/search/01-search-community-deploy/env_variables.sh create mode 100644 docs/search/01-search-community-deploy/env_variables_e2e_prerelease.sh create mode 100644 docs/search/01-search-community-deploy/env_variables_e2e_private.sh create mode 100644 docs/search/01-search-community-deploy/env_variables_e2e_private_dev.sh create mode 100644 docs/search/01-search-community-deploy/env_variables_e2e_public.sh create mode 100755 docs/search/01-search-community-deploy/test.sh rename docs/{community-search/quick-start/code_snippets/0410_run_mongodb_tools_pod.sh => search/03-search-query-usage/code_snippets/03_0410_run_mongodb_tools_pod.sh} (58%) create mode 100755 docs/search/03-search-query-usage/code_snippets/03_0420_import_movies_mflix_database.sh create mode 100755 docs/search/03-search-query-usage/code_snippets/03_0430_create_search_index.sh create mode 100755 docs/search/03-search-query-usage/code_snippets/03_0435_create_vector_search_index.sh create mode 100755 docs/search/03-search-query-usage/code_snippets/03_0440_wait_for_search_index_ready.sh create mode 100755 docs/search/03-search-query-usage/code_snippets/03_0444_list_search_indexes.sh create mode 100755 docs/search/03-search-query-usage/code_snippets/03_0445_list_vector_search_indexes.sh rename docs/{community-search/quick-start/code_snippets/0450_execute_search_query.sh => search/03-search-query-usage/code_snippets/03_0450_execute_search_query.sh} (66%) create mode 100644 docs/search/03-search-query-usage/code_snippets/03_0455_execute_vector_search_query.sh create mode 100755 docs/search/03-search-query-usage/code_snippets/03_9010_delete_namespace.sh create mode 100644 docs/search/03-search-query-usage/env_variables.sh create mode 100755 docs/search/03-search-query-usage/test.sh delete mode 100755 public/architectures/mongodb-replicaset-multi-cluster/test.sh delete mode 100755 public/architectures/mongodb-sharded-mc-no-mesh/test.sh delete mode 100755 public/architectures/mongodb-sharded-multi-cluster/test.sh delete mode 100755 public/architectures/ops-manager-mc-no-mesh/test.sh delete mode 100755 public/architectures/ops-manager-multi-cluster/test.sh rename public/architectures/{ops-manager-multi-cluster/code_snippets/0250_generate_certs.sh => ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0250_generate_certs.sh} (100%) rename public/architectures/{ops-manager-mc-no-mesh/code_snippets/0300_ops_manager_create_admin_credentials.sh => ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0300_ops_manager_create_admin_credentials.sh} (100%) rename public/architectures/{ops-manager-multi-cluster/code_snippets/0310_ops_manager_deploy_on_single_member_cluster.sh => ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0310_ops_manager_deploy_on_single_member_cluster.sh} (100%) rename public/architectures/{ops-manager-multi-cluster/code_snippets/0311_ops_manager_wait_for_pending_state.sh => ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0311_ops_manager_wait_for_pending_state.sh} (100%) rename public/architectures/{ops-manager-mc-no-mesh/code_snippets/0330_ops_manager_wait_for_running_state.sh => ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0312_ops_manager_wait_for_running_state.sh} (100%) rename public/architectures/{ops-manager-multi-cluster/code_snippets/0320_ops_manager_add_second_cluster.sh => ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0320_ops_manager_add_second_cluster.sh} (100%) rename public/architectures/{ops-manager-mc-no-mesh/code_snippets/0321_ops_manager_wait_for_pending_state.sh => ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0321_ops_manager_wait_for_pending_state.sh} (100%) rename public/architectures/{ops-manager-multi-cluster/code_snippets/0322_ops_manager_wait_for_running_state.sh => ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0322_ops_manager_wait_for_running_state.sh} (100%) rename public/architectures/{ops-manager-multi-cluster/code_snippets/0400_install_minio_s3.sh => ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0400_install_minio_s3.sh} (100%) rename public/architectures/{ops-manager-mc-no-mesh/code_snippets/0500_ops_manager_prepare_s3_backup_secrets.sh => ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0500_ops_manager_prepare_s3_backup_secrets.sh} (100%) rename public/architectures/{ops-manager-multi-cluster/code_snippets/0510_ops_manager_enable_s3_backup.sh => ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0510_ops_manager_enable_s3_backup.sh} (100%) rename public/architectures/{ops-manager-mc-no-mesh/code_snippets/0522_ops_manager_wait_for_running_state.sh => ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0522_ops_manager_wait_for_running_state.sh} (100%) rename public/architectures/{ops-manager-multi-cluster/code_snippets/0610_create_mdb_org_and_get_credentials.sh => ra-06-ops-manager-multi-cluster/code_snippets/ra-06_0610_create_mdb_org_and_get_credentials.sh} (100%) rename public/architectures/{ops-manager-mc-no-mesh/code_snippets/9100_delete_backup_namespaces.sh => ra-06-ops-manager-multi-cluster/code_snippets/ra-06_9100_delete_backup_namespaces.sh} (100%) rename public/architectures/{ops-manager-mc-no-mesh/code_snippets/9200_delete_om.sh => ra-06-ops-manager-multi-cluster/code_snippets/ra-06_9200_delete_om.sh} (100%) rename public/architectures/{ops-manager-multi-cluster => ra-06-ops-manager-multi-cluster}/env_variables.sh (100%) rename public/architectures/{ops-manager-multi-cluster/output/0311_ops_manager_wait_for_pending_state.out => ra-06-ops-manager-multi-cluster/output/ra-06_0311_ops_manager_wait_for_pending_state.out} (100%) rename public/architectures/{ops-manager-multi-cluster/output/0312_ops_manager_wait_for_running_state.out => ra-06-ops-manager-multi-cluster/output/ra-06_0312_ops_manager_wait_for_running_state.out} (100%) rename public/architectures/{ops-manager-mc-no-mesh/output/0321_ops_manager_wait_for_pending_state.out => ra-06-ops-manager-multi-cluster/output/ra-06_0321_ops_manager_wait_for_pending_state.out} (100%) rename public/architectures/{ops-manager-multi-cluster/output/0322_ops_manager_wait_for_running_state.out => ra-06-ops-manager-multi-cluster/output/ra-06_0322_ops_manager_wait_for_running_state.out} (100%) rename public/architectures/{ops-manager-multi-cluster/output/0522_ops_manager_wait_for_running_state.out => ra-06-ops-manager-multi-cluster/output/ra-06_0522_ops_manager_wait_for_running_state.out} (100%) rename public/architectures/{ops-manager-multi-cluster => ra-06-ops-manager-multi-cluster}/teardown.sh (75%) create mode 100755 public/architectures/ra-06-ops-manager-multi-cluster/test.sh rename public/architectures/{mongodb-replicaset-multi-cluster/code_snippets/1050_generate_certs.sh => ra-07-mongodb-replicaset-multi-cluster/code_snippets/ra-07_1050_generate_certs.sh} (100%) rename public/architectures/{mongodb-replicaset-multi-cluster/code_snippets/1100_mongodb_replicaset_multi_cluster.sh => ra-07-mongodb-replicaset-multi-cluster/code_snippets/ra-07_1100_mongodb_replicaset_multi_cluster.sh} (100%) rename public/architectures/{mongodb-replicaset-mc-no-mesh/code_snippets/1110_mongodb_replicaset_multi_cluster_wait_for_running_state.sh => ra-07-mongodb-replicaset-multi-cluster/code_snippets/ra-07_1110_mongodb_replicaset_multi_cluster_wait_for_running_state.sh} (100%) rename public/architectures/{mongodb-replicaset-mc-no-mesh/code_snippets/1200_create_mongodb_user.sh => ra-07-mongodb-replicaset-multi-cluster/code_snippets/ra-07_1200_create_mongodb_user.sh} (100%) rename public/architectures/{mongodb-replicaset-mc-no-mesh/code_snippets/1210_verify_mongosh_connection.sh => ra-07-mongodb-replicaset-multi-cluster/code_snippets/ra-07_1210_verify_mongosh_connection.sh} (100%) rename public/architectures/{mongodb-replicaset-mc-no-mesh/code_snippets/9000_delete_resources.sh => ra-07-mongodb-replicaset-multi-cluster/code_snippets/ra-07_9000_delete_resources.sh} (100%) rename public/architectures/{mongodb-replicaset-multi-cluster => ra-07-mongodb-replicaset-multi-cluster}/env_variables.sh (100%) rename public/architectures/{mongodb-replicaset-multi-cluster/output/1210_verify_mongosh_connection.out => ra-07-mongodb-replicaset-multi-cluster/output/ra-07_1210_verify_mongosh_connection.out} (100%) rename public/architectures/{mongodb-replicaset-multi-cluster => ra-07-mongodb-replicaset-multi-cluster}/teardown.sh (86%) create mode 100755 public/architectures/ra-07-mongodb-replicaset-multi-cluster/test.sh rename public/architectures/{mongodb-sharded-multi-cluster/code_snippets/2050_generate_certs.sh => ra-08-mongodb-sharded-multi-cluster/code_snippets/ra-08_2050_generate_certs.sh} (100%) rename public/architectures/{mongodb-sharded-multi-cluster/code_snippets/2100_mongodb_sharded_multi_cluster.sh => ra-08-mongodb-sharded-multi-cluster/code_snippets/ra-08_2100_mongodb_sharded_multi_cluster.sh} (100%) rename public/architectures/{mongodb-sharded-mc-no-mesh/code_snippets/2110_mongodb_sharded_multi_cluster_wait_for_running_state.sh => ra-08-mongodb-sharded-multi-cluster/code_snippets/ra-08_2110_mongodb_sharded_multi_cluster_wait_for_running_state.sh} (100%) rename public/architectures/{mongodb-sharded-mc-no-mesh/code_snippets/2200_create_mongodb_user.sh => ra-08-mongodb-sharded-multi-cluster/code_snippets/ra-08_2200_create_mongodb_user.sh} (100%) rename public/architectures/{mongodb-sharded-mc-no-mesh/code_snippets/2210_verify_mongosh_connection.sh => ra-08-mongodb-sharded-multi-cluster/code_snippets/ra-08_2210_verify_mongosh_connection.sh} (100%) rename public/architectures/{mongodb-sharded-mc-no-mesh/code_snippets/9000_delete_resources.sh => ra-08-mongodb-sharded-multi-cluster/code_snippets/ra-08_9000_delete_resources.sh} (100%) rename public/architectures/{mongodb-sharded-multi-cluster => ra-08-mongodb-sharded-multi-cluster}/env_variables.sh (100%) rename public/architectures/{mongodb-sharded-multi-cluster/output/2210_verify_mongosh_connection.out => ra-08-mongodb-sharded-multi-cluster/output/ra-08_2210_verify_mongosh_connection.out} (100%) rename public/architectures/{mongodb-replicaset-mc-no-mesh => ra-08-mongodb-sharded-multi-cluster}/teardown.sh (86%) create mode 100755 public/architectures/ra-08-mongodb-sharded-multi-cluster/test.sh rename public/architectures/{ops-manager-mc-no-mesh/code_snippets/0100_generate_certs.sh => ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0100_generate_certs.sh} (100%) rename public/architectures/{ops-manager-mc-no-mesh/code_snippets/0110_add_cert_to_gcp.sh => ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0110_add_cert_to_gcp.sh} (100%) rename public/architectures/{ops-manager-mc-no-mesh/code_snippets/0150_om_load_balancer.sh => ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0150_om_load_balancer.sh} (100%) rename public/architectures/{ops-manager-mc-no-mesh/code_snippets/0160_add_dns_record.sh => ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0160_add_dns_record.sh} (100%) rename public/architectures/{ops-manager-multi-cluster/code_snippets/0300_ops_manager_create_admin_credentials.sh => ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0300_ops_manager_create_admin_credentials.sh} (100%) rename public/architectures/{ops-manager-mc-no-mesh/code_snippets/0320_ops_manager_no_mesh.sh => ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0320_ops_manager_no_mesh.sh} (100%) rename public/architectures/{ops-manager-multi-cluster/code_snippets/0321_ops_manager_wait_for_pending_state.sh => ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0321_ops_manager_wait_for_pending_state.sh} (100%) rename public/architectures/{ops-manager-mc-no-mesh/code_snippets/0325_set_up_lb_services.sh => ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0325_set_up_lb_services.sh} (100%) rename public/architectures/{ops-manager-mc-no-mesh/code_snippets/0326_set_up_lb_services.sh => ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0326_set_up_lb_services.sh} (100%) rename public/architectures/{ops-manager-multi-cluster/code_snippets/0312_ops_manager_wait_for_running_state.sh => ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0330_ops_manager_wait_for_running_state.sh} (100%) rename public/architectures/{ops-manager-mc-no-mesh/code_snippets/0400_install_minio_s3.sh => ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0400_install_minio_s3.sh} (100%) rename public/architectures/{ops-manager-multi-cluster/code_snippets/0500_ops_manager_prepare_s3_backup_secrets.sh => ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0500_ops_manager_prepare_s3_backup_secrets.sh} (100%) rename public/architectures/{ops-manager-mc-no-mesh/code_snippets/0510_ops_manager_enable_s3_backup.sh => ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0510_ops_manager_enable_s3_backup.sh} (100%) rename public/architectures/{ops-manager-multi-cluster/code_snippets/0522_ops_manager_wait_for_running_state.sh => ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0522_ops_manager_wait_for_running_state.sh} (100%) rename public/architectures/{ops-manager-mc-no-mesh/code_snippets/0610_create_mdb_org_and_get_credentials.sh => ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_0610_create_mdb_org_and_get_credentials.sh} (100%) rename public/architectures/{ops-manager-mc-no-mesh/code_snippets/9000_cleanup_gke_lb.sh => ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_9000_cleanup_gke_lb.sh} (100%) rename public/architectures/{ops-manager-multi-cluster/code_snippets/9100_delete_backup_namespaces.sh => ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_9100_delete_backup_namespaces.sh} (100%) rename public/architectures/{ops-manager-multi-cluster/code_snippets/9200_delete_om.sh => ra-10-ops-manager-mc-no-mesh/code_snippets/ra-10_9200_delete_om.sh} (100%) rename public/architectures/{ops-manager-mc-no-mesh => ra-10-ops-manager-mc-no-mesh}/env_variables.sh (100%) rename public/architectures/{ops-manager-mc-no-mesh/output/0150_om_load_balancer.out => ra-10-ops-manager-mc-no-mesh/output/ra-10_0150_om_load_balancer.out} (100%) rename public/architectures/{ops-manager-multi-cluster/output/0321_ops_manager_wait_for_pending_state.out => ra-10-ops-manager-mc-no-mesh/output/ra-10_0321_ops_manager_wait_for_pending_state.out} (100%) rename public/architectures/{ops-manager-mc-no-mesh/output/0330_ops_manager_wait_for_running_state.out => ra-10-ops-manager-mc-no-mesh/output/ra-10_0330_ops_manager_wait_for_running_state.out} (100%) rename public/architectures/{ops-manager-mc-no-mesh/output/0522_ops_manager_wait_for_running_state.out => ra-10-ops-manager-mc-no-mesh/output/ra-10_0522_ops_manager_wait_for_running_state.out} (100%) rename public/architectures/{ops-manager-mc-no-mesh => ra-10-ops-manager-mc-no-mesh}/teardown.sh (67%) create mode 100755 public/architectures/ra-10-ops-manager-mc-no-mesh/test.sh rename public/architectures/{mongodb-sharded-mc-no-mesh/code_snippets/2050_generate_certs.sh => ra-11-mongodb-sharded-mc-no-mesh/code_snippets/ra-11_2050_generate_certs.sh} (100%) rename public/architectures/{mongodb-sharded-mc-no-mesh/code_snippets/2100_mongodb_sharded_multi_cluster.sh => ra-11-mongodb-sharded-mc-no-mesh/code_snippets/ra-11_2100_mongodb_sharded_multi_cluster.sh} (100%) rename public/architectures/{mongodb-sharded-multi-cluster/code_snippets/2110_mongodb_sharded_multi_cluster_wait_for_running_state.sh => ra-11-mongodb-sharded-mc-no-mesh/code_snippets/ra-11_2110_mongodb_sharded_multi_cluster_wait_for_running_state.sh} (100%) rename public/architectures/{mongodb-sharded-multi-cluster/code_snippets/2200_create_mongodb_user.sh => ra-11-mongodb-sharded-mc-no-mesh/code_snippets/ra-11_2200_create_mongodb_user.sh} (100%) rename public/architectures/{mongodb-sharded-multi-cluster/code_snippets/2210_verify_mongosh_connection.sh => ra-11-mongodb-sharded-mc-no-mesh/code_snippets/ra-11_2210_verify_mongosh_connection.sh} (100%) rename public/architectures/{mongodb-sharded-multi-cluster/code_snippets/9000_delete_resources.sh => ra-11-mongodb-sharded-mc-no-mesh/code_snippets/ra-11_9000_delete_resources.sh} (100%) rename public/architectures/{mongodb-sharded-mc-no-mesh => ra-11-mongodb-sharded-mc-no-mesh}/env_variables.sh (100%) rename public/architectures/{mongodb-sharded-mc-no-mesh/output/2210_verify_mongosh_connection.out => ra-11-mongodb-sharded-mc-no-mesh/output/ra-11_2210_verify_mongosh_connection.out} (100%) rename public/architectures/{mongodb-sharded-mc-no-mesh => ra-11-mongodb-sharded-mc-no-mesh}/teardown.sh (86%) create mode 100755 public/architectures/ra-11-mongodb-sharded-mc-no-mesh/test.sh rename public/architectures/{mongodb-replicaset-mc-no-mesh/code_snippets/1050_generate_certs.sh => ra-12-mongodb-replicaset-mc-no-mesh/code_snippets/ra-12_1050_generate_certs.sh} (100%) rename public/architectures/{mongodb-replicaset-mc-no-mesh/code_snippets/1100_mongodb_replicaset_multi_cluster.sh => ra-12-mongodb-replicaset-mc-no-mesh/code_snippets/ra-12_1100_mongodb_replicaset_multi_cluster.sh} (100%) rename public/architectures/{mongodb-replicaset-multi-cluster/code_snippets/1110_mongodb_replicaset_multi_cluster_wait_for_running_state.sh => ra-12-mongodb-replicaset-mc-no-mesh/code_snippets/ra-12_1110_mongodb_replicaset_multi_cluster_wait_for_running_state.sh} (100%) rename public/architectures/{mongodb-replicaset-multi-cluster/code_snippets/1200_create_mongodb_user.sh => ra-12-mongodb-replicaset-mc-no-mesh/code_snippets/ra-12_1200_create_mongodb_user.sh} (100%) rename public/architectures/{mongodb-replicaset-multi-cluster/code_snippets/1210_verify_mongosh_connection.sh => ra-12-mongodb-replicaset-mc-no-mesh/code_snippets/ra-12_1210_verify_mongosh_connection.sh} (100%) rename public/architectures/{mongodb-replicaset-multi-cluster/code_snippets/9000_delete_resources.sh => ra-12-mongodb-replicaset-mc-no-mesh/code_snippets/ra-12_9000_delete_resources.sh} (100%) rename public/architectures/{mongodb-replicaset-mc-no-mesh => ra-12-mongodb-replicaset-mc-no-mesh}/env_variables.sh (100%) rename public/architectures/{mongodb-replicaset-mc-no-mesh/output/1210_verify_mongosh_connection.out => ra-12-mongodb-replicaset-mc-no-mesh/output/ra-12_1210_verify_mongosh_connection.out} (100%) rename public/architectures/{mongodb-sharded-multi-cluster => ra-12-mongodb-replicaset-mc-no-mesh}/teardown.sh (86%) rename public/architectures/{mongodb-replicaset-mc-no-mesh => ra-12-mongodb-replicaset-mc-no-mesh}/test.sh (100%) rename public/architectures/setup-multi-cluster/{setup-gke/code_snippets/0005_gcloud_set_current_project.sh => ra-01-setup-gke/code_snippets/ra-01_0005_gcloud_set_current_project.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-gke/code_snippets/0010_create_gke_cluster_0.sh => ra-01-setup-gke/code_snippets/ra-01_0010_create_gke_cluster_0.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-gke/code_snippets/0010_create_gke_cluster_1.sh => ra-01-setup-gke/code_snippets/ra-01_0010_create_gke_cluster_1.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-gke/code_snippets/0010_create_gke_cluster_2.sh => ra-01-setup-gke/code_snippets/ra-01_0010_create_gke_cluster_2.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-gke/code_snippets/0020_get_gke_credentials.sh => ra-01-setup-gke/code_snippets/ra-01_0020_get_gke_credentials.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-gke/code_snippets/0030_verify_access_to_clusters.sh => ra-01-setup-gke/code_snippets/ra-01_0030_verify_access_to_clusters.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-gke/code_snippets/9010_delete_gke_clusters.sh => ra-01-setup-gke/code_snippets/ra-01_9010_delete_gke_clusters.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-gke => ra-01-setup-gke}/env_variables.sh (100%) rename public/architectures/setup-multi-cluster/{setup-gke/output/0030_verify_access_to_clusters.out => ra-01-setup-gke/output/ra-01_0030_verify_access_to_clusters.out} (100%) create mode 100755 public/architectures/setup-multi-cluster/ra-01-setup-gke/teardown.sh create mode 100755 public/architectures/setup-multi-cluster/ra-01-setup-gke/test.sh rename public/architectures/setup-multi-cluster/{setup-operator/code_snippets/0045_create_namespaces.sh => ra-02-setup-operator/code_snippets/ra-02_0045_create_namespaces.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-operator/code_snippets/0046_create_image_pull_secrets.sh => ra-02-setup-operator/code_snippets/ra-02_0046_create_image_pull_secrets.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-operator/code_snippets/0200_kubectl_mongodb_configure_multi_cluster.sh => ra-02-setup-operator/code_snippets/ra-02_0200_kubectl_mongodb_configure_multi_cluster.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-operator/code_snippets/0205_helm_configure_repo.sh => ra-02-setup-operator/code_snippets/ra-02_0205_helm_configure_repo.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-operator/code_snippets/0210_helm_install_operator.sh => ra-02-setup-operator/code_snippets/ra-02_0210_helm_install_operator.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-operator/code_snippets/0211_check_operator_deployment.sh => ra-02-setup-operator/code_snippets/ra-02_0211_check_operator_deployment.sh} (79%) rename public/architectures/setup-multi-cluster/{setup-operator/code_snippets/9000_delete_namespaces.sh => ra-02-setup-operator/code_snippets/ra-02_9000_delete_namespaces.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-operator => ra-02-setup-operator}/env_variables.sh (100%) rename public/architectures/setup-multi-cluster/{setup-operator/output/0200_kubectl_mongodb_configure_multi_cluster.out => ra-02-setup-operator/output/ra-02_0200_kubectl_mongodb_configure_multi_cluster.out} (100%) rename docs/community-search/quick-start/output/090_helm_add_mogodb_repo.out => public/architectures/setup-multi-cluster/ra-02-setup-operator/output/ra-02_0205_helm_configure_repo.out (100%) rename public/architectures/setup-multi-cluster/{setup-operator/output/0210_helm_install_operator.out => ra-02-setup-operator/output/ra-02_0210_helm_install_operator.out} (100%) rename public/architectures/setup-multi-cluster/{setup-operator/output/0211_check_operator_deployment.out => ra-02-setup-operator/output/ra-02_0211_check_operator_deployment.out} (100%) create mode 100755 public/architectures/setup-multi-cluster/ra-02-setup-operator/teardown.sh create mode 100755 public/architectures/setup-multi-cluster/ra-02-setup-operator/test.sh rename public/architectures/setup-multi-cluster/{setup-istio/code_snippets/0040_install_istio.sh => ra-03-setup-istio/code_snippets/ra-03_0040_install_istio.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-istio/code_snippets/0050_label_namespaces.sh => ra-03-setup-istio/code_snippets/ra-03_0050_label_namespaces.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-istio => ra-03-setup-istio}/install_istio_separate_network.sh (100%) rename public/architectures/setup-multi-cluster/{setup-istio => ra-03-setup-istio}/test.sh (77%) rename public/architectures/setup-multi-cluster/{verify-connectivity/code_snippets/0045_create_connectivity_test_namespaces.sh => ra-04-verify-connectivity/code_snippets/ra-04_0045_create_connectivity_test_namespaces.sh} (100%) rename public/architectures/setup-multi-cluster/{verify-connectivity/code_snippets/0050_check_cluster_connectivity_create_sts_0.sh => ra-04-verify-connectivity/code_snippets/ra-04_0050_check_cluster_connectivity_create_sts_0.sh} (100%) rename public/architectures/setup-multi-cluster/{verify-connectivity/code_snippets/0050_check_cluster_connectivity_create_sts_1.sh => ra-04-verify-connectivity/code_snippets/ra-04_0050_check_cluster_connectivity_create_sts_1.sh} (100%) rename public/architectures/setup-multi-cluster/{verify-connectivity/code_snippets/0050_check_cluster_connectivity_create_sts_2.sh => ra-04-verify-connectivity/code_snippets/ra-04_0050_check_cluster_connectivity_create_sts_2.sh} (100%) rename public/architectures/setup-multi-cluster/{verify-connectivity/code_snippets/0060_check_cluster_connectivity_wait_for_sts.sh => ra-04-verify-connectivity/code_snippets/ra-04_0060_check_cluster_connectivity_wait_for_sts.sh} (100%) rename public/architectures/setup-multi-cluster/{verify-connectivity/code_snippets/0070_check_cluster_connectivity_create_pod_service_0.sh => ra-04-verify-connectivity/code_snippets/ra-04_0070_check_cluster_connectivity_create_pod_service_0.sh} (100%) rename public/architectures/setup-multi-cluster/{verify-connectivity/code_snippets/0070_check_cluster_connectivity_create_pod_service_1.sh => ra-04-verify-connectivity/code_snippets/ra-04_0070_check_cluster_connectivity_create_pod_service_1.sh} (100%) rename public/architectures/setup-multi-cluster/{verify-connectivity/code_snippets/0070_check_cluster_connectivity_create_pod_service_2.sh => ra-04-verify-connectivity/code_snippets/ra-04_0070_check_cluster_connectivity_create_pod_service_2.sh} (100%) rename public/architectures/setup-multi-cluster/{verify-connectivity/code_snippets/0080_check_cluster_connectivity_create_round_robin_service_0.sh => ra-04-verify-connectivity/code_snippets/ra-04_0080_check_cluster_connectivity_create_round_robin_service_0.sh} (100%) rename public/architectures/setup-multi-cluster/{verify-connectivity/code_snippets/0080_check_cluster_connectivity_create_round_robin_service_1.sh => ra-04-verify-connectivity/code_snippets/ra-04_0080_check_cluster_connectivity_create_round_robin_service_1.sh} (100%) rename public/architectures/setup-multi-cluster/{verify-connectivity/code_snippets/0080_check_cluster_connectivity_create_round_robin_service_2.sh => ra-04-verify-connectivity/code_snippets/ra-04_0080_check_cluster_connectivity_create_round_robin_service_2.sh} (100%) rename public/architectures/setup-multi-cluster/{verify-connectivity/code_snippets/0090_check_cluster_connectivity_verify_pod_0_0_from_cluster_1.sh => ra-04-verify-connectivity/code_snippets/ra-04_0090_check_cluster_connectivity_verify_pod_0_0_from_cluster_1.sh} (100%) rename public/architectures/setup-multi-cluster/{verify-connectivity/code_snippets/0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_0.sh => ra-04-verify-connectivity/code_snippets/ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_0.sh} (100%) rename public/architectures/setup-multi-cluster/{verify-connectivity/code_snippets/0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_2.sh => ra-04-verify-connectivity/code_snippets/ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_2.sh} (100%) rename public/architectures/setup-multi-cluster/{verify-connectivity/code_snippets/0090_check_cluster_connectivity_verify_pod_2_0_from_cluster_0.sh => ra-04-verify-connectivity/code_snippets/ra-04_0090_check_cluster_connectivity_verify_pod_2_0_from_cluster_0.sh} (100%) rename public/architectures/setup-multi-cluster/{verify-connectivity/code_snippets/0100_check_cluster_connectivity_cleanup.sh => ra-04-verify-connectivity/code_snippets/ra-04_0100_check_cluster_connectivity_cleanup.sh} (100%) rename public/architectures/setup-multi-cluster/{verify-connectivity/output/0090_check_cluster_connectivity_verify_pod_0_0_from_cluster_1.out => ra-04-verify-connectivity/output/ra-04_0090_check_cluster_connectivity_verify_pod_0_0_from_cluster_1.out} (100%) rename public/architectures/setup-multi-cluster/{verify-connectivity/output/0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_0.out => ra-04-verify-connectivity/output/ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_0.out} (100%) rename public/architectures/setup-multi-cluster/{verify-connectivity/output/0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_2.out => ra-04-verify-connectivity/output/ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_2.out} (100%) rename public/architectures/setup-multi-cluster/{verify-connectivity/output/0090_check_cluster_connectivity_verify_pod_2_0_from_cluster_0.out => ra-04-verify-connectivity/output/ra-04_0090_check_cluster_connectivity_verify_pod_2_0_from_cluster_0.out} (100%) create mode 100755 public/architectures/setup-multi-cluster/ra-04-verify-connectivity/test.sh rename public/architectures/setup-multi-cluster/{setup-cert-manager/code_snippets/0215_helm_configure_repo.sh => ra-05-setup-cert-manager/code_snippets/ra-05_0215_helm_configure_repo.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-cert-manager/code_snippets/0216_helm_install_cert_manager.sh => ra-05-setup-cert-manager/code_snippets/ra-05_0216_helm_install_cert_manager.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-cert-manager/code_snippets/0220_create_issuer.sh => ra-05-setup-cert-manager/code_snippets/ra-05_0220_create_issuer.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-cert-manager/code_snippets/0221_verify_issuer.sh => ra-05-setup-cert-manager/code_snippets/ra-05_0221_verify_issuer.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-cert-manager/code_snippets/0225_create_ca_configmap.sh => ra-05-setup-cert-manager/code_snippets/ra-05_0225_create_ca_configmap.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-cert-manager/output/0215_helm_configure_repo.out => ra-05-setup-cert-manager/output/ra-05_0215_helm_configure_repo.out} (100%) rename public/architectures/setup-multi-cluster/{setup-cert-manager/output/0216_helm_install_cert_manager.out => ra-05-setup-cert-manager/output/ra-05_0216_helm_install_cert_manager.out} (100%) rename public/architectures/setup-multi-cluster/{setup-cert-manager/output/0221_verify_issuer.out => ra-05-setup-cert-manager/output/ra-05_0221_verify_issuer.out} (100%) rename public/architectures/setup-multi-cluster/{setup-cert-manager => ra-05-setup-cert-manager}/test.sh (51%) rename public/architectures/setup-multi-cluster/{setup-externaldns/code_snippets/0100_create_gke_sa.sh => ra-09-setup-externaldns/code_snippets/ra-09_0100_create_gke_sa.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-externaldns/code_snippets/0120_add_role_to_sa.sh => ra-09-setup-externaldns/code_snippets/ra-09_0120_add_role_to_sa.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-externaldns/code_snippets/0130_create_sa_key.sh => ra-09-setup-externaldns/code_snippets/ra-09_0130_create_sa_key.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-externaldns/code_snippets/0140_create_namespaces.sh => ra-09-setup-externaldns/code_snippets/ra-09_0140_create_namespaces.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-externaldns/code_snippets/0150_create_sa_secrets.sh => ra-09-setup-externaldns/code_snippets/ra-09_0150_create_sa_secrets.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-externaldns/code_snippets/0200_install_externaldns.sh => ra-09-setup-externaldns/code_snippets/ra-09_0200_install_externaldns.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-externaldns/code_snippets/0300_setup_dns_zone.sh => ra-09-setup-externaldns/code_snippets/ra-09_0300_setup_dns_zone.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-externaldns/code_snippets/9000_delete_sa.sh => ra-09-setup-externaldns/code_snippets/ra-09_9000_delete_sa.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-externaldns/code_snippets/9050_delete_namespace.sh => ra-09-setup-externaldns/code_snippets/ra-09_9050_delete_namespace.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-externaldns/code_snippets/9100_delete_dns_zone.sh => ra-09-setup-externaldns/code_snippets/ra-09_9100_delete_dns_zone.sh} (100%) rename public/architectures/setup-multi-cluster/{setup-externaldns => ra-09-setup-externaldns}/env_variables.sh (100%) create mode 100755 public/architectures/setup-multi-cluster/ra-09-setup-externaldns/teardown.sh rename public/architectures/setup-multi-cluster/{setup-externaldns => ra-09-setup-externaldns}/test.sh (54%) rename public/architectures/setup-multi-cluster/{setup-externaldns => ra-09-setup-externaldns}/yamls/externaldns.yaml (100%) delete mode 100755 public/architectures/setup-multi-cluster/setup-externaldns/teardown.sh delete mode 100755 public/architectures/setup-multi-cluster/setup-gke/teardown.sh delete mode 100755 public/architectures/setup-multi-cluster/setup-gke/test.sh delete mode 100755 public/architectures/setup-multi-cluster/setup-operator/teardown.sh delete mode 100755 public/architectures/setup-multi-cluster/setup-operator/test.sh delete mode 100755 public/architectures/setup-multi-cluster/verify-connectivity/test.sh create mode 100644 scripts/code_snippets/find_snippets_directories.sh delete mode 100755 scripts/code_snippets/task_gke_multi_cluster_no_mesh_snippets_test.sh delete mode 100755 scripts/code_snippets/task_gke_multi_cluster_snippets_test.sh delete mode 100755 scripts/code_snippets/task_kind_community_search_snippets_test.sh create mode 100644 scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-01_0030_verify_access_to_clusters.out create mode 100644 scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-02_0200_kubectl_mongodb_configure_multi_cluster.out create mode 100644 scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-02_0205_helm_configure_repo.out create mode 100644 scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-02_0210_helm_install_operator.out create mode 100644 scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-02_0211_check_operator_deployment.out create mode 100644 scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-04_0090_check_cluster_connectivity_verify_pod_0_0_from_cluster_1.out create mode 100644 scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_0.out create mode 100644 scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_2.out create mode 100644 scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-04_0090_check_cluster_connectivity_verify_pod_2_0_from_cluster_0.out create mode 100644 scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-05_0215_helm_configure_repo.out create mode 100644 scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-05_0216_helm_install_cert_manager.out create mode 100644 scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-05_0221_verify_issuer.out create mode 100644 scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-06_0311_ops_manager_wait_for_pending_state.out create mode 100644 scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-06_0312_ops_manager_wait_for_running_state.out create mode 100644 scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-06_0321_ops_manager_wait_for_pending_state.out create mode 100644 scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-06_0322_ops_manager_wait_for_running_state.out create mode 100644 scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-06_0522_ops_manager_wait_for_running_state.out rename public/architectures/setup-multi-cluster/setup-operator/output/0205_helm_configure_repo.out => scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/01_0090_helm_add_mogodb_repo.out (100%) rename docs/community-search/quick-start/output/0100_install_operator.out => scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/01_0100_install_operator.out (83%) create mode 100644 scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/01_0315_wait_for_community_resource.out create mode 100644 scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/01_0330_wait_for_community_resource.out create mode 100644 scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/01_0335_show_running_pods.out create mode 100644 scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/03_0420_import_movies_mflix_database.out create mode 100644 scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/03_0440_wait_for_search_index_ready.out create mode 100644 scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/03_0444_list_search_indexes.out create mode 100644 scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/03_0445_list_vector_search_indexes.out rename docs/community-search/quick-start/output/0450_execute_search_query.out => scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/03_0450_execute_search_query.out (100%) create mode 100644 scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/03_0455_execute_vector_search_query.out create mode 100755 scripts/code_snippets/tests/test_gke_multi_cluster_no_mesh_snippets.sh create mode 100755 scripts/code_snippets/tests/test_gke_multi_cluster_snippets.sh create mode 100755 scripts/code_snippets/tests/test_kind_search_community_snippets.sh create mode 100755 scripts/code_snippets/validate_snippets.py 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..68c483549 --- /dev/null +++ b/.evergreen-snippets.yml @@ -0,0 +1,150 @@ +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_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 + +# 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 11b7710fc..b537530ac 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,29 +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 - teardown_task: - - func: upload_e2e_logs - - func: upload_code_snippets_logs - - &setup_and_teardown_task_cloudqa setup_task_can_fail_task: true setup_task: @@ -172,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 @@ -667,19 +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_community_search_snippets - # Task group for deploying mongodbcommunity resources and testing the (former) MCO - name: e2e_mdb_community_task_group max_hosts: -1 @@ -1994,65 +1960,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/community-search/quick-start/code_snippets/0045_create_namespaces.sh b/docs/community-search/quick-start/code_snippets/0045_create_namespaces.sh deleted file mode 100755 index 7d0899c63..000000000 --- a/docs/community-search/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/community-search/quick-start/code_snippets/0200_configure_community_search_pullsecret.sh b/docs/community-search/quick-start/code_snippets/0200_configure_community_search_pullsecret.sh deleted file mode 100644 index 59310c81f..000000000 --- a/docs/community-search/quick-start/code_snippets/0200_configure_community_search_pullsecret.sh +++ /dev/null @@ -1,25 +0,0 @@ -kubectl apply --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${MDB_NAMESPACE}" -f - <>>>>>>> 6309cff6f (Refactor of existing snippets on master):docs/search/01-search-community-deploy/README.md ``` Ensure these secrets are created in the same namespace where you plan to deploy MongoDB. @@ -149,7 +164,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 - <>>>>>>> 6309cff6f (Refactor of existing snippets on master):docs/search/01-search-community-deploy/README.md EOF ``` @@ -213,11 +268,12 @@ After applying the `MongoDBCommunity` custom resource, the operator begins deplo [code_snippets/0315_wait_for_community_resource.sh](code_snippets/0315_wait_for_community_resource.sh) ```shell copy 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 +kubectl --context "${K8S_CTX}" -n "${MDB_NS}" 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 +kubectl --context "${K8S_CTX}" -n "${MDB_NS}" get mdbc/mdbc-rs +echo; echo "Pods running in cluster ${K8S_CTX}" +kubectl --context "${K8S_CTX}" -n "${MDB_NS}" get pods ``` ### 9. Create MongoDB Search Resource @@ -230,7 +286,7 @@ Note: Private preview of MongoDB Community Search comes with some limitations, a [code_snippets/0320_create_mongodb_search_resource.sh](code_snippets/0320_create_mongodb_search_resource.sh) ```shell copy -kubectl apply --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${MDB_NAMESPACE}" -f - <>>>>>>> 6309cff6f (Refactor of existing snippets on master):docs/search/01-search-community-deploy/README.md EOF )" ``` @@ -350,10 +416,16 @@ Before performing search queries, create a search index. This step uses `kubectl [code_snippets/0430_create_search_index.sh](code_snippets/0430_create_search_index.sh) ```shell copy +<<<<<<<< HEAD:docs/community-search/quick-start/README.md #!/bin/bash kubectl exec --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${MDB_NAMESPACE}" mongodb-tools-pod -- \ mongosh --quiet "mongodb://search-user:${MDB_SEARCH_USER_PASSWORD}@mdbc-rs-0.mdbc-rs-svc.${MDB_NAMESPACE}.svc.cluster.local:27017/?replicaSet=mdbc-rs" \ +======== +kubectl exec --context "${K8S_CTX}" -n "${MDB_NS}" mongodb-tools-pod -- \ + mongosh --quiet \ + "mongodb://mdb-user:${MDB_USER_PASSWORD}@mdbc-rs-0.mdbc-rs-svc.${MDB_NS}.svc.cluster.local:27017/?replicaSet=mdbc-rs" \ +>>>>>>>> 6309cff6f (Refactor of existing snippets on master):docs/search/01-search-community-deploy/README.md --eval "use sample_mflix" \ --eval 'db.movies.createSearchIndex("default", { mappings: { dynamic: true } });' ``` @@ -364,6 +436,7 @@ Creating a search index is an asynchronous operation. This script polls periodic [code_snippets/0440_wait_for_search_index_ready.sh](code_snippets/0440_wait_for_search_index_ready.sh) ```shell copy +<<<<<<<< HEAD:docs/community-search/quick-start/README.md #!/bin/bash for _ in $(seq 0 10); do @@ -384,6 +457,11 @@ if [[ "${search_index_status}" != "READY" ]]; then echo "Error waiting for the search index to be ready" return 1 fi +======== +# Currently it's not possible to check the status of search indexes, we need to just wait +echo "Sleeping to wait for search indexes to be created" +sleep 60 +>>>>>>>> 6309cff6f (Refactor of existing snippets on master):docs/search/01-search-community-deploy/README.md ``` ### 17. Execute a Search Query @@ -392,8 +470,6 @@ Once the search index is ready, execute search queries using the `$search` aggre [code_snippets/0450_execute_search_query.sh](code_snippets/0450_execute_search_query.sh) ```shell copy -#!/bin/bash - mdb_script=$(cat <<'EOF' use sample_mflix; db.movies.aggregate([ @@ -434,9 +510,14 @@ db.movies.aggregate([ EOF ) -kubectl exec --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${MDB_NAMESPACE}" mongodb-tools-pod -- /bin/bash -eu -c "$(cat < /tmp/mdb_script.js +<<<<<<<< HEAD:docs/community-search/quick-start/README.md mongosh --quiet "mongodb://search-user:${MDB_SEARCH_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 +>>>>>>>> 6309cff6f (Refactor of existing snippets on master):docs/search/01-search-community-deploy/README.md EOF )" ``` \ No newline at end of file diff --git a/docs/community-search/quick-start/README.md.j2 b/docs/search/01-search-community-deploy/README.md.j2 similarity index 78% rename from docs/community-search/quick-start/README.md.j2 rename to docs/search/01-search-community-deploy/README.md.j2 index 0e3125075..de32c88b1 100644 --- a/docs/community-search/quick-start/README.md.j2 +++ b/docs/search/01-search-community-deploy/README.md.j2 @@ -4,11 +4,9 @@ This guide provides instructions for deploying MongoDB Community Edition along w ## Prerequisites -Community Search is currently in private preview, and access to the image requires a secret to pull the search container image from Quay.io. This secret is specified during the first step of the process below, and must be obtained from MongoDB when requesting access to the private preview. - 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). +- **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. @@ -47,33 +45,13 @@ Next, install the MongoDB Kubernetes Operator from the Helm repository you just ```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) and names the release `community-operator`. - -### 4. Configure Pull Secret for MongoDB Community Search - -To use MongoDB Search, your Kubernetes cluster needs to pull the necessary container images. This step creates a Kubernetes secret named `community-private-preview-pullsecret`. This secret stores the credentials required to access the image repository for MongoDB Search. The script then patches the `mongodb-kubernetes-database-pods` service account to include this pull secret, allowing pods managed by this service account to pull the required images. - -[code_snippets/0200_configure_community_search_pullsecret.sh](code_snippets/0200_configure_community_search_pullsecret.sh) -```shell copy -{% include "code_snippets/0200_configure_community_search_pullsecret.sh" %} -``` -This script creates a `community-private-preview-pullsecret` secret in your Kubernetes namespace and associates it with the service account used for MongoDB pods. - -### 5. Verify Pull Secret Configuration - -Confirm that the `community-private-preview-pullsecret` has been successfully added to the `mongodb-kubernetes-database-pods` service account. This ensures that Kubernetes can authenticate with the container registry when pulling images for MongoDB Search pods. - -[code_snippets/0210_verify_community_search_pullsecret.sh](code_snippets/0210_verify_community_search_pullsecret.sh) -```shell copy -{% include "code_snippets/0210_verify_community_search_pullsecret.sh" %} -``` -This command checks the `mongodb-kubernetes-database-pods` service account to confirm the presence of `community-private-preview-pullsecret`. +This command installs the operator in the `mongodb` namespace (creating it if it doesn't exist). ## Creating a MongoDB Community Search Deployment With the prerequisites and initial setup complete, you can now deploy MongoDB Community Edition and enable Search. -### 6. Create MongoDB User Secrets +### 4. Create MongoDB User Secrets MongoDB requires authentication for secure access. This step creates two Kubernetes secrets: `admin-user-password` and `search-user-password`. These secrets store the credentials for the MongoDB administrative user and a dedicated search user, respectively. These secrets will be mounted into the MongoDB pods. @@ -83,16 +61,19 @@ MongoDB requires authentication for secure access. This step creates two Kuberne ``` Ensure these secrets are created in the same namespace where you plan to deploy MongoDB. -### 7. Create MongoDB Community Resource +### 5. Create MongoDB Community Resource -Now, deploy MongoDB Community by creating a `MongoDBCommunity` custom resource named `mdbc-rs`. This resource definition instructs the MongoDB Kubernetes Operator to configure a MongoDB replica set with 3 members, running version 8.0.6. MongoDB Community Search is supported only from MongoDB Community Server version 8.0. It also defines CPU and memory resources for the `mongod` and `mongodb-agent` containers, and sets up two users (`admin-user` and `search-user`) with their respective roles and password secrets. User `search-user` will be used to restore, connect and perform search queries on the `sample_mflix` database. +Now, deploy MongoDB Community by creating a `MongoDBCommunity` custom resource named `mdbc-rs`. This resource definition instructs the MongoDB Kubernetes Operator to configure a MongoDB replica set with 3 members, running version 8.0.10. MongoDB Community Search is supported only from MongoDB Community Server version 8.0.10. It also defines CPU and memory resources for the `mongod` and `mongodb-agent` containers, and sets up three users: +* `mdb-user` - a regular user used to that will perform restore of `sample_mflix` database and execute search queries. +* `search-sync-source` - user that MongoDB Search is using to connect to MongoDB database in order to manage and build indexes. This user uses `searchCoordinator` role, which for MongoDB <8.2 is created automatically by the operator. +* `admin-user` and ``) with their respective roles and password secrets. User `search-user` will be used to restore, connect and perform search queries on the `sample_mflix` database. [code_snippets/0310_create_mongodb_community_resource.sh](code_snippets/0310_create_mongodb_community_resource.sh) ```yaml copy {% include "code_snippets/0310_create_mongodb_community_resource.sh" %} ``` -### 8. Wait for MongoDB Community Resource to be Ready +### 6. Wait for MongoDB Community Resource to be Ready After applying the `MongoDBCommunity` custom resource, the operator begins deploying the MongoDB nodes (pods). This step uses `kubectl wait` to pause execution until the `mdbc-rs` resource's status phase becomes `Running`, indicating that the MongoDB Community replica set is operational. @@ -101,13 +82,12 @@ After applying the `MongoDBCommunity` custom resource, the operator begins deplo {% include "code_snippets/0315_wait_for_community_resource.sh" %} ``` -### 9. Create MongoDB Search Resource +### 7. Create MongoDB Search Resource Once your MongoDB deployment is ready, enable Search capabilities by creating a `MongoDBSearch` custom resource, also named `mdbc-rs` to associate it with the MongoDB instance. This resource specifies the CPU and memory resource requirements for the search nodes. -Note: Private preview of MongoDB Community Search comes with some limitations, and it is not suitable for production use: -* TLS cannot be enabled in MongoDB Community deployment (MongoD communicates with MongoT with plain text). -* Only one node of search node is supported (load balancing not supported) +Note: Public Preview of MongoDB Community 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 @@ -126,7 +106,7 @@ requests: memory: 2G ``` -### 10. Wait for Search Resource to be Ready +### 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 `mdbc-rs` reports a `Running` status in its `.status.phase` field, indicating that the search nodes are operational and integrated. @@ -136,7 +116,7 @@ Similar to the MongoDB deployment, the Search deployment needs time to initializ ``` This command polls the status of the `MongoDBSearch` resource `mdbc-rs`. -### 11. Verify MongoDB Community Resource Status +### 9. Verify MongoDB Community Resource Status Double-check the status of your `MongoDBCommunity` resource to ensure it remains healthy and that the integration with the Search resource is reflected if applicable. @@ -146,7 +126,7 @@ Double-check the status of your `MongoDBCommunity` resource to ensure it remains ``` This provides a final confirmation that the core database is operational. -### 12. List Running Pods +### 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. @@ -159,7 +139,7 @@ View all the running pods in your namespace. You should see pods for the MongoDB Now that your MongoDB Community database with Search is deployed, you can start using its search capabilities. -### 13. Deploy MongoDB Tools Pod +### 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 Community 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 mongodb without neeeding to expose the database externally (provided steps directly connect to the *.cluster.local hostnames). @@ -168,7 +148,7 @@ To interact with your MongoDB deployment, this step deploys a utility pod named {% include "code_snippets/0410_run_mongodb_tools_pod.sh" %} ``` -### 14. Import Sample Data +### 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 `search-user`. @@ -178,7 +158,7 @@ To test the search functionality, this step imports the `sample_mflix.movies` co ``` This command uses `mongorestore` from the `mongodb-tools-pod` to load data from the downloaded `sample_mflix.archive` file. -### 15. Create Search Index +### 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. @@ -187,7 +167,7 @@ Before performing search queries, create a search index. This step uses `kubectl {% include "code_snippets/0430_create_search_index.sh" %} ``` -### 16. Wait for Search Index to be Ready +### 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")`. @@ -196,7 +176,7 @@ Creating a search index is an asynchronous operation. This script polls periodic {% include "code_snippets/0440_wait_for_search_index_ready.sh" %} ``` -### 17. Execute a Search Query +### 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. 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/community-search/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 similarity index 68% rename from docs/community-search/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 100755 --- a/docs/community-search/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/community-search/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/community-search/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/community-search/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/community-search/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 100644 --- a/docs/community-search/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/01-search-community-deploy/code_snippets/01_0305_create_mongodb_community_user_secrets.sh b/docs/search/01-search-community-deploy/code_snippets/01_0305_create_mongodb_community_user_secrets.sh new file mode 100755 index 000000000..6e28372b7 --- /dev/null +++ b/docs/search/01-search-community-deploy/code_snippets/01_0305_create_mongodb_community_user_secrets.sh @@ -0,0 +1,12 @@ +kubectl --context "${K8S_CTX}" --namespace "${MDB_NS}" \ + create secret generic mdb-admin-user-password \ + --from-literal=password="${MDB_ADMIN_USER_PASSWORD}" + +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_CTX}" --namespace "${MDB_NS}" \ + create secret generic mdb-user-password \ + --from-literal=password="${MDB_USER_PASSWORD}" + diff --git a/docs/search/01-search-community-deploy/code_snippets/01_0310_create_mongodb_community_resource.sh b/docs/search/01-search-community-deploy/code_snippets/01_0310_create_mongodb_community_resource.sh new file mode 100755 index 000000000..83c1a2c6b --- /dev/null +++ b/docs/search/01-search-community-deploy/code_snippets/01_0310_create_mongodb_community_resource.sh @@ -0,0 +1,76 @@ +kubectl apply --context "${K8S_CTX}" -n "${MDB_NS}" -f - < /tmp/mdb_script.js +<<<<<<<< HEAD:docs/community-search/quick-start/code_snippets/0450_execute_search_query.sh mongosh --quiet "mongodb://search-user:${MDB_SEARCH_USER_PASSWORD}@mdbc-rs-0.mdbc-rs-svc.${MDB_NAMESPACE}.svc.cluster.local:27017/?replicaSet=mdbc-rs" < /tmp/mdb_script.js +======== +mongosh --quiet "${MDB_CONNECTION_STRING}" < /tmp/mdb_script.js +>>>>>>>> 6309cff6f (Refactor of existing snippets on master):docs/search/03-search-query-usage/code_snippets/03_0450_execute_search_query.sh 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/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/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/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/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/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/output/0311_ops_manager_wait_for_pending_state.out b/public/architectures/ra-06-ops-manager-multi-cluster/output/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 public/architectures/ra-06-ops-manager-multi-cluster/output/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/public/architectures/ra-06-ops-manager-multi-cluster/output/ra-06_0312_ops_manager_wait_for_running_state.out similarity index 100% rename from public/architectures/ops-manager-multi-cluster/output/0312_ops_manager_wait_for_running_state.out rename to public/architectures/ra-06-ops-manager-multi-cluster/output/ra-06_0312_ops_manager_wait_for_running_state.out diff --git a/public/architectures/ops-manager-mc-no-mesh/output/0321_ops_manager_wait_for_pending_state.out b/public/architectures/ra-06-ops-manager-multi-cluster/output/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 public/architectures/ra-06-ops-manager-multi-cluster/output/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/public/architectures/ra-06-ops-manager-multi-cluster/output/ra-06_0322_ops_manager_wait_for_running_state.out similarity index 100% rename from public/architectures/ops-manager-multi-cluster/output/0322_ops_manager_wait_for_running_state.out rename to public/architectures/ra-06-ops-manager-multi-cluster/output/ra-06_0322_ops_manager_wait_for_running_state.out diff --git a/public/architectures/ops-manager-multi-cluster/output/0522_ops_manager_wait_for_running_state.out b/public/architectures/ra-06-ops-manager-multi-cluster/output/ra-06_0522_ops_manager_wait_for_running_state.out similarity index 100% rename from public/architectures/ops-manager-multi-cluster/output/0522_ops_manager_wait_for_running_state.out rename to public/architectures/ra-06-ops-manager-multi-cluster/output/ra-06_0522_ops_manager_wait_for_running_state.out 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-replicaset-multi-cluster/output/1210_verify_mongosh_connection.out b/public/architectures/ra-07-mongodb-replicaset-multi-cluster/output/ra-07_1210_verify_mongosh_connection.out similarity index 100% rename from public/architectures/mongodb-replicaset-multi-cluster/output/1210_verify_mongosh_connection.out rename to public/architectures/ra-07-mongodb-replicaset-multi-cluster/output/ra-07_1210_verify_mongosh_connection.out diff --git a/public/architectures/mongodb-replicaset-multi-cluster/teardown.sh b/public/architectures/ra-07-mongodb-replicaset-multi-cluster/teardown.sh similarity index 86% rename from public/architectures/mongodb-replicaset-multi-cluster/teardown.sh rename to public/architectures/ra-07-mongodb-replicaset-multi-cluster/teardown.sh index dd5dd71a8..7695b3849 100755 --- a/public/architectures/mongodb-replicaset-multi-cluster/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-sharded-multi-cluster/output/2210_verify_mongosh_connection.out b/public/architectures/ra-08-mongodb-sharded-multi-cluster/output/ra-08_2210_verify_mongosh_connection.out similarity index 100% rename from public/architectures/mongodb-sharded-multi-cluster/output/2210_verify_mongosh_connection.out rename to public/architectures/ra-08-mongodb-sharded-multi-cluster/output/ra-08_2210_verify_mongosh_connection.out 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/output/0150_om_load_balancer.out b/public/architectures/ra-10-ops-manager-mc-no-mesh/output/ra-10_0150_om_load_balancer.out similarity index 100% rename from public/architectures/ops-manager-mc-no-mesh/output/0150_om_load_balancer.out rename to public/architectures/ra-10-ops-manager-mc-no-mesh/output/ra-10_0150_om_load_balancer.out diff --git a/public/architectures/ops-manager-multi-cluster/output/0321_ops_manager_wait_for_pending_state.out b/public/architectures/ra-10-ops-manager-mc-no-mesh/output/ra-10_0321_ops_manager_wait_for_pending_state.out similarity index 100% rename from public/architectures/ops-manager-multi-cluster/output/0321_ops_manager_wait_for_pending_state.out rename to public/architectures/ra-10-ops-manager-mc-no-mesh/output/ra-10_0321_ops_manager_wait_for_pending_state.out diff --git a/public/architectures/ops-manager-mc-no-mesh/output/0330_ops_manager_wait_for_running_state.out b/public/architectures/ra-10-ops-manager-mc-no-mesh/output/ra-10_0330_ops_manager_wait_for_running_state.out similarity index 100% rename from public/architectures/ops-manager-mc-no-mesh/output/0330_ops_manager_wait_for_running_state.out rename to public/architectures/ra-10-ops-manager-mc-no-mesh/output/ra-10_0330_ops_manager_wait_for_running_state.out diff --git a/public/architectures/ops-manager-mc-no-mesh/output/0522_ops_manager_wait_for_running_state.out b/public/architectures/ra-10-ops-manager-mc-no-mesh/output/ra-10_0522_ops_manager_wait_for_running_state.out similarity index 100% rename from public/architectures/ops-manager-mc-no-mesh/output/0522_ops_manager_wait_for_running_state.out rename to public/architectures/ra-10-ops-manager-mc-no-mesh/output/ra-10_0522_ops_manager_wait_for_running_state.out 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..7ecf68f9f --- /dev/null +++ b/public/architectures/ra-10-ops-manager-mc-no-mesh/test.sh @@ -0,0 +1,39 @@ +#!/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 +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-sharded-mc-no-mesh/output/2210_verify_mongosh_connection.out b/public/architectures/ra-11-mongodb-sharded-mc-no-mesh/output/ra-11_2210_verify_mongosh_connection.out similarity index 100% rename from public/architectures/mongodb-sharded-mc-no-mesh/output/2210_verify_mongosh_connection.out rename to public/architectures/ra-11-mongodb-sharded-mc-no-mesh/output/ra-11_2210_verify_mongosh_connection.out diff --git a/public/architectures/mongodb-sharded-mc-no-mesh/teardown.sh b/public/architectures/ra-11-mongodb-sharded-mc-no-mesh/teardown.sh similarity index 86% rename from public/architectures/mongodb-sharded-mc-no-mesh/teardown.sh rename to public/architectures/ra-11-mongodb-sharded-mc-no-mesh/teardown.sh index dd5dd71a8..d9423a9cd 100755 --- a/public/architectures/mongodb-sharded-mc-no-mesh/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-replicaset-mc-no-mesh/output/1210_verify_mongosh_connection.out b/public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/output/ra-12_1210_verify_mongosh_connection.out similarity index 100% rename from public/architectures/mongodb-replicaset-mc-no-mesh/output/1210_verify_mongosh_connection.out rename to public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/output/ra-12_1210_verify_mongosh_connection.out 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/mongodb-replicaset-mc-no-mesh/test.sh b/public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/test.sh similarity index 100% rename from public/architectures/mongodb-replicaset-mc-no-mesh/test.sh rename to public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/test.sh 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/setup-gke/output/0030_verify_access_to_clusters.out b/public/architectures/setup-multi-cluster/ra-01-setup-gke/output/ra-01_0030_verify_access_to_clusters.out similarity index 100% rename from public/architectures/setup-multi-cluster/setup-gke/output/0030_verify_access_to_clusters.out rename to public/architectures/setup-multi-cluster/ra-01-setup-gke/output/ra-01_0030_verify_access_to_clusters.out 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/setup-operator/output/0200_kubectl_mongodb_configure_multi_cluster.out b/public/architectures/setup-multi-cluster/ra-02-setup-operator/output/ra-02_0200_kubectl_mongodb_configure_multi_cluster.out similarity index 100% rename from public/architectures/setup-multi-cluster/setup-operator/output/0200_kubectl_mongodb_configure_multi_cluster.out rename to public/architectures/setup-multi-cluster/ra-02-setup-operator/output/ra-02_0200_kubectl_mongodb_configure_multi_cluster.out diff --git a/docs/community-search/quick-start/output/090_helm_add_mogodb_repo.out b/public/architectures/setup-multi-cluster/ra-02-setup-operator/output/ra-02_0205_helm_configure_repo.out similarity index 100% rename from docs/community-search/quick-start/output/090_helm_add_mogodb_repo.out rename to public/architectures/setup-multi-cluster/ra-02-setup-operator/output/ra-02_0205_helm_configure_repo.out diff --git a/public/architectures/setup-multi-cluster/setup-operator/output/0210_helm_install_operator.out b/public/architectures/setup-multi-cluster/ra-02-setup-operator/output/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 public/architectures/setup-multi-cluster/ra-02-setup-operator/output/ra-02_0210_helm_install_operator.out diff --git a/public/architectures/setup-multi-cluster/setup-operator/output/0211_check_operator_deployment.out b/public/architectures/setup-multi-cluster/ra-02-setup-operator/output/ra-02_0211_check_operator_deployment.out similarity index 100% rename from public/architectures/setup-multi-cluster/setup-operator/output/0211_check_operator_deployment.out rename to public/architectures/setup-multi-cluster/ra-02-setup-operator/output/ra-02_0211_check_operator_deployment.out 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/verify-connectivity/output/0090_check_cluster_connectivity_verify_pod_0_0_from_cluster_1.out b/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/output/ra-04_0090_check_cluster_connectivity_verify_pod_0_0_from_cluster_1.out similarity index 100% rename from public/architectures/setup-multi-cluster/verify-connectivity/output/0090_check_cluster_connectivity_verify_pod_0_0_from_cluster_1.out rename to public/architectures/setup-multi-cluster/ra-04-verify-connectivity/output/ra-04_0090_check_cluster_connectivity_verify_pod_0_0_from_cluster_1.out diff --git a/public/architectures/setup-multi-cluster/verify-connectivity/output/0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_0.out b/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/output/ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_0.out similarity index 100% rename from public/architectures/setup-multi-cluster/verify-connectivity/output/0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_0.out rename to public/architectures/setup-multi-cluster/ra-04-verify-connectivity/output/ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_0.out diff --git a/public/architectures/setup-multi-cluster/verify-connectivity/output/0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_2.out b/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/output/ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_2.out similarity index 100% rename from public/architectures/setup-multi-cluster/verify-connectivity/output/0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_2.out rename to public/architectures/setup-multi-cluster/ra-04-verify-connectivity/output/ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_2.out diff --git a/public/architectures/setup-multi-cluster/verify-connectivity/output/0090_check_cluster_connectivity_verify_pod_2_0_from_cluster_0.out b/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/output/ra-04_0090_check_cluster_connectivity_verify_pod_2_0_from_cluster_0.out similarity index 100% rename from public/architectures/setup-multi-cluster/verify-connectivity/output/0090_check_cluster_connectivity_verify_pod_2_0_from_cluster_0.out rename to public/architectures/setup-multi-cluster/ra-04-verify-connectivity/output/ra-04_0090_check_cluster_connectivity_verify_pod_2_0_from_cluster_0.out 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/output/0215_helm_configure_repo.out b/public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/output/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 public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/output/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/public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/output/ra-05_0216_helm_install_cert_manager.out similarity index 100% rename from public/architectures/setup-multi-cluster/setup-cert-manager/output/0216_helm_install_cert_manager.out rename to public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/output/ra-05_0216_helm_install_cert_manager.out diff --git a/public/architectures/setup-multi-cluster/setup-cert-manager/output/0221_verify_issuer.out b/public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/output/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 public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/output/ra-05_0221_verify_issuer.out 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 100% 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 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/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_community_search_snippets_render_template.sh b/scripts/code_snippets/kind_community_search_snippets_render_template.sh index f7c86d1f7..57d2fcc28 100755 --- a/scripts/code_snippets/kind_community_search_snippets_render_template.sh +++ b/scripts/code_snippets/kind_community_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="docs/community-search/quick-start" -python scripts/code_snippets/render_template.py "${test_dir}/README.md.j2" "${test_dir}/README.md" +test_dir="$1" +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_community_search_snippets_test.sh b/scripts/code_snippets/task_kind_community_search_snippets_test.sh deleted file mode 100755 index 4b4501c2c..000000000 --- a/scripts/code_snippets/task_kind_community_search_snippets_test.sh +++ /dev/null @@ -1,20 +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 - dump_all_non_default_namespaces "$@" -} -trap dump_logs EXIT - -test_dir="./docs/community-search/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_community_search_snippets_render_template.sh 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/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-02_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 new file mode 100644 index 000000000..6a82b75ec --- /dev/null +++ b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-02_0200_kubectl_mongodb_configure_multi_cluster.out @@ -0,0 +1,49 @@ + +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-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-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-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-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-68876175f5ad6d0007fdc1d4-31160 + +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-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-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-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-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-68876175f5ad6d0007fdc1d4-31160 diff --git a/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-02_0205_helm_configure_repo.out b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-02_0205_helm_configure_repo.out new file mode 100644 index 000000000..b1576c236 --- /dev/null +++ b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-02_0205_helm_configure_repo.out @@ -0,0 +1,6 @@ +"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!⎈ +NAME CHART VERSION APP VERSION DESCRIPTION +mongodb/mongodb-kubernetes 1.2.0 MongoDB Controllers for Kubernetes translate th... diff --git a/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-02_0210_helm_install_operator.out b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-02_0210_helm_install_operator.out new file mode 100644 index 000000000..0d2b497dc --- /dev/null +++ b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-02_0210_helm_install_operator.out @@ -0,0 +1,427 @@ +Release "mongodb-kubernetes-operator-multi-cluster" does not exist. Installing it now. +NAME: mongodb-kubernetes-operator-multi-cluster +LAST DEPLOYED: Mon Aug 25 08:57:37 2025 +NAMESPACE: mongodb-operator +STATUS: deployed +REVISION: 1 +TEST SUITE: None +USER-SUPPLIED VALUES: +agent: + version: 108.0.0.8694-1 +customEnvVars: OM_DEBUG_HTTP=true +database: + name: mongodb-kubernetes-database + version: 68876175f5ad6d0007fdc1d4 +initAppDb: + version: 68876175f5ad6d0007fdc1d4 +initDatabase: + version: 68876175f5ad6d0007fdc1d4 +initOpsManager: + version: 68876175f5ad6d0007fdc1d4 +managedSecurityContext: false +mongodb: + imageType: ubi9 + name: mongodb-enterprise-server +multiCluster: + clusters: + - gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-68876175f5ad6d0007fdc1d4-31160 + - gke_scratch-kubernetes-team_europe-central2-b_k8s-mdb-1-68876175f5ad6d0007fdc1d4-31160 + - gke_scratch-kubernetes-team_europe-central2-c_k8s-mdb-2-68876175f5ad6d0007fdc1d4-31160 +namespace: mongodb-operator +operator: + createOperatorServiceAccount: false + createResourcesServiceAccountsAndRoles: false + enablePVCResize: true + env: dev + maxConcurrentReconciles: 10 + mdbDefaultArchitecture: non-static + name: mongodb-kubernetes-operator-multi-cluster + namespace: mongodb-operator + telemetry: + collection: + frequency: 1m + send: + enabled: false + version: 68876175f5ad6d0007fdc1d4 + watchNamespace: mongodb-om,mongodb +opsManager: + name: mongodb-enterprise-ops-manager-ubi +registry: + agent: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev + appDb: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev + database: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev + 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 + operator: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev + opsManager: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev +search: + community: + name: mongodb-search-community + repo: quay.io/mongodb + version: 1.47.0 + +COMPUTED VALUES: +agent: + name: mongodb-agent-ubi + version: 108.0.0.8694-1 +community: + agent: + name: mongodb-agent-ubi + version: 108.0.2.8729-1 + mongodb: + imageType: ubi8 + name: mongodb-community-server + repo: quay.io/mongodb + name: mongodb-database + registry: + agent: quay.io/mongodb + resource: + members: 3 + name: mongodb-replica-set + tls: + caCertificateSecretRef: tls-ca-key-pair + certManager: + certDuration: 8760h + renewCertBefore: 720h + certificateKeySecretRef: tls-certificate + enabled: false + sampleX509User: false + useCertManager: true + useX509: false + version: 4.4.0 +customEnvVars: OM_DEBUG_HTTP=true +database: + name: mongodb-kubernetes-database + version: 68876175f5ad6d0007fdc1d4 +initAppDb: + name: mongodb-kubernetes-init-appdb + version: 68876175f5ad6d0007fdc1d4 +initDatabase: + name: mongodb-kubernetes-init-database + version: 68876175f5ad6d0007fdc1d4 +initOpsManager: + name: mongodb-kubernetes-init-ops-manager + version: 68876175f5ad6d0007fdc1d4 +managedSecurityContext: false +mongodb: + appdbAssumeOldFormat: false + imageType: ubi9 + name: mongodb-enterprise-server + repo: quay.io/mongodb +multiCluster: + clusterClientTimeout: 10 + clusters: + - gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-68876175f5ad6d0007fdc1d4-31160 + - gke_scratch-kubernetes-team_europe-central2-b_k8s-mdb-1-68876175f5ad6d0007fdc1d4-31160 + - gke_scratch-kubernetes-team_europe-central2-c_k8s-mdb-2-68876175f5ad6d0007fdc1d4-31160 + kubeConfigSecretName: mongodb-enterprise-operator-multi-cluster-kubeconfig + performFailOver: true +namespace: mongodb-operator +operator: + additionalArguments: [] + affinity: {} + baseName: mongodb-kubernetes + createOperatorServiceAccount: false + createResourcesServiceAccountsAndRoles: false + deployment_name: mongodb-kubernetes-operator + enableClusterMongoDBRoles: true + enablePVCResize: true + env: dev + maxConcurrentReconciles: 10 + mdbDefaultArchitecture: non-static + name: mongodb-kubernetes-operator-multi-cluster + namespace: mongodb-operator + nodeSelector: {} + operator_image_name: mongodb-kubernetes + replicas: 1 + resources: + limits: + cpu: 1100m + memory: 1Gi + requests: + cpu: 500m + memory: 200Mi + telemetry: + collection: + clusters: {} + deployments: {} + frequency: 1m + operators: {} + send: + enabled: false + frequency: 168h + tolerations: [] + vaultSecretBackend: + enabled: false + tlsSecretRef: "" + version: 68876175f5ad6d0007fdc1d4 + watchNamespace: mongodb-om,mongodb + watchedResources: + - mongodb + - opsmanagers + - mongodbusers + - mongodbcommunity + - mongodbsearch + webhook: + installClusterRole: true + registerConfiguration: true +opsManager: + name: mongodb-enterprise-ops-manager-ubi +readinessProbe: + name: mongodb-kubernetes-readinessprobe + version: 1.0.22 +registry: + agent: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev + appDb: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev + database: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev + 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 + operator: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev + opsManager: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev + pullPolicy: Always + readinessProbe: quay.io/mongodb + versionUpgradeHook: quay.io/mongodb +search: + community: + name: mongodb-search-community + repo: quay.io/mongodb + version: 1.47.0 +versionUpgradeHook: + name: mongodb-kubernetes-operator-version-upgrade-post-start-hook + version: 1.0.9 + +HOOKS: +MANIFEST: +--- +# Source: mongodb-kubernetes/templates/operator-roles-telemetry.yaml +# Additional ClusterRole for clusterVersionDetection +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: mongodb-kubernetes-operator-multi-cluster-cluster-telemetry +rules: + # Non-resource URL permissions + - nonResourceURLs: + - "/version" + verbs: + - get + # Cluster-scoped resource permissions + - apiGroups: + - '' + resources: + - namespaces + resourceNames: + - kube-system + verbs: + - get + - apiGroups: + - '' + resources: + - nodes + 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-telemetry.yaml +# ClusterRoleBinding for clusterVersionDetection +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: mongodb-kubernetes-operator-multi-cluster-mongodb-operator-cluster-telemetry-binding +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: mongodb-kubernetes-operator-multi-cluster-cluster-telemetry +subjects: + - kind: ServiceAccount + name: mongodb-kubernetes-operator-multi-cluster + namespace: mongodb-operator +--- +# Source: mongodb-kubernetes/templates/operator-roles-webhook.yaml +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: mongodb-kubernetes-operator-multi-cluster-mongodb-operator-webhook-binding +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: mongodb-kubernetes-operator-mongodb-webhook +subjects: + - kind: ServiceAccount + name: mongodb-kubernetes-operator-multi-cluster + namespace: mongodb-operator +--- +# Source: mongodb-kubernetes/templates/operator.yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: mongodb-kubernetes-operator-multi-cluster + namespace: mongodb-operator +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/component: controller + app.kubernetes.io/name: mongodb-kubernetes-operator-multi-cluster + app.kubernetes.io/instance: mongodb-kubernetes-operator-multi-cluster + template: + metadata: + labels: + app.kubernetes.io/component: controller + app.kubernetes.io/name: mongodb-kubernetes-operator-multi-cluster + app.kubernetes.io/instance: mongodb-kubernetes-operator-multi-cluster + spec: + serviceAccountName: mongodb-kubernetes-operator-multi-cluster + securityContext: + runAsNonRoot: true + runAsUser: 2000 + imagePullSecrets: + - name: image-registries-secret + containers: + - name: mongodb-kubernetes-operator-multi-cluster + image: "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes:68876175f5ad6d0007fdc1d4" + imagePullPolicy: Always + args: + - -watch-resource=mongodb + - -watch-resource=opsmanagers + - -watch-resource=mongodbusers + - -watch-resource=mongodbcommunity + - -watch-resource=mongodbsearch + - -watch-resource=mongodbmulticluster + - -watch-resource=clustermongodbroles + command: + - /usr/local/bin/mongodb-kubernetes-operator + volumeMounts: + - mountPath: /etc/config/kubeconfig + name: kube-config-volume + resources: + limits: + cpu: 1100m + memory: 1Gi + requests: + cpu: 500m + memory: 200Mi + env: + - name: OPERATOR_ENV + value: dev + - name: MDB_DEFAULT_ARCHITECTURE + value: non-static + - name: NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: WATCH_NAMESPACE + value: "mongodb-om,mongodb" + - name: MDB_OPERATOR_TELEMETRY_COLLECTION_FREQUENCY + value: "1m" + - name: MDB_OPERATOR_TELEMETRY_SEND_ENABLED + value: "false" + - name: MDB_OPERATOR_TELEMETRY_SEND_FREQUENCY + value: "168h" + - name: CLUSTER_CLIENT_TIMEOUT + value: "10" + - name: IMAGE_PULL_POLICY + value: Always + # Database + - name: MONGODB_ENTERPRISE_DATABASE_IMAGE + value: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-database + - name: INIT_DATABASE_IMAGE_REPOSITORY + value: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-init-database + - name: INIT_DATABASE_VERSION + value: 68876175f5ad6d0007fdc1d4 + - name: DATABASE_VERSION + value: 68876175f5ad6d0007fdc1d4 + # Ops Manager + - name: OPS_MANAGER_IMAGE_REPOSITORY + 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 + value: 68876175f5ad6d0007fdc1d4 + # AppDB + - name: INIT_APPDB_IMAGE_REPOSITORY + value: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-init-appdb + - name: INIT_APPDB_VERSION + value: 68876175f5ad6d0007fdc1d4 + - 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.0.8694-1" + - name: MDB_AGENT_IMAGE_REPOSITORY + value: "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-agent-ubi" + - name: MONGODB_IMAGE + value: mongodb-enterprise-server + - name: MONGODB_REPO_URL + value: quay.io/mongodb + - name: MDB_IMAGE_TYPE + value: ubi9 + - name: PERFORM_FAILOVER + value: 'true' + - name: IMAGE_PULL_SECRETS + value: image-registries-secret + - name: MDB_MAX_CONCURRENT_RECONCILES + value: "10" + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: OPERATOR_NAME + value: mongodb-kubernetes-operator-multi-cluster + # Community Env Vars Start + - name: MDB_COMMUNITY_AGENT_IMAGE + value: "quay.io/mongodb/mongodb-agent-ubi:108.0.2.8729-1" + - name: VERSION_UPGRADE_HOOK_IMAGE + value: "quay.io/mongodb/mongodb-kubernetes-operator-version-upgrade-post-start-hook:1.0.9" + - name: READINESS_PROBE_IMAGE + value: "quay.io/mongodb/mongodb-kubernetes-readinessprobe:1.0.22" + - name: MDB_COMMUNITY_IMAGE + value: "mongodb-community-server" + - name: MDB_COMMUNITY_REPO_URL + value: "quay.io/mongodb" + - name: MDB_COMMUNITY_IMAGE_TYPE + value: "ubi8" + # Community Env Vars End + - name: MDB_SEARCH_COMMUNITY_REPO_URL + value: "quay.io/mongodb" + - name: MDB_SEARCH_COMMUNITY_NAME + value: "mongodb-search-community" + - name: MDB_SEARCH_COMMUNITY_VERSION + value: "1.47.0" + - name: OM_DEBUG_HTTP + value: 'true' + volumes: + - name: kube-config-volume + secret: + defaultMode: 420 + secretName: mongodb-enterprise-operator-multi-cluster-kubeconfig + diff --git a/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-02_0211_check_operator_deployment.out b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-02_0211_check_operator_deployment.out new file mode 100644 index 000000000..2f01f86c7 --- /dev/null +++ b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-02_0211_check_operator_deployment.out @@ -0,0 +1,9 @@ +Waiting for deployment "mongodb-kubernetes-operator-multi-cluster" rollout to finish: 0 of 1 updated replicas are available... +deployment "mongodb-kubernetes-operator-multi-cluster" successfully rolled out +Operator deployment in mongodb-operator namespace +NAME READY UP-TO-DATE AVAILABLE AGE +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-64647b6db5-2jfn5 1/1 Running 0 9s diff --git a/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-04_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 new file mode 100644 index 000000000..4665128e6 --- /dev/null +++ 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 @@ -0,0 +1,2 @@ +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/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-04_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 new file mode 100644 index 000000000..0e6fcac94 --- /dev/null +++ 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 @@ -0,0 +1,2 @@ +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/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-04_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 new file mode 100644 index 000000000..7b79ecdd0 --- /dev/null +++ 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 @@ -0,0 +1,2 @@ +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/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-04_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 new file mode 100644 index 000000000..78286fa61 --- /dev/null +++ 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 @@ -0,0 +1,2 @@ +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/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-05_0215_helm_configure_repo.out b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-05_0215_helm_configure_repo.out new file mode 100644 index 000000000..eb8c697bd --- /dev/null +++ b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-05_0215_helm_configure_repo.out @@ -0,0 +1 @@ +"jetstack" has been added to your repositories diff --git a/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-05_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 new file mode 100644 index 000000000..b6242935f --- /dev/null +++ b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-05_0216_helm_install_cert_manager.out @@ -0,0 +1,28 @@ +Release "cert-manager" does not exist. Installing it now. +NAME: cert-manager +LAST DEPLOYED: Mon Aug 25 09:08:18 2025 +NAMESPACE: cert-manager +STATUS: deployed +REVISION: 1 +TEST SUITE: None +NOTES: +⚠️ WARNING: New default private key rotation policy for Certificate resources. +The default private key rotation policy for Certificate resources was +changed to `Always` in cert-manager >= v1.18.0. +Learn more in the [1.18 release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.18). + +cert-manager v1.18.2 has been deployed successfully! + +In order to begin issuing certificates, you will need to set up a ClusterIssuer +or Issuer resource (for example, by creating a 'letsencrypt-staging' issuer). + +More information on the different types of issuers and how to configure them +can be found in our documentation: + +https://cert-manager.io/docs/configuration/ + +For information on how to configure cert-manager to automatically provision +Certificates for Ingress resources, take a look at the `ingress-shim` +documentation: + +https://cert-manager.io/docs/usage/ingress/ diff --git a/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-05_0221_verify_issuer.out b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-05_0221_verify_issuer.out new file mode 100644 index 000000000..045b0fa2b --- /dev/null +++ b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-05_0221_verify_issuer.out @@ -0,0 +1,3 @@ +certificate.cert-manager.io/test-selfsigned-cert created +certificate.cert-manager.io/test-selfsigned-cert condition met +certificate.cert-manager.io "test-selfsigned-cert" deleted diff --git a/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-06_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 new file mode 100644 index 000000000..598d41447 --- /dev/null +++ b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-06_0311_ops_manager_wait_for_pending_state.out @@ -0,0 +1,2 @@ +Waiting for Application Database to reach Pending phase... +mongodbopsmanager.mongodb.com/om condition met diff --git a/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-06_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 new file mode 100644 index 000000000..7ece648e9 --- /dev/null +++ b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-06_0312_ops_manager_wait_for_running_state.out @@ -0,0 +1,18 @@ +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 18m + +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 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-68876175f5ad6d0007fdc1d4-31160 diff --git a/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-06_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 new file mode 100644 index 000000000..0e3908c8c --- /dev/null +++ b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-06_0321_ops_manager_wait_for_pending_state.out @@ -0,0 +1,4 @@ +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/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-06_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 new file mode 100644 index 000000000..fc67f254a --- /dev/null +++ b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-06_0322_ops_manager_wait_for_running_state.out @@ -0,0 +1,22 @@ +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 26m + +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 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-68876175f5ad6d0007fdc1d4-31160 +NAME READY STATUS RESTARTS AGE +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/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-06_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 new file mode 100644 index 000000000..c3a0d3b14 --- /dev/null +++ b/scripts/code_snippets/tests/outputs/test_gke_multi_cluster_snippets/ra-06_0522_ops_manager_wait_for_running_state.out @@ -0,0 +1,29 @@ + +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 29m + +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 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-68876175f5ad6d0007fdc1d4-31160 +NAME READY STATUS RESTARTS AGE +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 8m10s + +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 2m49s 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_community_snippets/01_0090_helm_add_mogodb_repo.out similarity index 100% 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_community_snippets/01_0090_helm_add_mogodb_repo.out diff --git a/docs/community-search/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 83% rename from docs/community-search/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 035e24e8a..e00b5bd25 100644 --- a/docs/community-search/quick-start/output/0100_install_operator.out +++ b/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/01_0100_install_operator.out @@ -1,12 +1,61 @@ Release "mongodb-kubernetes" does not exist. Installing it now. NAME: mongodb-kubernetes +<<<<<<<< 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: + name: mongodb-kubernetes-database + version: 68876175f5ad6d0007fdc1d4 +initAppDb: + version: 68876175f5ad6d0007fdc1d4 +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 + database: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev + 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 + operator: 268558157000.dkr.ecr.us-east-1.amazonaws.com/dev + opsManager: quay.io/mongodb +search: + community: + 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: @@ -53,7 +102,7 @@ initOpsManager: managedSecurityContext: false mongodb: appdbAssumeOldFormat: false - imageType: ubi8 + imageType: ubi9 name: mongodb-enterprise-server repo: quay.io/mongodb multiCluster: @@ -71,7 +120,7 @@ operator: enableClusterMongoDBRoles: true enablePVCResize: true env: prod - maxConcurrentReconciles: 1 + maxConcurrentReconciles: 10 mdbDefaultArchitecture: non-static name: mongodb-kubernetes-operator nodeSelector: {} @@ -88,9 +137,10 @@ operator: collection: clusters: {} deployments: {} - frequency: 1h + frequency: 1m operators: {} send: + enabled: false frequency: 168h tolerations: [] vaultSecretBackend: @@ -126,10 +176,16 @@ registry: versionUpgradeHook: quay.io/mongodb search: community: +<<<<<<<< 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 @@ -479,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 @@ -518,11 +576,11 @@ spec: - name: MONGODB_REPO_URL value: quay.io/mongodb - name: MDB_IMAGE_TYPE - value: ubi8 + value: ubi9 - name: PERFORM_FAILOVER value: 'true' - name: MDB_MAX_CONCURRENT_RECONCILES - value: "1" + value: "10" - name: POD_NAME valueFrom: fieldRef: @@ -544,9 +602,15 @@ spec: value: "ubi8" # Community Env Vars End - name: MDB_SEARCH_COMMUNITY_REPO_URL +<<<<<<<< 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: "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: "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/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/01_0335_show_running_pods.out b/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/01_0335_show_running_pods.out new file mode 100644 index 000000000..6c2bcf86a --- /dev/null +++ b/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/01_0335_show_running_pods.out @@ -0,0 +1,20 @@ + +MongoDBCommunity resource +NAME PHASE VERSION +mdbc-rs Running 8.0.10 + +MongoDBSearch resource +NAME PHASE AGE +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 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/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/03_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 new file mode 100644 index 000000000..b264580af --- /dev/null +++ b/scripts/code_snippets/tests/outputs/test_kind_search_community_snippets/03_0440_wait_for_search_index_ready.out @@ -0,0 +1 @@ +Sleeping to wait for search indexes to be created 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/community-search/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/community-search/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/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..af6d9dbfa --- /dev/null +++ b/scripts/code_snippets/tests/test_gke_multi_cluster_no_mesh_snippets.sh @@ -0,0 +1,56 @@ +#!/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 +} +trap cleanup EXIT + +# store all outputs in + + +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-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..d18486730 --- /dev/null +++ b/scripts/code_snippets/tests/test_gke_multi_cluster_snippets.sh @@ -0,0 +1,49 @@ +#!/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 +} +trap cleanup 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/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/e2e_mdb_community b/scripts/dev/contexts/e2e_mdb_community index 4f096c2d7..bc2f0f7f0 100644 --- a/scripts/dev/contexts/e2e_mdb_community +++ b/scripts/dev/contexts/e2e_mdb_community @@ -10,3 +10,12 @@ source "${script_dir}/variables/mongodb_latest" # This variable is needed otherwise the `fetch_om_information.sh` script is called and fails the test export OM_EXTERNALLY_CONFIGURED="true" + +# Temporary development images built from mongot master +#export MDB_SEARCH_COMMUNITY_VERSION="776d43523d185b6b234289e17c191712a3e6569b" # master +#export MDB_SEARCH_COMMUNITY_VERSION="d6884ae132aab30497af55dbaff05e8274e9775f" # Local->Admin +#export MDB_SEARCH_COMMUNITY_VERSION="ad8acf5c3a045d6e0306ad67d61fcb5be40f57ae" # hardcoded mdbc-rs replicaset name +#export MDB_SEARCH_COMMUNITY_VERSION="b9b80915f5571bfa5fc2aa70acb20d784e68d79b" # hardcoded Local->Admin, handled replicaSetName in config +export MDB_SEARCH_COMMUNITY_VERSION="fbd60fb055dd500058edcb45677ea85d19421f47" # Nolan's fixes +export MDB_SEARCH_COMMUNITY_NAME="mongot/community" +export MDB_SEARCH_COMMUNITY_REPO_URL="268558157000.dkr.ecr.eu-west-1.amazonaws.com" diff --git a/scripts/dev/contexts/e2e_mdb_kind_ubi_cloudqa b/scripts/dev/contexts/e2e_mdb_kind_ubi_cloudqa index 73202c211..c696c852f 100644 --- a/scripts/dev/contexts/e2e_mdb_kind_ubi_cloudqa +++ b/scripts/dev/contexts/e2e_mdb_kind_ubi_cloudqa @@ -16,3 +16,7 @@ export CUSTOM_OM_VERSION export CUSTOM_MDB_VERSION=6.0.5 export CUSTOM_MDB_PREV_VERSION=5.0.7 + +export MDB_SEARCH_COMMUNITY_VERSION="fbd60fb055dd500058edcb45677ea85d19421f47" # Nolan's fixes +export MDB_SEARCH_COMMUNITY_NAME="mongot/community" +export MDB_SEARCH_COMMUNITY_REPO_URL="268558157000.dkr.ecr.eu-west-1.amazonaws.com" diff --git a/scripts/dev/contexts/e2e_static_mdb_kind_ubi_cloudqa b/scripts/dev/contexts/e2e_static_mdb_kind_ubi_cloudqa index 0ee88f209..4880f473d 100644 --- a/scripts/dev/contexts/e2e_static_mdb_kind_ubi_cloudqa +++ b/scripts/dev/contexts/e2e_static_mdb_kind_ubi_cloudqa @@ -17,3 +17,7 @@ export CUSTOM_OM_VERSION export CUSTOM_MDB_PREV_VERSION=6.0.16 export CUSTOM_MDB_VERSION=7.0.5 + +export MDB_SEARCH_COMMUNITY_VERSION="fbd60fb055dd500058edcb45677ea85d19421f47" # Nolan's fixes +export MDB_SEARCH_COMMUNITY_NAME="mongot/community" +export MDB_SEARCH_COMMUNITY_REPO_URL="268558157000.dkr.ecr.eu-west-1.amazonaws.com" diff --git a/scripts/dev/contexts/private_kind_code_snippets b/scripts/dev/contexts/private_kind_code_snippets index 704957a6f..6ae3751d8 100644 --- a/scripts/dev/contexts/private_kind_code_snippets +++ b/scripts/dev/contexts/private_kind_code_snippets @@ -8,6 +8,9 @@ script_name=$(readlink -f "${BASH_SOURCE[0]}") script_dir=$(dirname "${script_name}") source "${script_dir}/root-context" +source "${script_dir}/e2e_mdb_community" export NAMESPACE=mongodb export CODE_SNIPPETS_FLAVOR=e2e_private + +export ops_manager_version="cloud_qa" diff --git a/scripts/funcs/operator_deployment b/scripts/funcs/operator_deployment index 36c1f4764..55f690546 100644 --- a/scripts/funcs/operator_deployment +++ b/scripts/funcs/operator_deployment @@ -34,6 +34,9 @@ get_operator_helm_values() { "operator.telemetry.send.enabled=${MDB_OPERATOR_TELEMETRY_SEND_ENABLED:-false}" # lets collect and save in the configmap as frequently as we can "operator.telemetry.collection.frequency=${MDB_OPERATOR_TELEMETRY_COLLECTION_FREQUENCY:-1m}" + "search.community.repo=${MDB_SEARCH_COMMUNITY_REPO_URL}" + "search.community.name=${MDB_SEARCH_COMMUNITY_NAME}" + "search.community.version=${MDB_SEARCH_COMMUNITY_VERSION}" ) if [[ "${MDB_OPERATOR_TELEMETRY_INSTALL_CLUSTER_ROLE_INSTALLATION:-}" != "" ]]; then From a699271a921040987b10759b5c2264567819623b Mon Sep 17 00:00:00 2001 From: "mongodb-kubernetes-gh-app[bot]" <208647083+mongodb-kubernetes-gh-app[bot]@users.noreply.github.com> Date: Mon, 19 May 2025 10:09:12 +0200 Subject: [PATCH 2/7] Dump diagnostic information from snippets runs --- .evergreen-snippets.yml | 6 ++---- .../code_snippets/ra-09_0130_create_sa_key.sh | 2 +- .../tests/test_gke_multi_cluster_no_mesh_snippets.sh | 8 +++++++- .../tests/test_gke_multi_cluster_snippets.sh | 9 ++++++++- .../tests/test_kind_search_community_snippets.sh | 6 +++++- scripts/evergreen/e2e/dump_diagnostic_information.sh | 4 ++++ 6 files changed, 27 insertions(+), 8 deletions(-) diff --git a/.evergreen-snippets.yml b/.evergreen-snippets.yml index 68c483549..4751dd5da 100644 --- a/.evergreen-snippets.yml +++ b/.evergreen-snippets.yml @@ -7,7 +7,8 @@ variables: - func: setup_mongosh - func: download_kube_tools - func: build_multi_cluster_binary - teardown_group: + teardown_task: + - func: upload_e2e_logs - func: upload_code_snippets_logs - &setup_and_teardown_group_kind_code_snippets @@ -18,12 +19,9 @@ variables: - 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 diff --git a/public/architectures/setup-multi-cluster/ra-09-setup-externaldns/code_snippets/ra-09_0130_create_sa_key.sh b/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/ra-09-setup-externaldns/code_snippets/ra-09_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/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 index af6d9dbfa..f69156e7c 100755 --- 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 @@ -30,7 +30,13 @@ function cleanup() { echo "Not deleting anything" fi } -trap cleanup EXIT + +function on_exit() { + scripts/evergreen/e2e/dump_diagnostic_information_from_all_namespaces.sh + cleanup +} + +trap on_exit EXIT # store all outputs in diff --git a/scripts/code_snippets/tests/test_gke_multi_cluster_snippets.sh b/scripts/code_snippets/tests/test_gke_multi_cluster_snippets.sh index d18486730..d56994f97 100755 --- a/scripts/code_snippets/tests/test_gke_multi_cluster_snippets.sh +++ b/scripts/code_snippets/tests/test_gke_multi_cluster_snippets.sh @@ -25,7 +25,14 @@ function cleanup() { echo "Not deleting anything" fi } -trap cleanup EXIT + +function on_exit() { + scripts/evergreen/e2e/dump_diagnostic_information_from_all_namespaces.sh + 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 diff --git a/scripts/code_snippets/tests/test_kind_search_community_snippets.sh b/scripts/code_snippets/tests/test_kind_search_community_snippets.sh index 7fb16a6e5..a50b86204 100755 --- a/scripts/code_snippets/tests/test_kind_search_community_snippets.sh +++ b/scripts/code_snippets/tests/test_kind_search_community_snippets.sh @@ -18,7 +18,11 @@ dump_logs() { echo fi } -trap dump_logs EXIT + +function on_exit() { + scripts/evergreen/e2e/dump_diagnostic_information_from_all_namespaces.sh +} +trap on_exit EXIT test_dir="./docs/search/01-search-community-deploy" source "${test_dir}/env_variables.sh" diff --git a/scripts/evergreen/e2e/dump_diagnostic_information.sh b/scripts/evergreen/e2e/dump_diagnostic_information.sh index f4ea7b986..d57747223 100755 --- a/scripts/evergreen/e2e/dump_diagnostic_information.sh +++ b/scripts/evergreen/e2e/dump_diagnostic_information.sh @@ -28,6 +28,10 @@ dump_all_non_default_namespaces() { 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" ) From c8482b916199f2bfdf5fe6d235c57ca663988690 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Sierant?= Date: Mon, 25 Aug 2025 12:16:42 +0200 Subject: [PATCH 3/7] wip --- .evergreen-snippets.yml | 9 +- .../quick-start}/README.md | 135 ++----- .../quick-start}/README.md.j2 | 60 ++- .../code_snippets/0045_create_namespaces.sh | 1 + .../0046_create_image_pull_secrets.sh} | 2 +- .../code_snippets/0100_install_operator.sh} | 4 +- ...0_configure_community_search_pullsecret.sh | 25 ++ ...0210_verify_community_search_pullsecret.sh | 10 + ...5_create_mongodb_community_user_secrets.sh | 7 + .../0310_create_mongodb_community_resource.sh | 55 +++ .../0315_wait_for_community_resource.sh | 6 + .../0320_create_mongodb_search_resource.sh} | 2 +- .../0325_wait_for_search_resource.sh | 2 + .../0330_wait_for_community_resource.sh | 2 + .../code_snippets/0335_show_running_pods.sh | 6 + .../0410_run_mongodb_tools_pod.sh} | 7 +- .../0420_import_movies_mflix_database.sh | 9 + .../code_snippets/0430_create_search_index.sh | 6 + .../0440_wait_for_search_index_ready.sh | 20 + .../0450_execute_search_query.sh} | 9 +- .../090_helm_add_mogodb_repo.sh} | 0 .../code_snippets/9010_delete_namespace.sh | 1 + .../quick-start/env_variables.sh | 16 + .../env_variables_e2e_prerelease.sh | 6 + .../quick-start/env_variables_e2e_private.sh | 8 + .../quick-start/env_variables_e2e_public.sh | 2 + docs/community-search/quick-start/test.sh | 33 ++ .../01_0045_create_namespaces.sh | 1 - ...5_create_mongodb_community_user_secrets.sh | 12 - ..._0310_create_mongodb_community_resource.sh | 76 ---- .../01_0315_wait_for_community_resource.sh | 7 - .../01_0325_wait_for_search_resource.sh | 3 - .../01_0330_wait_for_community_resource.sh | 3 - .../01_0335_show_running_pods.sh | 6 - .../code_snippets/01_9010_delete_namespace.sh | 1 - .../env_variables.sh | 22 - .../env_variables_e2e_prerelease.sh | 4 - .../env_variables_e2e_private.sh | 7 - .../env_variables_e2e_private_dev.sh | 36 -- .../env_variables_e2e_public.sh | 1 - .../search/01-search-community-deploy/test.sh | 26 -- .../03_0420_import_movies_mflix_database.sh | 14 - .../03_0430_create_search_index.sh | 5 - .../03_0435_create_vector_search_index.sh | 12 - .../03_0440_wait_for_search_index_ready.sh | 3 - .../03_0444_list_search_indexes.sh | 4 - .../03_0445_list_vector_search_indexes.sh | 4 - .../03_0455_execute_vector_search_query.sh | 30 -- .../code_snippets/03_9010_delete_namespace.sh | 1 - .../03-search-query-usage/env_variables.sh | 20 - docs/search/03-search-query-usage/test.sh | 24 -- ...311_ops_manager_wait_for_pending_state.out | 2 - ...312_ops_manager_wait_for_running_state.out | 18 - ...321_ops_manager_wait_for_pending_state.out | 4 - ...322_ops_manager_wait_for_running_state.out | 22 - ...522_ops_manager_wait_for_running_state.out | 29 -- .../ra-07_1210_verify_mongosh_connection.out | 15 - .../ra-08_2210_verify_mongosh_connection.out | 15 - .../output/ra-10_0150_om_load_balancer.out | 10 - ...321_ops_manager_wait_for_pending_state.out | 4 - ...330_ops_manager_wait_for_running_state.out | 22 - ...522_ops_manager_wait_for_running_state.out | 30 -- .../ra-10-ops-manager-mc-no-mesh/test.sh | 2 + .../ra-11_2210_verify_mongosh_connection.out | 15 - .../ra-12_1210_verify_mongosh_connection.out | 15 - .../test.sh | 10 +- .../ra-01_0030_verify_access_to_clusters.out | 15 - ...ubectl_mongodb_configure_multi_cluster.out | 49 --- .../output/ra-02_0205_helm_configure_repo.out | 6 - .../ra-02_0210_helm_install_operator.out | 378 ------------------ .../ra-02_0211_check_operator_deployment.out | 9 - ...ectivity_verify_pod_0_0_from_cluster_1.out | 2 - ...ectivity_verify_pod_1_0_from_cluster_0.out | 2 - ...ectivity_verify_pod_1_0_from_cluster_2.out | 2 - ...ectivity_verify_pod_2_0_from_cluster_0.out | 2 - .../output/ra-05_0215_helm_configure_repo.out | 1 - .../ra-05_0216_helm_install_cert_manager.out | 28 -- .../output/ra-05_0221_verify_issuer.out | 3 - ...test_gke_multi_cluster_no_mesh_snippets.sh | 26 +- .../tests/test_gke_multi_cluster_snippets.sh | 19 +- .../test_kind_search_community_snippets.sh | 31 +- scripts/dev/contexts/e2e_mdb_community | 9 - scripts/dev/contexts/e2e_mdb_kind_ubi_cloudqa | 4 - .../contexts/e2e_static_mdb_kind_ubi_cloudqa | 4 - .../dev/contexts/prerelease_gke_code_snippets | 2 +- .../dev/contexts/private_gke_code_snippets | 4 +- scripts/dev/contexts/public_gke_code_snippets | 4 +- .../e2e/dump_diagnostic_information.sh | 339 +++++++++------- ...gnostic_information_from_all_namespaces.sh | 7 +- scripts/evergreen/e2e/e2e.sh | 2 +- scripts/funcs/operator_deployment | 8 +- 91 files changed, 556 insertions(+), 1378 deletions(-) rename docs/{search/01-search-community-deploy => community-search/quick-start}/README.md (80%) rename docs/{search/01-search-community-deploy => community-search/quick-start}/README.md.j2 (78%) create mode 100644 docs/community-search/quick-start/code_snippets/0045_create_namespaces.sh rename docs/{search/01-search-community-deploy/code_snippets/01_0046_create_image_pull_secrets.sh => community-search/quick-start/code_snippets/0046_create_image_pull_secrets.sh} (68%) mode change 100755 => 100644 rename docs/{search/01-search-community-deploy/code_snippets/01_0100_install_operator.sh => community-search/quick-start/code_snippets/0100_install_operator.sh} (54%) create mode 100644 docs/community-search/quick-start/code_snippets/0200_configure_community_search_pullsecret.sh create mode 100644 docs/community-search/quick-start/code_snippets/0210_verify_community_search_pullsecret.sh create mode 100644 docs/community-search/quick-start/code_snippets/0305_create_mongodb_community_user_secrets.sh create mode 100644 docs/community-search/quick-start/code_snippets/0310_create_mongodb_community_resource.sh create mode 100644 docs/community-search/quick-start/code_snippets/0315_wait_for_community_resource.sh rename docs/{search/01-search-community-deploy/code_snippets/01_0320_create_mongodb_search_resource.sh => community-search/quick-start/code_snippets/0320_create_mongodb_search_resource.sh} (69%) create mode 100644 docs/community-search/quick-start/code_snippets/0325_wait_for_search_resource.sh create mode 100644 docs/community-search/quick-start/code_snippets/0330_wait_for_community_resource.sh create mode 100644 docs/community-search/quick-start/code_snippets/0335_show_running_pods.sh rename docs/{search/03-search-query-usage/code_snippets/03_0410_run_mongodb_tools_pod.sh => community-search/quick-start/code_snippets/0410_run_mongodb_tools_pod.sh} (58%) create mode 100644 docs/community-search/quick-start/code_snippets/0420_import_movies_mflix_database.sh create mode 100644 docs/community-search/quick-start/code_snippets/0430_create_search_index.sh create mode 100644 docs/community-search/quick-start/code_snippets/0440_wait_for_search_index_ready.sh rename docs/{search/03-search-query-usage/code_snippets/03_0450_execute_search_query.sh => community-search/quick-start/code_snippets/0450_execute_search_query.sh} (66%) rename docs/{search/01-search-community-deploy/code_snippets/01_0090_helm_add_mogodb_repo.sh => community-search/quick-start/code_snippets/090_helm_add_mogodb_repo.sh} (100%) create mode 100644 docs/community-search/quick-start/code_snippets/9010_delete_namespace.sh create mode 100644 docs/community-search/quick-start/env_variables.sh create mode 100644 docs/community-search/quick-start/env_variables_e2e_prerelease.sh create mode 100644 docs/community-search/quick-start/env_variables_e2e_private.sh create mode 100644 docs/community-search/quick-start/env_variables_e2e_public.sh create mode 100755 docs/community-search/quick-start/test.sh delete mode 100755 docs/search/01-search-community-deploy/code_snippets/01_0045_create_namespaces.sh delete mode 100755 docs/search/01-search-community-deploy/code_snippets/01_0305_create_mongodb_community_user_secrets.sh delete mode 100755 docs/search/01-search-community-deploy/code_snippets/01_0310_create_mongodb_community_resource.sh delete mode 100755 docs/search/01-search-community-deploy/code_snippets/01_0315_wait_for_community_resource.sh delete mode 100755 docs/search/01-search-community-deploy/code_snippets/01_0325_wait_for_search_resource.sh delete mode 100755 docs/search/01-search-community-deploy/code_snippets/01_0330_wait_for_community_resource.sh delete mode 100755 docs/search/01-search-community-deploy/code_snippets/01_0335_show_running_pods.sh delete mode 100755 docs/search/01-search-community-deploy/code_snippets/01_9010_delete_namespace.sh delete mode 100644 docs/search/01-search-community-deploy/env_variables.sh delete mode 100644 docs/search/01-search-community-deploy/env_variables_e2e_prerelease.sh delete mode 100644 docs/search/01-search-community-deploy/env_variables_e2e_private.sh delete mode 100644 docs/search/01-search-community-deploy/env_variables_e2e_private_dev.sh delete mode 100644 docs/search/01-search-community-deploy/env_variables_e2e_public.sh delete mode 100755 docs/search/01-search-community-deploy/test.sh delete mode 100755 docs/search/03-search-query-usage/code_snippets/03_0420_import_movies_mflix_database.sh delete mode 100755 docs/search/03-search-query-usage/code_snippets/03_0430_create_search_index.sh delete mode 100755 docs/search/03-search-query-usage/code_snippets/03_0435_create_vector_search_index.sh delete mode 100755 docs/search/03-search-query-usage/code_snippets/03_0440_wait_for_search_index_ready.sh delete mode 100755 docs/search/03-search-query-usage/code_snippets/03_0444_list_search_indexes.sh delete mode 100755 docs/search/03-search-query-usage/code_snippets/03_0445_list_vector_search_indexes.sh delete mode 100644 docs/search/03-search-query-usage/code_snippets/03_0455_execute_vector_search_query.sh delete mode 100755 docs/search/03-search-query-usage/code_snippets/03_9010_delete_namespace.sh delete mode 100644 docs/search/03-search-query-usage/env_variables.sh delete mode 100755 docs/search/03-search-query-usage/test.sh delete mode 100644 public/architectures/ra-06-ops-manager-multi-cluster/output/ra-06_0311_ops_manager_wait_for_pending_state.out delete mode 100644 public/architectures/ra-06-ops-manager-multi-cluster/output/ra-06_0312_ops_manager_wait_for_running_state.out delete mode 100644 public/architectures/ra-06-ops-manager-multi-cluster/output/ra-06_0321_ops_manager_wait_for_pending_state.out delete mode 100644 public/architectures/ra-06-ops-manager-multi-cluster/output/ra-06_0322_ops_manager_wait_for_running_state.out delete mode 100644 public/architectures/ra-06-ops-manager-multi-cluster/output/ra-06_0522_ops_manager_wait_for_running_state.out delete mode 100644 public/architectures/ra-07-mongodb-replicaset-multi-cluster/output/ra-07_1210_verify_mongosh_connection.out delete mode 100644 public/architectures/ra-08-mongodb-sharded-multi-cluster/output/ra-08_2210_verify_mongosh_connection.out delete mode 100644 public/architectures/ra-10-ops-manager-mc-no-mesh/output/ra-10_0150_om_load_balancer.out delete mode 100644 public/architectures/ra-10-ops-manager-mc-no-mesh/output/ra-10_0321_ops_manager_wait_for_pending_state.out delete mode 100644 public/architectures/ra-10-ops-manager-mc-no-mesh/output/ra-10_0330_ops_manager_wait_for_running_state.out delete mode 100644 public/architectures/ra-10-ops-manager-mc-no-mesh/output/ra-10_0522_ops_manager_wait_for_running_state.out delete mode 100644 public/architectures/ra-11-mongodb-sharded-mc-no-mesh/output/ra-11_2210_verify_mongosh_connection.out delete mode 100644 public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/output/ra-12_1210_verify_mongosh_connection.out delete mode 100644 public/architectures/setup-multi-cluster/ra-01-setup-gke/output/ra-01_0030_verify_access_to_clusters.out delete mode 100644 public/architectures/setup-multi-cluster/ra-02-setup-operator/output/ra-02_0200_kubectl_mongodb_configure_multi_cluster.out delete mode 100644 public/architectures/setup-multi-cluster/ra-02-setup-operator/output/ra-02_0205_helm_configure_repo.out delete mode 100644 public/architectures/setup-multi-cluster/ra-02-setup-operator/output/ra-02_0210_helm_install_operator.out delete mode 100644 public/architectures/setup-multi-cluster/ra-02-setup-operator/output/ra-02_0211_check_operator_deployment.out delete mode 100644 public/architectures/setup-multi-cluster/ra-04-verify-connectivity/output/ra-04_0090_check_cluster_connectivity_verify_pod_0_0_from_cluster_1.out delete mode 100644 public/architectures/setup-multi-cluster/ra-04-verify-connectivity/output/ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_0.out delete mode 100644 public/architectures/setup-multi-cluster/ra-04-verify-connectivity/output/ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_2.out delete mode 100644 public/architectures/setup-multi-cluster/ra-04-verify-connectivity/output/ra-04_0090_check_cluster_connectivity_verify_pod_2_0_from_cluster_0.out delete mode 100644 public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/output/ra-05_0215_helm_configure_repo.out delete mode 100644 public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/output/ra-05_0216_helm_install_cert_manager.out delete mode 100644 public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/output/ra-05_0221_verify_issuer.out diff --git a/.evergreen-snippets.yml b/.evergreen-snippets.yml index 4751dd5da..d409f5b9f 100644 --- a/.evergreen-snippets.yml +++ b/.evergreen-snippets.yml @@ -66,12 +66,6 @@ tasks: - 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 @@ -85,7 +79,6 @@ task_groups: 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 @@ -117,7 +110,7 @@ buildvariants: allowed_requesters: [ "patch" ] run_on: - ubuntu2204-small -# <<: *base_om8_dependency + <<: *base_om8_dependency tasks: - name: gke_code_snippets_task_group diff --git a/docs/search/01-search-community-deploy/README.md b/docs/community-search/quick-start/README.md similarity index 80% rename from docs/search/01-search-community-deploy/README.md rename to docs/community-search/quick-start/README.md index dbb20cab4..3934db1ab 100644 --- a/docs/search/01-search-community-deploy/README.md +++ b/docs/community-search/quick-start/README.md @@ -27,14 +27,14 @@ 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_CTX="" +export K8S_CLUSTER_0_CONTEXT_NAME="" # At the private preview stage the community search image is accessible only from a private repository. # Please contact MongoDB Support to get access. export PRIVATE_PREVIEW_IMAGE_PULLSECRET="<.dockerconfigjson>" # the following namespace will be created if not exists -export MDB_NS="mongodb" +export MDB_NAMESPACE="mongodb" export MDB_ADMIN_USER_PASSWORD="admin-user-password-CHANGE-ME" export MDB_SEARCH_USER_PASSWORD="search-user-password-CHANGE-ME" @@ -62,9 +62,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_CTX}" \ +helm upgrade --install --debug --kube-context "${K8S_CLUSTER_0_CONTEXT_NAME}" \ --create-namespace \ - --namespace="${MDB_NS}" \ + --namespace="${MDB_NAMESPACE}" \ mongodb-kubernetes \ --set "${OPERATOR_ADDITIONAL_HELM_VALUES:-"dummy=value"}" \ "${OPERATOR_HELM_CHART}" @@ -133,7 +133,6 @@ 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 -<<<<<<<< HEAD:docs/community-search/quick-start/README.md kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" --namespace "${MDB_NAMESPACE}" \ create secret generic admin-user-password \ --from-literal=password="${MDB_ADMIN_USER_PASSWORD}" @@ -141,20 +140,6 @@ kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" --namespace "${MDB_NAMESPACE}" kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" --namespace "${MDB_NAMESPACE}" \ create secret generic search-user-password \ --from-literal=password="${MDB_SEARCH_USER_PASSWORD}" -======== -kubectl --context "${K8S_CTX}" --namespace "${MDB_NS}" \ - create secret generic mdb-admin-user-password \ - --from-literal=password="${MDB_ADMIN_USER_PASSWORD}" - -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_CTX}" --namespace "${MDB_NS}" \ - create secret generic mdb-user-password \ - --from-literal=password="${MDB_USER_PASSWORD}" - ->>>>>>>> 6309cff6f (Refactor of existing snippets on master):docs/search/01-search-community-deploy/README.md ``` Ensure these secrets are created in the same namespace where you plan to deploy MongoDB. @@ -164,7 +149,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_CTX}" -n "${MDB_NS}" -f - <>>>>>>> 6309cff6f (Refactor of existing snippets on master):docs/search/01-search-community-deploy/README.md EOF ``` @@ -268,12 +213,11 @@ After applying the `MongoDBCommunity` custom resource, the operator begins deplo [code_snippets/0315_wait_for_community_resource.sh](code_snippets/0315_wait_for_community_resource.sh) ```shell copy echo "Waiting for MongoDBCommunity resource to reach Running phase..." -kubectl --context "${K8S_CTX}" -n "${MDB_NS}" wait \ - --for=jsonpath='{.status.phase}'=Running mdbc/mdbc-rs --timeout=400s +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_CTX}" -n "${MDB_NS}" get mdbc/mdbc-rs -echo; echo "Pods running in cluster ${K8S_CTX}" -kubectl --context "${K8S_CTX}" -n "${MDB_NS}" get pods +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 ``` ### 9. Create MongoDB Search Resource @@ -286,7 +230,7 @@ Note: Private preview of MongoDB Community Search comes with some limitations, a [code_snippets/0320_create_mongodb_search_resource.sh](code_snippets/0320_create_mongodb_search_resource.sh) ```shell copy -kubectl apply --context "${K8S_CTX}" -n "${MDB_NS}" -f - <>>>>>>> 6309cff6f (Refactor of existing snippets on master):docs/search/01-search-community-deploy/README.md EOF )" ``` @@ -416,16 +350,10 @@ Before performing search queries, create a search index. This step uses `kubectl [code_snippets/0430_create_search_index.sh](code_snippets/0430_create_search_index.sh) ```shell copy -<<<<<<<< HEAD:docs/community-search/quick-start/README.md #!/bin/bash kubectl exec --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${MDB_NAMESPACE}" mongodb-tools-pod -- \ mongosh --quiet "mongodb://search-user:${MDB_SEARCH_USER_PASSWORD}@mdbc-rs-0.mdbc-rs-svc.${MDB_NAMESPACE}.svc.cluster.local:27017/?replicaSet=mdbc-rs" \ -======== -kubectl exec --context "${K8S_CTX}" -n "${MDB_NS}" mongodb-tools-pod -- \ - mongosh --quiet \ - "mongodb://mdb-user:${MDB_USER_PASSWORD}@mdbc-rs-0.mdbc-rs-svc.${MDB_NS}.svc.cluster.local:27017/?replicaSet=mdbc-rs" \ ->>>>>>>> 6309cff6f (Refactor of existing snippets on master):docs/search/01-search-community-deploy/README.md --eval "use sample_mflix" \ --eval 'db.movies.createSearchIndex("default", { mappings: { dynamic: true } });' ``` @@ -436,7 +364,6 @@ Creating a search index is an asynchronous operation. This script polls periodic [code_snippets/0440_wait_for_search_index_ready.sh](code_snippets/0440_wait_for_search_index_ready.sh) ```shell copy -<<<<<<<< HEAD:docs/community-search/quick-start/README.md #!/bin/bash for _ in $(seq 0 10); do @@ -457,11 +384,6 @@ if [[ "${search_index_status}" != "READY" ]]; then echo "Error waiting for the search index to be ready" return 1 fi -======== -# Currently it's not possible to check the status of search indexes, we need to just wait -echo "Sleeping to wait for search indexes to be created" -sleep 60 ->>>>>>>> 6309cff6f (Refactor of existing snippets on master):docs/search/01-search-community-deploy/README.md ``` ### 17. Execute a Search Query @@ -470,6 +392,8 @@ Once the search index is ready, execute search queries using the `$search` aggre [code_snippets/0450_execute_search_query.sh](code_snippets/0450_execute_search_query.sh) ```shell copy +#!/bin/bash + mdb_script=$(cat <<'EOF' use sample_mflix; db.movies.aggregate([ @@ -510,14 +434,9 @@ db.movies.aggregate([ EOF ) -kubectl exec --context "${K8S_CTX}" -n "${MDB_NS}" \ - mongodb-tools-pod -- /bin/bash -eu -c "$(cat < /tmp/mdb_script.js -<<<<<<<< HEAD:docs/community-search/quick-start/README.md mongosh --quiet "mongodb://search-user:${MDB_SEARCH_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 ->>>>>>>> 6309cff6f (Refactor of existing snippets on master):docs/search/01-search-community-deploy/README.md EOF )" ``` \ No newline at end of file diff --git a/docs/search/01-search-community-deploy/README.md.j2 b/docs/community-search/quick-start/README.md.j2 similarity index 78% rename from docs/search/01-search-community-deploy/README.md.j2 rename to docs/community-search/quick-start/README.md.j2 index de32c88b1..0e3125075 100644 --- a/docs/search/01-search-community-deploy/README.md.j2 +++ b/docs/community-search/quick-start/README.md.j2 @@ -4,9 +4,11 @@ This guide provides instructions for deploying MongoDB Community Edition along w ## Prerequisites +Community Search is currently in private preview, and access to the image requires a secret to pull the search container image from Quay.io. This secret is specified during the first step of the process below, and must be obtained from MongoDB when requesting access to the private preview. + 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. +- **Kubernetes cluster**: A running Kubernetes cluster (e.g., Minikube, Kind, GKE, EKS, AKS). - **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. @@ -45,13 +47,33 @@ Next, install the MongoDB Kubernetes Operator from the Helm repository you just ```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). +This command installs the operator in the `mongodb` namespace (creating it if it doesn't exist) and names the release `community-operator`. + +### 4. Configure Pull Secret for MongoDB Community Search + +To use MongoDB Search, your Kubernetes cluster needs to pull the necessary container images. This step creates a Kubernetes secret named `community-private-preview-pullsecret`. This secret stores the credentials required to access the image repository for MongoDB Search. The script then patches the `mongodb-kubernetes-database-pods` service account to include this pull secret, allowing pods managed by this service account to pull the required images. + +[code_snippets/0200_configure_community_search_pullsecret.sh](code_snippets/0200_configure_community_search_pullsecret.sh) +```shell copy +{% include "code_snippets/0200_configure_community_search_pullsecret.sh" %} +``` +This script creates a `community-private-preview-pullsecret` secret in your Kubernetes namespace and associates it with the service account used for MongoDB pods. + +### 5. Verify Pull Secret Configuration + +Confirm that the `community-private-preview-pullsecret` has been successfully added to the `mongodb-kubernetes-database-pods` service account. This ensures that Kubernetes can authenticate with the container registry when pulling images for MongoDB Search pods. + +[code_snippets/0210_verify_community_search_pullsecret.sh](code_snippets/0210_verify_community_search_pullsecret.sh) +```shell copy +{% include "code_snippets/0210_verify_community_search_pullsecret.sh" %} +``` +This command checks the `mongodb-kubernetes-database-pods` service account to confirm the presence of `community-private-preview-pullsecret`. ## Creating a MongoDB Community Search Deployment With the prerequisites and initial setup complete, you can now deploy MongoDB Community Edition and enable Search. -### 4. Create MongoDB User Secrets +### 6. Create MongoDB User Secrets MongoDB requires authentication for secure access. This step creates two Kubernetes secrets: `admin-user-password` and `search-user-password`. These secrets store the credentials for the MongoDB administrative user and a dedicated search user, respectively. These secrets will be mounted into the MongoDB pods. @@ -61,19 +83,16 @@ MongoDB requires authentication for secure access. This step creates two Kuberne ``` Ensure these secrets are created in the same namespace where you plan to deploy MongoDB. -### 5. Create MongoDB Community Resource +### 7. Create MongoDB Community Resource -Now, deploy MongoDB Community by creating a `MongoDBCommunity` custom resource named `mdbc-rs`. This resource definition instructs the MongoDB Kubernetes Operator to configure a MongoDB replica set with 3 members, running version 8.0.10. MongoDB Community Search is supported only from MongoDB Community Server version 8.0.10. It also defines CPU and memory resources for the `mongod` and `mongodb-agent` containers, and sets up three users: -* `mdb-user` - a regular user used to that will perform restore of `sample_mflix` database and execute search queries. -* `search-sync-source` - user that MongoDB Search is using to connect to MongoDB database in order to manage and build indexes. This user uses `searchCoordinator` role, which for MongoDB <8.2 is created automatically by the operator. -* `admin-user` and ``) with their respective roles and password secrets. User `search-user` will be used to restore, connect and perform search queries on the `sample_mflix` database. +Now, deploy MongoDB Community by creating a `MongoDBCommunity` custom resource named `mdbc-rs`. This resource definition instructs the MongoDB Kubernetes Operator to configure a MongoDB replica set with 3 members, running version 8.0.6. MongoDB Community Search is supported only from MongoDB Community Server version 8.0. It also defines CPU and memory resources for the `mongod` and `mongodb-agent` containers, and sets up two users (`admin-user` and `search-user`) with their respective roles and password secrets. User `search-user` will be used to restore, connect and perform search queries on the `sample_mflix` database. [code_snippets/0310_create_mongodb_community_resource.sh](code_snippets/0310_create_mongodb_community_resource.sh) ```yaml copy {% include "code_snippets/0310_create_mongodb_community_resource.sh" %} ``` -### 6. Wait for MongoDB Community Resource to be Ready +### 8. Wait for MongoDB Community Resource to be Ready After applying the `MongoDBCommunity` custom resource, the operator begins deploying the MongoDB nodes (pods). This step uses `kubectl wait` to pause execution until the `mdbc-rs` resource's status phase becomes `Running`, indicating that the MongoDB Community replica set is operational. @@ -82,12 +101,13 @@ After applying the `MongoDBCommunity` custom resource, the operator begins deplo {% include "code_snippets/0315_wait_for_community_resource.sh" %} ``` -### 7. Create MongoDB Search Resource +### 9. Create MongoDB Search Resource Once your MongoDB deployment is ready, enable Search capabilities by creating a `MongoDBSearch` custom resource, also named `mdbc-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 Community 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) +Note: Private preview of MongoDB Community Search comes with some limitations, and it is not suitable for production use: +* TLS cannot be enabled in MongoDB Community deployment (MongoD communicates with MongoT with plain text). +* Only one node of search node is supported (load balancing not supported) [code_snippets/0320_create_mongodb_search_resource.sh](code_snippets/0320_create_mongodb_search_resource.sh) ```shell copy @@ -106,7 +126,7 @@ requests: memory: 2G ``` -### 8. Wait for Search Resource to be Ready +### 10. 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 `mdbc-rs` reports a `Running` status in its `.status.phase` field, indicating that the search nodes are operational and integrated. @@ -116,7 +136,7 @@ Similar to the MongoDB deployment, the Search deployment needs time to initializ ``` This command polls the status of the `MongoDBSearch` resource `mdbc-rs`. -### 9. Verify MongoDB Community Resource Status +### 11. Verify MongoDB Community Resource Status Double-check the status of your `MongoDBCommunity` resource to ensure it remains healthy and that the integration with the Search resource is reflected if applicable. @@ -126,7 +146,7 @@ Double-check the status of your `MongoDBCommunity` resource to ensure it remains ``` This provides a final confirmation that the core database is operational. -### 10. List Running Pods +### 12. 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. @@ -139,7 +159,7 @@ View all the running pods in your namespace. You should see pods for the MongoDB Now that your MongoDB Community database with Search is deployed, you can start using its search capabilities. -### 11. Deploy MongoDB Tools Pod +### 13. 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 Community 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 mongodb without neeeding to expose the database externally (provided steps directly connect to the *.cluster.local hostnames). @@ -148,7 +168,7 @@ To interact with your MongoDB deployment, this step deploys a utility pod named {% include "code_snippets/0410_run_mongodb_tools_pod.sh" %} ``` -### 12. Import Sample Data +### 14. 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 `search-user`. @@ -158,7 +178,7 @@ To test the search functionality, this step imports the `sample_mflix.movies` co ``` This command uses `mongorestore` from the `mongodb-tools-pod` to load data from the downloaded `sample_mflix.archive` file. -### 13. Create Search Index +### 15. 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. @@ -167,7 +187,7 @@ Before performing search queries, create a search index. This step uses `kubectl {% include "code_snippets/0430_create_search_index.sh" %} ``` -### 14. Wait for Search Index to be Ready +### 16. 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")`. @@ -176,7 +196,7 @@ Creating a search index is an asynchronous operation. This script polls periodic {% include "code_snippets/0440_wait_for_search_index_ready.sh" %} ``` -### 15. Execute a Search Query +### 17. 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. diff --git a/docs/community-search/quick-start/code_snippets/0045_create_namespaces.sh b/docs/community-search/quick-start/code_snippets/0045_create_namespaces.sh new file mode 100644 index 000000000..7d0899c63 --- /dev/null +++ b/docs/community-search/quick-start/code_snippets/0045_create_namespaces.sh @@ -0,0 +1 @@ +kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" create namespace "${MDB_NAMESPACE}" diff --git a/docs/search/01-search-community-deploy/code_snippets/01_0046_create_image_pull_secrets.sh b/docs/community-search/quick-start/code_snippets/0046_create_image_pull_secrets.sh old mode 100755 new mode 100644 similarity index 68% rename from docs/search/01-search-community-deploy/code_snippets/01_0046_create_image_pull_secrets.sh rename to docs/community-search/quick-start/code_snippets/0046_create_image_pull_secrets.sh index 7158760c4..270bdbe11 --- a/docs/search/01-search-community-deploy/code_snippets/01_0046_create_image_pull_secrets.sh +++ b/docs/community-search/quick-start/code_snippets/0046_create_image_pull_secrets.sh @@ -1,3 +1,3 @@ -kubectl --context "${K8S_CTX}" -n "${MDB_NS}" \ +kubectl --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${MDB_NAMESPACE}" \ create secret generic "image-registries-secret" \ --from-file=.dockerconfigjson="${HOME}/.docker/config.json" --type=kubernetes.io/dockerconfigjson diff --git a/docs/search/01-search-community-deploy/code_snippets/01_0100_install_operator.sh b/docs/community-search/quick-start/code_snippets/0100_install_operator.sh similarity index 54% rename from docs/search/01-search-community-deploy/code_snippets/01_0100_install_operator.sh rename to docs/community-search/quick-start/code_snippets/0100_install_operator.sh index 8ada5bee6..36715a6a2 100644 --- a/docs/search/01-search-community-deploy/code_snippets/01_0100_install_operator.sh +++ b/docs/community-search/quick-start/code_snippets/0100_install_operator.sh @@ -1,6 +1,6 @@ -helm upgrade --install --debug --kube-context "${K8S_CTX}" \ +helm upgrade --install --debug --kube-context "${K8S_CLUSTER_0_CONTEXT_NAME}" \ --create-namespace \ - --namespace="${MDB_NS}" \ + --namespace="${MDB_NAMESPACE}" \ mongodb-kubernetes \ --set "${OPERATOR_ADDITIONAL_HELM_VALUES:-"dummy=value"}" \ "${OPERATOR_HELM_CHART}" diff --git a/docs/community-search/quick-start/code_snippets/0200_configure_community_search_pullsecret.sh b/docs/community-search/quick-start/code_snippets/0200_configure_community_search_pullsecret.sh new file mode 100644 index 000000000..59310c81f --- /dev/null +++ b/docs/community-search/quick-start/code_snippets/0200_configure_community_search_pullsecret.sh @@ -0,0 +1,25 @@ +kubectl apply --context "${K8S_CLUSTER_0_CONTEXT_NAME}" -n "${MDB_NAMESPACE}" -f - < /tmp/mdb_script.js -<<<<<<<< HEAD:docs/community-search/quick-start/code_snippets/0450_execute_search_query.sh mongosh --quiet "mongodb://search-user:${MDB_SEARCH_USER_PASSWORD}@mdbc-rs-0.mdbc-rs-svc.${MDB_NAMESPACE}.svc.cluster.local:27017/?replicaSet=mdbc-rs" < /tmp/mdb_script.js -======== -mongosh --quiet "${MDB_CONNECTION_STRING}" < /tmp/mdb_script.js ->>>>>>>> 6309cff6f (Refactor of existing snippets on master):docs/search/03-search-query-usage/code_snippets/03_0450_execute_search_query.sh EOF )" diff --git a/docs/search/01-search-community-deploy/code_snippets/01_0090_helm_add_mogodb_repo.sh b/docs/community-search/quick-start/code_snippets/090_helm_add_mogodb_repo.sh similarity index 100% rename from docs/search/01-search-community-deploy/code_snippets/01_0090_helm_add_mogodb_repo.sh rename to docs/community-search/quick-start/code_snippets/090_helm_add_mogodb_repo.sh diff --git a/docs/community-search/quick-start/code_snippets/9010_delete_namespace.sh b/docs/community-search/quick-start/code_snippets/9010_delete_namespace.sh new file mode 100644 index 000000000..96db9a4b6 --- /dev/null +++ b/docs/community-search/quick-start/code_snippets/9010_delete_namespace.sh @@ -0,0 +1 @@ +kubectl --context diff --git a/docs/community-search/quick-start/env_variables.sh b/docs/community-search/quick-start/env_variables.sh new file mode 100644 index 000000000..0d0a98a5f --- /dev/null +++ b/docs/community-search/quick-start/env_variables.sh @@ -0,0 +1,16 @@ +# set it to the context name of the k8s cluster +export K8S_CLUSTER_0_CONTEXT_NAME="" + +# At the private preview stage the community search image is accessible only from a private repository. +# Please contact MongoDB Support to get access. +export PRIVATE_PREVIEW_IMAGE_PULLSECRET="<.dockerconfigjson>" + +# the following namespace will be created if not exists +export MDB_NAMESPACE="mongodb" + +export MDB_ADMIN_USER_PASSWORD="admin-user-password-CHANGE-ME" +export MDB_SEARCH_USER_PASSWORD="search-user-password-CHANGE-ME" + +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="" diff --git a/docs/community-search/quick-start/env_variables_e2e_prerelease.sh b/docs/community-search/quick-start/env_variables_e2e_prerelease.sh new file mode 100644 index 000000000..b708d7786 --- /dev/null +++ b/docs/community-search/quick-start/env_variables_e2e_prerelease.sh @@ -0,0 +1,6 @@ +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/community-search/quick-start/env_variables_e2e_private.sh b/docs/community-search/quick-start/env_variables_e2e_private.sh new file mode 100644 index 000000000..7996f92a9 --- /dev/null +++ b/docs/community-search/quick-start/env_variables_e2e_private.sh @@ -0,0 +1,8 @@ +export K8S_CLUSTER_0_CONTEXT_NAME="${CLUSTER_NAME}" + +export PRIVATE_PREVIEW_IMAGE_PULLSECRET="${COMMUNITY_PRIVATE_PREVIEW_PULLSECRET_DOCKERCONFIGJSON}" + +source scripts/funcs/operator_deployment +OPERATOR_ADDITIONAL_HELM_VALUES="$(get_operator_helm_values | tr ' ' ',')" +export OPERATOR_ADDITIONAL_HELM_VALUES +export OPERATOR_HELM_CHART="${PROJECT_DIR}/helm_chart" diff --git a/docs/community-search/quick-start/env_variables_e2e_public.sh b/docs/community-search/quick-start/env_variables_e2e_public.sh new file mode 100644 index 000000000..8a835d9b7 --- /dev/null +++ b/docs/community-search/quick-start/env_variables_e2e_public.sh @@ -0,0 +1,2 @@ +export K8S_CLUSTER_0_CONTEXT_NAME="${CLUSTER_NAME}" +export PRIVATE_PREVIEW_IMAGE_PULLSECRET="${COMMUNITY_PRIVATE_PREVIEW_PULLSECRET_DOCKERCONFIGJSON}" diff --git a/docs/community-search/quick-start/test.sh b/docs/community-search/quick-start/test.sh new file mode 100755 index 000000000..15caf5fe4 --- /dev/null +++ b/docs/community-search/quick-start/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 + +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_for_output 0200_configure_community_search_pullsecret.sh +run_for_output 0210_verify_community_search_pullsecret.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/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 deleted file mode 100755 index 076899281..000000000 --- a/docs/search/01-search-community-deploy/code_snippets/01_0045_create_namespaces.sh +++ /dev/null @@ -1 +0,0 @@ -kubectl --context "${K8S_CTX}" create namespace "${MDB_NS}" diff --git a/docs/search/01-search-community-deploy/code_snippets/01_0305_create_mongodb_community_user_secrets.sh b/docs/search/01-search-community-deploy/code_snippets/01_0305_create_mongodb_community_user_secrets.sh deleted file mode 100755 index 6e28372b7..000000000 --- a/docs/search/01-search-community-deploy/code_snippets/01_0305_create_mongodb_community_user_secrets.sh +++ /dev/null @@ -1,12 +0,0 @@ -kubectl --context "${K8S_CTX}" --namespace "${MDB_NS}" \ - create secret generic mdb-admin-user-password \ - --from-literal=password="${MDB_ADMIN_USER_PASSWORD}" - -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_CTX}" --namespace "${MDB_NS}" \ - create secret generic mdb-user-password \ - --from-literal=password="${MDB_USER_PASSWORD}" - diff --git a/docs/search/01-search-community-deploy/code_snippets/01_0310_create_mongodb_community_resource.sh b/docs/search/01-search-community-deploy/code_snippets/01_0310_create_mongodb_community_resource.sh deleted file mode 100755 index 83c1a2c6b..000000000 --- a/docs/search/01-search-community-deploy/code_snippets/01_0310_create_mongodb_community_resource.sh +++ /dev/null @@ -1,76 +0,0 @@ -kubectl apply --context "${K8S_CTX}" -n "${MDB_NS}" -f - < /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 deleted file mode 100755 index 2d28e4bb7..000000000 --- a/docs/search/03-search-query-usage/code_snippets/03_9010_delete_namespace.sh +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index af6bd874c..000000000 --- a/docs/search/03-search-query-usage/env_variables.sh +++ /dev/null @@ -1,20 +0,0 @@ -# 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 deleted file mode 100755 index 28e430eb0..000000000 --- a/docs/search/03-search-query-usage/test.sh +++ /dev/null @@ -1,24 +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 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/public/architectures/ra-06-ops-manager-multi-cluster/output/ra-06_0311_ops_manager_wait_for_pending_state.out b/public/architectures/ra-06-ops-manager-multi-cluster/output/ra-06_0311_ops_manager_wait_for_pending_state.out deleted file mode 100644 index 598d41447..000000000 --- a/public/architectures/ra-06-ops-manager-multi-cluster/output/ra-06_0311_ops_manager_wait_for_pending_state.out +++ /dev/null @@ -1,2 +0,0 @@ -Waiting for Application Database to reach Pending phase... -mongodbopsmanager.mongodb.com/om condition met diff --git a/public/architectures/ra-06-ops-manager-multi-cluster/output/ra-06_0312_ops_manager_wait_for_running_state.out b/public/architectures/ra-06-ops-manager-multi-cluster/output/ra-06_0312_ops_manager_wait_for_running_state.out deleted file mode 100644 index 45a23aefb..000000000 --- a/public/architectures/ra-06-ops-manager-multi-cluster/output/ra-06_0312_ops_manager_wait_for_running_state.out +++ /dev/null @@ -1,18 +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 12m - -Pods running in cluster gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-682f2df6e1745e000788a1d5-24552 -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 - -Pods running in cluster gke_scratch-kubernetes-team_europe-central2-b_k8s-mdb-1-682f2df6e1745e000788a1d5-24552 diff --git a/public/architectures/ra-06-ops-manager-multi-cluster/output/ra-06_0321_ops_manager_wait_for_pending_state.out b/public/architectures/ra-06-ops-manager-multi-cluster/output/ra-06_0321_ops_manager_wait_for_pending_state.out deleted file mode 100644 index 0e3908c8c..000000000 --- a/public/architectures/ra-06-ops-manager-multi-cluster/output/ra-06_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/ra-06-ops-manager-multi-cluster/output/ra-06_0322_ops_manager_wait_for_running_state.out b/public/architectures/ra-06-ops-manager-multi-cluster/output/ra-06_0322_ops_manager_wait_for_running_state.out deleted file mode 100644 index 2b45590a2..000000000 --- a/public/architectures/ra-06-ops-manager-multi-cluster/output/ra-06_0322_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 20m - -Pods running in cluster gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-682f2df6e1745e000788a1d5-24552 -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 - -Pods running in cluster gke_scratch-kubernetes-team_europe-central2-b_k8s-mdb-1-682f2df6e1745e000788a1d5-24552 -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 diff --git a/public/architectures/ra-06-ops-manager-multi-cluster/output/ra-06_0522_ops_manager_wait_for_running_state.out b/public/architectures/ra-06-ops-manager-multi-cluster/output/ra-06_0522_ops_manager_wait_for_running_state.out deleted file mode 100644 index 9f404efdc..000000000 --- a/public/architectures/ra-06-ops-manager-multi-cluster/output/ra-06_0522_ops_manager_wait_for_running_state.out +++ /dev/null @@ -1,29 +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 23m - -Pods running in cluster gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-682f2df6e1745e000788a1d5-24552 -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 - -Pods running in cluster gke_scratch-kubernetes-team_europe-central2-b_k8s-mdb-1-682f2df6e1745e000788a1d5-24552 -NAME READY STATUS RESTARTS AGE -om-1-0 2/2 Running 0 6m17s -om-db-1-0 4/4 Running 0 10m -om-db-1-1 4/4 Running 0 8m24s - -Pods running in cluster gke_scratch-kubernetes-team_europe-central2-c_k8s-mdb-2-682f2df6e1745e000788a1d5-24552 -NAME READY STATUS RESTARTS AGE -om-2-backup-daemon-0 2/2 Running 0 2m31s diff --git a/public/architectures/ra-07-mongodb-replicaset-multi-cluster/output/ra-07_1210_verify_mongosh_connection.out b/public/architectures/ra-07-mongodb-replicaset-multi-cluster/output/ra-07_1210_verify_mongosh_connection.out deleted file mode 100644 index 8fd3ba143..000000000 --- a/public/architectures/ra-07-mongodb-replicaset-multi-cluster/output/ra-07_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/ra-08-mongodb-sharded-multi-cluster/output/ra-08_2210_verify_mongosh_connection.out b/public/architectures/ra-08-mongodb-sharded-multi-cluster/output/ra-08_2210_verify_mongosh_connection.out deleted file mode 100644 index 664ae8d80..000000000 --- a/public/architectures/ra-08-mongodb-sharded-multi-cluster/output/ra-08_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/ra-10-ops-manager-mc-no-mesh/output/ra-10_0150_om_load_balancer.out b/public/architectures/ra-10-ops-manager-mc-no-mesh/output/ra-10_0150_om_load_balancer.out deleted file mode 100644 index 2c9773b92..000000000 --- a/public/architectures/ra-10-ops-manager-mc-no-mesh/output/ra-10_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/ra-10-ops-manager-mc-no-mesh/output/ra-10_0321_ops_manager_wait_for_pending_state.out b/public/architectures/ra-10-ops-manager-mc-no-mesh/output/ra-10_0321_ops_manager_wait_for_pending_state.out deleted file mode 100644 index 0e3908c8c..000000000 --- a/public/architectures/ra-10-ops-manager-mc-no-mesh/output/ra-10_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/ra-10-ops-manager-mc-no-mesh/output/ra-10_0330_ops_manager_wait_for_running_state.out b/public/architectures/ra-10-ops-manager-mc-no-mesh/output/ra-10_0330_ops_manager_wait_for_running_state.out deleted file mode 100644 index 7230ebd38..000000000 --- a/public/architectures/ra-10-ops-manager-mc-no-mesh/output/ra-10_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/ra-10-ops-manager-mc-no-mesh/output/ra-10_0522_ops_manager_wait_for_running_state.out b/public/architectures/ra-10-ops-manager-mc-no-mesh/output/ra-10_0522_ops_manager_wait_for_running_state.out deleted file mode 100644 index b28afaad6..000000000 --- a/public/architectures/ra-10-ops-manager-mc-no-mesh/output/ra-10_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/ra-10-ops-manager-mc-no-mesh/test.sh b/public/architectures/ra-10-ops-manager-mc-no-mesh/test.sh index 7ecf68f9f..ff7731845 100755 --- a/public/architectures/ra-10-ops-manager-mc-no-mesh/test.sh +++ b/public/architectures/ra-10-ops-manager-mc-no-mesh/test.sh @@ -12,6 +12,8 @@ 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 diff --git a/public/architectures/ra-11-mongodb-sharded-mc-no-mesh/output/ra-11_2210_verify_mongosh_connection.out b/public/architectures/ra-11-mongodb-sharded-mc-no-mesh/output/ra-11_2210_verify_mongosh_connection.out deleted file mode 100644 index a1ebea3a0..000000000 --- a/public/architectures/ra-11-mongodb-sharded-mc-no-mesh/output/ra-11_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/ra-12-mongodb-replicaset-mc-no-mesh/output/ra-12_1210_verify_mongosh_connection.out b/public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/output/ra-12_1210_verify_mongosh_connection.out deleted file mode 100644 index 15875e92a..000000000 --- a/public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/output/ra-12_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/ra-12-mongodb-replicaset-mc-no-mesh/test.sh b/public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/test.sh index 4b7622391..c53de03b1 100755 --- a/public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/test.sh +++ b/public/architectures/ra-12-mongodb-replicaset-mc-no-mesh/test.sh @@ -11,12 +11,12 @@ 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 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 1200_create_mongodb_user.sh +run ra-12_1200_create_mongodb_user.sh sleep 10 -run_for_output 1210_verify_mongosh_connection.sh +run_for_output ra-12_1210_verify_mongosh_connection.sh popd diff --git a/public/architectures/setup-multi-cluster/ra-01-setup-gke/output/ra-01_0030_verify_access_to_clusters.out b/public/architectures/setup-multi-cluster/ra-01-setup-gke/output/ra-01_0030_verify_access_to_clusters.out deleted file mode 100644 index 814af3902..000000000 --- a/public/architectures/setup-multi-cluster/ra-01-setup-gke/output/ra-01_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/ra-02-setup-operator/output/ra-02_0200_kubectl_mongodb_configure_multi_cluster.out b/public/architectures/setup-multi-cluster/ra-02-setup-operator/output/ra-02_0200_kubectl_mongodb_configure_multi_cluster.out deleted file mode 100644 index c04777b8d..000000000 --- a/public/architectures/setup-multi-cluster/ra-02-setup-operator/output/ra-02_0200_kubectl_mongodb_configure_multi_cluster.out +++ /dev/null @@ -1,49 +0,0 @@ - -Build: , -Ensured namespaces exist in all clusters. -creating central cluster roles in cluster: gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-686cc1e099f9ef000722c191-862 -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 -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 -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 -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 - -Build: , -Ensured namespaces exist in all clusters. -creating central cluster roles in cluster: gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-686cc1e099f9ef000722c191-862 -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 -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 -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 -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 diff --git a/public/architectures/setup-multi-cluster/ra-02-setup-operator/output/ra-02_0205_helm_configure_repo.out b/public/architectures/setup-multi-cluster/ra-02-setup-operator/output/ra-02_0205_helm_configure_repo.out deleted file mode 100644 index e8630fdff..000000000 --- a/public/architectures/setup-multi-cluster/ra-02-setup-operator/output/ra-02_0205_helm_configure_repo.out +++ /dev/null @@ -1,6 +0,0 @@ -"mongodb" has been added to your repositories -Hang tight while we grab the latest from your chart repositories... -...Successfully got an update from the "mongodb" chart repository -Update Complete. ⎈Happy Helming!⎈ -NAME CHART VERSION APP VERSION DESCRIPTION -mongodb/mongodb-kubernetes 1.2.0 MongoDB Controllers for Kubernetes translate th... diff --git a/public/architectures/setup-multi-cluster/ra-02-setup-operator/output/ra-02_0210_helm_install_operator.out b/public/architectures/setup-multi-cluster/ra-02-setup-operator/output/ra-02_0210_helm_install_operator.out deleted file mode 100644 index cc5174432..000000000 --- a/public/architectures/setup-multi-cluster/ra-02-setup-operator/output/ra-02_0210_helm_install_operator.out +++ /dev/null @@ -1,378 +0,0 @@ -Release "mongodb-kubernetes-operator-multi-cluster" does not exist. Installing it now. -NAME: mongodb-kubernetes-operator-multi-cluster -LAST DEPLOYED: Tue Jul 8 07:13:27 2025 -NAMESPACE: mongodb-operator -STATUS: deployed -REVISION: 1 -TEST SUITE: None -USER-SUPPLIED VALUES: -dummy: value -multiCluster: - clusters: - - gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-686cc1e099f9ef000722c191-862 - - gke_scratch-kubernetes-team_europe-central2-b_k8s-mdb-1-686cc1e099f9ef000722c191-862 - - gke_scratch-kubernetes-team_europe-central2-c_k8s-mdb-2-686cc1e099f9ef000722c191-862 -namespace: mongodb-operator -operator: - createOperatorServiceAccount: false - createResourcesServiceAccountsAndRoles: false - env: dev - name: mongodb-kubernetes-operator-multi-cluster - namespace: mongodb-operator - watchNamespace: mongodb-om,mongodb - -COMPUTED VALUES: -agent: - name: mongodb-agent-ubi - version: 108.0.2.8729-1 -community: - agent: - name: mongodb-agent-ubi - version: 108.0.2.8729-1 - mongodb: - imageType: ubi8 - name: mongodb-community-server - repo: quay.io/mongodb - name: mongodb-database - registry: - agent: quay.io/mongodb - resource: - members: 3 - name: mongodb-replica-set - tls: - caCertificateSecretRef: tls-ca-key-pair - certManager: - certDuration: 8760h - renewCertBefore: 720h - certificateKeySecretRef: tls-certificate - enabled: false - sampleX509User: false - useCertManager: true - useX509: false - version: 4.4.0 -database: - name: mongodb-kubernetes-database - version: 1.2.0 -dummy: value -initAppDb: - name: mongodb-kubernetes-init-appdb - version: 1.2.0 -initDatabase: - name: mongodb-kubernetes-init-database - version: 1.2.0 -initOpsManager: - name: mongodb-kubernetes-init-ops-manager - version: 1.2.0 -managedSecurityContext: false -mongodb: - appdbAssumeOldFormat: false - imageType: ubi8 - name: mongodb-enterprise-server - repo: quay.io/mongodb -multiCluster: - clusterClientTimeout: 10 - clusters: - - gke_scratch-kubernetes-team_europe-central2-a_k8s-mdb-0-686cc1e099f9ef000722c191-862 - - gke_scratch-kubernetes-team_europe-central2-b_k8s-mdb-1-686cc1e099f9ef000722c191-862 - - gke_scratch-kubernetes-team_europe-central2-c_k8s-mdb-2-686cc1e099f9ef000722c191-862 - kubeConfigSecretName: mongodb-enterprise-operator-multi-cluster-kubeconfig - performFailOver: true -namespace: mongodb-operator -operator: - additionalArguments: [] - affinity: {} - baseName: mongodb-kubernetes - createOperatorServiceAccount: false - createResourcesServiceAccountsAndRoles: false - deployment_name: mongodb-kubernetes-operator - enableClusterMongoDBRoles: true - enablePVCResize: true - env: dev - maxConcurrentReconciles: 1 - mdbDefaultArchitecture: non-static - name: mongodb-kubernetes-operator-multi-cluster - namespace: mongodb-operator - nodeSelector: {} - operator_image_name: mongodb-kubernetes - replicas: 1 - resources: - limits: - cpu: 1100m - memory: 1Gi - requests: - cpu: 500m - memory: 200Mi - telemetry: - collection: - clusters: {} - deployments: {} - frequency: 1h - operators: {} - send: - frequency: 168h - tolerations: [] - vaultSecretBackend: - enabled: false - tlsSecretRef: "" - version: 1.2.0 - watchNamespace: mongodb-om,mongodb - watchedResources: - - mongodb - - opsmanagers - - mongodbusers - - mongodbcommunity - - mongodbsearch - webhook: - installClusterRole: true - registerConfiguration: true -opsManager: - name: mongodb-enterprise-ops-manager-ubi -readinessProbe: - name: mongodb-kubernetes-readinessprobe - version: 1.0.22 -registry: - agent: quay.io/mongodb - appDb: quay.io/mongodb - 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: mongodb-search-community - repo: quay.io/mongodb - version: 1.47.0 -subresourceEnabled: true -versionUpgradeHook: - name: mongodb-kubernetes-operator-version-upgrade-post-start-hook - version: 1.0.9 - -HOOKS: -MANIFEST: ---- -# 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 -metadata: - name: mongodb-kubernetes-operator-multi-cluster-cluster-telemetry -rules: - # Non-resource URL permissions - - nonResourceURLs: - - "/version" - verbs: - - get - # Cluster-scoped resource permissions - - apiGroups: - - '' - resources: - - namespaces - resourceNames: - - kube-system - verbs: - - get - - apiGroups: - - '' - resources: - - nodes - verbs: - - list ---- -# Source: mongodb-kubernetes/templates/operator-roles.yaml -kind: ClusterRoleBinding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: mongodb-kubernetes-operator-multi-cluster-mongodb-operator-webhook-binding -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: mongodb-kubernetes-operator-mongodb-webhook -subjects: - - kind: ServiceAccount - name: mongodb-kubernetes-operator-multi-cluster - namespace: mongodb-operator ---- -# Source: mongodb-kubernetes/templates/operator-roles.yaml -# ClusterRoleBinding for clusterVersionDetection -kind: ClusterRoleBinding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: mongodb-kubernetes-operator-multi-cluster-mongodb-operator-cluster-telemetry-binding -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: mongodb-kubernetes-operator-multi-cluster-cluster-telemetry -subjects: - - kind: ServiceAccount - name: mongodb-kubernetes-operator-multi-cluster - namespace: mongodb-operator ---- -# Source: mongodb-kubernetes/templates/operator.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: mongodb-kubernetes-operator-multi-cluster - namespace: mongodb-operator -spec: - replicas: 1 - selector: - matchLabels: - app.kubernetes.io/component: controller - app.kubernetes.io/name: mongodb-kubernetes-operator-multi-cluster - app.kubernetes.io/instance: mongodb-kubernetes-operator-multi-cluster - template: - metadata: - labels: - app.kubernetes.io/component: controller - app.kubernetes.io/name: mongodb-kubernetes-operator-multi-cluster - app.kubernetes.io/instance: mongodb-kubernetes-operator-multi-cluster - spec: - serviceAccountName: mongodb-kubernetes-operator-multi-cluster - securityContext: - runAsNonRoot: true - runAsUser: 2000 - containers: - - name: mongodb-kubernetes-operator-multi-cluster - image: "quay.io/mongodb/mongodb-kubernetes:1.2.0" - imagePullPolicy: Always - args: - - -watch-resource=mongodb - - -watch-resource=opsmanagers - - -watch-resource=mongodbusers - - -watch-resource=mongodbcommunity - - -watch-resource=mongodbsearch - - -watch-resource=mongodbmulticluster - - -watch-resource=clustermongodbroles - command: - - /usr/local/bin/mongodb-kubernetes-operator - volumeMounts: - - mountPath: /etc/config/kubeconfig - name: kube-config-volume - resources: - limits: - cpu: 1100m - memory: 1Gi - requests: - cpu: 500m - memory: 200Mi - env: - - name: OPERATOR_ENV - value: dev - - name: MDB_DEFAULT_ARCHITECTURE - value: non-static - - name: NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: WATCH_NAMESPACE - value: "mongodb-om,mongodb" - - name: MDB_OPERATOR_TELEMETRY_COLLECTION_FREQUENCY - value: "1h" - - name: MDB_OPERATOR_TELEMETRY_SEND_FREQUENCY - value: "168h" - - name: CLUSTER_CLIENT_TIMEOUT - value: "10" - - name: IMAGE_PULL_POLICY - value: Always - # Database - - name: MONGODB_ENTERPRISE_DATABASE_IMAGE - value: quay.io/mongodb/mongodb-kubernetes-database - - name: INIT_DATABASE_IMAGE_REPOSITORY - value: quay.io/mongodb/mongodb-kubernetes-init-database - - name: INIT_DATABASE_VERSION - value: 1.2.0 - - name: DATABASE_VERSION - 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: quay.io/mongodb/mongodb-kubernetes-init-ops-manager - - name: INIT_OPS_MANAGER_VERSION - value: 1.2.0 - # AppDB - - name: INIT_APPDB_IMAGE_REPOSITORY - value: quay.io/mongodb/mongodb-kubernetes-init-appdb - - name: INIT_APPDB_VERSION - value: 1.2.0 - - name: OPS_MANAGER_IMAGE_PULL_POLICY - value: Always - - name: AGENT_IMAGE - value: "quay.io/mongodb/mongodb-agent-ubi:108.0.2.8729-1" - - name: MDB_AGENT_IMAGE_REPOSITORY - 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 - - name: PERFORM_FAILOVER - value: 'true' - - name: MDB_MAX_CONCURRENT_RECONCILES - value: "1" - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: OPERATOR_NAME - value: mongodb-kubernetes-operator-multi-cluster - # Community Env Vars Start - - name: MDB_COMMUNITY_AGENT_IMAGE - value: "quay.io/mongodb/mongodb-agent-ubi:108.0.2.8729-1" - - name: VERSION_UPGRADE_HOOK_IMAGE - value: "quay.io/mongodb/mongodb-kubernetes-operator-version-upgrade-post-start-hook:1.0.9" - - name: READINESS_PROBE_IMAGE - value: "quay.io/mongodb/mongodb-kubernetes-readinessprobe:1.0.22" - - name: MDB_COMMUNITY_IMAGE - value: "mongodb-community-server" - - name: MDB_COMMUNITY_REPO_URL - value: "quay.io/mongodb" - - name: MDB_COMMUNITY_IMAGE_TYPE - value: "ubi8" - # Community Env Vars End - - name: MDB_SEARCH_COMMUNITY_REPO_URL - value: "quay.io/mongodb" - - name: MDB_SEARCH_COMMUNITY_NAME - value: "mongodb-search-community" - - name: MDB_SEARCH_COMMUNITY_VERSION - value: "1.47.0" - volumes: - - name: kube-config-volume - secret: - defaultMode: 420 - secretName: mongodb-enterprise-operator-multi-cluster-kubeconfig - diff --git a/public/architectures/setup-multi-cluster/ra-02-setup-operator/output/ra-02_0211_check_operator_deployment.out b/public/architectures/setup-multi-cluster/ra-02-setup-operator/output/ra-02_0211_check_operator_deployment.out deleted file mode 100644 index 12cff4d42..000000000 --- a/public/architectures/setup-multi-cluster/ra-02-setup-operator/output/ra-02_0211_check_operator_deployment.out +++ /dev/null @@ -1,9 +0,0 @@ -Waiting for deployment "mongodb-kubernetes-operator-multi-cluster" rollout to finish: 0 of 1 updated replicas are available... -deployment "mongodb-kubernetes-operator-multi-cluster" successfully rolled out -Operator deployment in mongodb-operator namespace -NAME READY UP-TO-DATE AVAILABLE AGE -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 diff --git a/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/output/ra-04_0090_check_cluster_connectivity_verify_pod_0_0_from_cluster_1.out b/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/output/ra-04_0090_check_cluster_connectivity_verify_pod_0_0_from_cluster_1.out deleted file mode 100644 index a4bba85c3..000000000 --- a/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/output/ra-04_0090_check_cluster_connectivity_verify_pod_0_0_from_cluster_1.out +++ /dev/null @@ -1,2 +0,0 @@ -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 -SUCCESS diff --git a/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/output/ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_0.out b/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/output/ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_0.out deleted file mode 100644 index 2272553f9..000000000 --- a/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/output/ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_0.out +++ /dev/null @@ -1,2 +0,0 @@ -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 -SUCCESS diff --git a/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/output/ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_2.out b/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/output/ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_2.out deleted file mode 100644 index 174dfd35d..000000000 --- a/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/output/ra-04_0090_check_cluster_connectivity_verify_pod_1_0_from_cluster_2.out +++ /dev/null @@ -1,2 +0,0 @@ -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 -SUCCESS diff --git a/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/output/ra-04_0090_check_cluster_connectivity_verify_pod_2_0_from_cluster_0.out b/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/output/ra-04_0090_check_cluster_connectivity_verify_pod_2_0_from_cluster_0.out deleted file mode 100644 index 7c5f21ec9..000000000 --- a/public/architectures/setup-multi-cluster/ra-04-verify-connectivity/output/ra-04_0090_check_cluster_connectivity_verify_pod_2_0_from_cluster_0.out +++ /dev/null @@ -1,2 +0,0 @@ -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 -SUCCESS diff --git a/public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/output/ra-05_0215_helm_configure_repo.out b/public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/output/ra-05_0215_helm_configure_repo.out deleted file mode 100644 index eb8c697bd..000000000 --- a/public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/output/ra-05_0215_helm_configure_repo.out +++ /dev/null @@ -1 +0,0 @@ -"jetstack" has been added to your repositories diff --git a/public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/output/ra-05_0216_helm_install_cert_manager.out b/public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/output/ra-05_0216_helm_install_cert_manager.out deleted file mode 100644 index e00ae2241..000000000 --- a/public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/output/ra-05_0216_helm_install_cert_manager.out +++ /dev/null @@ -1,28 +0,0 @@ -Release "cert-manager" does not exist. Installing it now. -NAME: cert-manager -LAST DEPLOYED: Tue Jul 8 07:13:38 2025 -NAMESPACE: cert-manager -STATUS: deployed -REVISION: 1 -TEST SUITE: None -NOTES: -⚠️ WARNING: New default private key rotation policy for Certificate resources. -The default private key rotation policy for Certificate resources was -changed to `Always` in cert-manager >= v1.18.0. -Learn more in the [1.18 release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.18). - -cert-manager v1.18.2 has been deployed successfully! - -In order to begin issuing certificates, you will need to set up a ClusterIssuer -or Issuer resource (for example, by creating a 'letsencrypt-staging' issuer). - -More information on the different types of issuers and how to configure them -can be found in our documentation: - -https://cert-manager.io/docs/configuration/ - -For information on how to configure cert-manager to automatically provision -Certificates for Ingress resources, take a look at the `ingress-shim` -documentation: - -https://cert-manager.io/docs/usage/ingress/ diff --git a/public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/output/ra-05_0221_verify_issuer.out b/public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/output/ra-05_0221_verify_issuer.out deleted file mode 100644 index 045b0fa2b..000000000 --- a/public/architectures/setup-multi-cluster/ra-05-setup-cert-manager/output/ra-05_0221_verify_issuer.out +++ /dev/null @@ -1,3 +0,0 @@ -certificate.cert-manager.io/test-selfsigned-cert created -certificate.cert-manager.io/test-selfsigned-cert condition met -certificate.cert-manager.io "test-selfsigned-cert" deleted 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 index f69156e7c..0eff029ff 100755 --- 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 @@ -31,20 +31,36 @@ function cleanup() { 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() { - scripts/evergreen/e2e/dump_diagnostic_information_from_all_namespaces.sh + dump_logs cleanup } trap on_exit EXIT -# store all outputs in - - 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 -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-05-setup-cert-manager/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 index d56994f97..614d167f4 100755 --- a/scripts/code_snippets/tests/test_gke_multi_cluster_snippets.sh +++ b/scripts/code_snippets/tests/test_gke_multi_cluster_snippets.sh @@ -26,8 +26,25 @@ function cleanup() { 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() { - scripts/evergreen/e2e/dump_diagnostic_information_from_all_namespaces.sh + dump_logs cleanup } diff --git a/scripts/code_snippets/tests/test_kind_search_community_snippets.sh b/scripts/code_snippets/tests/test_kind_search_community_snippets.sh index a50b86204..44bdc11f8 100755 --- a/scripts/code_snippets/tests/test_kind_search_community_snippets.sh +++ b/scripts/code_snippets/tests/test_kind_search_community_snippets.sh @@ -1,43 +1,20 @@ #!/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 + dump_all_non_default_namespaces "${K8S_CLUSTER_0_CONTEXT_NAME}" } +trap dump_logs EXIT -function on_exit() { - scripts/evergreen/e2e/dump_diagnostic_information_from_all_namespaces.sh -} -trap on_exit EXIT +test_dir="./docs/community-search/quick-start" -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 - +scripts/code_snippets/kind_community_search_snippets_render_template.sh diff --git a/scripts/dev/contexts/e2e_mdb_community b/scripts/dev/contexts/e2e_mdb_community index bc2f0f7f0..4f096c2d7 100644 --- a/scripts/dev/contexts/e2e_mdb_community +++ b/scripts/dev/contexts/e2e_mdb_community @@ -10,12 +10,3 @@ source "${script_dir}/variables/mongodb_latest" # This variable is needed otherwise the `fetch_om_information.sh` script is called and fails the test export OM_EXTERNALLY_CONFIGURED="true" - -# Temporary development images built from mongot master -#export MDB_SEARCH_COMMUNITY_VERSION="776d43523d185b6b234289e17c191712a3e6569b" # master -#export MDB_SEARCH_COMMUNITY_VERSION="d6884ae132aab30497af55dbaff05e8274e9775f" # Local->Admin -#export MDB_SEARCH_COMMUNITY_VERSION="ad8acf5c3a045d6e0306ad67d61fcb5be40f57ae" # hardcoded mdbc-rs replicaset name -#export MDB_SEARCH_COMMUNITY_VERSION="b9b80915f5571bfa5fc2aa70acb20d784e68d79b" # hardcoded Local->Admin, handled replicaSetName in config -export MDB_SEARCH_COMMUNITY_VERSION="fbd60fb055dd500058edcb45677ea85d19421f47" # Nolan's fixes -export MDB_SEARCH_COMMUNITY_NAME="mongot/community" -export MDB_SEARCH_COMMUNITY_REPO_URL="268558157000.dkr.ecr.eu-west-1.amazonaws.com" diff --git a/scripts/dev/contexts/e2e_mdb_kind_ubi_cloudqa b/scripts/dev/contexts/e2e_mdb_kind_ubi_cloudqa index c696c852f..73202c211 100644 --- a/scripts/dev/contexts/e2e_mdb_kind_ubi_cloudqa +++ b/scripts/dev/contexts/e2e_mdb_kind_ubi_cloudqa @@ -16,7 +16,3 @@ export CUSTOM_OM_VERSION export CUSTOM_MDB_VERSION=6.0.5 export CUSTOM_MDB_PREV_VERSION=5.0.7 - -export MDB_SEARCH_COMMUNITY_VERSION="fbd60fb055dd500058edcb45677ea85d19421f47" # Nolan's fixes -export MDB_SEARCH_COMMUNITY_NAME="mongot/community" -export MDB_SEARCH_COMMUNITY_REPO_URL="268558157000.dkr.ecr.eu-west-1.amazonaws.com" diff --git a/scripts/dev/contexts/e2e_static_mdb_kind_ubi_cloudqa b/scripts/dev/contexts/e2e_static_mdb_kind_ubi_cloudqa index 4880f473d..0ee88f209 100644 --- a/scripts/dev/contexts/e2e_static_mdb_kind_ubi_cloudqa +++ b/scripts/dev/contexts/e2e_static_mdb_kind_ubi_cloudqa @@ -17,7 +17,3 @@ export CUSTOM_OM_VERSION export CUSTOM_MDB_PREV_VERSION=6.0.16 export CUSTOM_MDB_VERSION=7.0.5 - -export MDB_SEARCH_COMMUNITY_VERSION="fbd60fb055dd500058edcb45677ea85d19421f47" # Nolan's fixes -export MDB_SEARCH_COMMUNITY_NAME="mongot/community" -export MDB_SEARCH_COMMUNITY_REPO_URL="268558157000.dkr.ecr.eu-west-1.amazonaws.com" 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/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 d57747223..fbaa38b2a 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,7 +20,7 @@ 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" | \ @@ -36,25 +35,25 @@ dump_all_non_default_namespaces() { ) 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 @@ -63,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 - if [ "$(kubectl get "${object}" --no-headers -o name -n "${namespace}" | wc -l)" = "0" ]; then - # if no objects of this type, return + # 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 - header "${msg}" - # shellcheck disable=SC2086 - kubectl -n "${namespace}" ${action} "${object}" 2>&1 + # Capture output first to check if it contains actual resources + local temp_output + temp_output=$(kubectl --context="${context}" -n "${namespace}" ${action} "${object}" 2>&1) + + # 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 + + 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 @@ -264,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 @@ -320,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 55f690546..cf1a0aff1 100644 --- a/scripts/funcs/operator_deployment +++ b/scripts/funcs/operator_deployment @@ -69,9 +69,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 From a3d2c0b4799a90eb561a642f6064fdf7e17132c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Sierant?= Date: Tue, 26 Aug 2025 13:26:20 +0200 Subject: [PATCH 4/7] Review fixes --- .../test_kind_search_community_snippets.sh | 2 +- .../e2e/dump_diagnostic_information.sh | 38 +++++++++---------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/scripts/code_snippets/tests/test_kind_search_community_snippets.sh b/scripts/code_snippets/tests/test_kind_search_community_snippets.sh index 44bdc11f8..a5efc28f2 100755 --- a/scripts/code_snippets/tests/test_kind_search_community_snippets.sh +++ b/scripts/code_snippets/tests/test_kind_search_community_snippets.sh @@ -17,4 +17,4 @@ echo "Sourcing env variables for ${CODE_SNIPPETS_FLAVOR} flavor" 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_community_search_snippets_render_template.sh +scripts/code_snippets/kind_community_search_snippets_render_template.sh "${test_dir}" diff --git a/scripts/evergreen/e2e/dump_diagnostic_information.sh b/scripts/evergreen/e2e/dump_diagnostic_information.sh index fbaa38b2a..2e7fde7d2 100755 --- a/scripts/evergreen/e2e/dump_diagnostic_information.sh +++ b/scripts/evergreen/e2e/dump_diagnostic_information.sh @@ -106,26 +106,26 @@ dump_objects() { 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) - - # 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 - - if [[ -n "${out_file}" ]]; then - { - header "${msg}" - echo "${temp_output}" - } > "${out_file}" - else + # Capture output first to check if it contains actual resources + local temp_output + temp_output=$(kubectl --context="${context}" -n "${namespace}" ${action} "${object}" 2>&1) + + # 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 + + if [[ -n "${out_file}" ]]; then + { header "${msg}" - kubectl --context="${context}" -n "${namespace}" ${action} "${object}" 2>&1 - fi + 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 From 690cda816bcf1c631759a823e88a611f158b8ee8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Sierant?= Date: Tue, 26 Aug 2025 15:01:44 +0200 Subject: [PATCH 5/7] fix runpython --- .../kind_community_search_snippets_render_template.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/code_snippets/kind_community_search_snippets_render_template.sh b/scripts/code_snippets/kind_community_search_snippets_render_template.sh index 57d2fcc28..2aa68dcaa 100755 --- a/scripts/code_snippets/kind_community_search_snippets_render_template.sh +++ b/scripts/code_snippets/kind_community_search_snippets_render_template.sh @@ -3,4 +3,4 @@ set -eou pipefail test_dir="$1" -scripts/evergreen/run_python.sh scripts/code_snippets/render_template.py "${test_dir}/README.md.j2" "${test_dir}/README.md" +scripts/dev/run_python.sh scripts/code_snippets/render_template.py "${test_dir}/README.md.j2" "${test_dir}/README.md" From ff88240ef1d5233ae4118e2fa8d1acc5c3244221 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Sierant?= Date: Tue, 26 Aug 2025 23:19:53 +0200 Subject: [PATCH 6/7] Removed rendering of readme.md --- .../code_snippets/tests/test_kind_search_community_snippets.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/code_snippets/tests/test_kind_search_community_snippets.sh b/scripts/code_snippets/tests/test_kind_search_community_snippets.sh index a5efc28f2..fa5f12c62 100755 --- a/scripts/code_snippets/tests/test_kind_search_community_snippets.sh +++ b/scripts/code_snippets/tests/test_kind_search_community_snippets.sh @@ -17,4 +17,3 @@ echo "Sourcing env variables for ${CODE_SNIPPETS_FLAVOR} flavor" 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_community_search_snippets_render_template.sh "${test_dir}" From 5c7dca07d0b3502a319fb724a2dd0503fa5fa6cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Sierant?= Date: Wed, 27 Aug 2025 08:24:01 +0200 Subject: [PATCH 7/7] Lint fix --- scripts/evergreen/e2e/dump_diagnostic_information.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/evergreen/e2e/dump_diagnostic_information.sh b/scripts/evergreen/e2e/dump_diagnostic_information.sh index 2e7fde7d2..f6cc27c76 100755 --- a/scripts/evergreen/e2e/dump_diagnostic_information.sh +++ b/scripts/evergreen/e2e/dump_diagnostic_information.sh @@ -108,7 +108,7 @@ dump_objects() { # Capture output first to check if it contains actual resources local temp_output - temp_output=$(kubectl --context="${context}" -n "${namespace}" ${action} "${object}" 2>&1) + temp_output=$(kubectl --context="${context}" -n "${namespace}" "${action}" "${object}" 2>&1) # Check if output contains actual resources (not just empty list) # Skip if it's an empty YAML list (contains "items: []") @@ -124,7 +124,7 @@ dump_objects() { } > "${out_file}" else header "${msg}" - kubectl --context="${context}" -n "${namespace}" ${action} "${object}" 2>&1 + kubectl --context="${context}" -n "${namespace}" "${action}" "${object}" 2>&1 fi }