Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1484128 - [packaging] fence-agents-common contains unexpected (redundant) files
[packaging] fence-agents-common contains unexpected (redundant) files
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: fence-agents (Show other bugs)
7.4
Unspecified Unspecified
medium Severity medium
: rc
: ---
Assigned To: Oyvind Albrigtsen
cluster-qe@redhat.com
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2017-08-22 14:42 EDT by Jan Pokorný
Modified: 2018-04-10 08:16 EDT (History)
3 users (show)

See Also:
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 08:16:03 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2018:0758 None None None 2018-04-10 08:16 EDT

  None (edit)
Description Jan Pokorný 2017-08-22 14:42:36 EDT
# 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.
Comment 1 Jan Pokorný 2017-08-22 15:02:18 EDT
Just noticed also this almost 3 years old, wontfix'd [bug 1161332]
that is partly relevant, although this time I complain about something
different.
Comment 2 Jan Pokorný 2017-08-22 15:06:55 EDT
# 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.
Comment 3 Oyvind Albrigtsen 2017-08-29 06:39:12 EDT
Easily fixed with an exclude in the common subpackage:
 %{_datadir}/fence/fencing_snmp.py
+%exclude %{_datadir}/cluster/fence_scsi_check*
Comment 4 John Ruemker 2017-09-18 11:49:38 EDT
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?
Comment 6 Oyvind Albrigtsen 2017-09-29 10:57:17 EDT
(In reply to John Ruemker from comment #4)
New build where fence-agents-all enforces a minimum version for agents.
Comment 11 errata-xmlrpc 2018-04-10 08:16:03 EDT
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

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