Files
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

68 lines
2.6 KiB
YAML

---
- name: Node Feature Discovery | Create addon dir
file:
path: "{{ kube_config_dir }}/addons/node_feature_discovery"
state: directory
owner: root
group: root
mode: "0755"
when:
- inventory_hostname == groups['kube_control_plane'][0]
- name: Node Feature Discovery | Templates list
set_fact:
node_feature_discovery_templates:
- { name: nfd-ns, file: nfd-ns.yaml, type: ns }
- { name: nfd-api-crd, file: nfd-api-crds.yaml, type: crd }
- { name: nfd-serviceaccount, file: nfd-serviceaccount.yaml, type: sa }
- { name: nfd-role, file: nfd-role.yaml, type: role }
- { name: nfd-clusterrole, file: nfd-clusterrole.yaml, type: clusterrole }
- { name: nfd-rolebinding, file: nfd-rolebinding.yaml, type: rolebinding }
- { name: nfd-clusterrolebinding, file: nfd-clusterrolebinding.yaml, type: clusterrolebinding }
- { name: nfd-master-conf, file: nfd-master-conf.yaml, type: cm }
- { name: nfd-worker-conf, file: nfd-worker-conf.yaml, type: cm }
- { name: nfd-topologyupdater-conf, file: nfd-topologyupdater-conf.yaml, type: cm }
- { name: nfd-gc, file: nfd-gc.yaml, type: deploy }
- { name: nfd-master, file: nfd-master.yaml, type: deploy }
- { name: nfd-worker, file: nfd-worker.yaml, type: ds }
- name: Node Feature Discovery | Create manifests
template:
src: "{{ item.file }}.j2"
dest: "{{ kube_config_dir }}/addons/node_feature_discovery/{{ item.file }}"
mode: "0644"
with_items: "{{ node_feature_discovery_templates }}"
register: node_feature_discovery_manifests
when:
- inventory_hostname == groups['kube_control_plane'][0]
- name: Node Feature Discovery | Apply manifests
kube:
name: "{{ item.item.name }}"
kubectl: "{{ bin_dir }}/kubectl"
resource: "{{ item.item.type }}"
filename: "{{ kube_config_dir }}/addons/node_feature_discovery/{{ item.item.file }}"
state: "latest"
with_items: "{{ node_feature_discovery_manifests.results }}"
when:
- inventory_hostname == groups['kube_control_plane'][0]
# TODO: remove after the 2.32.0 release
- name: Node Feature Discovery | Remove obsolete master Service
kube:
name: node-feature-discovery-master
kubectl: "{{ bin_dir }}/kubectl"
resource: svc
namespace: "{{ node_feature_discovery_namespace }}"
state: absent
when:
- inventory_hostname == groups['kube_control_plane'][0]
# TODO: remove after the 2.32.0 release
- name: Node Feature Discovery | Remove obsolete master Service manifest
file:
path: "{{ kube_config_dir }}/addons/node_feature_discovery/nfd-service.yaml"
state: absent
when:
- inventory_hostname == groups['kube_control_plane'][0]