660 Commits

Author SHA1 Message Date
Max Gautier
d9cf380ce0 Remove testfiles which are not used in the CI.
To reproduce this commit run in bash:

for file in $(ls tests/files/)
do
    if ! grep -Rq ${file%.*} .gitlab.ci; then
    rm tests/files/${file}
    fi
done

This also means that our CI matrix was not accurate.
2024-12-11 17:21:49 +01:00
dependabot[bot]
fccd143533 build(deps): bump molecule from 24.9.0 to 24.12.0 (#11774)
Bumps [molecule](https://github.com/ansible-community/molecule) from 24.9.0 to 24.12.0.
- [Release notes](https://github.com/ansible-community/molecule/releases)
- [Commits](https://github.com/ansible-community/molecule/compare/v24.9.0...v24.12.0)

---
updated-dependencies:
- dependency-name: molecule
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-09 14:56:05 +00:00
ERIK
70b75d35b6 support asymmetric encryption algorithms in ClusterConfigration (#11757)
Signed-off-by: bo.jiang <bo.jiang@daocloud.io>
2024-11-29 08:06:58 +00:00
Max Gautier
280507ff70 Remove leftover CI for ansible-core 2.11 (apparently) (#11754) 2024-11-28 17:22:58 +00:00
dependabot[bot]
e330ffa4ad build(deps): bump ansible-lint from 24.9.2 to 24.10.0 (#11720)
Bumps [ansible-lint](https://github.com/ansible/ansible-lint) from 24.9.2 to 24.10.0.
- [Release notes](https://github.com/ansible/ansible-lint/releases)
- [Commits](https://github.com/ansible/ansible-lint/compare/v24.9.2...v24.10.0)

---
updated-dependencies:
- dependency-name: ansible-lint
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-18 17:58:57 +00:00
Max Gautier
68718dcb6f Stricter kubeadm validation (config and runtime checks) (#11710)
* kubeadm: do not ignore preflight errors blindly

The "ignoring all errors" seems to date back to the inception of the
kubeadm support (it was --skip-preflight-check before).

This can mask real errors and prevent users from seeing them.

Do not ignore any errors by default and make the set of ignored errors
configurable.

* download/kubeadm: remove redundant task

The mode is already set by the previous `copy` task.

* Validate kubeadm configs

This should help to fail early when we have invalid kubeadm configs (from
a kubespray bug or a misconfiguration).

* kubeadm-upgrade: remove unnecessary bool cast

* Convert kubeadm join discovery timeout to v1beta4 config

* CI: Ignore kubeadm:Mem errors on some setup.
2024-11-15 06:34:52 +00:00
Kubernetes Prow Robot
05e2b47db6 Merge pull request #11530 from VannTen/ci/cleanup_with_k8s_gc
[CI] Use Kubernetes GC to clean kubevirt VMs (packet-* jobs)
2024-11-14 10:49:15 +00:00
Max Gautier
47f67818b6 CI: (packet-ci) simplify role layout 2024-11-14 09:41:02 +01:00
Max Gautier
236a7486f4 CI: directly use ANSIBLE_VERBOSITY instead of tweaking command line
https://docs.ansible.com/ansible/latest/reference_appendices/config.html#envvar-ANSIBLE_VERBOSITY
2024-11-14 09:41:01 +01:00
Max Gautier
b5464afa55 CI: workaround for upgrade test backward compatibility
The new CI does not define k8s_cluster group, so it relies on
kubernetes-sigs/kubespray#11559.

This does not work for upgrade testing (which use the previous release).
We can revert this commit after 2.27.0
2024-11-14 09:41:01 +01:00
Max Gautier
ceb4b2fa7d CI: use current tests/ directory for upgrade testing
We should not rollback our test setup during upgrade test.
The only reason to do that would be for incompatible changes in the test
inventory, and we already checkout master for those (${CI_JOB_NAME}.yml)

Also do some cleanup by removing unnecessary intermediary variables
2024-11-14 09:41:00 +01:00
Max Gautier
ff4de880ae CI: Replace kubevirt dynamic inventory with generated yaml
VirtualMachineInstance resources sometimes temporarily loose their
IP (at least as far as the kubevirt controllers can see).
See https://github.com/kubevirt/kubevirt/issues/12698 for the upstream
bug.

This does not seems to affect actual connection (if it did, our current
CI would not work).
However, our CI execute multiple playbooks, and in particular:
1. The provisioning playbook (which checks that the IPs have been
   provisioned by querying the K8S API)
2. Kubespray itself

If any of the VirtualMachineInstance looses its IP between after 1
checked for it, and before 2 starts, the dynamic inventory (which is
invoked when the playbook is launched by ansible-playbook) will not have
an ip for that host, and will try to use the name for ssh, which of
course will not work.

Instead, when we have a valid state during provisioning (all IPs
presents), use it to construct a static inventory which will be used for
the rest of the CI run.
2024-11-14 09:40:59 +01:00
Max Gautier
329ffd45f0 CI: use kubevirt.core dynamic inventory
This allows a single source of truth for the virtual machines in a
kubevirt ci-run.

`etcd_member_name` should be correctly handled in kubespray-defaults for
testing the recover cases.
2024-11-14 09:40:58 +01:00
Max Gautier
a8e7238c9f CI: make the ansible inventory a directory
Not constraining the inventory to .ini allows us to use dynamic
inventory, which is needed for simplifying kubevirt jobs inventory.

Also reduces the scope of the ANSIBLE_INVENTORY variable.
2024-11-13 17:32:52 +01:00
Max Gautier
c46e5dc33a CI: use VirtualMachineInstance for VMs
VMI in Kubevirt are the abstraction below VirtualMachine.

- We don't really need the extra abstraction of VirtualMachine objects
- Convert the waiting for VMs ip address to use kubernetes.core.k8s_info
  and no shell pipeline
2024-11-13 17:32:50 +01:00
Kay Yan
81a66cc73d add ci for openeuler (#11689)
Signed-off-by: Kay Yan <kay.yan@daocloud.io>
2024-11-12 10:36:46 +00:00
Max Gautier
69201662df Remove no_log in CI tests (#11702)
We always want to see the logs in the CI.
2024-11-11 03:54:44 +00:00
Kubernetes Prow Robot
107c3cc6f4 Merge pull request #11633 from tico88612/feat/remove-in-tree-cloud-provider
Cleanup: remove in-tree cloud provider support
2024-11-05 09:13:30 +00:00
Kubernetes Prow Robot
25ca0acf73 Merge pull request #11667 from VannTen/ci-fix/kubelet_csr
Remove `shell` module usage from CI testcases
2024-11-05 08:41:29 +00:00
ChengHao Yang
38cd05c503 Refactor: simpify cloud_provider is defined condition
For this change, `cloud_provider` change the default value to empty
string.

Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com>
2024-11-05 08:32:39 +08:00
Max Gautier
5cb07e0aac CI: remove shell usage for test playbooks
General cleanup + has the advantages of not requiring bash on the hosts.
2024-11-04 10:44:39 +01:00
dependabot[bot]
bb7b4e0c7c build(deps): bump tox from 4.23.0 to 4.23.2 (#11670)
Bumps [tox](https://github.com/tox-dev/tox) from 4.23.0 to 4.23.2.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.23.0...4.23.2)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-30 09:07:25 +00:00
Max Gautier
2ba28a3389 Revert "Wait for available API token in a new namespace (#7045)"
This reverts commit 275c54e810.

Static tokens are no longer created automatically for service account in
Kubernetes. Instead, they are dynamically injected into pods using a
projected volume.

Thus there is no longer a need to check for this (it didn't work anyway,
since the describe output actually contains <none> when there is no
tokens:
{
  "attempts": 1,
  "changed": false,
  "cmd": "set -o pipefail && /usr/local/bin/kubectl describe serviceaccounts default --namespace test | grep Tokens | awk '{print $2}'",
  "delta": "0:00:00.075633",
  "end": "2024-10-19 14:25:04.858871",
  "msg": "",
  "rc": 0,
  "start": "2024-10-19 14:25:04.783238",
  "stderr": "",
  "stderr_lines": [],
  "stdout": "<none>",
  "stdout_lines": [
    "<none>"
  ]
}
)
2024-10-25 15:02:29 +02:00
ChengHao Yang
e119863e04 Fix debian11-custom-cni failing test & upgrade debian12-custom-cni-helm chart version (#11654)
* Test: update custom_cni values

Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com>

* Test: fix cilium require kube_owner set to root

Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com>

* Test: update custom_cni render manifests

Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com>

* Test: fix render template pre-commit

Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com>

* Test: update debian12-custom-cni-helm chart version to 1.16.3

Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com>

---------

Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com>
2024-10-22 16:42:51 +01:00
dependabot[bot]
99c620d510 build(deps): bump tox from 4.21.2 to 4.23.0 (#11652)
Bumps [tox](https://github.com/tox-dev/tox) from 4.21.2 to 4.23.0.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.21.2...4.23.0)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-21 22:54:58 +01:00
Max Gautier
e8ee422808 CI: remove deletion tasks of 'packet' VMs
Kubevirt VMs deletion will be handled by the Kubernetes GC (see previous
commit), remove all the codes handling that.
2024-10-18 12:14:53 +02:00
Max Gautier
65c67c5c51 CI: use Kubernetes GC to delete kubevirt vms
This leverage the Kubernetes GC to delete kubevirt VMs, by using
ownerReferences, with the CI pod running the playbook as the owner.
This concretely means that the control plane in our CI cluster will
delete the kubevirt VMs associated with a particular ci job as soon as
that pod job is deleted, which usually happens when the job terminates,
(barring errors, which will be addressed in the cluster directly)

Upgrade to kubevirt.io/v1 for the VirtualMachine manifests, since the
alpha version is deprecated.
2024-10-18 12:14:52 +02:00
Max Gautier
a7ace2e55b ansible-lint: Adjust pre-commit hooks dependencies
Dropping the ansible dependencies for ansible-lint will allow us to
catch missing dependencies collections in galaxy.yml. For collections
needed for contrib/ or tests/ (i.e: not part of core kubespray
dependencies), we can just configure ansible-lint to mock them.

This mean it won't check the mocked module parameters, but for those
area of the code base it's an acceptable trade-off.
2024-10-07 14:11:24 +02:00
ChengHao Yang
8aa4c9ac0c Cleanup: Fedora 37/38 CI tests & docs (#11600)
* Feat: update the remaining Fedora 37 vagrant CI

Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com>

* Cleanup: remove EOL Fedora 37/38 CI tests

Signed-off-by: ChengHao Yang
<17496418+tico88612@users.noreply.github.com>

* Docs: remove EOL Fedora 37/38

Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com>

---------

Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com>
2024-10-07 09:16:06 +01:00
dependabot[bot]
fb92206918 Bump tox from 4.20.0 to 4.21.2 (#11602)
Bumps [tox](https://github.com/tox-dev/tox) from 4.20.0 to 4.21.2.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.20.0...4.21.2)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-07 08:48:05 +01:00
ChengHao Yang
b0563c20b0 Feat: support Fedora 39/40 (#11573)
* Add Fedora 39/40 to Vagrantfile

Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com>

* Add CI tests for Fedora 39/40

Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com>

* Update CI tests documentation

Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com>

* Update support OS version in README.md

Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com>

---------

Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com>
2024-10-01 07:57:49 +01:00
dependabot[bot]
1ccf0df540 Bump tzdata from 2024.1 to 2024.2 (#11590)
Bumps [tzdata](https://github.com/python/tzdata) from 2024.1 to 2024.2.
- [Release notes](https://github.com/python/tzdata/releases)
- [Changelog](https://github.com/python/tzdata/blob/master/NEWS.md)
- [Commits](https://github.com/python/tzdata/compare/2024.1...2024.2)

---
updated-dependencies:
- dependency-name: tzdata
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-30 10:40:03 +01:00
kyrie
d59a5bf431 update containerd_max_container_log_line_size default value (#11585)
Signed-off-by: KubeKyrie <shaolong.qin@daocloud.io>
2024-09-30 09:12:03 +01:00
dependabot[bot]
ebdc599b05 Bump tox from 4.18.1 to 4.20.0 (#11562)
Bumps [tox](https://github.com/tox-dev/tox) from 4.18.1 to 4.20.0.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.18.1...4.20.0)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-24 02:52:00 +01:00
Kubernetes Prow Robot
03a055c383 Merge pull request #10643 from VannTen/cleanup/k8s_node_templates
Refactor kubernetes/node templates
2024-09-23 14:16:00 +01:00
Kubernetes Prow Robot
e9d406ed08 Merge pull request #11559 from VannTen/cleanup/less_inventory_boilerplate
Only require minimum structure in inventory, compute the rest
2024-09-23 10:08:00 +01:00
dependabot[bot]
99c6a884a9 Bump ansible-lint from 24.9.0 to 24.9.2 (#11563)
Bumps [ansible-lint](https://github.com/ansible/ansible-lint) from 24.9.0 to 24.9.2.
- [Release notes](https://github.com/ansible/ansible-lint/releases)
- [Commits](https://github.com/ansible/ansible-lint/compare/v24.9.0...v24.9.2)

---
updated-dependencies:
- dependency-name: ansible-lint
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-23 09:32:00 +01:00
Max Gautier
1818993a8a CI: for upgrade testing, checkout old version before provisioning
Otherwise, modifying the test inventory + it's expected structure will
always fail.
2024-09-21 15:10:59 +02:00
Max Gautier
7580e59bbf Define k8s_cluster dynamically
This allows inventories to not define the k8s_cluster group manually.
2024-09-21 14:35:35 +02:00
dependabot[bot]
89ff0710e9 Bump ansible-lint from 24.7.0 to 24.9.0 (#11541)
Bumps [ansible-lint](https://github.com/ansible/ansible-lint) from 24.7.0 to 24.9.0.
- [Release notes](https://github.com/ansible/ansible-lint/releases)
- [Commits](https://github.com/ansible/ansible-lint/compare/v24.7.0...v24.9.0)

---
updated-dependencies:
- dependency-name: ansible-lint
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-20 10:45:58 +01:00
Kubernetes Prow Robot
93ee1226eb Merge pull request #11521 from VannTen/cleanup/deduplicate_kubeadm_control_plane
Use in inventory variables rather than patch files for kubeadm_patches
2024-09-20 01:05:14 +01:00
Kubernetes Prow Robot
163697951c Merge pull request #11527 from VannTen/feat/vagrant_multi_inv
Cleanup Vagrantfile and allow to use multiples inventories
2024-09-19 13:46:45 +01:00
Max Gautier
76c42b4d3f CI: cleanup '-scale' tests infra (#11535)
There is actually no test using this since ad6fecefa8,
so there is no reason to keep that infra in our tests scripts.
2024-09-18 13:04:50 +01:00
Max Gautier
b3b00775ea Remove unused test infrastructure (#11529)
These two files haven't been touched since 2016 and don't appear to be
referenced anywhere else
2024-09-18 13:04:44 +01:00
dependabot[bot]
59dd713585 Bump molecule from 24.8.0 to 24.9.0 (#11542)
Bumps [molecule](https://github.com/ansible-community/molecule) from 24.8.0 to 24.9.0.
- [Release notes](https://github.com/ansible-community/molecule/releases)
- [Commits](https://github.com/ansible-community/molecule/compare/v24.8.0...v24.9.0)

---
updated-dependencies:
- dependency-name: molecule
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-16 08:31:14 +01:00
Max Gautier
1e769b7260 Rework vagrant inventory handling + support for multiples inventories
The current way to handle a custom inventory in vagrant is a bit
hackish, copy files around and can break Vagrantfile parsing in
cornercase scenarios (removing vagrant inventories, or the inventory
copied into vagrant inventory).

Instead, simply pass additional inventories to the ansible-playbook
command lines as raw arguments with `-i`.
This also makes supporting multiples inventories trivial, so we add a
new `$inventories` variable for that purpose.
2024-09-13 08:00:32 +02:00
Max Gautier
d54356e113 Add testcase for kubeadm_patches 2024-09-12 10:31:10 +02:00
dependabot[bot]
533dbc62fe Bump ara[server] from 1.7.1 to 1.7.2 (#11514)
Bumps [ara[server]](https://github.com/ansible-community/ara) from 1.7.1 to 1.7.2.
- [Commits](https://github.com/ansible-community/ara/compare/1.7.1...1.7.2)

---
updated-dependencies:
- dependency-name: ara[server]
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-09 08:38:27 +01:00
dependabot[bot]
95f038559b Bump tox from 4.18.0 to 4.18.1 (#11515)
Bumps [tox](https://github.com/tox-dev/tox) from 4.18.0 to 4.18.1.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.18.0...4.18.1)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-09 06:04:27 +01:00
Max Gautier
872d717105 Add kube|system_reserved CI testing 2024-09-06 09:25:26 +02:00