Description of problem: As we have seen on bugzilla #1416278, many configurations files are not updated when a new image is installed. How reproducible: 100% Steps to Reproduce: 1. Install RHVH 4.0.4, check timestamps/contents of configuration files * /etc/vdsm for example 2. Attach entitlements, update to 4.0-20170104.1 and reboot 3. Compare timestamps/contents of configuration files A notable file between these two versions is logger.conf, 4.0.6 and 4.0.4 contents are different, but the upgraded node doesn't have the newer configurations. Pretty much every config file is with the older image timestamp after upgrade. # ll /etc/vdsm/ total 32 -rw-r--r--. 1 root root 1747 Sep 7 21:14 logger.conf drwxr-xr-x. 2 root root 17 Oct 13 00:02 logrotate -rw-r--r--. 1 root root 3161 Sep 7 21:14 mom.conf drwxr-xr-x. 2 root root 4096 Oct 13 00:02 mom.d -rw-r--r--. 1 root root 619 Sep 7 21:14 svdsm.logger.conf -rw-r--r--. 1 root root 12725 Sep 7 21:14 vdsm.conf drwxr-xr-x. 2 root root 6 Sep 7 21:14 vdsm.conf.d Whereas in a fresh 4.0-20170104.1 install: # ll /etc/vdsm/ total 40 -rw-r--r--. 1 root root 1825 Dec 14 20:52 logger.conf drwxr-xr-x. 2 root root 4096 Jan 5 01:33 logrotate -rw-r--r--. 1 root root 3166 Dec 14 20:52 mom.conf drwxr-xr-x. 2 root root 4096 Jan 5 01:33 mom.d -rw-r--r--. 1 root root 619 Dec 14 20:52 svdsm.logger.conf -rw-r--r--. 1 root root 12655 Dec 14 20:52 vdsm.conf drwxr-xr-x. 2 root root 4096 Dec 14 20:52 vdsm.conf.d Version-Release number of selected component (if applicable): 4.0-20170104.1 Expected results: Files should be rolled forward to the latest version. Additional info: Files were not manually modified
I just want to point out a potential risk here -- Systems upgraded from: 4.0.4 -> 4.0.6 -> some other version Will not carry this change across. In a manner similar to the way RPM treats .rpmnew files, we can compare against a "good" file (in /usr/share/factory, which is put aside when the image is built). However, a 4.0.6 system will see logger.conf as already modified, and any upgrades from that image will keep holding onto the old logger.conf. We can also check "rpm -V", but will see the same result -- logger.conf already differs. I'll try to think of a way to work around this, but we'll definitely need a release note.
Example: * User installs RHV 4.0.4 * User upgrades to 4.0.6 (with a new logger.conf) * The upgrade copies all of /etc * logger.conf now differs from what is in the rpmdb and /usr/share/factory/etc * User upgrades to 4.0.6-1 or 4.0.7 * logger.conf (and potentially other files) differ from what's in the rpmdb because they were blindly copied, even though they were never modified, and will not be copied by the new patch. * In this case, relying on the rpmdb is not reliable, because the file is modified. The difficulty is that it was modified by imgbased copying the file, but differentiating this from an intentional change programatically is almost impossible. We have the option of going back through the rpmdb on old imgbased layers to see if the files match the rpmdb on any of those, but this seems risky, and it adds a lot of runtime to the upgrade. I'm still investigating to see whether the tradeoff of going through old layers is worth the additional runtime/complexity.
*** Bug 1419435 has been marked as a duplicate of this bug. ***
*** Bug 1425194 has been marked as a duplicate of this bug. ***
The contents of the actual files in /etc/vdsm/ are rolled forward to the latest version. But timestamps are not same. Test version: From: RHVH-4.0-20160919.1-RHVH-x86_64-dvd1.iso To: redhat-virtualization-host-4.1-20170308.1.x86_64 imgbased-0.9.17-0.1.el7ev.noarch Test steps: 1. Install RHVH-4.0-20160919.1-RHVH-x86_64-dvd1.iso, check timestamps/contents of configuration files * /etc/vdsm for example 2. Login RHVH and setup local repos, update to redhat-virtualization-host-4.1-20170308.1 and reboot 3. Check timestamps/contents of configuration files # ls -lh /etc/vdsm 4. Clean install redhat-virtualization-host-4.1-20170308.1, check timestamps/contents of configuration files # ls -lh /etc/vdsm Test results: diff the files in /etc/vdsm/, step 3 and step4 are the same, step3 and step1 are different. So the unmodified content is rolled forward to the latest version during upgrade. But timestamps are not same between step 3 and step4: After step 1: # ls -lh /etc/vdsm total 32K -rw-r--r--. 1 root root 1.8K Sep 7 2016 logger.conf drwxr-xr-x. 2 root root 17 Sep 19 20:16 logrotate -rw-r--r--. 1 root root 3.1K Sep 7 2016 mom.conf drwxr-xr-x. 2 root root 4.0K Sep 19 20:16 mom.d -rw-r--r--. 1 root root 619 Sep 7 2016 svdsm.logger.conf -rw-r--r--. 1 root root 13K Sep 7 2016 vdsm.conf drwxr-xr-x. 2 root root 6 Sep 7 2016 vdsm.conf.d After step3: # ls -lh /etc/vdsm/ total 32K -rw-r--r--. 1 root root 1.6K Mar 2 13:37 logger.conf drwxr-xr-x. 2 root root 17 Mar 9 02:35 logrotate -rw-r--r--. 1 root root 3.1K Mar 2 13:37 mom.conf drwxr-xr-x. 2 root root 4.0K Mar 9 02:35 mom.d -rw-r--r--. 1 root root 619 Mar 2 13:37 svdsm.logger.conf -rw-r--r--. 1 root root 14K Mar 2 13:37 vdsm.conf drwxr-xr-x. 2 root root 6 Mar 2 13:37 vdsm.conf.d After step4: # ls -lh /etc/vdsm total 40K -rw-r--r--. 1 root root 1.6K Mar 2 08:37 logger.conf drwxr-xr-x. 2 root root 4.0K Mar 8 21:35 logrotate -rw-r--r--. 1 root root 3.1K Mar 2 08:37 mom.conf drwxr-xr-x. 2 root root 4.0K Mar 8 21:35 mom.d -rw-r--r--. 1 root root 619 Mar 2 08:37 svdsm.logger.conf -rw-r--r--. 1 root root 14K Mar 2 08:37 vdsm.conf drwxr-xr-x. 2 root root 4.0K Mar 2 08:37 vdsm.conf.d Ryan, should I verify this bug, and report a new bug to track timestamps issue? Thanks!
These times look similar enough that I'd guess it's a timezone issue. What does timedatectl show before and after upgrading?
I just tried updating: 2016-0916.0 2016-1116.1 2017-0308.1 [root@localhost ~]# imgbase layout timedatrhvh-4.0-0.20161116.0 +- rhvh-4.0-0.20161116.0+1 rhvh-4.1-0.20170309.0 +- rhvh-4.1-0.20170309.0+1 [root@localhost ~]# timedatectl Local time: Mon 2017-03-13 13:21:53 MST Universal time: Mon 2017-03-13 20:21:53 UTC RTC time: Mon 2017-03-13 20:21:53 Time zone: America/Phoenix (MST, -0700) NTP enabled: yes NTP synchronized: yes RTC in local TZ: no DST active: n/a [root@localhost ~]# ls -l /etc/vdsm total 28 -rw-r--r--. 1 root root 1551 Mar 2 06:37 logger.conf drwxr-xr-x. 2 root root 18 Mar 8 19:35 logrotate -rw-r--r--. 1 root root 3166 Mar 2 06:37 mom.conf drwxr-xr-x. 2 root root 154 Mar 8 19:35 mom.d -rw-r--r--. 1 root root 619 Mar 2 06:37 svdsm.logger.conf -rw-r--r--. 1 root root 14240 Mar 2 06:37 vdsm.conf drwxr-xr-x. 2 root root 6 Mar 2 06:37 vdsm.conf.d Clean install: [root@localhost ~]# imgbase layout rhvh-4.1-0.20170308.0 +- rhvh-4.1-0.20170308.0+1 [root@localhost ~]# timedatectl Local time: Mon 2017-03-13 13:19:47 MST Universal time: Mon 2017-03-13 20:19:47 UTC RTC time: Mon 2017-03-13 20:19:46 Time zone: America/Phoenix (MST, -0700) NTP enabled: yes NTP synchronized: yes RTC in local TZ: no DST active: n/a [root@localhost ~]# ls -l /etc/vdsm total 32 -rw-r--r--. 1 root root 1551 Mar 2 06:37 logger.conf drwxr-xr-x. 2 root root 17 Mar 8 13:21 logrotate -rw-r--r--. 1 root root 3166 Mar 2 06:37 mom.conf drwxr-xr-x. 2 root root 4096 Mar 8 13:21 mom.d -rw-r--r--. 1 root root 619 Mar 2 06:37 svdsm.logger.conf -rw-r--r--. 1 root root 14240 Mar 2 06:37 vdsm.conf drwxr-xr-x. 2 root root 6 Mar 2 06:37 vdsm.conf.d
Yes, I think you are right, this is a timezone issue. When I setup Time zone: America/New_York, the timestamps are the same between step3 and step4 in comment 10. Test version and steps are same as comment 10. 1. After step3(upgrade from 4.0-20160919.0 to 4.1-20170308.1): [root@ibm-x3650m5-04 ~]# imgbase w [INFO] You are on rhvh-4.1-0.20170309.0+1 [root@ibm-x3650m5-04 ~]# imgbase layout rhvh-4.0-0.20160919.0 +- rhvh-4.0-0.20160919.0+1 rhvh-4.1-0.20170309.0 +- rhvh-4.1-0.20170309.0+1 [root@ibm-x3650m5-04 ~]# timedatectl Local time: Tue 2017-03-14 05:00:10 EDT Universal time: Tue 2017-03-14 09:00:10 UTC RTC time: Tue 2017-03-14 05:00:10 Time zone: America/New_York (EDT, -0400) NTP enabled: yes NTP synchronized: yes RTC in local TZ: yes DST active: yes Last DST change: DST began at Sun 2017-03-12 01:59:59 EST Sun 2017-03-12 03:00:00 EDT Next DST change: DST ends (the clock jumps one hour backwards) at Sun 2017-11-05 01:59:59 EDT Sun 2017-11-05 01:00:00 EST [root@ibm-x3650m5-04 ~]# ls -l /etc/vdsm total 32 -rw-r--r--. 1 root root 1551 Mar 2 08:37 logger.conf drwxr-xr-x. 2 root root 17 Mar 8 21:35 logrotate -rw-r--r--. 1 root root 3166 Mar 2 08:37 mom.conf drwxr-xr-x. 2 root root 4096 Mar 8 21:35 mom.d -rw-r--r--. 1 root root 619 Mar 2 08:37 svdsm.logger.conf -rw-r--r--. 1 root root 14240 Mar 2 08:37 vdsm.conf drwxr-xr-x. 2 root root 6 Mar 2 08:37 vdsm.conf.d 2. After step4(clean install 4.1-20170308.1): [root@ibm-x3650m5-04 ~]# imgbase w [INFO] You are on rhvh-4.1-0.20170309.0+1 [root@ibm-x3650m5-04 ~]# imgbase layout rhvh-4.1-0.20170309.0 +- rhvh-4.1-0.20170309.0+1 [root@ibm-x3650m5-04 ~]# timedatectl Local time: Tue 2017-03-14 04:02:40 EDT Universal time: Tue 2017-03-14 08:02:40 UTC RTC time: Tue 2017-03-14 08:02:40 Time zone: America/New_York (EDT, -0400) NTP enabled: yes NTP synchronized: yes RTC in local TZ: no DST active: yes Last DST change: DST began at Sun 2017-03-12 01:59:59 EST Sun 2017-03-12 03:00:00 EDT Next DST change: DST ends (the clock jumps one hour backwards) at Sun 2017-11-05 01:59:59 EDT Sun 2017-11-05 01:00:00 EST [root@ibm-x3650m5-04 ~]# ls -l /etc/vdsm total 40 -rw-r--r--. 1 root root 1551 Mar 2 08:37 logger.conf drwxr-xr-x. 2 root root 4096 Mar 8 21:35 logrotate -rw-r--r--. 1 root root 3166 Mar 2 08:37 mom.conf drwxr-xr-x. 2 root root 4096 Mar 8 21:35 mom.d -rw-r--r--. 1 root root 619 Mar 2 08:37 svdsm.logger.conf -rw-r--r--. 1 root root 14240 Mar 2 08:37 vdsm.conf drwxr-xr-x. 2 root root 4096 Mar 2 08:37 vdsm.conf.d So this bug is fixed in imgbased-0.9.17-0.1.el7ev.noarch, change the status 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/RHEA-2017:1114