Commit Graph
9032 Commits
Author SHA1 Message Date
Max Gautier 7462b8b93b download: hardcode artifacts mode & owner (#13570)
The artifacts acquisition does not need particular owner or mode, it
only needs to be readable by other parts of kubespray actually installing
the artefacts where needed.

Thus, remove all mode / owner specific maniulation in download and
hardcode to 0644/0755 for file/directory.
2026-09-25 13:02:30 +00:00
Ali Afsharzadeh cc65b8d9e3 Upgrade etcd to 3.7 for Kubernetes 1.37 (#13363)
Signed-off-by: Ali Afsharzadeh <afsharzadeh8@gmail.com>
2026-09-25 06:16:30 +00:00
Max Gautier 327e7fde9c collection: rename helm-apps to helm_apps (#13553)
needed for compatibily with Galaxy
2026-09-24 16:40:17 +00:00
Ali Afsharzadeh 6e06a10613 Update youki to 0.7.0 and download the static musl build (#13564)
Add the 0.6.0 and 0.7.0 checksums, drop 0.4.x, and move youki back
into the blocking molecule matrix. The seccomp bug behind the old
FIXME (youki#3479) is fixed in 0.7.0.

The 0.7.0 gnu tarball is linked against glibc 2.39, because cross-rs
moved its base image to Ubuntu 24.04 and youki installs cross from
git. It does not run on EL9, Amazon Linux 2023, Ubuntu 22.04 or
Debian 12, and it needs libseccomp on the host.

The musl tarball is static, has the same default features and no
runtime requirements. It is the build upstream recommends in its
setup docs.

Signed-off-by: Ali Afsharzadeh <afsharzadeh8@gmail.com>
2026-09-24 12:18:20 +00:00
Max Gautier c943bcadf6 downloads: separate etcd and etcd_container (#13555)
Mixing two semantically distincts artefacts makes things harder to read
and to consume from other code.

Needed for clean filtering on container / file.
2026-09-24 10:42:17 +00:00
Ali Afsharzadeh 635d996c2c Support Kubernetes 1.37 (#13561)
Signed-off-by: Ali Afsharzadeh <afsharzadeh8@gmail.com>
2026-09-24 10:22:20 +00:00
Max Gautier 0cbb6f38bf downloads: pre-filter the loop instead of using when (#13563)
This prevent evaluation of the whole item even if not used, and the
tasks scheduling of skipped tasks.
Preventing evaluation in particular helps avoiding irrelevant errors,
like when an unused downloads member has undefined members.
2026-09-24 09:00:21 +00:00
Ali Afsharzadeh dcf5d8e78f Remove obsolete .ansible-lint-ignore (#13556)
Every entry in the file is for the jinja[spacing] rule. That rule has
been in the global skip_list of .ansible-lint since #12848, so the file
has had no effect since then.

Signed-off-by: Ali Afsharzadeh <afsharzadeh8@gmail.com>
2026-09-24 06:54:19 +00:00
Shuu 0839383414 fix: skip None resolvconf paths on Ansible Core 2.19 (#13548)
Empty base/head facts render to None on Ansible Core 2.19, which
difference(['']) does not remove. Use select to drop both.
2026-09-24 03:54:14 +00:00
Max Gautier caba976460 collection: rename bastion-ssh-config role (#13554)
Needed for compatibility with Galaxy
2026-09-23 19:44:16 +00:00
Max Gautier 1cfdc51bb3 Remove compat roles incompatible with galaxy collection (#13551) 2026-09-23 19:04:19 +00:00
Max Gautier ef3ca1aa0e remove_node: rename role to galaxy naming convention (#13552) 2026-09-23 18:56:20 +00:00
Ali Afsharzadeh 6f6b8b4d20 Add helm_archive to update-hashes (#13536)
Signed-off-by: Ali Afsharzadeh <afsharzadeh8@gmail.com>
2026-09-23 18:52:15 +00:00
kubernetes-prow[bot] 7e6c39baf5 Merge pull request #13523 from VannTen/container_merge_repo_tag
downloads/container: merge repo and tag
2026-09-23 17:10:15 +00:00
Max Gautier 2f42f98d22 Update docs and offline scripts for merged repo + tag in downloads 2026-09-23 15:35:00 +02:00
Max Gautier 6ff47af1ce download: Remove checksums for all container
The pull by digest hasn't been working since 800c84dcc (download: use
full hash form (including hash alg), 2025-01-14), where the key was
renamed to checksum, but the download_container still checked sha256.

Stop pretending we pull by digest.
2026-09-23 13:18:50 +02:00
Max Gautier e013507027 download/container: adapt to single key repo+tag -> image_name
This code will be deleted for the rework of the download role, for now
we minimally adapt it to the new structure of downloads.
2026-09-23 13:18:49 +02:00
Max Gautier 164f7fbf40 download: merge repo and tag key in downloads container dict
Those key are only used as part of the downloads role which will be
removed, and it's more convenient to use a single key directly in Jinja
pipelines.
2026-09-23 13:18:43 +02:00
Kay Yan dadebd011c Releng: bump galaxy version 2.33.0 (#13542)
Signed-off-by: Kay Yan <kay.yan@daocloud.io>
2026-09-22 06:06:08 +00:00
Kay Yan 9751ea6f63 fix: use boolean conditions in control-plane recovery (#13541)
Signed-off-by: Kay Yan <kay.yan@daocloud.io>
v2.32.0
2026-09-22 04:26:09 +00:00
Ali Afsharzadeh b1b5c3689c Bump helm to v3.22.0 (#13535)
Add the checksums for 3.22.0, 3.21.x and 3.20.x.
Remove the checksums for 3.16.x, 3.17.x and 3.18.x, so that the list
keeps the three latest minor versions.

Signed-off-by: Ali Afsharzadeh <afsharzadeh8@gmail.com>
2026-09-22 03:16:11 +00:00
MohammadReza d6611c65ee chore(deps): bump cluster-proportional-autoscaler to v1.10.3 (#13529) 2026-09-21 06:38:00 +00:00
Kay Yan 52be0d6956 Bump Gateway API to v1.6.2 (#13534)
Signed-off-by: Kay Yan <kay.yan@daocloud.io>
2026-09-21 06:26:00 +00:00
Kay Yan ce6f5fe886 feat: add openSUSE MicroOS support (#13449)
Signed-off-by: Kay Yan <kay.yan@daocloud.io>
2026-09-20 13:45:57 +00:00
2af9b1cc94 docs: pass boolean extra-vars as JSON for Ansible 12 compatibility (#13526)
* docs: pass boolean extra-vars as JSON for Ansible 12 compatibility

Ansible 12 no longer accepts boolean values passed with -e var=true; the
value is treated as a string, which breaks conditionals that expect a
boolean. Update all documentation examples to use JSON syntax for boolean
extra-vars and link to the Ansible 12 porting guide.

Signed-off-by: Shashank Varma <324153016+shashankvarma499@users.noreply.github.com>

* docs: clarify Ansible boolean types and configuration examples

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

---------

Signed-off-by: Shashank Varma <324153016+shashankvarma499@users.noreply.github.com>
Signed-off-by: Kay Yan <kay.yan@daocloud.io>
Co-authored-by: Shashank Varma <324153016+shashankvarma499@users.noreply.github.com>
Co-authored-by: Kay Yan <kay.yan@daocloud.io>
2026-09-20 06:05:59 +00:00
MohammadReza b8ad8289a8 Bump local-path-provisioner to v0.0.37 (#13525)
* chore(deps): bump local-path-provisioner to v0.0.37

Includes the fix for GHSA-7fxv-8wr2-mfc4, a high-severity HelperPod
template injection issue fixed in v0.0.36, where a user able to edit
the local-path-config ConfigMap could cause unsafe HelperPods to be
created. v0.0.36 adds template validation for this; Kubespray's
helperPod template already passes it (no privileged containers,
hostPath volumes or unsafe pod security settings).

Also syncs two gaps in the vendored manifests, verified against
upstream's v0.0.37 chart RBAC and deploy/local-path-storage.yaml:

- ClusterRole: grant update on persistentvolumeclaims (rancher/
  local-path-provisioner#530) and read access to pods/log, which the
  provisioner needs to read helper pod output. Note the existing
  pods: ["*"] rule does not cover the pods/log subresource.
- helperPod: add priorityClassName system-node-critical and a
  toleration for node.kubernetes.io/disk-pressure, so cleanup pods
  can still be scheduled onto a node that is under disk pressure.

* fix(local-path-provisioner): add health probes and config env vars
2026-09-18 10:20:44 +00:00
Ali Afsharzadeh 0fd9672b0c Remove obsolete "Flatcar Container Linux by Kinvolk" fact checks (#13528)
Signed-off-by: Ali Afsharzadeh <afsharzadeh8@gmail.com>
2026-09-18 10:12:42 +00:00
Max Gautier 66f8da3f04 CI/molecule: use common vars as well and simplify run (#13520)
The molecule_run.sh isn't really needed since the switch to gitlab-ci
matrix runs.

Also use the inventory variables pattern for kata-containers.
2026-09-17 09:09:23 +00:00
Max Gautier bd20622a16 download: define utility variables (#13521)
local_release_dir has insufficient nuances, as it needs to handle
several cases,
- where to put downloaded artifacts
- where to search for when installing artifacts
- where to search for when using artifacts (passing them via lookup to
  kubectl stdin for instance)

Furthermore, depending on how the user set up download delegation, the
value we want can be on the host the tasks is executing, on the
delegated hosts, etc.

Define variables on top of local_release_dir for differents contexts,
handling which host context to use depending on `download_delegate`.

Mostly, this boils down to choosing the correct `host` for
hostvars[host]['local_release_dir'].
2026-09-17 08:59:23 +00:00
MohammadReza f4eaac3a94 Bump node-feature-discovery to v0.19.0 (#13512)
* chore(deps): bump node-feature-discovery to v0.19.0

Checked all intermediate releases (0.17.0, 0.18.0, 0.19.0) for breaking changes. v0.19.0's RBAC breaking change (nfd-topology-updater needs list+watch on pods) does not apply here: Kubespray does not deploy an nfd-topology-updater workload (only an unused ConfigMap template for it exists in this role). v0.19.0 also removed env/expandenv/getHostByName from NodeFeatureRule templates -- only affects user-authored custom NodeFeatureRule resources, not anything this role ships by default.

* fix(nfd): add missing namespaces RBAC rule and fix nodefeaturegroups typo

* fix(nfd): add missing delete verb to nfd-worker Role

* chore(nfd): sync CRD manifest with upstream v0.19.0

* fix(nfd): drop removed gRPC-era flags/ports from nfd-master

* fix(nfd): remove leftover crd-controller args block

Previous commit added the new args but left the old -crd-controller
and -metrics block in place instead of replacing it.

* fix(nfd): drop removed gRPC-era flags from nfd-worker

* chore(nfd): drop variables no longer read by any template

* fix(nfd): align nfd-worker port naming and add health probes

* fix(nfd): remove obsolete nfd-master Service

* chore(nfd): register removed variables in validate_inventory

* fix(nfd): clean up the obsolete Service manifest on disk

* fix(nfd): add health probes and http port to nfd-gc

* fix(nfd): align nfd-worker env and mounts with upstream
2026-09-17 08:45:26 +00:00
Max Gautier 23f8593cf5 download/calico_crds: use flat manifest path (#13522)
The additional directory is unnecessary.
2026-09-17 07:41:25 +00:00
Ali Afsharzadeh ddb6ee50d9 Upgrade cilium from 1.20.1 to 1.20.2 (#13515)
Signed-off-by: Ali Afsharzadeh <afsharzadeh8@gmail.com>
2026-09-16 14:01:23 +00:00
Mohammad Reza Ghahramani cee04a3129 fix: move control-plane reserved resource vars to correct group_vars path (#13518)
* fix: move kube_control_plane reserved vars to correct group_vars location

The file inventory/sample/group_vars/k8s_cluster/kube_control_plane.yml
was being applied to the whole k8s_cluster group instead of only
kube_control_plane. Move it to group_vars/kube_control_plane.yml so the
higher CPU/memory reservations only affect control-plane nodes.

* fix getting-started.md with new kube_control_plane.yml path
2026-09-16 13:27:25 +00:00
MohammadReza 09307ebc37 chore(deps): bump metrics-server to v0.9.0 (#13511)
No breaking changes per upstream release notes (CLI flags, RBAC, and
deployment shape unchanged). metrics-server is image-only in Kubespray
(no checksum pinning to update). Upstream also bumped their own
Kubernetes client deps to v1.36.2, matching what Kubespray currently
targets.
2026-09-15 10:05:22 +00:00
kubernetes-prow[bot] bfdc86965e Merge pull request #13468 from VannTen/ansible_2_19
Upgrade to ansible-core 2.19
2026-09-15 10:01:24 +00:00
Max Gautier 93bd100334 fix: molecule idempotency tests 2026-09-15 10:58:00 +02:00
Max Gautier f5c0336b91 Cleanup after upgrade to 2.19 2026-09-15 10:57:59 +02:00
Max Gautier 535703ea2e Upgrade ansible to 12.*, ansible-core to 2.19.* 2026-09-15 10:57:58 +02:00
Max Gautier 5af06acee1 fix: ansible 2.19: calico resources final evaluation (#13503)
The bgp changes are a bit verbose, because I chose to reproduce the
exact semantics of the current code, so that the manifest handed to
calicoctl does not contain unset fields (instead of just using defaults
value).

It would be more readable to just accept default value in the
manifests, but might be a problem if there is other writer of the same
Calico resources.
2026-09-15 08:55:22 +00:00
longxiucai 53a30aea58 Fix kubelet.conf server line indentation (#13284)
The lineinfile tasks that rewrite the server field in kubelet.conf
replaced the whole line with a hard-coded indentation, corrupting the
file when the existing entry was indented differently. Capture the
original leading whitespace with a group regexp and restore it via
backrefs so the rewrite preserves the surrounding YAML structure.

Signed-off-by: longyuxiang <longyuxiang@kylinos.cn>
2026-09-15 06:37:18 +00:00
Max Gautier b1b01bc579 local_volume_provisioner: match upstream storage class syntax (#13504)
Use the upstream keys without converting them to snake case. This avoids
converting back to camel case when rendering, and aligns ourselves more
with our upstream.
2026-09-14 15:45:22 +00:00
Max Gautier 49ca08fe0d CI: Make tf-elastx_ubuntu24-calico manual (#13508)
This jobs is regularly failing for external reasons (can't provision the
VMs, unable to SSH into them, etc) and is also slower than the rest.

Mkae it manual.
2026-09-14 15:05:22 +00:00
jskrill 6413f2ae5c fix(kubernetes/node): use numeric priority for static pods (#13490)
Signed-off-by: Jules Skrill <julesskrill@gmail.com>
2026-09-14 14:37:20 +00:00
Shruti ca71ebf3d1 facts: continue gathering when a host is unreachable (#13438) 2026-09-14 07:27:22 +00:00
arhuman 8c19dcf51e Bump ansible-static-lint pre-commit hook to v0.5.1 (#13506) 2026-09-14 07:13:18 +00:00
Max Gautier ba14261690 pre-commit: run slow hooks only in CI (#13494)
collection-build-install and check-checksums-sorted have low value for
local development, as what they check isn't likely to be touched by most
contributors
It's also enough to run once pre-commit with --hook-stage manual in CI
to run all hooks (since hooks without a 'stages' applies to all stages)
2026-09-11 15:02:37 +00:00
Max Gautier d2c4885769 Drop debian 13 docker support (#13499)
Debian 13 eliminated apt-key needed to add docker repository.
It needs some work to be supported again.
2026-09-10 14:04:42 +00:00
Max Gautier 3d13ab9e1c CI: put back flatcar in flakey (#13497)
It's sill flakey
2026-09-10 13:48:44 +00:00
Max Gautier 3437dde4b9 fix: ansible 2.19: calico: felix config final evaluation (#13496) 2026-09-10 13:48:36 +00:00
Max Gautier 16ad6da94e fix: ansible 2.19: etcd_events_address final evaluation list (#13498) 2026-09-10 13:40:35 +00:00