Skip to content
Snippets Groups Projects
Verified Commit 21a37f2a authored by Sheogorath's avatar Sheogorath :european_castle:
Browse files

feat(system-upgrade): Adjust plans to automate Talos updates using kured

This patch modifies the os upgrade tasks for Talos and Fedora to make
kured handle the system reboots. This should allow smooth Talos updates
without needing to worry about race conditions around the reboot of a
node.
parent 29c1cf7e
No related branches found
No related tags found
No related merge requests found
Pipeline #26352 passed
...@@ -15,7 +15,7 @@ stringData: ...@@ -15,7 +15,7 @@ stringData:
systemctl start --wait dnf-automatic-install.service systemctl start --wait dnf-automatic-install.service
systemctl enable clevis-luks-askpass.path systemctl enable clevis-luks-askpass.path
if ! dnf needs-restarting --reboothint; then if ! dnf needs-restarting --reboothint; then
touch /var/run/reboot-required touch /run/reboot-required
fi fi
--- ---
apiVersion: upgrade.cattle.io/v1 apiVersion: upgrade.cattle.io/v1
......
...@@ -39,20 +39,15 @@ metadata: ...@@ -39,20 +39,15 @@ metadata:
namespace: system-upgrade namespace: system-upgrade
data: data:
values.yaml: | values.yaml: |
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: feature.node.kubernetes.io/system-os_release.ID
operator: NotIn
values:
- talos
configuration: configuration:
useRebootSentinelHostPath: true
annotateNodes: true annotateNodes: true
preferNoScheduleTaint: weave.works/kured-node-reboot preferNoScheduleTaint: weave.works/kured-node-reboot
blockingPodSelector: blockingPodSelector:
- upgrade.cattle.io/plan - upgrade.cattle.io/plan
rebootSentinel: "/run/reboot-required"
rebootMethod: command
rebootCommand: /sbin/shutdown --reboot
hostNetwork: false hostNetwork: false
metrics: metrics:
create: true create: true
......
...@@ -12,11 +12,6 @@ spec: ...@@ -12,11 +12,6 @@ spec:
path: /var/run/secrets/talos.dev path: /var/run/secrets/talos.dev
ignoreUpdates: true ignoreUpdates: true
concurrency: 1 concurrency: 1
exclusive: true
drain:
deleteLocalData: true
ignoreDaemonSets: true
force: false
nodeSelector: nodeSelector:
matchExpressions: matchExpressions:
- key: feature.node.kubernetes.io/system-os_release.ID - key: feature.node.kubernetes.io/system-os_release.ID
...@@ -25,7 +20,7 @@ spec: ...@@ -25,7 +20,7 @@ spec:
- talos - talos
- key: upgrade.shivering-isles.com/talos-autoupdate - key: upgrade.shivering-isles.com/talos-autoupdate
operator: Exists operator: Exists
upgrade: prepare:
image: ghcr.io/siderolabs/talosctl image: ghcr.io/siderolabs/talosctl
envs: envs:
- name: NODE_IP - name: NODE_IP
...@@ -38,6 +33,7 @@ spec: ...@@ -38,6 +33,7 @@ spec:
- --nodes=$(NODE_IP) - --nodes=$(NODE_IP)
- upgrade - upgrade
- --image=$(TALOS_IMAGE):$(SYSTEM_UPGRADE_PLAN_LATEST_VERSION) - --image=$(TALOS_IMAGE):$(SYSTEM_UPGRADE_PLAN_LATEST_VERSION)
- --preserve=true - --stage
- --wait=false upgrade:
- --reboot-mode=powercycle image: quay.io/fedora/fedora:41
command: ["touch", "/host/run/reboot-required"]
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment