Skip to content
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

distro: add rhcos #79

Closed
wants to merge 1 commit into from
Closed

distro: add rhcos #79

wants to merge 1 commit into from

Conversation

arithx
Copy link
Contributor

@arithx arithx commented Feb 20, 2020

This adds an RHCOS variant. It is currently a no-op and just allows the
usage of the variant name in the configuration.

NOTE: Current versions of RHCOS are still based on Ignition spec 2.x
configs and will not be able to use the configs output by FCCT.

Copy link

@darkmuggle darkmuggle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Excellent.
/approve

Merge at will.

@LorbusChris
Copy link
Contributor

/cc @crawford

@crawford
Copy link

Current versions of RHCOS are still based on Ignition spec 2.x configs and will not be able to use the configs output by FCCT.

What is the purpose of this change?

@bgilbert
Copy link
Contributor

I don't think this makes sense right now. RHCOS can't currently consume the output of this tool, and by the time it can, there won't be any point in exposing FCOS spec 1.0.0 as RHCOS spec 1.0.0. Any reason not to defer this?

@arithx
Copy link
Contributor Author

arithx commented Feb 21, 2020

What is the purpose of this change?

We're starting work on complex devices and plan to use FCCT as an easy point for designating custom root filesystems / LUKS devices.

Any reason not to defer this?

I'm fine with deferring, cc @darkmuggle

@ashcrow
Copy link
Member

ashcrow commented May 1, 2020

Is this still something we want to pursue?

@LorbusChris
Copy link
Contributor

LorbusChris commented May 1, 2020

openshift/machine-config-operator#1678 is somewhat related as that changes the CL configs in the MCO templates to Fedora CoreOS configs (they'll be transpiled to spec v3. and then translated down to spec v2 for OCP).
I don't see a reason why we'd have to create an RHCOS config variant though if we can just use the standard Fedora one

Edit: Note though that for the MCO templates no variant is specified and we just call the translator function directly, not via getTranslator()

@arithx
Copy link
Contributor Author

arithx commented May 1, 2020

I don't see a reason why we'd have to create an RHCOS config variant though if we can just use the standard Fedora one

My main thoughts are:

  1. It's not the most intuitive to specify FCOS as your distribution even when generating a config for RHCOS
  2. In the future there's likely to be additional distro specific bits that only would apply to RHCOS that we would want to add sugar for

@LorbusChris
Copy link
Contributor

While I don't think it's desirable to add any distro-specific sugar unless absolutely necessary, I do agree that having an RHCOS variant would be more ergonomic for OCP users (even if it's just an alias -- i.e. what this PR does)

This adds an RHCOS variant. It is currently a no-op and just allows the
usage of the variant name in the configuration.

NOTE: Current versions of RHCOS are still based on Ignition spec 2.x
configs and will not be able to use the configs output by FCCT.
@cgwalters
Copy link
Member

RHCOS can't currently consume the output of this tool,

It can now that 4.6 is on spec3!

and by the time it can, there won't be any point in exposing FCOS spec 1.0.0 as RHCOS spec 1.0.0.

I don't think this is so much about the spec as the ergnomics of the tool - support for generating configs from inline data as well as the filesystem.

@cgwalters
Copy link
Member

Now, we clearly need a longer term storm for what the spec means here. But everything that's in 1.0.0 of the fcos spec applies to rhcos right?

@cgwalters
Copy link
Member

The reason I'm reviving this issue is in order to improve the RHCOS static IP addressing story I think we basically need:

$ mkdir -p master0/etc/NetworkManager.conf.d/
$ cat << EOF >master0/etc/NetworkManager.conf.d/staticip.conf
...
EOF
$ openshift-install --dir=inst/ create ignition-configs
$ cp inst/master.ign master0.ign
$ openshift-install ignition-extend ./master0.ign master0/

Where ignition-extend would be the equivalent of fcct -d master0 -o master0-static.ign then merging master0-static.ign as an inline include in master0.ign.

@arithx
Copy link
Contributor Author

arithx commented Sep 1, 2020

Now, we clearly need a longer term storm for what the spec means here. But everything that's in 1.0.0 of the fcos spec applies to rhcos right?

All of the versioning number stuff is currently relatively confusing. The 1.0.0 is mostly pointing at the base/ version and would be consuming the rhcos_0_1 sugar (note: in the current PR it's actually using the fcos sugar as I noticed that I had made an incorrect assumption a week or two ago).

I still have this PR on my radar, I'm tossing around a couple different ideas to clean up the public API (#115) to attempt at making things a bit more clear and provide a better way to call into the distro sugar + base combination of TranslateBytes.

@crawford
Copy link

crawford commented Sep 1, 2020

@cgwalters regarding #79 (comment), can you write up the UX in an enhancement? I have a slightly different approach in mind.

@bgilbert
Copy link
Contributor

Obsoleted by #164.

@bgilbert bgilbert closed this Nov 24, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants