kubespray/.gitlab-ci.yml

88 lines
2.4 KiB
YAML
Raw Permalink Normal View History

---
2016-12-10 10:23:37 +08:00
stages:
2023-01-09 10:29:27 +08:00
- build
2016-12-10 10:23:37 +08:00
- unit-tests
2018-02-12 23:04:26 +08:00
- deploy-part1
- moderator
2018-02-12 23:04:26 +08:00
- deploy-part2
- deploy-part3
2018-02-12 23:04:26 +08:00
- deploy-special
2016-12-10 10:23:37 +08:00
variables:
KUBESPRAY_VERSION: v2.21.0
2016-12-10 10:23:37 +08:00
FAILFASTCI_NAMESPACE: 'kargo-ci'
GITLAB_REPOSITORY: 'kargo-ci/kubernetes-sigs-kubespray'
2016-12-14 06:01:37 +08:00
ANSIBLE_FORCE_COLOR: "true"
MAGIC: "ci check this"
TEST_ID: "$CI_PIPELINE_ID-$CI_JOB_ID"
CI_TEST_VARS: "./tests/files/${CI_JOB_NAME}.yml"
CI_TEST_REGISTRY_MIRROR: "./tests/common/_docker_hub_registry_mirror.yml"
CI_TEST_SETTING: "./tests/common/_kubespray_test_settings.yml"
GS_ACCESS_KEY_ID: $GS_KEY
GS_SECRET_ACCESS_KEY: $GS_SECRET
CONTAINER_ENGINE: docker
2018-02-12 22:32:40 +08:00
SSH_USER: root
GCE_PREEMPTIBLE: "false"
ANSIBLE_KEEP_REMOTE_FILES: "1"
ANSIBLE_CONFIG: ./tests/ansible.cfg
ANSIBLE_INVENTORY: ./inventory/sample/${CI_JOB_NAME}-${BUILD_NUMBER}.ini
IDEMPOT_CHECK: "false"
RESET_CHECK: "false"
2022-04-19 15:49:39 +08:00
REMOVE_NODE_CHECK: "false"
UPGRADE_TEST: "false"
MITOGEN_ENABLE: "false"
ANSIBLE_LOG_LEVEL: "-vv"
RECOVER_CONTROL_PLANE_TEST: "false"
RECOVER_CONTROL_PLANE_TEST_GROUPS: "etcd[2:],kube_control_plane[1:]"
TERRAFORM_VERSION: 1.3.7
ANSIBLE_MAJOR_VERSION: "2.11"
2023-01-09 10:29:27 +08:00
PIPELINE_IMAGE: "$CI_REGISTRY_IMAGE/pipeline:${CI_PIPELINE_ID}-${CI_COMMIT_SHORT_SHA}"
2016-12-10 10:23:37 +08:00
before_script:
- ./tests/scripts/rebase.sh
- update-alternatives --install /usr/bin/python python /usr/bin/python3 1
- python -m pip uninstall -y ansible ansible-base ansible-core
[2.22] Add hashes for kubernetes 1.26.11, 1.26.10 (#10704) * [kubernetes] Add hashes for kubernetes 1.26.11, 1.26.10 Make kubernetes 1.26.11 default * Workaround for yaml/pyyaml#601 * Convert exoscale tf provider to new version (#10646) This is untested. It passes terraform validate to un-broke the CI. * Update 0040-verify-settings.yml (#10699) remove embedded template * Use supported version of fedora in CI (#10108) * tests: replace fedora35 with fedora37 Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * tests: replace fedora36 with fedora38 Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * docs: update fedora version in docs Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * molecule: upgrade fedora version Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * tests: upgrade fedora images for vagrant and kubevirt Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * vagrant: workaround to fix private network ip address in fedora Fedora stop supporting syconfig network script so we added a workaround here https://github.com/hashicorp/vagrant/issues/12762#issuecomment-1535957837 to fix it. * netowrkmanager: do not configure dns if using systemd-resolved We should not configure dns if we point to systemd-resolved. Systemd-resolved is using NetworkManager to infer the upstream DNS server so if we set NetworkManager to 127.0.0.53 it will prevent systemd-resolved to get the correct network DNS server. Thus if we are in this case we just don't set this setting. Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * image-builder: update centos7 image Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> * gitlab-ci: mark fedora packet jobs as allow failure Fedora networking is still broken on Packet, let's mark it as allow failure for now. Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> --------- Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> --------- Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch> Co-authored-by: piwinkler <9642809+piwinkler@users.noreply.github.com> Co-authored-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch>
2023-12-12 14:27:35 +08:00
- PIP_CONSTRAINT=tests/constraints.txt python -m pip install -r tests/requirements-${ANSIBLE_MAJOR_VERSION}.txt
- mkdir -p /.ssh
2016-12-10 10:23:37 +08:00
.job: &job
tags:
- packet
2023-01-09 10:29:27 +08:00
image: $PIPELINE_IMAGE
artifacts:
when: always
paths:
- cluster-dump/
2016-12-10 10:23:37 +08:00
.testcases: &testcases
2016-12-10 10:23:37 +08:00
<<: *job
retry: 1
2016-12-14 06:01:37 +08:00
before_script:
- update-alternatives --install /usr/bin/python python /usr/bin/python3 1
- ./tests/scripts/rebase.sh
- ./tests/scripts/testcases_prepare.sh
2016-12-10 10:23:37 +08:00
script:
- ./tests/scripts/testcases_run.sh
2016-12-14 06:01:37 +08:00
after_script:
- chronic ./tests/scripts/testcases_cleanup.sh
2016-12-14 06:01:37 +08:00
# For failfast, at least 1 job must be defined in .gitlab-ci.yml
2018-02-12 23:04:26 +08:00
# Premoderated with manual actions
ci-authorized:
extends: .job
2018-02-12 23:04:26 +08:00
stage: moderator
script:
- /bin/sh scripts/premoderator.sh
except: ['triggers', 'master']
# Disable ci moderator
only: []
2018-02-12 23:04:26 +08:00
include:
2023-01-09 10:29:27 +08:00
- .gitlab-ci/build.yml
- .gitlab-ci/lint.yml
2019-04-19 14:57:54 +08:00
- .gitlab-ci/shellcheck.yml
- .gitlab-ci/terraform.yml
- .gitlab-ci/packet.yml
- .gitlab-ci/vagrant.yml
- .gitlab-ci/molecule.yml