-
Notifications
You must be signed in to change notification settings - Fork 462
server: Add /etc/ignition-machine-config-encapsulated.json #868
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
server: Add /etc/ignition-machine-config-encapsulated.json #868
Conversation
|
Part of #798 |
|
This does nothing at the moment until the MCD learns to read it, which is going to happen in another PR after more prep work lands from #866 etc - but we have unit coverage and I think this is looking good. |
|
I'm a little confused about the mention of "inverting" it?? Would this eventually change our mcs? From what I can tell here you are taking a machine config, extracting the IGN config part from spec and then adding the non-spec extras like osimageurl into the ignition config? <- is this correct? I dont fully understand what the final flow will look like or how it will differ from what we have? |
|
Currently MachineConfig contains Ignition. With this, the generated Ignition contains the rest of the MachineConfig. "invert" seems right for that, no?
Yep!
The main rationale is in #798 |
Though to be very clear this is just a transient implementation detail for the first boot, invisible to users and most of the code. This inversion is a lot like what we are doing with the node annotations today, just an extension to provide the full MC and not just its hash. |
AHA!!!!!!!! Ok gotcha! |
|
Another way to think of this is that in theory we could do something like have That would be...a lot more invasive of a change though. |
|
Awesome, I'll approve and leave it for lgtm because of the comment above /run /approve |
1 similar comment
|
Awesome, I'll approve and leave it for lgtm because of the comment above /run /approve |
|
Awesome, I'll approve and leave it for lgtm because of the comment above /run /approve |
|
Waiting for #868 (comment), otherwise it looks great /approve |
|
/approve |
|
Waiting for #868 (comment) but looks great anyway, there seem to be an issue with e2e also |
|
Rebased 🏄♂️ and dropped the comment about |
|
Interesting, failure to bootstrap in both cases. I haven't tested that case locally yet, just did a |
|
Not sure if relevant, but in the kublet.log I see: Also in approve-csr.log: |
kikisdeliveryservice
left a comment
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.
One comment
7ac7123 to
fcf6c47
Compare
Prep for futher work.
Missed this as part of openshift#773 (Doesn't matter yet, just prep for any future changes)
This effectively "inverts" a `MachineConfig` object so that when it boots, Ignition processes the subset of MachineConfig that is Ignition, and then we have the other stuff (`osImageURL`, `kernelArguments` and in the future more) as a file on disk that the MCD can read. The way to think about this is we're aiming to have RHCOS boot into `MachineConfig`, not just Ignition.
|
This is green now :) |
Yeah, I broke the main case when refactoring to make the unit tests happy. Both are good now! |
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: cgwalters, runcom The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
This effectively "inverts" a
MachineConfigobject so thatwhen it boots, Ignition processes the subset of MachineConfig
that is Ignition, and then we have the other stuff (
osImageURL,kernelArgumentsand in the future more) as a file on diskthat the MCD can read.
The way to think about this is we're aiming to have RHCOS boot
into
MachineConfig, not just Ignition.