Bug 1312352

Summary: Package version incorrect
Product: Red Hat Enterprise Linux 7 Reporter: hrosnet
Component: rpm-ostree-clientAssignee: Colin Walters <walters>
Status: CLOSED CURRENTRELEASE QA Contact: atomic-bugs <atomic-bugs>
Severity: low Docs Contact:
Priority: unspecified    
Version: 7.2CC: aos-bugs, imouzann, jokerman, miabbott, mmccomas
Target Milestone: rcKeywords: Extras
Target Release: 7.2   
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-09-14 14:15:40 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:

Description hrosnet 2016-02-26 14:08:26 UTC
Description of problem:
When performing an host upgrade, it seems that the command check-diff returned different result from what has actually been installed.

Version-Release number of selected component (if applicable):
Upgrade host from 7.2.2-1 to 7.2.1

How reproducible:
I believe every time

Steps to Reproduce:
1. Have an atomic host installed with packages couple of version behind 
2. Run an atomic host upgrade --check-diff to see the new versions/diffs
3. Perform the upgrade & reboot
4. Check the version that have been installed

Actual results:
Intermediate version shown but latest version installed

Expected results:
Have the version displayed by --check-diff installed
In our case the latest version should be displayed

Additional info:
The upgrade was done to have the glibc version patch of hosts with according to:
https://rhn.redhat.com/errata/RHSA-2016-0176.html#Red%20Hat%20Enterprise%20Linux%20Desktop%20%28v.%207%29

It is patched at the version glibc-2.17-106.el7_2.4.x86_64.rpm

Here was the current status of the host before upgrade:
-bash-4.2# atomic host status
  TIMESTAMP (UTC)         VERSION     ID             OSNAME               REFSPEC
* 2015-12-03 19:40:36     7.2.1       aaf67b91fa     rhel-atomic-host     rhel-atomic-host-ostree:rhel-atomic-host/7/x86_64/standard
  2015-04-02 20:14:06     7.1.1-1     21bd99f9f3     rhel-atomic-host     rhel-atomic-host-ostree:rhel-atomic-host/7/x86_64/standard

Check the upgrade that will be installed - in order to fix the glibc:
[root@master01 ~]# atomic host upgrade --check-diff | grep glibc
GLib-GIO-Message: Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications.
!glibc-2.17-106.el7_2.1.x86_64
=glibc-2.17-78.el7.x86_64
!glibc-common-2.17-106.el7_2.1.x86_64
=glibc-common-2.17-78.el7.x86_64

So I understood the versions 2.17-78.el7 were installed and the version 2.17-106.el7_2.1 would be installed.
But this next version does not patch the glibc, so I expected to have to run it several times.

I performed the upgrade and restarted the host:
-bash-4.2# atomic host upgrade
[...] 
-bash-4.2# systemctl reboot
-bash-4.2# atomic host status
  TIMESTAMP (UTC)         VERSION     ID             OSNAME               REFSPEC
* 2016-02-18 15:34:28     7.2.2-1     04019d7e50     rhel-atomic-host     rhel-atomic-host-ostree:rhel-atomic-host/7/x86_64/standard
  2015-12-03 19:40:36     7.2.1       aaf67b91fa     rhel-atomic-host     rhel-atomic-host-ostree:rhel-atomic-host/7/x86_64/standard

When checking the version installed:
-bash-4.2# rpm -qi glibc
Name        : glibc
Version     : 2.17
Release     : 106.el7_2.4
Architecture: x86_64
Install Date: Thu 18 Feb 2016 04:25:07 PM CET
Group       : System Environment/Libraries
Size        : 13975241
License     : LGPLv2+ and LGPLv2+ with exceptions and GPLv2+
Signature   : RSA/SHA256, Thu 11 Feb 2016 04:30:28 PM CET, Key ID 199e2f91fd431d51
Source RPM  : glibc-2.17-106.el7_2.4.src.rpm
Build Date  : Fri 05 Feb 2016 05:25:03 PM CET
Build Host  : x86-030.build.eng.bos.redhat.com
Relocations : (not relocatable)
Packager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
Vendor      : Red Hat, Inc.
URL         : http://www.gnu.org/software/glibc/
Summary     : The GNU libc libraries
Description :
The glibc package contains standard libraries which are used by
multiple programs on the system. In order to save disk space and
memory, as well as to make upgrading easier, common system code is
kept in one place and shared between programs. This particular package
contains the most important sets of shared libraries: the standard C
library and the standard math library. Without these two libraries, a
Linux system will not function.

So the version 2.17-106.el7_2.4 is in fact installed, not as specified in the --check-diff command.

Comment 3 Colin Walters 2016-09-14 14:15:40 UTC
I think this is fixed.