RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1766178 - [rhel-8.2.0] Drop requirement on `kernel`
Summary: [rhel-8.2.0] Drop requirement on `kernel`
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: microcode_ctl
Version: 8.2
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: rc
: 8.0
Assignee: Eugene Syromiatnikov
QA Contact: Jeff Bastian
URL:
Whiteboard:
Depends On:
Blocks: 1710951 1771572 1780009 1780257
TreeView+ depends on / blocked
 
Reported: 2019-10-28 14:09 UTC by Colin Walters
Modified: 2020-12-20 07:43 UTC (History)
11 users (show)

Fixed In Version: microcode_ctl-20191115-3.el8
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1780009 1780257 (view as bug list)
Environment:
Last Closed: 2020-04-28 16:06:21 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2020:1761 0 None None None 2020-04-28 16:06:48 UTC

Comment 1 Eugene Syromiatnikov 2019-10-28 15:02:16 UTC
What is the reason for having microcode_ctl installed in a container in the first place?

Comment 2 Colin Walters 2019-10-31 19:27:42 UTC
> What is the reason for having microcode_ctl installed in a container in the first place?

This is about RHEL CoreOS primarily; we're not installing microcode_ctl in a container there.  As the PR says, the immediate problem is that the RT kernel doesn't have the `Provides: kernel` and so this package is forcing both kernels to be installed, which we don't want.

Comment 3 Colin Walters 2019-10-31 19:28:56 UTC
(The reason I mentioned containers first is just because that's the reason a lot of other Fedora packages dropped requirements on a `kernel` package, including systemd, glibc etc.)

Comment 4 Eugene Syromiatnikov 2019-11-01 10:34:41 UTC
So, for enabling kernel-rt support, more changes are actually needed (like wiring triggers for it, and probably some changes throughout the scripts themselves), and the posttrans transaction is outright incorrect now: it is ought to require dracut and not kernel.

Comment 5 Colin Walters 2019-11-01 11:48:18 UTC
> So, for enabling kernel-rt support, more changes are actually needed (like wiring triggers for it, and probably some changes throughout the scripts themselves), and the posttrans transaction is outright incorrect now: it is ought to require dracut and not kernel.

All of that is unused for rpm-ostree (RHEL CoreOS) based systems.  rpm-ostree disables the microcode_ctl %posttrans entirely.  See:
https://github.com/coreos/rpm-ostree/pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Aclosed+microcode_ctl

Originally: https://bugzilla.redhat.com/show_bug.cgi?id=1199582

TL;DR As a hybrid image/package system, rpm-ostree generates initramfs images on the *server* side, not client.  It must own the dracut invocation.

If you want to make changes to the %posttrans to help traditional yum-based RHEL systems, that seems fine too of course!  But that's not what's being asked for here.

Comment 6 Colin Walters 2019-11-05 18:28:56 UTC
> and the posttrans transaction is outright incorrect now: it is ought to require dracut and not kernel.

I updated the PR https://src.osci.redhat.com/rpms/microcode_ctl/pull-request/9 to check for `/usr/bin/dracut` instead.

Comment 7 Colin Walters 2019-11-06 21:23:27 UTC
This is an important bug for OpenShift - if it'd help, happy to do a realtime chat to explain things, or whatever else would be helpful!

The desired goal is to the the linked PR merged, then an update built for 8.2.0 as well as 8.1.z that we can tag into the RHCOS 4.3 stream.

Comment 8 Colin Walters 2019-11-27 15:50:04 UTC
Ping?

Comment 9 Colin Walters 2019-11-27 15:57:41 UTC
Currently our work on enabling the RT kernel is carrying a build of microcode_ctl with this patch so work isn't blocked, but it's pulling from my fedorapeople page, which we obviously don't want to ship via that mechanism:

https://github.com/williamcaban/ocp-rt/blob/76fb33553ecd8914d7ccd31ce9e9b46043e563e1/rhcos-rt.sh#L14

If we have to, I guess we can fork this package for RHCOS, but I'd obviously prefer not to, particularly given how simple and small of a patch this is.

Comment 18 Eugene Syromiatnikov 2019-12-05 19:26:56 UTC
(In reply to Colin Walters from comment #5)
> > So, for enabling kernel-rt support, more changes are actually needed (like wiring triggers for it, and probably some changes throughout the scripts themselves), and the posttrans transaction is outright incorrect now: it is ought to require dracut and not kernel.
> 
> All of that is unused for rpm-ostree (RHEL CoreOS) based systems. 
> rpm-ostree disables the microcode_ctl %posttrans entirely.  See:
> https://github.com/coreos/rpm-ostree/
> pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Aclosed+microcode_ctl

By the way, why rpm-ostree honours "Requires(posttrans)" if it ignores the script itself? That seems illogical and inconsistent.

Comment 19 Colin Walters 2019-12-05 20:51:12 UTC
> By the way, why rpm-ostree honours "Requires(posttrans)" if it ignores the script itself? That seems illogical and inconsistent.

Basically because:

1) It wasn't necessary to override
2) Implementing such a thing would require *deep* hooks into libdnf and the underlying libsolv layer, I suspect it'd need new API.  Or, we'd need to edit the RPM headers before we passed it down to libdnf.

