From a8711c7732ff3bfae8fac34d347cc5a7b04fd9c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Alexandre=20Cunha?= Date: Wed, 19 Nov 2025 14:25:38 -0300 Subject: [PATCH] Revert "Merge branch 'cb-extend-vcluster-use' into 'master'" This reverts merge request !4607 --- .gitlab-ci.yml | 54 +++++---- .../ci/{checks.gitlab-ci.yml => checks.yml} | 0 ...d64.gitlab-ci.yml => eks133.gitlab-ci.yml} | 0 .gitlab/ci/environments/gke132.gitlab-ci.yml | 99 +++++++++++++++++ .gitlab/ci/environments/gke133.gitlab-ci.yml | 99 +++++++++++++++++ .../ci/environments/gke134-arm.gitlab-ci.yml | 104 ++++++++++++++++++ ...d64.gitlab-ci.yml => gke134.gitlab-ci.yml} | 0 .../ci/environments/gkevc134.gitlab-ci.yml | 90 +++++++++++++++ .../vcluster.132.amd64.gitlab-ci.yml | 91 --------------- .../vcluster.133.amd64.gitlab-ci.yml | 90 --------------- .../vcluster.134.amd64.gitlab-ci.yml | 90 --------------- .../vcluster.134.arm64.gitlab-ci.yml | 91 --------------- ...iew-docs.gitlab-ci.yml => review-docs.yml} | 0 .../{scanners.gitlab-ci.yml => scanners.yml} | 0 ...-common.gitlab-ci.yml => specs-common.yml} | 0 ...econform.gitlab-ci.yml => validations.yml} | 1 + .gitlab/ci/vcluster-review-apps.gitlab-ci.yml | 29 +++-- doc/development/_index.md | 12 +- scripts/ci/arm_nodeselectors.yaml | 38 +++++++ scripts/ci/autodevops.sh | 20 ++-- scripts/ci/patches/arm64.minio.patch | 13 --- scripts/ci/values/arm64.values.yaml | 5 - scripts/ci/vcluster.sh | 39 ++++--- scripts/ci/vcluster.template.yaml | 5 - 24 files changed, 505 insertions(+), 465 deletions(-) rename .gitlab/ci/{checks.gitlab-ci.yml => checks.yml} (100%) rename .gitlab/ci/environments/{eks.133.amd64.gitlab-ci.yml => eks133.gitlab-ci.yml} (100%) create mode 100644 .gitlab/ci/environments/gke132.gitlab-ci.yml create mode 100644 .gitlab/ci/environments/gke133.gitlab-ci.yml create mode 100644 .gitlab/ci/environments/gke134-arm.gitlab-ci.yml rename .gitlab/ci/environments/{gke.134.amd64.gitlab-ci.yml => gke134.gitlab-ci.yml} (100%) create mode 100644 .gitlab/ci/environments/gkevc134.gitlab-ci.yml delete mode 100644 .gitlab/ci/environments/vcluster.132.amd64.gitlab-ci.yml delete mode 100644 .gitlab/ci/environments/vcluster.133.amd64.gitlab-ci.yml delete mode 100644 .gitlab/ci/environments/vcluster.134.amd64.gitlab-ci.yml delete mode 100644 .gitlab/ci/environments/vcluster.134.arm64.gitlab-ci.yml rename .gitlab/ci/{review-docs.gitlab-ci.yml => review-docs.yml} (100%) rename .gitlab/ci/{scanners.gitlab-ci.yml => scanners.yml} (100%) rename .gitlab/ci/{specs-common.gitlab-ci.yml => specs-common.yml} (100%) rename .gitlab/ci/{kubeconform.gitlab-ci.yml => validations.yml} (98%) create mode 100644 scripts/ci/arm_nodeselectors.yaml delete mode 100644 scripts/ci/patches/arm64.minio.patch delete mode 100644 scripts/ci/values/arm64.values.yaml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f832b815ab..91b0356027 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -24,14 +24,14 @@ # Note: Auto CI does not work with multiple buildpacks yet default: - image: "${CI_REGISTRY}/${GITLAB_NAMESPACE}/gitlab-build-images/debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}:gcloud-526-kubectl-1.33-helm-3.18-helm_kubeconform-0.1.17-vcluster-0.30-awscli-1.40.35-vault-1.19.5" + image: "${CI_REGISTRY}/${GITLAB_NAMESPACE}/gitlab-build-images/debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}:gcloud-526-kubectl-1.33-helm-3.18-helm_kubeconform-0.1.17-vcluster-0.25-awscli-1.40.35-vault-1.19.5" variables: AUTO_DEPLOY_TAG_REGEX: '^[0-9]+\.[0-9]+\.[0-9]+\+[a-z0-9]{7,}$' DOCKER_VERSION: "28.0.1" HELM_VERSION: "3.18.4" KUBECTL_VERSION: "1.33.1" - VCLUSTER_VERSION: "0.30.0" + VCLUSTER_VERSION: "default" STABLE_REPO_URL: "https://charts.helm.sh/stable" GOOGLE_APPLICATION_CREDENTIALS: ${CI_PROJECT_DIR}/.google_keyfile.json # AUTO_DEVOPS_DOMAIN is the application deployment domain and should be set as a variable at the group or project level. @@ -68,7 +68,6 @@ variables: enabled: true GITLAB_AUTH_TOKEN: $DANGER_GITLAB_API_TOKEN REVIEW_APPS_AUTO_STOP_IN: "2 hours" - REVIEW_ARCH: amd64 # amd64 or arm64 LIMIT_TO: "" PARENT_PIPELINE_ID: $CI_PIPELINE_ID @@ -109,34 +108,31 @@ include: - local: '/.gitlab/ci/operator.gitlab-ci.yml' rules: - if: '$LIMIT_TO == "" || $LIMIT_TO == null' - - local: '/.gitlab/ci/environments/vcluster.132.amd64.gitlab-ci.yml' + - local: '/.gitlab/ci/environments/gke132.gitlab-ci.yml' rules: - - if: '$LIMIT_TO == "" || $LIMIT_TO == "v132"' - - local: '/.gitlab/ci/environments/vcluster.133.amd64.gitlab-ci.yml' + - if: '$LIMIT_TO == "" || $LIMIT_TO == "gke132"' + - local: '/.gitlab/ci/environments/gke133.gitlab-ci.yml' rules: - - if: '$LIMIT_TO == "" || $LIMIT_TO == "v133"' - - local: '/.gitlab/ci/environments/vcluster.134.amd64.gitlab-ci.yml' - rules: - - if: '$LIMIT_TO == "" || $LIMIT_TO == "v134"' - - local: '/.gitlab/ci/environments/vcluster.134.arm64.gitlab-ci.yml' - rules: - - if: '$LIMIT_TO == "" || $LIMIT_TO == "v134a"' - - local: '/.gitlab/ci/environments/gke.134.amd64.gitlab-ci.yml' + - if: '$LIMIT_TO == "" || $LIMIT_TO == "gke133"' + - local: '/.gitlab/ci/environments/gke134.gitlab-ci.yml' rules: - if: '$LIMIT_TO == "" || $LIMIT_TO == "gke134"' - - local: '/.gitlab/ci/environments/eks.133.amd64.gitlab-ci.yml' + - local: '/.gitlab/ci/environments/eks133.gitlab-ci.yml' rules: - if: '$LIMIT_TO == "eks133"' - - local: /.gitlab/ci/scanners.gitlab-ci.yml + - local: '/.gitlab/ci/environments/gke134-arm.gitlab-ci.yml' + rules: + - if: '$LIMIT_TO == "" || $LIMIT_TO == "gke134a"' + - local: /.gitlab/ci/scanners.yml rules: - if: '$LIMIT_TO == "" || $LIMIT_TO == null' - - local: /.gitlab/ci/kubeconform.gitlab-ci.yml + - local: /.gitlab/ci/validations.yml rules: - if: '$LIMIT_TO == "" || $LIMIT_TO == null' - - local: /.gitlab/ci/checks.gitlab-ci.yml + - local: /.gitlab/ci/checks.yml rules: - if: '$LIMIT_TO == "" || $LIMIT_TO == null' - - local: /.gitlab/ci/review-docs.gitlab-ci.yml + - local: /.gitlab/ci/review-docs.yml rules: - if: '$LIMIT_TO == "" || $LIMIT_TO == null' - component: ${CI_SERVER_FQDN}/gitlab-org/components/danger-review/danger-review@2.1.0 @@ -350,39 +346,39 @@ trigger_review_secondary: variables: PARENT_PIPELINE_ID: $CI_PIPELINE_ID -trigger-v132: +trigger-gke134a: extends: .trigger_review_job needs: - - trigger_review_current + - trigger_review_secondary variables: - LIMIT_TO: v132 + LIMIT_TO: gke134a rules: - - !reference [.trigger_review_current, rules] + - !reference [.trigger_review_secondary, rules] -trigger-v133: +trigger-gke132: extends: .trigger_review_job needs: - trigger_review_secondary variables: - LIMIT_TO: v133 + LIMIT_TO: gke132 rules: - !reference [.trigger_review_secondary, rules] -trigger-v134: +trigger-gkevc134: extends: .trigger_review_job needs: - trigger_review_secondary variables: - LIMIT_TO: v134 + LIMIT_TO: gkevc134 rules: - !reference [.trigger_review_secondary, rules] -trigger-v134a: +trigger-gke133: extends: .trigger_review_job needs: - trigger_review_secondary variables: - LIMIT_TO: v134a + LIMIT_TO: gke133 rules: - !reference [.trigger_review_secondary, rules] diff --git a/.gitlab/ci/checks.gitlab-ci.yml b/.gitlab/ci/checks.yml similarity index 100% rename from .gitlab/ci/checks.gitlab-ci.yml rename to .gitlab/ci/checks.yml diff --git a/.gitlab/ci/environments/eks.133.amd64.gitlab-ci.yml b/.gitlab/ci/environments/eks133.gitlab-ci.yml similarity index 100% rename from .gitlab/ci/environments/eks.133.amd64.gitlab-ci.yml rename to .gitlab/ci/environments/eks133.gitlab-ci.yml diff --git a/.gitlab/ci/environments/gke132.gitlab-ci.yml b/.gitlab/ci/environments/gke132.gitlab-ci.yml new file mode 100644 index 0000000000..44c89f8cfe --- /dev/null +++ b/.gitlab/ci/environments/gke132.gitlab-ci.yml @@ -0,0 +1,99 @@ +include: + - component: "gitlab.com/gitlab-org/quality/pipeline-common/allure-report@9.6.3" + inputs: + job_name: "e2e-test-gke132" + job_stage: "qa-report" + gitlab_auth_token_variable_name: "DANGER_GITLAB_API_TOKEN" + aws_access_key_id_variable_name: "QA_ALLURE_AWS_ACCESS_KEY_ID" + aws_secret_access_key_variable_name: "QA_ALLURE_AWS_SECRET_ACCESS_KEY" + allure_results_glob: "gitlab-qa-run-*/**/allure-results" + rules: + - if: '$CI_SERVER_HOST != "gitlab.com"' + when: never + - if: '$CI_PIPELINE_SOURCE == "pipeline" || $CI_PIPELINE_SOURCE == "parent_pipeline"' + +.review_gke132_common_vars: &review_gke132_common_vars + DNS_PROVIDER: "google" + AGENT_NAME: "gke132-ci-cluster" + KUBE_INGRESS_BASE_DOMAIN: "cloud-native-v132.helm-charts.win" + KUBE_NAMESPACE: "helm-charts-win" + +create_review_gke132: + stage: review + image: ${BUSYBOX_IMAGE} + variables: + <<: *review_gke132_common_vars + GIT_STRATEGY: none + script: + - echo "Configuring gke132_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA to automatically stop in $REVIEW_APPS_AUTO_STOP_IN." + environment: + name: gke132_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + url: https://gitlab-$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN + on_stop: stop_review_gke132 + auto_stop_in: $REVIEW_APPS_AUTO_STOP_IN + action: start + +review_gke132: + variables: + <<: *review_gke132_common_vars + extends: .review_template + environment: + name: gke132_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + url: https://gitlab-$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN + on_stop: stop_review_gke132 + auto_stop_in: "${REVIEW_APPS_AUTO_STOP_IN}" + action: access + +stop_review_gke132: + variables: + <<: *review_gke132_common_vars + extends: .stop_review_template + environment: + name: gke132_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + action: stop + +review_specs_gke132: + extends: .specs + variables: + <<: *review_gke132_common_vars + VARIABLES_FILE: "variables/review_gke132" + RSPEC_TAGS: type:feature + environment: + name: gke132_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + url: https://gitlab-$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN + on_stop: stop_review_gke132 + action: access + rules: + - !reference [.rule:skip_if_no_cluster] + - !reference [.specs, rules] + needs: ["review_gke132"] + +qa_gke132: + extends: .qa_branch + variables: + VARIABLES_FILE: "variables/review_gke132" + TEST_SUITE: $QA_SANITY_SUITE_OPTIONS + environment: + name: gke132_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + on_stop: stop_review_gke132 + action: access + needs: + - review_gke132 + - job: review_specs_gke132 + artifacts: false + +qa_gke132_full_suite_manual_trigger: + extends: .qa_full_suite_manual_trigger + script: echo 'The job will trigger Full E2E suite against GKE132' + +qa_gke132_manual_full_suite: + extends: .qa_branch + parallel: 7 + variables: + VARIABLES_FILE: "variables/review_gke132" + TEST_SUITE: $QA_FULL_SUITE_OPTIONS + environment: + name: gke132_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + on_stop: stop_review_gke132 + action: access + needs: ["qa_gke132_full_suite_manual_trigger"] diff --git a/.gitlab/ci/environments/gke133.gitlab-ci.yml b/.gitlab/ci/environments/gke133.gitlab-ci.yml new file mode 100644 index 0000000000..2828bd18b1 --- /dev/null +++ b/.gitlab/ci/environments/gke133.gitlab-ci.yml @@ -0,0 +1,99 @@ +include: + - component: "gitlab.com/gitlab-org/quality/pipeline-common/allure-report@9.6.3" + inputs: + job_name: "e2e-test-gke133" + job_stage: "qa-report" + gitlab_auth_token_variable_name: "DANGER_GITLAB_API_TOKEN" + aws_access_key_id_variable_name: "QA_ALLURE_AWS_ACCESS_KEY_ID" + aws_secret_access_key_variable_name: "QA_ALLURE_AWS_SECRET_ACCESS_KEY" + allure_results_glob: "gitlab-qa-run-*/**/allure-results" + rules: + - if: '$CI_SERVER_HOST != "gitlab.com"' + when: never + - if: '$CI_PIPELINE_SOURCE == "pipeline" || $CI_PIPELINE_SOURCE == "parent_pipeline"' + +.review_gke133_common_vars: &review_gke133_common_vars + DNS_PROVIDER: "google" + AGENT_NAME: "gke133-ci-cluster" + KUBE_INGRESS_BASE_DOMAIN: "cloud-native-v133.helm-charts.win" + KUBE_NAMESPACE: "helm-charts-win" + +create_review_gke133: + stage: review + image: ${BUSYBOX_IMAGE} + variables: + <<: *review_gke133_common_vars + GIT_STRATEGY: none + script: + - echo "Configuring gke133_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA to automatically stop in $REVIEW_APPS_AUTO_STOP_IN." + environment: + name: gke133_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + url: https://gitlab-$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN + on_stop: stop_review_gke133 + auto_stop_in: $REVIEW_APPS_AUTO_STOP_IN + action: start + +review_gke133: + variables: + <<: *review_gke133_common_vars + extends: .review_template + environment: + name: gke133_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + url: https://gitlab-$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN + on_stop: stop_review_gke133 + auto_stop_in: "${REVIEW_APPS_AUTO_STOP_IN}" + action: access + +stop_review_gke133: + variables: + <<: *review_gke133_common_vars + extends: .stop_review_template + environment: + name: gke133_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + action: stop + +review_specs_gke133: + extends: .specs + variables: + <<: *review_gke133_common_vars + VARIABLES_FILE: "variables/review_gke133" + RSPEC_TAGS: type:feature + environment: + name: gke133_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + url: https://gitlab-$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN + on_stop: stop_review_gke133 + action: access + rules: + - !reference [.rule:skip_if_no_cluster] + - !reference [.specs, rules] + needs: ["review_gke133"] + +qa_gke133: + extends: .qa_branch + variables: + VARIABLES_FILE: "variables/review_gke133" + TEST_SUITE: $QA_SANITY_SUITE_OPTIONS + environment: + name: gke133_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + on_stop: stop_review_gke133 + action: access + needs: + - review_gke133 + - job: review_specs_gke133 + artifacts: false + +qa_gke133_full_suite_manual_trigger: + extends: .qa_full_suite_manual_trigger + script: echo 'The job will trigger Full E2E suite against GKE133' + +qa_gke133_manual_full_suite: + extends: .qa_branch + parallel: 7 + variables: + VARIABLES_FILE: "variables/review_gke133" + TEST_SUITE: $QA_FULL_SUITE_OPTIONS + environment: + name: gke133_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + on_stop: stop_review_gke133 + action: access + needs: ["qa_gke133_full_suite_manual_trigger"] diff --git a/.gitlab/ci/environments/gke134-arm.gitlab-ci.yml b/.gitlab/ci/environments/gke134-arm.gitlab-ci.yml new file mode 100644 index 0000000000..e5017b7ca1 --- /dev/null +++ b/.gitlab/ci/environments/gke134-arm.gitlab-ci.yml @@ -0,0 +1,104 @@ +include: + - component: "gitlab.com/gitlab-org/quality/pipeline-common/allure-report@9.6.3" + inputs: + job_name: "e2e-test-gke134a" + job_stage: "qa-report" + gitlab_auth_token_variable_name: "DANGER_GITLAB_API_TOKEN" + aws_access_key_id_variable_name: "QA_ALLURE_AWS_ACCESS_KEY_ID" + aws_secret_access_key_variable_name: "QA_ALLURE_AWS_SECRET_ACCESS_KEY" + allure_results_glob: "gitlab-qa-run-*/**/allure-results" + rules: + - if: '$CI_SERVER_HOST != "gitlab.com"' + when: never + - if: '$CI_PIPELINE_SOURCE == "pipeline" || $CI_PIPELINE_SOURCE == "parent_pipeline"' + +.review_gke134a_common_vars: &review_gke134a_common_vars + DNS_PROVIDER: "google" + AGENT_NAME: "gke134-ci-cluster" + KUBE_INGRESS_BASE_DOMAIN: "cloud-native-v134.helm-charts.win" + KUBE_NAMESPACE: "helm-charts-win" + DEPLOY_MULTIARCH: "true" + +create_review_gke134a: + stage: review + image: ${BUSYBOX_IMAGE} + variables: + <<: *review_gke134a_common_vars + GIT_STRATEGY: none + script: + - echo "Configuring gke134_review/a-$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA to automatically stop in $REVIEW_APPS_AUTO_STOP_IN." + environment: &gke134a_environment + name: &gke134a_name gke134_review/a-$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + url: https://gitlab-$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN + on_stop: stop_review_gke134a + auto_stop_in: $REVIEW_APPS_AUTO_STOP_IN + action: start + +review_gke134a: + variables: + <<: *review_gke134a_common_vars + extends: .review_template + environment: + <<: *gke134a_environment + action: access + # initially allow arm64 failures + allow_failure: true + +stop_review_gke134a: + variables: + <<: *review_gke134a_common_vars + extends: .stop_review_template + # initially allow arm64 failures + allow_failure: true + environment: + # name: gke134_review/a-$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + name: *gke134a_name + action: stop + +review_specs_gke134a: + extends: .specs + variables: + <<: *review_gke134a_common_vars + VARIABLES_FILE: "variables/review_gke134a" + RSPEC_TAGS: type:feature + # initially allow arm64 failures + allow_failure: true + environment: + <<: *gke134a_environment + action: access + rules: + - !reference [.rule:skip_if_no_cluster] + - !reference [.specs, rules] + needs: ["review_gke134a"] + +qa_gke134a: + extends: .qa_branch + variables: + VARIABLES_FILE: "variables/review_gke134a" + TEST_SUITE: $QA_SANITY_SUITE_OPTIONS + # initially allow arm64 failures + allow_failure: true + environment: + <<: *gke134a_environment + action: access + needs: + - review_gke134a + - job: review_specs_gke134a + artifacts: false + +qa_gke134a_full_suite_manual_trigger: + extends: .qa_full_suite_manual_trigger + script: echo 'The job will trigger Full E2E suite against GKE134' + +qa_gke134a_manual_full_suite: + extends: .qa_branch + parallel: 7 + variables: + VARIABLES_FILE: "variables/review_gke134a" + TEST_SUITE: $QA_FULL_SUITE_OPTIONS + # initially allow arm64 failures + allow_failure: true + environment: + <<: *gke134a_environment + action: access + needs: ["qa_gke134a_full_suite_manual_trigger"] diff --git a/.gitlab/ci/environments/gke.134.amd64.gitlab-ci.yml b/.gitlab/ci/environments/gke134.gitlab-ci.yml similarity index 100% rename from .gitlab/ci/environments/gke.134.amd64.gitlab-ci.yml rename to .gitlab/ci/environments/gke134.gitlab-ci.yml diff --git a/.gitlab/ci/environments/gkevc134.gitlab-ci.yml b/.gitlab/ci/environments/gkevc134.gitlab-ci.yml new file mode 100644 index 0000000000..92b1d00ff8 --- /dev/null +++ b/.gitlab/ci/environments/gkevc134.gitlab-ci.yml @@ -0,0 +1,90 @@ +include: + - component: "gitlab.com/gitlab-org/quality/pipeline-common/allure-report@9.6.3" + inputs: + job_name: "e2e-test-gkevc134" + job_stage: "qa-report" + gitlab_auth_token_variable_name: "DANGER_GITLAB_API_TOKEN" + aws_access_key_id_variable_name: "QA_ALLURE_AWS_ACCESS_KEY_ID" + aws_secret_access_key_variable_name: "QA_ALLURE_AWS_SECRET_ACCESS_KEY" + allure_results_glob: "gitlab-qa-run-*/**/allure-results" + rules: + - if: '$CI_SERVER_HOST != "gitlab.com"' + when: never + - if: '$CI_PIPELINE_SOURCE == "pipeline" || $CI_PIPELINE_SOURCE == "parent_pipeline"' + +.review_gkevc134_common_vars: &review_gkevc134_common_vars + VCLUSTER_K8S_VERSION: "v1.34.0" + VCLUSTER_VERSION: "0.29.1" + VCLUSTER_NAME: "vc134-${REVIEW_REF_PREFIX}${CI_COMMIT_SHORT_SHA}" + HOST_SUFFIX: "${CI_ENVIRONMENT_SLUG}-vc134" + # the VARIABLES_FILE value is from the CI_JOB_NAME of the review job + VARIABLES_FILE: "variables/review_gkevc134" + DOMAIN: "-${HOST_SUFFIX}.${KUBE_INGRESS_BASE_DOMAIN}" + +create_review_gkevc134: + stage: review + image: ${BUSYBOX_IMAGE} + variables: + <<: *review_gkevc134_common_vars + GIT_STRATEGY: none + script: + - echo "Configuring gkevc_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA to automatically stop in $REVIEW_APPS_AUTO_STOP_IN." + environment: &gkevc134_environment + name: &gkevc134_name gkevc_review/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA + url: "https://gitlab${DOMAIN}" + on_stop: stop_review_gkevc134 + auto_stop_in: $REVIEW_APPS_AUTO_STOP_IN + action: start + +review_gkevc134: + variables: + <<: *review_gkevc134_common_vars + extends: .vcluster_review_template + environment: + <<: *gkevc134_environment + action: access + +stop_review_gkevc134: + variables: + <<: *review_gkevc134_common_vars + extends: .stop_vcluster_review_template + environment: + name: *gkevc134_name + action: stop + +review_specs_gkevc134: + extends: .vcluster_specs_template + variables: + <<: *review_gkevc134_common_vars + environment: + <<: *gkevc134_environment + action: access + needs: ['review_gkevc134'] + +qa_gkevc134: + extends: .qa_branch + variables: + <<: *review_gkevc134_common_vars + TEST_SUITE: $QA_SANITY_SUITE_OPTIONS + environment: + <<: *gkevc134_environment + action: access + needs: + - review_gkevc134 + - job: review_specs_gkevc134 + artifacts: false + +qa_gkevc134_full_suite_manual_trigger: + extends: .qa_full_suite_manual_trigger + script: echo 'The job will trigger Full E2E suite against GKE134 vcluster' + +qa_gkevc134_manual_full_suite: + extends: .qa_branch + parallel: 7 + variables: + <<: *review_gkevc134_common_vars + TEST_SUITE: $QA_FULL_SUITE_OPTIONS + environment: + <<: *gkevc134_environment + action: access + needs: ["qa_gkevc134_full_suite_manual_trigger"] diff --git a/.gitlab/ci/environments/vcluster.132.amd64.gitlab-ci.yml b/.gitlab/ci/environments/vcluster.132.amd64.gitlab-ci.yml deleted file mode 100644 index c8a849f828..0000000000 --- a/.gitlab/ci/environments/vcluster.132.amd64.gitlab-ci.yml +++ /dev/null @@ -1,91 +0,0 @@ -include: - - component: "gitlab.com/gitlab-org/quality/pipeline-common/allure-report@9.6.3" - inputs: - job_name: "e2e-test-v132" - job_stage: "qa-report" - gitlab_auth_token_variable_name: "DANGER_GITLAB_API_TOKEN" - aws_access_key_id_variable_name: "QA_ALLURE_AWS_ACCESS_KEY_ID" - aws_secret_access_key_variable_name: "QA_ALLURE_AWS_SECRET_ACCESS_KEY" - allure_results_glob: "gitlab-qa-run-*/**/allure-results" - rules: - - if: '$CI_SERVER_HOST != "gitlab.com"' - when: never - - if: '$CI_PIPELINE_SOURCE == "pipeline" || $CI_PIPELINE_SOURCE == "parent_pipeline"' - -.v132_base: - extends: - - .vcluster_base - variables: - VCLUSTER_K8S_VERSION: "v1.32.0" - VCLUSTER_NAME: "v132-${REVIEW_REF_PREFIX}${CI_COMMIT_SHORT_SHA}" - HOST_SUFFIX: "${CI_ENVIRONMENT_SLUG}-vc132" - # the VARIABLES_FILE value is from the CI_JOB_NAME of the review job - VARIABLES_FILE: "variables/review_v132" - DOMAIN: "-${HOST_SUFFIX}.${KUBE_INGRESS_BASE_DOMAIN}" - environment: - name: gkevc_132/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA - url: "https://gitlab${DOMAIN}" - - -create_review_v132: - stage: review - image: ${BUSYBOX_IMAGE} - extends: .v132_base - variables: - GIT_STRATEGY: none - script: - - echo "Configuring gkevc_132/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA to automatically stop in $REVIEW_APPS_AUTO_STOP_IN." - environment: - on_stop: stop_review_v132 - auto_stop_in: $REVIEW_APPS_AUTO_STOP_IN - action: start - -review_v132: - extends: - - .vcluster_review_template - - .v132_base - environment: - action: access - -stop_review_v132: - extends: - - .stop_vcluster_review_template - - .v132_base - environment: - action: stop - -review_specs_v132: - extends: - - .vcluster_specs_template - - .v132_base - environment: - action: access - needs: ['review_v132'] - -qa_v132: - extends: - - .qa_branch - - .v132_base - variables: - TEST_SUITE: $QA_SANITY_SUITE_OPTIONS - environment: - action: access - needs: - - review_v132 - - job: review_specs_v132 - artifacts: false - -qa_v132_full_suite_manual_trigger: - extends: .qa_full_suite_manual_trigger - script: echo 'The job will trigger Full E2E suite against GKE132 vcluster' - -qa_v132_manual_full_suite: - extends: - - .qa_branch - - .v132_base - parallel: 7 - variables: - TEST_SUITE: $QA_FULL_SUITE_OPTIONS - environment: - action: access - needs: ["qa_v132_full_suite_manual_trigger"] diff --git a/.gitlab/ci/environments/vcluster.133.amd64.gitlab-ci.yml b/.gitlab/ci/environments/vcluster.133.amd64.gitlab-ci.yml deleted file mode 100644 index 5419b96ae7..0000000000 --- a/.gitlab/ci/environments/vcluster.133.amd64.gitlab-ci.yml +++ /dev/null @@ -1,90 +0,0 @@ -include: - - component: "gitlab.com/gitlab-org/quality/pipeline-common/allure-report@9.6.3" - inputs: - job_name: "e2e-test-v133" - job_stage: "qa-report" - gitlab_auth_token_variable_name: "DANGER_GITLAB_API_TOKEN" - aws_access_key_id_variable_name: "QA_ALLURE_AWS_ACCESS_KEY_ID" - aws_secret_access_key_variable_name: "QA_ALLURE_AWS_SECRET_ACCESS_KEY" - allure_results_glob: "gitlab-qa-run-*/**/allure-results" - rules: - - if: '$CI_SERVER_HOST != "gitlab.com"' - when: never - - if: '$CI_PIPELINE_SOURCE == "pipeline" || $CI_PIPELINE_SOURCE == "parent_pipeline"' - -.v133_base: - extends: - - .vcluster_base - variables: - VCLUSTER_K8S_VERSION: "v1.33.0" - VCLUSTER_NAME: "v133-${REVIEW_REF_PREFIX}${CI_COMMIT_SHORT_SHA}" - HOST_SUFFIX: "${CI_ENVIRONMENT_SLUG}-vc133" - # the VARIABLES_FILE value is from the CI_JOB_NAME of the review job - VARIABLES_FILE: "variables/review_v133" - DOMAIN: "-${HOST_SUFFIX}.${KUBE_INGRESS_BASE_DOMAIN}" - environment: - name: gkevc_133/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA - url: "https://gitlab${DOMAIN}" - -create_review_v133: - stage: review - image: ${BUSYBOX_IMAGE} - extends: .v133_base - variables: - GIT_STRATEGY: none - script: - - echo "Configuring gkevc_133/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA to automatically stop in $REVIEW_APPS_AUTO_STOP_IN." - environment: - action: start - on_stop: stop_review_v133 - auto_stop_in: $REVIEW_APPS_AUTO_STOP_IN - -review_v133: - extends: - - .vcluster_review_template - - .v133_base - environment: - action: access - -stop_review_v133: - extends: - - .stop_vcluster_review_template - - .v133_base - environment: - action: stop - -review_specs_v133: - extends: - - .vcluster_specs_template - - .v133_base - environment: - action: access - needs: ['review_v133'] - -qa_v133: - extends: - - .qa_branch - - .v133_base - variables: - TEST_SUITE: $QA_SANITY_SUITE_OPTIONS - environment: - action: access - needs: - - review_v133 - - job: review_specs_v133 - artifacts: false - -qa_v133_full_suite_manual_trigger: - extends: .qa_full_suite_manual_trigger - script: echo 'The job will trigger Full E2E suite against GKE133 vcluster' - -qa_v133_manual_full_suite: - extends: - - .qa_branch - - .v133_base - parallel: 7 - variables: - TEST_SUITE: $QA_FULL_SUITE_OPTIONS - environment: - action: access - needs: ["qa_v133_full_suite_manual_trigger"] diff --git a/.gitlab/ci/environments/vcluster.134.amd64.gitlab-ci.yml b/.gitlab/ci/environments/vcluster.134.amd64.gitlab-ci.yml deleted file mode 100644 index e529d44f24..0000000000 --- a/.gitlab/ci/environments/vcluster.134.amd64.gitlab-ci.yml +++ /dev/null @@ -1,90 +0,0 @@ -include: - - component: "gitlab.com/gitlab-org/quality/pipeline-common/allure-report@9.6.3" - inputs: - job_name: "e2e-test-v134" - job_stage: "qa-report" - gitlab_auth_token_variable_name: "DANGER_GITLAB_API_TOKEN" - aws_access_key_id_variable_name: "QA_ALLURE_AWS_ACCESS_KEY_ID" - aws_secret_access_key_variable_name: "QA_ALLURE_AWS_SECRET_ACCESS_KEY" - allure_results_glob: "gitlab-qa-run-*/**/allure-results" - rules: - - if: '$CI_SERVER_HOST != "gitlab.com"' - when: never - - if: '$CI_PIPELINE_SOURCE == "pipeline" || $CI_PIPELINE_SOURCE == "parent_pipeline"' - -.v134_base: - extends: - - .vcluster_base - variables: - VCLUSTER_K8S_VERSION: "v1.34.0" - VCLUSTER_NAME: "v134-${REVIEW_REF_PREFIX}${CI_COMMIT_SHORT_SHA}" - HOST_SUFFIX: "${CI_ENVIRONMENT_SLUG}-vc134" - # the VARIABLES_FILE value is from the CI_JOB_NAME of the review job - VARIABLES_FILE: "variables/review_v134" - DOMAIN: "-${HOST_SUFFIX}.${KUBE_INGRESS_BASE_DOMAIN}" - environment: - name: gkevc_134/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA - url: "https://gitlab${DOMAIN}" - -create_review_v134: - stage: review - image: ${BUSYBOX_IMAGE} - extends: .v134_base - variables: - GIT_STRATEGY: none - script: - - echo "Configuring gkevc_134/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA to automatically stop in $REVIEW_APPS_AUTO_STOP_IN." - environment: - on_stop: stop_review_v134 - auto_stop_in: $REVIEW_APPS_AUTO_STOP_IN - action: start - -review_v134: - extends: - - .vcluster_review_template - - .v134_base - environment: - action: access - -stop_review_v134: - extends: - - .stop_vcluster_review_template - - .v134_base - environment: - action: stop - -review_specs_v134: - extends: - - .vcluster_specs_template - - .v134_base - environment: - action: access - needs: ['review_v134'] - -qa_v134: - extends: - - .qa_branch - - .v134_base - variables: - TEST_SUITE: $QA_SANITY_SUITE_OPTIONS - environment: - action: access - needs: - - review_v134 - - job: review_specs_v134 - artifacts: false - -qa_v134_full_suite_manual_trigger: - extends: .qa_full_suite_manual_trigger - script: echo 'The job will trigger Full E2E suite against GKE134 vcluster' - -qa_v134_manual_full_suite: - extends: - - .qa_branch - - .v134_base - parallel: 7 - variables: - TEST_SUITE: $QA_FULL_SUITE_OPTIONS - environment: - action: access - needs: ["qa_v134_full_suite_manual_trigger"] diff --git a/.gitlab/ci/environments/vcluster.134.arm64.gitlab-ci.yml b/.gitlab/ci/environments/vcluster.134.arm64.gitlab-ci.yml deleted file mode 100644 index 704ea82d9a..0000000000 --- a/.gitlab/ci/environments/vcluster.134.arm64.gitlab-ci.yml +++ /dev/null @@ -1,91 +0,0 @@ -include: - - component: "gitlab.com/gitlab-org/quality/pipeline-common/allure-report@9.6.3" - inputs: - job_name: "e2e-test-v134a" - job_stage: "qa-report" - gitlab_auth_token_variable_name: "DANGER_GITLAB_API_TOKEN" - aws_access_key_id_variable_name: "QA_ALLURE_AWS_ACCESS_KEY_ID" - aws_secret_access_key_variable_name: "QA_ALLURE_AWS_SECRET_ACCESS_KEY" - allure_results_glob: "gitlab-qa-run-*/**/allure-results" - rules: - - if: '$CI_SERVER_HOST != "gitlab.com"' - when: never - - if: '$CI_PIPELINE_SOURCE == "pipeline" || $CI_PIPELINE_SOURCE == "parent_pipeline"' - -.v134a_base: - extends: - - .vcluster_base - variables: - VCLUSTER_K8S_VERSION: "v1.34.0" - VCLUSTER_NAME: "v134a-${REVIEW_REF_PREFIX}${CI_COMMIT_SHORT_SHA}" - HOST_SUFFIX: "${CI_ENVIRONMENT_SLUG}-vc134a" - # the VARIABLES_FILE value is from the CI_JOB_NAME of the review job - VARIABLES_FILE: "variables/review_v134a" - DOMAIN: "-${HOST_SUFFIX}.${KUBE_INGRESS_BASE_DOMAIN}" - REVIEW_ARCH: arm64 - environment: - name: gkevc_134a/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA - url: "https://gitlab${DOMAIN}" - -create_review_v134a: - stage: review - image: ${BUSYBOX_IMAGE} - extends: .v134a_base - variables: - GIT_STRATEGY: none - script: - - echo "Configuring gkevc_134a/$REVIEW_REF_PREFIX$CI_COMMIT_SHORT_SHA to automatically stop in $REVIEW_APPS_AUTO_STOP_IN." - environment: - on_stop: stop_review_v134a - auto_stop_in: $REVIEW_APPS_AUTO_STOP_IN - action: start - -review_v134a: - extends: - - .vcluster_review_template - - .v134a_base - environment: - action: access - -stop_review_v134a: - extends: - - .stop_vcluster_review_template - - .v134a_base - environment: - action: stop - -review_specs_v134a: - extends: - - .vcluster_specs_template - - .v134a_base - environment: - action: access - needs: ['review_v134a'] - -qa_v134a: - extends: - - .qa_branch - - .v134a_base - variables: - TEST_SUITE: $QA_SANITY_SUITE_OPTIONS - environment: - action: access - needs: - - review_v134a - - job: review_specs_v134a - artifacts: false - -qa_v134a_full_suite_manual_trigger: - extends: .qa_full_suite_manual_trigger - script: echo 'The job will trigger Full E2E suite against GKE134a vcluster' - -qa_v134a_manual_full_suite: - extends: - - .qa_branch - - .v134a_base - parallel: 7 - variables: - TEST_SUITE: $QA_FULL_SUITE_OPTIONS - environment: - action: access - needs: ["qa_v134a_full_suite_manual_trigger"] diff --git a/.gitlab/ci/review-docs.gitlab-ci.yml b/.gitlab/ci/review-docs.yml similarity index 100% rename from .gitlab/ci/review-docs.gitlab-ci.yml rename to .gitlab/ci/review-docs.yml diff --git a/.gitlab/ci/scanners.gitlab-ci.yml b/.gitlab/ci/scanners.yml similarity index 100% rename from .gitlab/ci/scanners.gitlab-ci.yml rename to .gitlab/ci/scanners.yml diff --git a/.gitlab/ci/specs-common.gitlab-ci.yml b/.gitlab/ci/specs-common.yml similarity index 100% rename from .gitlab/ci/specs-common.gitlab-ci.yml rename to .gitlab/ci/specs-common.yml diff --git a/.gitlab/ci/kubeconform.gitlab-ci.yml b/.gitlab/ci/validations.yml similarity index 98% rename from .gitlab/ci/kubeconform.gitlab-ci.yml rename to .gitlab/ci/validations.yml index d0fe83dd1d..85ed3d3909 100644 --- a/.gitlab/ci/kubeconform.gitlab-ci.yml +++ b/.gitlab/ci/validations.yml @@ -42,6 +42,7 @@ kubeconform: parallel: matrix: - KUBE_VERSION: + - 1.30.13 - 1.31.9 - 1.32.5 - 1.33.1 diff --git a/.gitlab/ci/vcluster-review-apps.gitlab-ci.yml b/.gitlab/ci/vcluster-review-apps.gitlab-ci.yml index a9294fb8a9..75f53d16fb 100644 --- a/.gitlab/ci/vcluster-review-apps.gitlab-ci.yml +++ b/.gitlab/ci/vcluster-review-apps.gitlab-ci.yml @@ -1,16 +1,14 @@ -.vcluster_base: - variables: - DNS_PROVIDER: "google" - AGENT_NAME: "gkevc-ci-cluster" - KUBE_INGRESS_BASE_DOMAIN: "cloud-native-vcluster.helm-charts.win" - KUBE_NAMESPACE: "default" - NAMESPACE: "${KUBE_NAMESPACE}" +.vcluster_review_common_vars: &vcluster_review_common_vars + DNS_PROVIDER: "google" + AGENT_NAME: "gkevc-ci-cluster" + KUBE_INGRESS_BASE_DOMAIN: "cloud-native-vcluster.helm-charts.win" + KUBE_NAMESPACE: "default" + NAMESPACE: "${KUBE_NAMESPACE}" .vcluster_review_template: - extends: - - .review_template - - .vcluster_base + extends: .review_template variables: + <<: *vcluster_review_common_vars ADD_NGINX_DNS_ANNOTATIONS: "true" allow_failure: true before_script: @@ -34,9 +32,9 @@ - vcluster_run ./scripts/ci/vcluster_deploy.sh .stop_vcluster_review_template: - extends: - - .stop_review_template - - .vcluster_base + extends: .stop_review_template + variables: + <<: *vcluster_review_common_vars before_script: # If the branch has already been deleted, fall back to master. - git checkout "${CI_COMMIT_REF_NAME}" || git checkout master @@ -50,10 +48,9 @@ - vcluster_delete .vcluster_specs_template: - extends: - - .specs - - .vcluster_base + extends: .specs variables: + <<: *vcluster_review_common_vars RSPEC_TAGS: type:feature allow_failure: true before_script: diff --git a/doc/development/_index.md b/doc/development/_index.md index 400d230d82..92b965158a 100644 --- a/doc/development/_index.md +++ b/doc/development/_index.md @@ -105,12 +105,12 @@ These pipelines are further classified as either `current` or `secondary`. The `current` pipelines test the most recent supported Kubernetes version on the GKE platform only. -| Minor version | GKE | EKS | vCluster | -| --- | --- | --- | --- | -| 1.34 | current | NA | secondary | -| 1.34 ARM | NA | NA | secondary | -| 1.33 | NA | current | secondary | -| 1.32 | NA | NA | current | +| Minor version | GKE | EKS | vCluster deploy | vCluster full QA | +| --- | --- | --- | --- | --- | +| 1.34 | current | NA | secondary | secondary | +| 1.34 ARM | secondary | NA | NA | NA | +| 1.33 | secondary | current | NA | NA | +| 1.32 | secondary | NA | NA | NA | This table is in development and subject to change. diff --git a/scripts/ci/arm_nodeselectors.yaml b/scripts/ci/arm_nodeselectors.yaml new file mode 100644 index 0000000000..975074018a --- /dev/null +++ b/scripts/ci/arm_nodeselectors.yaml @@ -0,0 +1,38 @@ +--- + +global: + nodeSelector: + kubernetes.io/arch: arm64 + +minio: + nodeSelector: + kubernetes.io/arch: amd64 + +gitlab-runner: + nodeSelector: + kubernetes.io/arch: arm64 + +postgresql: + primary: + nodeSelector: + kubernetes.io/arch: arm64 + readReplicas: + nodeSelector: + kubernetes.io/arch: arm64 + backup.cronjob.labels: + nodeSelector: + kubernetes.io/arch: arm64 + +redis: + master: + nodeSelector: + kubernetes.io/arch: arm64 + replica: + nodeSelector: + kubernetes.io/arch: arm64 + + +nginx-ingress: + nodeSelector: + kubernetes.io/arch: amd64 + diff --git a/scripts/ci/autodevops.sh b/scripts/ci/autodevops.sh index 24f1f485e1..16702a3c79 100755 --- a/scripts/ci/autodevops.sh +++ b/scripts/ci/autodevops.sh @@ -11,7 +11,7 @@ if [[ $CI_ENVIRONMENT_SLUG =~ ^[^-]+-review ]]; then # if multiarch deployment is on - we will be deploying *two* # charts - one for "amd64" and second for "arm64" thus the need # to avoid name collision: - if [ "${REVIEW_ARCH}" == "arm64" ]; then + if [ "${DEPLOY_MULTIARCH}" == "true" ]; then RELEASE_NAME="rvw-a-${REVIEW_REF_PREFIX}${CI_COMMIT_SHORT_SHA}" else RELEASE_NAME=rvw-${REVIEW_REF_PREFIX}${CI_COMMIT_SHORT_SHA} @@ -23,7 +23,7 @@ if [[ $CI_ENVIRONMENT_SLUG =~ ^[^-]+-review ]]; then RELEASE_NAME=${RELEASE_NAME%-} else # otherwise, use CI_ENVIRONMENT_SLUG - if [ "${REVIEW_ARCH}" == "arm64" ]; then + if [ "${DEPLOY_MULTIARCH}" == "true" ]; then RELEASE_NAME="a-${CI_ENVIRONMENT_SLUG}" else RELEASE_NAME=$CI_ENVIRONMENT_SLUG @@ -59,7 +59,7 @@ function deploy() { exit 1 fi - echo "REVIEW_ARCH: $REVIEW_ARCH" + echo "DEPLOY_MULTIARCH: $DEPLOY_MULTIARCH" # Cleanup and previous installs, as FAILED and PENDING_UPGRADE will cause errors with `upgrade` if [ "$RELEASE_NAME" != "production" ] && previousDeployFailed ; then echo "Deployment in bad state, cleaning up $RELEASE_NAME" @@ -186,20 +186,14 @@ CIYAML SENTRY_CONFIGURATION="-f ci.sentry.yaml" fi - - ARCH_CONFIGURATION="" - if [ "${REVIEW_ARCH}" == "arm64" ]; then - # The bundled MinIO chart is not being updated anymore. - # Override the image for arm64 because the current default image is only build for amd64. - ARCH_CONFIGURATION="-f scripts/ci/values/arm64.values.yaml" - # Patch the minio chart to accomodate for CLI changes in the new minio/mc version. - git apply ./scripts/ci/patches/arm64.minio.patch + MULTIARCH_CONFIGURATION="" + if [ "${DEPLOY_MULTIARCH}" == "true" ]; then + MULTIARCH_CONFIGURATION="-f scripts/ci/arm_nodeselectors.yaml" fi - helm upgrade --install \ $WAIT \ ${SENTRY_CONFIGURATION} \ - ${ARCH_CONFIGURATION} \ + ${MULTIARCH_CONFIGURATION} \ ${NGINX_CONFIGURATION} \ -f ci.details.yaml \ -f ci.scale.yaml \ diff --git a/scripts/ci/patches/arm64.minio.patch b/scripts/ci/patches/arm64.minio.patch deleted file mode 100644 index 683f00c6f2..0000000000 --- a/scripts/ci/patches/arm64.minio.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/charts/minio/templates/_helper_create_buckets.sh b/charts/minio/templates/_helper_create_buckets.sh -index 3cabb5f1f..17f408259 100644 ---- a/charts/minio/templates/_helper_create_buckets.sh -+++ b/charts/minio/templates/_helper_create_buckets.sh -@@ -62,7 +62,7 @@ createBucket() { - # At this point, the bucket should exist, skip checking for existance - # Set policy on the bucket - echo "Setting policy of bucket '$BUCKET' to '$POLICY'." -- /usr/bin/mc policy $POLICY myminio/$BUCKET -+ /usr/bin/mc policy set $POLICY myminio/$BUCKET - } - - connectToMinio diff --git a/scripts/ci/values/arm64.values.yaml b/scripts/ci/values/arm64.values.yaml deleted file mode 100644 index c2196dccc0..0000000000 --- a/scripts/ci/values/arm64.values.yaml +++ /dev/null @@ -1,5 +0,0 @@ -minio: - imageTag: "RELEASE.2020-09-21T22-31-59Z-arm64" - minioMc: - tag: "RELEASE.2020-09-23T20-02-13Z-arm64" - diff --git a/scripts/ci/vcluster.sh b/scripts/ci/vcluster.sh index 6bdbb46f70..a58442973f 100755 --- a/scripts/ci/vcluster.sh +++ b/scripts/ci/vcluster.sh @@ -10,23 +10,14 @@ function cluster_connect() { } function vcluster_install() { - if command -v vcluster &> /dev/null; then - # Get the installed version - INSTALLED_VERSION=$(vcluster version | grep -oE '[0-9]+\.[0-9]+\.[0-9]+') - - if [ "$INSTALLED_VERSION" = "$VCLUSTER_VERSION" ]; then - echo "vcluster is installed with the correct version" - return - else - echo "vcluster ${INSTALLED_VERSION} is installed but version mismatch (expected $VCLUSTER_VERSION)" - fi + if [ -z "${VCLUSTER_VERSION}" ] || [ "${VCLUSTER_VERSION,,}" == "default" ]; then + echo "No version specified, using default image version" else - echo "vcluster is not installed" + echo "Install vcluster version ${VCLUSTER_VERSION}" + curl -Lo /tmp/vcluster "https://github.com/loft-sh/vcluster/releases/download/v${VCLUSTER_VERSION}/vcluster-linux-amd64" + install -c -m 0755 /tmp/vcluster /usr/local/bin fi - - echo "Install vcluster version ${VCLUSTER_VERSION}" - curl -Lo /tmp/vcluster "https://github.com/loft-sh/vcluster/releases/download/v${VCLUSTER_VERSION}/vcluster-linux-amd64" - install -c -m 0755 /tmp/vcluster /usr/local/bin + vcluster version } function vcluster_name() { @@ -34,7 +25,7 @@ function vcluster_name() { } function vcluster_create() { - envsubst < ./scripts/ci/vcluster.template.yaml > ./vcluster.yaml + envsubst '$VCLUSTER_K8S_VERSION' < ./scripts/ci/vcluster.template.yaml > ./vcluster.yaml cat vcluster.yaml local vcluster_name=$(vcluster_name) @@ -57,6 +48,22 @@ function vcluster_copy_secret() { | vcluster_run kubectl apply -n $3 -f - } +function vcluster_helm_deploy() { + helm dependency update + + vcluster_run helm upgrade --install \ + gitlab \ + --wait --timeout 600s \ + -f ./scripts/ci/vcluster_helm_values.yaml \ + -f ci.digests.yaml \ + . +} + +function vcluster_helm_rollout_status() { + vcluster_run kubectl rollout status statefulset -l release=gitlab --timeout=300s + vcluster_run kubectl rollout status deployments -l release=gitlab --timeout=300s +} + function vcluster_delete() { vcluster delete $(vcluster_name) --delete-configmap --delete-namespace --ignore-not-found } diff --git a/scripts/ci/vcluster.template.yaml b/scripts/ci/vcluster.template.yaml index 2d6bd272c9..d009b44aee 100644 --- a/scripts/ci/vcluster.template.yaml +++ b/scripts/ci/vcluster.template.yaml @@ -14,11 +14,6 @@ sync: toHost: ingresses: enabled: true - fromHost: - nodes: - selector: - labels: - kubernetes.io/arch: "$REVIEW_ARCH" integrations: metricsServer: enabled: true -- GitLab