-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement OS Version reconcile #86
Implement OS Version reconcile #86
Conversation
40fe4f4
to
ce98080
Compare
Looks pretty good so far.
Hosts which undergo OS reconciliation will have a new status:
conditions:
- lastTransitionTime: "2024-08-30T12:54:04Z"
severity: Info
status: "True"
type: OSVersionReady The Elemental OS Plugin takes the hash of the spec:
osVersionManagement:
imageUri: oci://192.168.122.10:30000/elemental-os:dev-next
This implementation however still misses the "upgrade failed" scenario. This probably requires an additional update to the |
Signed-off-by: Andrea Mazzotti <[email protected]>
ce98080
to
5e5bfa1
Compare
Signed-off-by: Andrea Mazzotti <[email protected]>
Signed-off-by: Andrea Mazzotti <[email protected]>
Signed-off-by: Andrea Mazzotti <[email protected]>
Signed-off-by: Andrea Mazzotti <[email protected]>
90b9e41
to
f91953a
Compare
@@ -29,6 +29,8 @@ CAPI_VERSION?=$(shell grep "sigs.k8s.io/cluster-api" go.mod | awk '{print $$NF}' | |||
KUBEADM_READY_OS ?= "" | |||
ELEMENTAL_TOOLKIT_IMAGE ?= ghcr.io/rancher/elemental-toolkit/elemental-cli:nightly | |||
ELEMENTAL_AGENT_IMAGE ?= ghcr.io/rancher-sandbox/cluster-api-provider-elemental/agent:latest | |||
ELEMENTAL_OS_IMAGE?=docker.io/local/elemental-capi-os:dev | |||
ELEMENTAL_ISO_IMAGE?=docker.io/local/elemental-capi-iso:dev |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about systems that don't boot from ISO, like Raspberry Pi ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's no support yet for disk images. The process of building CAPI images is also manual, I think for this moment best we can do is to add also manual support to invoke elemental build-disk
as alternative to build-iso
, but we also need to test this out because we need the disk image to install the system at boot.
tl;dr Not yet. :P
Signed-off-by: Andrea Mazzotti <[email protected]>
All is done in this PR, so I'll open it for review. Edit: switching elemental-cli |
Also for reference a lifecycle PoV of an upgraded node:
And the newest implementation uses
|
Signed-off-by: Andrea Mazzotti <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me, nice 👍
I am curious about the patchHelper
object to store and keep resource changes. Do we know if this has a similar behavior to what we use in the operator client.MergeFromWithOptions
adding the client.MergeFromWithOptimisticLock
? Just asking because at a time this was a detail to support rancher backup and restore. If this is unknown we should probably try to figure it out before we find ourselves digging into hard to reproduce race conditions.
Good point. I am not sure whether this is good enough. For me it's unknown for now, I can open an issue to investigate and eventually align to the elemental-operator |
Closes rancher/elemental#1103
Actually third take on OS Version reconcile implementation.
Refactored from #42
Depends on rancher/elemental-toolkit#2168