Bug 1297970 - ostree commit log may not be preserved correctly after rollback
Summary: ostree commit log may not be preserved correctly after rollback
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: ostree
Version: 23
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Colin Walters
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-01-12 21:42 UTC by Micah Abbott
Modified: 2016-06-22 16:13 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-06-22 16:13:32 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Micah Abbott 2016-01-12 21:42:37 UTC
Description of problem:

When the 'rpm-ostree rollback' command is used to changed deployments from an older commit to a new commit, the output from 'ostree log' does not reflect the new commit.


Version-Release number of selected component (if applicable):

ostree-2015.11-2.fc23.x86_64


How reproducible:

100%


Steps to Reproduce:
1.  From commit A, use 'rpm-ostree deploy' to a commit/version that is older than A.
2.  Reboot, inspect output of 'ostree log <ref>'
3.  From this older commit, use 'rpm-ostree rollback' to switch deployments back to the newer commit/version at A.
4.  Reboot, inpsect output of 'ostree log <ref>'


Actual results:

The output of 'ostree log <ref>' shows only the commit from the older commit/version that was deployed in step 1 + 2.


Expected results:

The output of 'ostree log <ref>' would should the commit from the newest commit/version that the system rolled back to.


Additional info:

Observe a F23 system which has been upgraded to the latest version, 23.45:

[vagrant@localhost ~]$ sudo rpm-ostree status
  TIMESTAMP (UTC)         VERSION   ID             OSNAME            REFSPEC                                                
* 2016-01-05 21:40:09     23.45     98be0ae0f9     fedora-atomic     fedora-atomic:fedora-atomic/f23/x86_64/docker-host     
  2015-12-14 10:16:00     23.33     a40cbd4a80     fedora-atomic     fedora-atomic:fedora-atomic/f23/x86_64/docker-host     

[vagrant@localhost ~]$ sudo ostree log fedora-atomic/f23/x86_64/docker-host
commit 98be0ae0f9a663ce4003434491c48cbf09224c80c859d543512b26ff06419387
Date:  2016-01-05 21:40:09 +0000
Version: 23.45


<< History beyond this commit not fetched >>


When the system has version 23.40 deployed, the commit log reflects this.

[vagrant@localhost ~]$ sudo rpm-ostree deploy 23.40
Resolving version '23.40'

29 metadata, 36 content objects fetched; 92991 KiB transferred in 26 seconds
Copying /etc changes: 22 modified, 0 removed, 50 added
Transaction complete; bootconfig swap: yes deployment count change: 0
Freed objects: 208.6 MB
Changed:
  cockpit-bridge 0.89-1.fc23 -> 0.88-1.fc23
  cockpit-docker 0.89-1.fc23 -> 0.88-1.fc23
  cockpit-shell 0.89-1.fc23 -> 0.88-1.fc23
  findutils 1:4.5.16-1.fc23 -> 1:4.5.14-7.fc23
  glibc 2.22-7.fc23 -> 2.22-6.fc23
  glibc-common 2.22-7.fc23 -> 2.22-6.fc23
  sos 3.2-2.fc23 -> 3.2-0.3.a.fc23
  strace 4.11-1.fc23 -> 4.10-3.fc23
Added:
  rpm-build-libs-4.13.0-0.rc1.7.fc23.x86_64
  rpm-python3-4.13.0-0.rc1.7.fc23.x86_64
Run "systemctl reboot" to start a reboot

[vagrant@localhost ~]$ sudo systemctl reboot

...

[vagrant@localhost ~]$ sudo rpm-ostree status
  TIMESTAMP (UTC)         VERSION   ID             OSNAME            REFSPEC                                                
* 2015-12-24 23:50:19     23.40     5bdd15dc3c     fedora-atomic     fedora-atomic:fedora-atomic/f23/x86_64/docker-host     
  2016-01-05 21:40:09     23.45     98be0ae0f9     fedora-atomic     fedora-atomic:fedora-atomic/f23/x86_64/docker-host     

[vagrant@localhost ~]$ sudo ostree log fedora-atomic/f23/x86_64/docker-host
commit 5bdd15dc3c7eb6d70788a06e417c3253a831c6cb54858d7309ad378bb1618518
Date:  2015-12-24 23:50:19 +0000
Version: 23.40


<< History beyond this commit not fetched >>



When the system is rolled back to version 23.45, the commit log does not match the new deployment.


[vagrant@localhost ~]$ sudo rpm-ostree rollback
Moving '98be0ae0f9a663ce4003434491c48cbf09224c80c859d543512b26ff06419387.0' to be first deployment
Transaction complete; bootconfig swap: yes deployment count change: 0
Changed:
  cockpit-bridge 0.88-1.fc23 -> 0.89-1.fc23
  cockpit-docker 0.88-1.fc23 -> 0.89-1.fc23
  cockpit-shell 0.88-1.fc23 -> 0.89-1.fc23
  findutils 1:4.5.14-7.fc23 -> 1:4.5.16-1.fc23
  glibc 2.22-6.fc23 -> 2.22-7.fc23
  glibc-common 2.22-6.fc23 -> 2.22-7.fc23
  sos 3.2-0.3.a.fc23 -> 3.2-2.fc23
  strace 4.10-3.fc23 -> 4.11-1.fc23
