Commit Graph
8923 Commits
Author SHA1 Message Date
Seena Fallah 44ab38baae control-plane: fix kubeadm ops when advertiseAddress cannot be derived from default gateway (#13156)
* download: add apiserver ip in InitConfiguration

In setups where the advertiseAddress cannot be derived from the
default gateway, setting localAPIEndpoint.advertiseAddress will
eliminate the error caused by that. this is like other kubeadm
configs that we have.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>

* control-plane: pass kubeadm config when creating token

kubeadm token create subcommand will generate a default config when
nothing as --config is passed. therefore if we have setups that need
the config values to let kubeadm work (like if the ip cannot be derived
by the default gateway) it will fail.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>

---------

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
2026-09-10 07:42:37 +00:00
ERIK 26aa4586e9 fix(flannel): make image tag prefix version-aware (#13476)
Signed-off-by: bo.jiang <bo.jiang@daocloud.io>
2026-09-10 07:12:34 +00:00
Kay Yan fd206a19f5 CI: add Ubuntu 26.04 support and coverage (#13443)
* image-builder: add Ubuntu 26.04 image

Signed-off-by: Kay Yan <kay.yan@daocloud.io>

* CI: add Ubuntu 26.04 support

Add an Ubuntu 26.04 CI job (ubuntu26-calico-all-in-one) to the main PR
matrix, OS-specific node vars, and update the coverage docs.

The VM image is published as quay.io/kubespray/vm-ubuntu-2604.

Signed-off-by: Kay Yan <kay.yan@daocloud.io>

---------

Signed-off-by: Kay Yan <kay.yan@daocloud.io>
2026-09-10 03:56:33 +00:00
Max Gautier 5be4b0a9fe CI: add helm for kubelet-csr-approver/custom-cni-helm tests (#13457)
Currently this only works because helm_enabled is not actually checked
for some helm installation cases.
2026-09-09 13:36:34 +00:00
Max Gautier 0378060c91 fix/ansible 2.19: ssl_ca_dirs: don't rely on final evaluation (#13477) 2026-09-09 09:13:25 +00:00
Kay Yan 230cd19497 fix(openeuler): add configurable openeuler_repo_baseurl for faster mirrors (#13134)
Add openeuler_repo_baseurl variable to override the default baseurl
(repo.openeuler.org) with a faster mirror. CI uses Huawei Cloud CDN,
reducing package installation from >900s timeout to ~2min.

Signed-off-by: Kay Yan <kay.yan@daocloud.io>
2026-09-09 07:32:34 +00:00
Max Gautier 8e8751465b fix/ansible-core 2.19: implicit list to bool conversion in download (#13470) 2026-09-09 05:24:34 +00:00
Max Gautier 712d13bd48 fix/ansible 2.19: calico: no implicit conditionals (#13480) 2026-09-09 05:20:36 +00:00
Max Gautierandgithub-actions[bot] 15dab0c60c Patch versions updates (#13458)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-09-09 00:48:32 +00:00
Max Gautier ff19dbd284 fix/ansible 2.19: local vol provisioner: don't rely on final evaluation (#13481)
- also remove mitogen workaround from local_volume_provisioner since
  creating the dirs is handled by kubernetes/preinstall instead
- correct the tag in kubernetes/preinstall as persistent_volumes isn't
  the same thing
2026-09-08 22:46:35 +00:00
Oleksandr Kozmenko 70cb04d9d8 fix: remove redundant cni dependency for flannel/kube-router/macvlan/multus (#12766)
* fix: remove cni dependency for flannel

Inspired by https://github.com/kubernetes-sigs/kubespray/pull/9563.

* fix: remove cni dependency for kube-router/macvlan/multus

It is not needed there since network_plugin meta already has it. For plugins which have reset tasks it is also breaking them since downloaded CNI archive is no longer present.
2026-09-08 22:16:33 +00:00
Meza 1754a6b493 fix(etcd): update etcd-metrics to endpointslice using single subset (#12846)
Signed-off-by: Meza <meza-xyz@proton.me>
2026-09-08 15:18:32 +00:00
Max Gautier 7cd8c41218 fix/ansible 2.19: tests: no implicit conditionals (#13479) 2026-09-08 12:54:33 +00:00
arhuman b7b08b33c4 Add astl for fast local Ansible static linting (#13472) 2026-09-08 12:18:30 +00:00
Max Gautier 6aee13b285 Remove support and CI for EOL Debian 11 (#13483)
- also remove macvlan on debian support since the role works neither on
  debian 12 nor 13
- macvlan is no longer tested in CI as it does not work on rockylinux10
  either
2026-09-08 10:30:31 +00:00
Ali Afsharzadeh bf2727f6fd Skip component releases published without binary artifacts (#13381)
* Skip component releases published without binary artifacts

Signed-off-by: Ali Afsharzadeh <afsharzadeh8@gmail.com>

* Don't use intermediate variable

Signed-off-by: Ali Afsharzadeh <afsharzadeh8@gmail.com>

* Fail update-hashes when a component only returns 404s

Signed-off-by: Ali Afsharzadeh <afsharzadeh8@gmail.com>

---------

Signed-off-by: Ali Afsharzadeh <afsharzadeh8@gmail.com>
2026-09-08 10:20:32 +00:00
Razvan Petrescu 5ca00279b8 Add contrib/terraform/opennebula: provision Kubespray VMs on OpenNebula (#13390) 2026-09-08 10:16:29 +00:00
Max Gautier c554ee816d fix/ansible-core 2.19: etcd: avoid mutating methods in template (#13474)
2.19 disallow methods with side effects in Jinja. Use a simple loop by
adding all the SANs source in one list.

Also check the sources before hand for failing on CIDR notation.

Link: https://github.com/ansible/ansible/issues/85202
2026-09-08 09:12:32 +00:00
Max Gautier 4b7dfaef87 fix/ansible 2.19: etcd: don't rely on final evaluation (#13475)
Suggested-by: Ali Afsharzadeh <afsharzadeh8@gmail.com>
2026-09-08 08:04:32 +00:00
Sandaru Wijewardhana 2dd05e4841 Bump nerdctl to v2.3.5 (#13437)
Signed-off-by: sandaruwijewardhana <sandaruwijewardhana@gmail.com>
2026-09-08 07:44:30 +00:00
Max Gautier bbad309f41 update-hashes: temporarily exclude gvisor (#13459)
Gvisor changed it's release artefacts, which makes the whole updater
script fail.
Let's exclude them for now.
2026-09-08 07:22:30 +00:00
Nikhil Kumar 33a26fb9e3 openSUSE: add Leap 16.0 support and CI coverage (#13473) 2026-09-07 14:58:29 +00:00
Max Gautier 85cfaa2cef fix/ansible-core 2.19: docker: bool implict conversion (#13471) 2026-09-07 09:00:28 +00:00
Alexander Skiba (MANZ Solutions) 12355b7e0a Fix lint violation: jinja[invalid] to make pre-commit pass (#13337) 2026-09-07 07:24:28 +00:00
Max Gautier 490253f6f0 fix/ansible-core 2.19: ntp_timezone implicit string -> bool (#13469) 2026-09-05 04:46:22 +00:00
Kay Yan e164ca4315 image-builder: add openSUSE Leap 16.0 image (#13453)
Signed-off-by: Kay Yan <kay.yan@daocloud.io>
2026-09-03 15:04:21 +00:00
Ali Afsharzadeh e125a30b16 Fix k8s-certs-renew renewing on nodes without super-admin.conf (#13414)
Signed-off-by: Ali Afsharzadeh <afsharzadeh8@gmail.com>
2026-09-03 14:30:21 +00:00
Max Gautier afd33dd657 lint: Disable name-casing (and remove comment) (#13456)
ansible-lint is pretty opiniated, and a lots of its opinion are not
particularly useful for Kubespray, so delete the comment about not
adding skip rule entries.

We should not add them willy-nilly but some stuff just does not make
sense, in that case name[casing] when prefixing tasks name with role
name.
2026-09-03 14:04:22 +00:00
Abhishek Kanyahal cf0e68ee98 Updates in the calico config and template to support disabling ipv4 pools during pure ipv6 deployment (#13225)
* #13157: Updates in the calico config and template to support disabling ipv4 pools during pure ipv6 deployment

Signed-off-by: root <kanyahal.abhishek@gmail.com>

* Updates in the calico config and template to support disabling ipv4 pools during pure ipv6 deployment

* Updates in the calico config and template to support disabling ipv4 pools during pure ipv6 deployment

---------

Signed-off-by: root <kanyahal.abhishek@gmail.com>
2026-09-03 13:10:27 +00:00
Dhakshin Raghav 1daa5c4af0 Bump Flannel version to v0.28.9 (#13436) 2026-09-03 12:32:19 +00:00
ChillRedChilli 8e6673b467 ci: restore molecule tests for kata-containers. (#13452)
- Move kata-containers out of the molecule_full matrix and back to the standard molecule job to run on every PR.
2026-09-03 12:26:20 +00:00
Mehrdad Biukian a369d66c43 fix(calico): make IPv6 pool validation actually run (#13450)
Three defects in the IPv6 branch of check.yml kept the IPv6 pool
assertion from ever executing:

1. 'alico_ipv6 is defined' - typo of calico_ipv6, so the set_fact
   was always skipped (Jinja2 treats the undefined var as False).
2. The set_fact stored the pool as calico_pool_conf, overwriting the
   IPv4 pool fact on dual-stack clusters, while the IPv6 assertion
   gated on calico_pool_ipv6_conf - a name that was never set.
3. The assertion body also read calico_pool_conf, so even with the
   gate fixed it would validate against the IPv4 pool's values.

Store the IPv6 pool as calico_pool_ipv6_conf, gate the set_fact on
the registered calico_ipv6 result, and make the assertion read the
IPv6 fact - mirroring the IPv4 pattern directly above.

Verified with ansible-playbook on mocked calicoctl output:
- old code: set_fact skipped, no validation (reproduces the report)
- new code: mismatched blockSize caught with a clear assertion msg
- matching config passes through unchanged

Signed-off-by: Mehrdad Biukian Naeini <mehrdadbiukian@gmail.com>
2026-09-03 10:32:21 +00:00
Kay Yan 990d3035a1 Fix custom_cni manifest apply failure for multi-namespace resources (#13091)
* fix(custom_cni): make namespace optional

Keep kube-system as the default for existing manifests. An empty custom_cni_namespace omits kubectl's namespace flag so manifests spanning multiple namespaces can be applied without changing legacy behavior.

Signed-off-by: Kay Yan <kay.yan@daocloud.io>

* docs(custom_cni): document multi-namespace manifests

Signed-off-by: Kay Yan <kay.yan@daocloud.io>

---------

Signed-off-by: Kay Yan <kay.yan@daocloud.io>
2026-09-02 09:38:20 +00:00
dependabot[bot] 9ee6f9b279 build(deps): bump cryptography from 50.0.0 to 50.0.1 (#13439)
Bumps [cryptography](https://github.com/pyca/cryptography) from 50.0.0 to 50.0.1.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/50.0.0...50.0.1)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-version: 50.0.1
  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>
2026-09-01 21:04:15 +00:00
Kay Yan 332387f1ab image-builder: use stable Ubuntu 24.04 image (#13445)
The pinned daily Noble image was pruned and now returns HTTP 404. Use the immutable Ubuntu release build and its matching checksum instead.

Default validate-single-docker to ubuntu-2404 so the presubmit command does not need to repeat the image name.

Signed-off-by: Kay Yan <kay.yan@daocloud.io>
2026-09-01 16:48:17 +00:00
Mehrdad Biukian f7b0af0d60 fix: render routingMode native when cilium_tunnel_mode is disabled (#13427)
* fix: render routingMode native when cilium_tunnel_mode is disabled

When cilium_tunnel_mode is set to 'disabled', the previous template rendered
'tunnelProtocol: disabled', which Cilium does not recognise and falls back to
vxlan. With native routing this conflicts and agents CrashLoopBackOff.

Render 'routingMode: native' instead when disabled, matching the Cilium Helm
chart API (per maintainer review on #13427 and #13314).

Refs kubernetes-sigs/kubespray#13267

Signed-off-by: Mehrdad Biukian Naeini <mehrdadbiukian@gmail.com>

* fix(cilium): tighten routingMode native render (remove stray blank line)

Per review comment on kubernetes-sigs/kubespray#13427, drop the extra
blank line after the routingMode/tunnelProtocol if-block so the rendered
Helm values file is clean.

Validated by rendering the template for cilium_tunnel_mode in
{disabled, vxlan, geneve}: disabled yields 'routingMode: native' with no
tunnelProtocol; vxlan/geneve yield 'tunnelProtocol: <mode>'.

Signed-off-by: Mehrdad Biukian Naeini <mehrdadbiukian@gmail.com>

---------

Signed-off-by: Mehrdad Biukian Naeini <mehrdadbiukian@gmail.com>
2026-08-31 03:18:08 +00:00
Ali Afsharzadeh 46dbdd3994 Patch versions updates (#13423)
Signed-off-by: Ali Afsharzadeh <afsharzadeh8@gmail.com>
2026-08-21 10:07:16 +00:00
Ali AfsharzadehandChengHao Yang ae329ee192 Fix k8s-certs-renew renewing all certificates on every timer run (#13413)
* Fix k8s-certs-renew renewing all certificates on every timer run

Signed-off-by: Ali Afsharzadeh <afsharzadeh8@gmail.com>

* Strip trailing whitespace from systemd-analyze calendar output

Signed-off-by: Ali Afsharzadeh <afsharzadeh8@gmail.com>

* Remove issue link

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

---------

Signed-off-by: Ali Afsharzadeh <afsharzadeh8@gmail.com>
Co-authored-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com>
2026-08-21 07:07:16 +00:00
Ali Afsharzadeh c2089ae595 Upgrade cilium from 1.20.0 to 1.20.1 (#13419)
Signed-off-by: Ali Afsharzadeh <afsharzadeh8@gmail.com>
2026-08-21 04:31:14 +00:00
dependabot[bot] aaa75cfa11 build(deps): bump molecule from 26.6.0 to 26.8.0 in the molecule group (#13418)
Bumps the molecule group with 1 update: [molecule](https://github.com/ansible/molecule).


Updates `molecule` from 26.6.0 to 26.8.0
- [Release notes](https://github.com/ansible/molecule/releases)
- [Commits](https://github.com/ansible/molecule/compare/v26.6.0...v26.8.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-17 10:16:18 +00:00
ChillRedChilli ed99c2a4cb kata-containers: Update release artifacts to zst format. (#13389)
- Updated download URLs to fetch the kata-static<...>.zst files from github repo.
- Added zstd package in kata-continers role.
- Updated version checksums to match the new release files.

Moved zstd dependency to roles/system_package
2026-08-16 15:04:14 +00:00
Nikhil Kumar bf077e7360 Replace injected Ansible fact variables in network_plugin role (#13382) 2026-08-16 14:24:17 +00:00
dependabot[bot] ddd9ae131b build(deps): bump cryptography from 49.0.0 to 50.0.0 (#13411)
Bumps [cryptography](https://github.com/pyca/cryptography) from 49.0.0 to 50.0.0.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/49.0.0...50.0.0)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-version: 50.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-11 08:45:17 +00:00
Kay Yan fe0328f38a docs: clarify Kubernetes support window (#13216)
Document the rolling three-minor Kubernetes support window and derive the README minimum version from kube_version_min_required.

Signed-off-by: Kay Yan <kay.yan@daocloud.io>
2026-08-10 09:46:04 +00:00
Ali Afsharzadeh ace96af930 Upgrade cilium from 1.19.6 to 1.20.0 (#13401)
Signed-off-by: Ali Afsharzadeh <afsharzadeh8@gmail.com>
2026-08-06 13:26:54 +00:00
Shaleen Bathla a7391a1461 kubelet, crio service: standardize unit file permissions to 0644 (#13408)
* kubelet.service: use standard permissions

systemd[1]: Configuration file /etc/systemd/system/kubelet.service is marked world-inaccessible. This has no effect as configuration data is accessible via APIs without restrictions. Proceeding anyway.

* crio.service: reduce execute permission

systemd[1]: Configuration file /etc/systemd/system/crio.service is marked executable. Please remove executable permission bits. Proceeding anyway.
2026-08-06 13:22:55 +00:00
Nikhil Kumar 7198b21b3f Replace injected Ansible fact variables in Remaining roles (#13383) 2026-08-03 07:21:29 +00:00
tophac 4ee4ced065 Fix(#13396)Delete the leftover eviction_hard_control_plane variable (#13400) 2026-08-03 04:33:24 +00:00
Debasish Mohanty f713813c55 fix(csi): update CSI sidecar image versions (#13395)
* feat(csi): update CSI sidecar image versions

* docs(openstack): update sample Cinder CSI sidecar image tags

* chore: trigger CI
2026-08-02 14:53:22 +00:00
dependabot[bot] c0cbd079ab build(deps): bump actions/setup-python from 6.3.0 to 7.0.0 (#13398)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 6.3.0 to 7.0.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/ece7cb06caefa5fff74198d8649806c4678c61a1...5fda3b95a4ea91299a34e894583c3862153e4b97)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-27 15:31:58 +00:00