Note: This bug is displayed in read-only format because
the product is no longer active in Red Hat Bugzilla.
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.
Description: systemd unit file parameter ConditionCPUs is not allowed in systemd-239
Actual results:
Below parameter is not working in systemd-239. Also man page of systemd.unit shows nothing.
ConditionCPUs
But the same parameter is available in systemd-250-6.el9_0
From man page of systemd.unit, RHEL 9
ConditionCPUs=
Verify that the specified number of CPUs is available to the current system. Takes a number of CPUs as argument, optionally prefixed with a comparison operator "<", "<=", "=", "!=", ">=", ">".
Compares the number of CPUs in the CPU affinity mask configured of the service manager itself with the specified number, adhering to the specified comparison operator. On physical systems the
number of CPUs in the affinity mask of the service manager usually matches the number of physical CPUs, but in special and virtual environments might differ. In particular, in containers the
affinity mask usually matches the number of CPUs assigned to the container and not the physically available ones.
Expected results:
By default systemd unit parameter ConditionCPUs needs to be allowed in systemd-239
(In reply to Titas Majumder from comment #0)
> Below parameter is not working in systemd-239. Also man page of systemd.unit
> shows nothing.
>
> ConditionCPUs
>
> But the same parameter is available in systemd-250-6.el9_0
So what? New version of RHEL adds new features. That's normal, isn't it?
> By default systemd unit parameter ConditionCPUs needs to be allowed in
> systemd-239
Why? Wouldn't it be easier to drop the directive from irqbalance.service? Which is actually what the customer asks for:
"The options are available on RHEL9, but not on RHEL8.
Please correct the service files"
Sure, we can backport the feature, but why, if nobody requests it?
(In reply to Titas Majumder from comment #4)
> One of my CU is requesting for backport the issue.
Which one? The newly added case also just requests removal of the directive from irqbalance.service:
"The version of systemd shipped with RHEL 8 does not appear to support the directive ConditionCPUs; the unit file should not contain it."
Customer here; I've got zero need or desire for a backport of this feature. I just want the irqbalance unit file to stop spamming my logs. Spending 5 seconds whacking a line from that unit file would be much better than spending 6 months trying to backport random features from systemd, thanks.
On RHEL8.7 (systemd-239-68.el8.x86_64)
# systemd-analyze verify rdma-ndd.service
/usr/lib/systemd/system/irqbalance.service:6: Unknown lvalue 'ConditionCPUs' in section 'Unit'
/usr/lib/systemd/system/rdma-ndd.service:25: Unknown lvalue 'ProtectHostname' in section 'Service'
/usr/lib/systemd/system/rdma-ndd.service:26: Unknown lvalue 'ProtectKernelLogs' in section 'Service'
--> This has to be handled by the components themselves (irqbalance / rdma-core).
Description: systemd unit file parameter ConditionCPUs is not allowed in systemd-239 Actual results: Below parameter is not working in systemd-239. Also man page of systemd.unit shows nothing. ConditionCPUs But the same parameter is available in systemd-250-6.el9_0 From man page of systemd.unit, RHEL 9 ConditionCPUs= Verify that the specified number of CPUs is available to the current system. Takes a number of CPUs as argument, optionally prefixed with a comparison operator "<", "<=", "=", "!=", ">=", ">". Compares the number of CPUs in the CPU affinity mask configured of the service manager itself with the specified number, adhering to the specified comparison operator. On physical systems the number of CPUs in the affinity mask of the service manager usually matches the number of physical CPUs, but in special and virtual environments might differ. In particular, in containers the affinity mask usually matches the number of CPUs assigned to the container and not the physically available ones. Expected results: By default systemd unit parameter ConditionCPUs needs to be allowed in systemd-239