We already pull in `dracut` anyways, so the status quo is fine by me.

While we're discussing this, can you (or someone) remind me why the Fedora and RHEL microcode_ctl packages have diverged so much?

There's no %posttrans today in
https://src.fedoraproject.org/rpms/microcode_ctl/blob/master/f/microcode_ctl.spec
We basically just rely on the early microcode bits being pulled in by dracut.  Why should (classic yum based) RHEL be any different?

Comment 20 Eugene Syromiatnikov 2019-12-05 21:17:39 UTC
(In reply to Colin Walters from comment #19)
> While we're discussing this, can you (or someone) remind me why the Fedora
> and RHEL microcode_ctl packages have diverged so much?

It's mostly (1) because RHEL package has to cater for RHEL-specific/RHEL-sensitive issues (see bugs 1398698, 1596627, 1646383, 1758382, for example), and (2) because microcode_ctl binary itself is mostly irrelevant with Intel's move from monolithic microcode.dat format to per-model ucode files. I should work on taking the ownership of the Fedora package and sync it up before the RHEL 9 branching, but it hasn't happened yet.

> There's no %posttrans today in
> https://src.fedoraproject.org/rpms/microcode_ctl/blob/master/f/microcode_ctl.
> spec
> We basically just rely on the early microcode bits being pulled in by
> dracut.  Why should (classic yum based) RHEL be any different?

The %posttrans script, specifically, is a result of addressing bugs 1151192, 1292158 and 1398698.

Comment 21 Colin Walters 2019-12-05 22:01:22 UTC
OK, https://bugzilla.redhat.com/show_bug.cgi?id=1151192 isn't an issue for rpm-ostree based systems as we always generate a new initramfs server side on any change.

I guess with Fedora kernel updates are pretty common - more frequent that microcode releases, but that may be different for RHEL.
 
https://bugzilla.redhat.com/show_bug.cgi?id=1292158 is actually more *caused* by the posttrans, not fixed by it AFAICS.  Anaconda has code to regenerate the initramfs on the target system for yum-based systems (that's what yum-based Fedora editions like Workstation/Server rely on today AFAIK).

And https://bugzilla.redhat.com/show_bug.cgi?id=1398698 is obviously one of many "system interrupted during upgrade" issues that rpm-ostree categorically fixes.

> I should work on taking the ownership of the Fedora package and sync it up before the RHEL 9 branching, but it hasn't happened yet.

That'd be great!  It would really help I think to have this stuff land in Fedora *first* (it will hence be tested by rpm-ostree based editions like Fedora CoreOS, IoT and Silverblue) first.

I guess we might as well be consistent and have the %posttrans in the Fedora package as well.

Comment 22 Eugene Syromiatnikov 2019-12-05 22:07:17 UTC
(In reply to Colin Walters from comment #21)

Hm, was the change in bug status intentional?

Comment 23 Eugene Syromiatnikov 2019-12-05 22:14:22 UTC
(In reply to Colin Walters from comment #21)
> I guess with Fedora kernel updates are pretty common - more frequent that
> microcode releases, but that may be different for RHEL.

It's not about frequency, it's about delivering the latest microcode to mitigate the arising CPU microarchitecture issues (which is the main reason of microcode updates now).

> https://bugzilla.redhat.com/show_bug.cgi?id=1292158 is actually more
> *caused* by the posttrans, not fixed by it AFAICS.  Anaconda has code to
> regenerate the initramfs on the target system for yum-based systems (that's
> what yum-based Fedora editions like Workstation/Server rely on today AFAIK).

Yes, it does, but it won't help with microcode_ctl package update.

Comment 26 Jeff Bastian 2020-03-04 17:32:43 UTC
Verified with microcode_ctl-20191115-4.el8.

Note: kernel-rt packages in RHEL-8.2.0 have a "Provides: kernel" now, so trying to replace kernel with kernel-rt is no longer a sufficient test.  But a quick check of microcode_ctl's requirements show that kernel is indeed dropped, and dracut is required instead.

::::::::::::
:: Before ::
::::::::::::

[root@lenovo-sr650-01 ~]# rpm -q microcode_ctl
microcode_ctl-20190618-1.el8.x86_64

[root@lenovo-sr650-01 ~]# rpm -q --requires microcode_ctl | grep -e kernel -e dracut
kernel

[root@lenovo-sr650-01 ~]# 


:::::::::::
:: After ::
:::::::::::

[root@lenovo-sr650-01 ~]# rpm -q microcode_ctl
microcode_ctl-20191115-4.el8.x86_64

[root@lenovo-sr650-01 ~]# rpm -q --requires microcode_ctl | grep -e kernel -e dracut
dracut

[root@lenovo-sr650-01 ~]#

Comment 28 errata-xmlrpc 2020-04-28 16:06:21 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2020:1761


Note You need to log in before you can comment on or make changes to this bug.