Bug 1484128
| Summary: | [packaging] fence-agents-common contains unexpected (redundant) files | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Jan Pokorný [poki] <jpokorny> |
| Component: | fence-agents | Assignee: | Oyvind Albrigtsen <oalbrigt> |
| Status: | CLOSED ERRATA | QA Contact: | cluster-qe <cluster-qe> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 7.4 | CC: | cluster-maint, jruemker, mjuricek |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | fence-agents-4.0.11-70.el7 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2018-04-10 12:16:03 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
Just noticed also this almost 3 years old, wontfix'd [bug 1161332] that is partly relevant, although this time I complain about something different. # diff -u <(rpm -qR fence-agents-common) <(rpm -qR fence-agents-scsi)
> --- /dev/fd/63 2017-08-22 19:12:26.369628780 -0400
> +++ /dev/fd/62 2017-08-22 19:12:26.369628780 -0400
> @@ -1,11 +1,7 @@
> -/bin/sh
> /usr/bin/python
> -pexpect
> -policycoreutils-python
> -python
> -python-pycurl
> +fence-agents-common >= 4.0.11-66.el7
> rpmlib(CompressedFileNames) <= 3.0.4-1
> rpmlib(FileDigests) <= 4.6.0-1
> -rpmlib(PartialHardlinkSets) <= 4.0.4-1
> rpmlib(PayloadFilesHavePrefix) <= 4.0-1
> +sg3_utils
> rpmlib(PayloadIsXz) <= 5.2-1
This justifies that those 3 files should only be delivered by
fence-agents-scsi, because installing mere fence-agents-common
will not ensure the vital prerequisite (sg3_utils) installed,
which would turn any effort into failure mode.
Easily fixed with an exclude in the common subpackage:
%{_datadir}/fence/fencing_snmp.py
+%exclude %{_datadir}/cluster/fence_scsi_check*
Somewhat of a side note, as I was talking to a case-owner who was dealing with this and looking at his customer's scenario (yum update pcs pacemaker fence-agents-all): it seems like fence-agents-all enforces a minimum version for fence-agents-common, but that does not translate to a minimum version requirement of any other fence-agents that are installed. [root@fvm-r7-3-22 ~]# yum update pcs pacemaker fence-agents-all [...] Dependencies Resolved ===================================================================================================================== Package Arch Version Repository Size ===================================================================================================================== Updating: fence-agents-all x86_64 4.0.11-66.el7_4.1 rhel-7-server-rpms 17 k pacemaker x86_64 1.1.16-12.el7_4.2 rhel-ha-for-rhel-7-server-rpms 448 k pcs x86_64 0.9.158-6.el7 rhel-ha-for-rhel-7-server-rpms 4.8 M Installing for dependencies: audit-libs-python x86_64 2.7.6-3.el7 rhel-7-server-rpms 73 k checkpolicy x86_64 2.5-4.el7 rhel-7-server-rpms 290 k fence-agents-sbd x86_64 4.0.11-66.el7_4.1 rhel-7-server-rpms 22 k fontpackages-filesystem noarch 1.44-8.el7 rhel-7-server-eus-rpms 9.9 k libcgroup x86_64 0.41-13.el7 rhel-7-server-rpms 65 k liberation-fonts-common noarch 1:1.07.2-15.el7 rhel-7-server-eus-rpms 27 k liberation-sans-fonts noarch 1:1.07.2-15.el7 rhel-7-server-eus-rpms 279 k libsemanage-python x86_64 2.5-8.el7 rhel-7-server-rpms 104 k overpass-fonts noarch 2.1-1.el7 rhel-7-server-rpms 700 k policycoreutils-python x86_64 2.5-17.1.el7 rhel-7-server-rpms 446 k python-IPy noarch 0.75-6.el7 rhel-7-server-eus-rpms 32 k setools-libs x86_64 3.3.8-1.1.el7 rhel-7-server-rpms 610 k Updating for dependencies: audit x86_64 2.7.6-3.el7 rhel-7-server-rpms 242 k audit-libs x86_64 2.7.6-3.el7 rhel-7-server-rpms 96 k fence-agents-common x86_64 4.0.11-66.el7_4.1 rhel-7-server-rpms 64 k libsemanage x86_64 2.5-8.el7 rhel-7-server-rpms 145 k pacemaker-cli x86_64 1.1.16-12.el7_4.2 rhel-ha-for-rhel-7-server-rpms 331 k pacemaker-cluster-libs x86_64 1.1.16-12.el7_4.2 rhel-ha-for-rhel-7-server-rpms 147 k pacemaker-libs x86_64 1.1.16-12.el7_4.2 rhel-ha-for-rhel-7-server-rpms 592 k policycoreutils x86_64 2.5-17.1.el7 rhel-7-server-rpms 858 k Transaction Summary ===================================================================================================================== Install ( 12 Dependent packages) Upgrade 3 Packages (+ 8 Dependent packages) Total size: 10 M Is this ok [y/d/N]: y Downloading packages: Running transaction check Running transaction test Transaction check error: file /usr/share/cluster/fence_scsi_check from install of fence-agents-common-4.0.11-66.el7_4.1.x86_64 conflicts with file from package fence-agents-scsi-4.0.11-47.el7_3.3.x86_64 file /usr/share/cluster/fence_scsi_check.pl from install of fence-agents-common-4.0.11-66.el7_4.1.x86_64 conflicts with file from package fence-agents-scsi-4.0.11-47.el7_3.3.x86_64 file /usr/share/cluster/fence_scsi_check_hardreboot from install of fence-agents-common-4.0.11-66.el7_4.1.x86_64 conflicts with file from package fence-agents-scsi-4.0.11-47.el7_3.3.x86_64 Error Summary ------------- My point is: if you're updating fence-agents-all, you probably want it to actually update all of the agents; it seems to only update fence-agents-common, and that is what triggers the conflict between the two packages; so fixing the file definitions of these packages fixes that particular conflict, but it doesn't fix that updating fence-agents-all doesn't actually update individual agents. Can we enforce a matching version requirement between fence-agents-all and the various agent sub-packages? (In reply to John Ruemker from comment #4) New build where fence-agents-all enforces a minimum version for agents. 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/RHBA-2018:0758 |
# find /usr/share/cluster -name 'fence_scsi_*' -print \ -exec rpm -qf {} \; -exec echo \; > /usr/share/cluster/fence_scsi_check > fence-agents-common-4.0.11-66.el7.x86_64 > fence-agents-scsi-4.0.11-66.el7.x86_64 > > /usr/share/cluster/fence_scsi_check.pl > fence-agents-common-4.0.11-66.el7.x86_64 > fence-agents-scsi-4.0.11-66.el7.x86_64 > > /usr/share/cluster/fence_scsi_check_hardreboot > fence-agents-common-4.0.11-66.el7.x86_64 > fence-agents-scsi-4.0.11-66.el7.x86_64 Apparently, fence-agents-common carries the files that are only expected to be delivered by fence-agents-scsi, i.e., a packaging bug. Moreover, it's unclear why the 4 identical files (incl. /usr/sbin/fence_scsi) are not constructed as 1 base file + 3 symlinks. Current arrangement is wasteful needlessly.