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:
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.
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