-
Notifications
You must be signed in to change notification settings - Fork 107
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
Use the generic redhat-release package #713
Conversation
This will fail CI as it needs a fix in RHCOS CLHM package. |
4d389b8
to
be60387
Compare
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.
Ahh I understand now. OK. I'm generally 👍 on this - none of my comments should be viewed as blocking.
Actually the more I think about it, this is a huge improvement over what we're doing now - the redhat-release-coreos
package is a heavy weighted bag of technical debt that just goes away.
@@ -50,6 +50,7 @@ rpmdb: bdb | |||
automatic-version-prefix: "411.84.<date:%Y%m%d%H%M>" | |||
# This ensures we're semver-compatible which OpenShift wants | |||
automatic-version-suffix: "-" | |||
# Keep this is sync with the version in postprocess |
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.
Hmm I think we could figure out how to pass this through.
Or actually, do we even need to use mutate-os-release
here anymore since we're effectively rewriting it in postprocess anyways?
I think...hmm, we could pass down the value of automatic-version-prefix
and then split on that or something?
Anyways, not a blocker at all, but would clearly be nice to have a single source-of-truth for major version.
OCP_RELEASE="4.11" | ||
( | ||
. /etc/os-release | ||
cat > /usr/lib/os-release <<EOF |
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.
I am generally fine with this, but I'd note that while we're replacing most of the fields, we're not replacing all of them (e.g. HOME_URL
). I think what we probably want to do is basically carry an "overrides" set, and keep other values unchanged.
We could potentially make this a first-class operation in rpm-ostree so all the parsing/merging doesn't need to be shell script?
be60387
to
deec5f3
Compare
While I'm in favor of this change, I don't want to merge it quite yet as it will block our ability to do downstream builds. (Even though those are still kind of shaky already) Let's get the downstream CLHM package fixed, then land this. |
/test build-test-qemu |
Nice job! Anyway, this is a huge improve. |
deec5f3
to
bdfaec5
Compare
/test build-test-qemu |
So our CI here is broken because we're waiting on openshift/release#26193 - but if this has been tested locally I'm good with merging. Thanks so much for doing this! |
openshift/release#26193 merged, so let's retest /retest |
/retest |
Ah, the CI job is going to keep failing because the script is setup to curl the wrong repo Line 33 in ded68a2
So it won't use the new repo from openshift/release#26193 until we update the script If this has been tested locally, let's override the job and merge it. |
|
/retest |
1 similar comment
/retest |
2 cases failed:
|
The |
This can be removed once we rebase to RHEL 9 as it will be included in the redhat-release package.
The redhat-release-coreos package is mostly a copy of the generic package as all major configuration changes are made in this repo. Thus move the os-release changes to a step in a postprocess script and use the generic package to benefit from updates for free. The changes are: - No longer provide "extracted" GPG keys as they are not used in RHCOS (was in /usr/share/ostree/trusted.gpg.d/) - containerisvsign.asc will be provided by the RHEL 8.5 version of this package in /etc/pki/rpm-gpg/ - Drop /etc/profile.d/path.sh - Update default presets to their latest version as part of the redhat-release package We do not add a VARIANT & VARIANT_ID qualifiers yet as this requires changes in kola.
bdfaec5
to
443df6c
Compare
@jlebon would you help to check failed case |
Looks like this is coming from It's interesting though that since AFAIK NFS works fine on RHCOS currently, it must mean something in the stack is enabling it on-demand (or I think for NFSv3 it can also be socket activated). I'm not seeing it in e.g. https://github.com/openshift/csi-driver-nfs offhand, but it must be happening somehow. I think it was a conscious decision though to keep it off by default in RHCOS, so we should keep disabling it as before and let whatever re-enables it on-demand keep kicking in. Added a commit here which does that! |
Its enablement was moved from a scriptlet to a preset in RHEL 8.5+ but we want to keep it disabled as before in RHCOS. See: openshift#713 (comment)
Which was cargo culted from CoreOS Tectonic. We've had multiple BZs about this from people not using NFS, and I think indeed enabling it needs to move into the storage drivers. |
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: cgwalters, HuijingHei, travier The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/test build-test-qemu |
@travier: all tests passed! Full PR test history. Your PR dashboard. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
coreos#1550 does not work when openshift/os#713 merged, because it will use generic redhat-release package instead of redhat-release-coreos. Need to check RHEL specific version using `VERSION_ID`(for example VERSION_ID=8.6), and clarify rhel or fedora using `ID=rhel`, as this will be executed before override according to https://github.com/openshift/os/blob/master/manifest.yaml#L128-L150
Isn't this going to throw off-path all the scriptlets and other postprocess scripts which rely on os-release content? |
Yeah, I think you're right. Good catch. For scriptlets, only those which run at compose time would see the difference. I'd be surprised if there were any in our base set which had RHCOS-specific logic. If we encounter any, we should try to work with the maintainers to rip it out, but in the worst case there's For postprocess scripts, include semantics means indeed that the postprocess added here will run last. Though AFAICT, none of the ones in this repo or in FCOS use So overall I think we're OK. But long-term I agree with #713 (comment) we probably want to fold this into rpm-ostree. |
#1550 does not work when openshift/os#713 merged, because it will use generic redhat-release package instead of redhat-release-coreos. Need to check RHEL specific version using `VERSION_ID`(for example VERSION_ID=8.6), and clarify rhel or fedora using `ID=rhel`, as this will be executed before override according to https://github.com/openshift/os/blob/master/manifest.yaml#L128-L150
If `/run/ostree-booted` is present, then the kernel arguments can be updated via `rpm-ostree` command. File `/host/etc/redhat-release` may not be available because it can be an absolute linka (see openshift/os#713). Add test harness to allow running `bindata/scripts/*.sh` files in a mocked filesystem via `make test-bindata-scripts`. Harness includes shUnit2 files and a mocked `rpm-ostree` implementation. Signed-off-by: Andrea Panattoni <apanatto@redhat.com>
If `/run/ostree-booted` is present, then the system is based on rpm-ostree and kernel arguments can be updated via `rpm-ostree` command. File `/host/etc/redhat-release` may not be available because it can be an absolute link (see openshift/os#713). Add test harness to allow running `bindata/scripts/*.sh` files in a mocked filesystem via `make test-bindata-scripts`. Harness includes shUnit2 files and a mocked `rpm-ostree` implementation. Signed-off-by: Andrea Panattoni <apanatto@redhat.com>
If `/run/ostree-booted` is present, then the system is based on rpm-ostree and kernel arguments can be updated via `rpm-ostree` command. File `/host/etc/redhat-release` may not be available because it can be an absolute link (see openshift/os#713). Signed-off-by: Andrea Panattoni <apanatto@redhat.com>
If `/run/ostree-booted` is present, then the system is based on rpm-ostree and kernel arguments can be updated via `rpm-ostree` command. File `/host/etc/redhat-release` may not be available because it can be an absolute link (see openshift/os#713). Signed-off-by: Andrea Panattoni <apanatto@redhat.com>
coreos#1550 does not work when openshift/os#713 merged, because it will use generic redhat-release package instead of redhat-release-coreos. Need to check RHEL specific version using `VERSION_ID`(for example VERSION_ID=8.6), and clarify rhel or fedora using `ID=rhel`, as this will be executed before override according to https://github.com/openshift/os/blob/master/manifest.yaml#L128-L150
coreos#1550 does not work when openshift/os#713 merged, because it will use generic redhat-release package instead of redhat-release-coreos. Need to check RHEL specific version using `VERSION_ID`(for example VERSION_ID=8.6), and clarify rhel or fedora using `ID=rhel`, as this will be executed before override according to https://github.com/openshift/os/blob/master/manifest.yaml#L128-L150
Ensure that /etc/issue.d exists for console-login-helper-messages
This can be removed once we rebase to RHEL 9 as it will be included in
the redhat-release package.
Use the generic redhat-release package
The redhat-release-coreos package is mostly a copy of the generic
package as all major configuration changes are made in this repo.
Thus move the os-release changes to a step in a postprocess script and
use the generic package to benefit from updates for free.
The changes are:
(was in /usr/share/ostree/trusted.gpg.d/)
package in /etc/pki/rpm-gpg/
redhat-release package