mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2025-12-13 13:24:15 +03:00
* Remove etcd member by peerURLs The way to obtain the IP of a particular member is convoluted and depend on multiple variables. The match is also textual and it's not clear against what we're matching It's also broken for etcd member which are not also Kubernetes nodes, because the "Lookup node IP in kubernetes" task will fail and abort the play. Instead, match against 'peerURLs', which does not need new variable, and use json output. * Add testcase for etcd removal on external etcd * do not merge * fixup! Remove etcd member by peerURLs * fixup! Remove etcd member by peerURLs
67 lines
1.7 KiB
YAML
67 lines
1.7 KiB
YAML
---
|
|
stages:
|
|
- build # build docker image used in most other jobs
|
|
- test # unit tests
|
|
- deploy-part1 # kubespray runs - common setup
|
|
- deploy-extended # kubespray runs - rarer or costlier (to test) setups
|
|
|
|
variables:
|
|
FAILFASTCI_NAMESPACE: 'kargo-ci'
|
|
GITLAB_REPOSITORY: 'kargo-ci/kubernetes-sigs-kubespray'
|
|
GIT_CONFIG_COUNT: 2
|
|
GIT_CONFIG_KEY_0: user.email
|
|
GIT_CONFIG_VALUE_0: "ci@kubespray.io"
|
|
GIT_CONFIG_KEY_1: user.name
|
|
GIT_CONFIG_VALUE_1: "Kubespray CI"
|
|
ANSIBLE_FORCE_COLOR: "true"
|
|
MAGIC: "ci check this"
|
|
GS_ACCESS_KEY_ID: $GS_KEY
|
|
GS_SECRET_ACCESS_KEY: $GS_SECRET
|
|
CONTAINER_ENGINE: docker
|
|
GCE_PREEMPTIBLE: "false"
|
|
ANSIBLE_KEEP_REMOTE_FILES: "1"
|
|
ANSIBLE_CONFIG: ./tests/ansible.cfg
|
|
ANSIBLE_REMOTE_USER: kubespray
|
|
ANSIBLE_PRIVATE_KEY_FILE: /tmp/id_rsa
|
|
ANSIBLE_INVENTORY: /tmp/inventory
|
|
ANSIBLE_STDOUT_CALLBACK: "default"
|
|
RESET_CHECK: "false"
|
|
REMOVE_NODE_CHECK: "false"
|
|
UPGRADE_TEST: "false"
|
|
MITOGEN_ENABLE: "false"
|
|
ANSIBLE_VERBOSITY: 2
|
|
RECOVER_CONTROL_PLANE_TEST: "false"
|
|
RECOVER_CONTROL_PLANE_TEST_GROUPS: "etcd[2:]:kube_control_plane[1:]"
|
|
OPENTOFU_VERSION: v1.9.1
|
|
PIPELINE_IMAGE: "$CI_REGISTRY_IMAGE/pipeline:${CI_PIPELINE_ID}-${CI_COMMIT_SHORT_SHA}"
|
|
|
|
before_script:
|
|
- ./tests/scripts/rebase.sh
|
|
- mkdir -p cluster-dump $ANSIBLE_INVENTORY
|
|
|
|
.job: &job
|
|
tags:
|
|
- ffci
|
|
image: $PIPELINE_IMAGE
|
|
artifacts:
|
|
when: always
|
|
paths:
|
|
- cluster-dump/
|
|
needs:
|
|
- pipeline-image
|
|
|
|
.job-moderated:
|
|
extends: .job
|
|
needs:
|
|
- pipeline-image
|
|
- pre-commit # lint
|
|
- vagrant-validate # lint
|
|
|
|
include:
|
|
- .gitlab-ci/build.yml
|
|
- .gitlab-ci/lint.yml
|
|
- .gitlab-ci/terraform.yml
|
|
- .gitlab-ci/kubevirt.yml
|
|
- .gitlab-ci/vagrant.yml
|
|
- .gitlab-ci/molecule.yml
|