Bug 1726534 - dhclient fails to load libdns-export.so.1102 after upgrade if the user installed library is not persisted on the new layer
Summary: dhclient fails to load libdns-export.so.1102 after upgrade if the user instal...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: imgbased
Version: 4.3.5
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ovirt-4.3.5
: 4.3.5
Assignee: Yuval Turgeman
QA Contact: Qin Yuan
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-07-03 06:37 UTC by Qin Yuan
Modified: 2022-07-09 14:37 UTC (History)
11 users (show)

Fixed In Version: imgbased-1.1.8
Doc Type: No Doc Update
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-08-12 11:54:28 UTC
oVirt Team: Node
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHV-47463 0 None None None 2022-07-09 14:37:30 UTC
Red Hat Product Errata RHSA-2019:2437 0 None None None 2019-08-12 11:54:41 UTC
oVirt gerrit 101470 0 'None' MERGED osupdater: run ldconfig on new layer 2021-01-06 14:15:53 UTC
oVirt gerrit 101653 0 'None' MERGED osupdater: run ldconfig on new layer 2021-01-06 14:15:53 UTC

Description Qin Yuan 2019-07-03 06:37:57 UTC
Description of problem:

Install any library, such as apr, on the old layer, then upgrade to new layer, if the library is not persisted on the new layer, dhclient will fail to load libdns-export.so.1102, and network interfaces can't be activated after boot into the new layer.

Some checks on new layer:

# ifup em1
Error: Connection activation failed: IP configuration could not be reserved (no available address, timeout, etc.)

# dhclient --help
dhclient: error while loading shared libraries: libdns-export.so.1102: cannot open shared object file: No such file or directory

# find / -name libdns-export.so*
/usr/lib64/bind9-export/libdns-export.so.1102
/usr/lib64/bind9-export/libdns-export.so.1102.1.2

# ldconfig -p | grep libdns-export
libdns-export.so.100 (libc6,x86-64) => /lib64/libdns-export.so.100

# ldconfig -p | grep apr
libapr-1.so.0 (libc6, x86-64) => /lib64/libapr-1.so.0

# find / -name libapr | wc -l
0

# rpm -qa | grep apr | wc -l
0

As you can see, libapr is still in /etc/ld.so.cache though apr is not installed on the new layer. It's the old libdns-export.so.100 but not the new libdns-export.so.1102 that is in /etc/ld.so.cache. Obviously, /etc/ld.so.cache is synced from the old layer.

The post step when install apr is to call /sbin/ldconfig which will update /etc/ld.so.cache. The upgrade process will then sync /etc/ld.so.cache to new layer since it's got updated on the old layer. But if apr is not reinstalled on the new layer, /etc/ld.so.cache won't be updated again to include the libs specific to the new layer, so all new libs of the new layer can't be loaded after boot into the new layer.


Version-Release number of selected component (if applicable):
redhat-virtualization-host-4.2-20190219.0.el7_6
redhat-virtualization-host-4.3.5-20190626.0.el7_7
apr-1.4.8-3.el7_4.1.x86_64


How reproducible:
100%


Steps to Reproduce:
1. Install redhat-virtualization-host-4.2-20190219.0.el7_6
2. Run `rpm -ivh apr-1.4.8-3.el7_4.1.x86_64.rpm` (The purpose of using rpm install but not yum install is to simulate rpm persisting failure)
3. Upgrade RHVH by running `yum install redhat-virtualization-host-image-update-4.3.5-20190626.0.el7_7.noarch.rpm`
4. Boot into the new layer, and check the network


Actual results:
1. Network is broken after boot into the new layer, the errors of `ifup` and `dhclient --help` are as above


Expected results:
1. The network should be ok, /etc/ld.so.cache should contain all libs in the new layer no matter the user installed lib is persisted or not.


Additional info:

Comment 2 Qin Yuan 2019-07-16 05:54:00 UTC
Tested with:
redhat-virtualization-host-4.2-20190219.0.el7_6
redhat-virtualization-host-4.3.5-20190710.2.el7_7
apr-1.4.8-3.el7_4.1.x86_64

After upgrade to redhat-virtualization-host-4.3.5-20190710.2.el7_7, dhclient works fine, could load libdns-export.so.1102. The bug is fixed, move to VERIFIED.

Comment 5 errata-xmlrpc 2019-08-12 11:54:28 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/RHSA-2019:2437


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