Removed:
  rpm-build-libs-4.13.0-0.rc1.7.fc23.x86_64
  rpm-python3-4.13.0-0.rc1.7.fc23.x86_64
Run "systemctl reboot" to start a reboot

[vagrant@localhost ~]$ sudo systemctl reboot

...

[vagrant@localhost ~]$ sudo rpm-ostree status
  TIMESTAMP (UTC)         VERSION   ID             OSNAME            REFSPEC                                                
* 2016-01-05 21:40:09     23.45     98be0ae0f9     fedora-atomic     fedora-atomic:fedora-atomic/f23/x86_64/docker-host     
  2015-12-24 23:50:19     23.40     5bdd15dc3c     fedora-atomic     fedora-atomic:fedora-atomic/f23/x86_64/docker-host     

[vagrant@localhost ~]$ sudo ostree log fedora-atomic/f23/x86_64/docker-host                                                                                                                                        
commit 5bdd15dc3c7eb6d70788a06e417c3253a831c6cb54858d7309ad378bb1618518
Date:  2015-12-24 23:50:19 +0000
Version: 23.40


<< History beyond this commit not fetched >>

Comment 1 Micah Abbott 2016-06-22 16:13:32 UTC
Can't reproduce this with the latest version of ostree (2016.5) in F23

-bash-4.3# rpm-ostree status
  TIMESTAMP (UTC)         VERSION     ID             OSNAME            REFSPEC                                           
* 2016-06-20 20:15:43     23.141      e3e06c5186     fedora-atomic     fedora-atomic:fedora-atomic/f23/x86_64/docker-host
  2016-05-24 01:15:41     23.125      5668f0613e     fedora-atomic     fedora-atomic:fedora-atomic/f23/x86_64/docker-host
-bash-4.3# ostree log e3e06c5186
commit e3e06c5186938ed3de10721e642e5f44b11e53be8d7dd592823c2c0892aeb268
Date:  2016-06-20 20:15:43 +0000
Version: 23.141


<< History beyond this commit not fetched >>
-bash-4.3# rpm-ostree deploy 23.138
Resolving version '23.138'
20 metadata, 0 content objects fetched; 2 KiB transferred in 13 seconds
706 metadata, 2896 content objects fetched; 142853 KiB transferred in 146 seconds
Copying /etc changes: 24 modified, 0 removed, 57 added
Transaction complete; bootconfig swap: yes deployment count change: 0
Freed objects: 441.6 MB
Run "systemctl reboot" to start a reboot


[cloud-user@rhel-atomic-7 ~]$ rpm-ostree status
  TIMESTAMP (UTC)         VERSION     ID             OSNAME            REFSPEC                                           
* 2016-06-15 23:09:40     23.138      257264bb4a     fedora-atomic     fedora-atomic:fedora-atomic/f23/x86_64/docker-host
  2016-06-20 20:15:43     23.141      e3e06c5186     fedora-atomic     fedora-atomic:fedora-atomic/f23/x86_64/docker-host
[cloud-user@rhel-atomic-7 ~]$ ostree log 257264bb4a
commit 257264bb4abebaba06636e3c477a88e114d9e1cc066bd6e53a338721602a3aaa
Date:  2016-06-15 23:09:40 +0000
Version: 23.138


<< History beyond this commit not fetched >>
[cloud-user@rhel-atomic-7 ~]$ sudo su -
-bash-4.3# rpm-ostree rollback
Moving 'e3e06c5186938ed3de10721e642e5f44b11e53be8d7dd592823c2c0892aeb268.0' to be first deployment
Transaction complete; bootconfig swap: yes deployment count change: 0
Run "systemctl reboot" to start a reboot


-bash-4.3# rpm-ostree status
  TIMESTAMP (UTC)         VERSION     ID             OSNAME            REFSPEC                                           
* 2016-06-20 20:15:43     23.141      e3e06c5186     fedora-atomic     fedora-atomic:fedora-atomic/f23/x86_64/docker-host
  2016-06-15 23:09:40     23.138      257264bb4a     fedora-atomic     fedora-atomic:fedora-atomic/f23/x86_64/docker-host
-bash-4.3# rpm -q rpm-ostree 
rpm-ostree-2016.1-3.fc23.x86_64
-bash-4.3# ostree log e3e06c5186
commit e3e06c5186938ed3de10721e642e5f44b11e53be8d7dd592823c2c0892aeb268
Date:  2016-06-20 20:15:43 +0000
Version: 23.141


<< History beyond this commit not fetched >>


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