Bug 1597284

Summary: Synced OSTREE version shows incorrect order on Red Hat Satellite server.
Product: Red Hat Satellite Reporter: sandeep mutkule <smutkule>
Component: RepositoriesAssignee: Michael Johnson <micjohns>
Status: CLOSED WONTFIX QA Contact: Peter Ondrejka <pondrejk>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.3.1CC: micjohns, pcreech
Target Milestone: ReleasedKeywords: Triaged
Target Release: Unused   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-12-18 21:25: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 sandeep mutkule 2018-07-02 13:23:42 UTC
Description of problem:

 Synced OSTREE versions shows incorrect order when they are listed on satellite server:

[root@satellite ~]# hammer ostree-branch list
---|------------------------------------|--------
ID | NAME                               | VERSION
---|------------------------------------|--------
46 | rhel-atomic-host/7/x86_64/standard | 7.3.2-1
45 | rhel-atomic-host/7/x86_64/standard | 7.3.1  
44 | rhel-atomic-host/7/x86_64/standard | 7.2.7  
43 | rhel-atomic-host/7/x86_64/standard | 7.2.6-1
42 | rhel-atomic-host/7/x86_64/standard | 7.2.6  
41 | rhel-atomic-host/7/x86_64/standard | 7.2.5  
40 | rhel-atomic-host/7/x86_64/standard | 7.2.4  
39 | rhel-atomic-host/7/x86_64/standard | 7.2.3-1
38 | rhel-atomic-host/7/x86_64/standard | 7.2.3  
37 | rhel-atomic-host/7/x86_64/standard | 7.2.2-2
36 | rhel-atomic-host/7/x86_64/standard | 7.2.2-1
35 | rhel-atomic-host/7/x86_64/standard | 7.2.2  
34 | rhel-atomic-host/7/x86_64/standard | 7.2.1  
33 | rhel-atomic-host/7/x86_64/standard | 7.2    
32 | rhel-atomic-host/7/x86_64/standard | 7.1.6  
31 | rhel-atomic-host/7/x86_64/standard | 7.1.5  
30 | rhel-atomic-host/7/x86_64/standard | 7.1.4  
29 | rhel-atomic-host/7/x86_64/standard | 7.1.3.1
28 | rhel-atomic-host/7/x86_64/standard | 7.1.3  
27 | rhel-atomic-host/7/x86_64/standard | 7.1.2  
26 | rhel-atomic-host/7/x86_64/standard | 7.1.1-1
25 | rhel-atomic-host/7/x86_64/standard | 7.1.1  
24 | rhel-atomic-host/7/x86_64/standard | 7.1.0  
23 | rhel-atomic-host/7/x86_64/standard | 7.5.0  
22 | rhel-atomic-host/7/x86_64/standard | 7.4.5  
21 | rhel-atomic-host/7/x86_64/standard | 7.4.4  
20 | rhel-atomic-host/7/x86_64/standard | 7.4.3-1
19 | rhel-atomic-host/7/x86_64/standard | 7.4.3  
18 | rhel-atomic-host/7/x86_64/standard | 7.4.2-1
17 | rhel-atomic-host/7/x86_64/standard | 7.4.2  
16 | rhel-atomic-host/7/x86_64/standard | 7.4.1-2
15 | rhel-atomic-host/7/x86_64/standard | 7.4.1  
14 | rhel-atomic-host/7/x86_64/standard | 7.4.0  
13 | rhel-atomic-host/7/x86_64/standard | 7.3.6  
12 | rhel-atomic-host/7/x86_64/standard | 7.3.5-1
11 | rhel-atomic-host/7/x86_64/standard | 7.3.5  
10 | rhel-atomic-host/7/x86_64/standard | 7.3.4-1
9  | rhel-atomic-host/7/x86_64/standard | 7.3.4  
8  | rhel-atomic-host/7/x86_64/standard | 7.3.3  
2  | rhel-atomic-host/7/x86_64/standard | 7.3.2  
1  | rhel-atomic-host/7/x86_64/standard | 7.3 
 
- Kindly see the incorrect order for OSTREE above. when checked RHEL 7.3.2-1 and Version 7.4.5 on the web interface following information is observed.

Branch Info
Version 7.3.2-1
Commit 69a74a4ed6954492a7c82279f6efe59bffb8952e95577f8359a6717d57a36774
Date 2018-04-27 14:48:44 +0200

 
Branch Info
Version 7.4.5
Commit 6cb4d618030f69aa4a5732aa0795cb7fe2c167725273cffa11d0357d80e5eef0
Date 2018-03-09 05:08:12 +0100

Steps to reproduce:
 1) Sync all ostree versions.
 2) Check list for all installed OStree versions.


Actual results: 
Incorrect order for OSTREE versions

Expected results: 
rhel-atomic-host 7.4.5 should be higher on the list and should normally be less old than rhel-atomic-host 7.3.2-1.

Comment 1 Brad Buckingham 2018-07-05 20:31:21 UTC
I assume the following will give what you are looking for:

ostree-branch list --order 'version'


A couple of other sort examples:

ostree-branch list --order 'version ASC'
ostree-branch list --order 'name'

Comment 3 Brad Buckingham 2018-07-05 20:40:41 UTC
Sandeep, let me know if comment 1 will help.

Comment 4 sandeep mutkule 2018-07-11 12:12:46 UTC
Hello Brad,

It works fine to sort the OSTREE versions in order, but we expect that this command should list all versions in order by default.

There should not be any need to run "ostree-branch list --order 'version'" separately to get the sorted order all the versions.

Comment 5 Michael Johnson 2018-07-17 13:56:05 UTC
Created redmine issue https://projects.theforeman.org/issues/24275 from this bug

Comment 6 Satellite Program 2018-07-27 20:09:45 UTC
Moving this bug to POST for triage into Satellite 6 since the upstream issue http://projects.theforeman.org/issues/24275 has been resolved.

Comment 9 Peter Ondrejka 2018-11-01 09:42:08 UTC
Checked on Satellite 6.5 snap 1, verification using rh atomic repos is currently blocked by https://bugzilla.redhat.com/show_bug.cgi?id=1645017

When using custom Fedora ostree repo (with a bit different numbering scheme), it seems that the ordering does not expect minor version numbers with more than one digit, therefore the ordering looks like:

1353 | fedora/27/x86_64/atomic-host          | 27.120 
1228 | fedora/27/x86_64/testing/atomic-host  | 27.120 
1050 | fedora/27/x86_64/updates/atomic-host  | 27.120 
2038 | fedora/27/x86_64/updates/atomic-host  | 27.12  
294  | fedora/27/x86_64/atomic-host          | 27.12  
94   | fedora/27/x86_64/testing/atomic-host  | 27.12  
2356 | fedora/27/aarch64/testing/atomic-host | 27.119 
2317 | fedora/27/x86_64/atomic-host          | 27.119 
2223 | fedora/27/ppc64le/atomic-host         | 27.119 

This applies to both the default output and with ostree-branch list --order 'version'

Comment 10 Satellite Program 2018-11-01 10:05:09 UTC
Upstream bug assigned to micjohns

Comment 12 Michael Johnson 2018-12-18 21:25:40 UTC
After further research with the Atomic and Pulp teams, it has been determined that neither version or version_dates are logical ways to sort the OSTree branches. Versions are an arbitrary string and version_date is the date that the OSTree branch was created in Pulp.

OSTree branches are more like git repositories and rely on a parent -> child relationship that we do not currently have access to from Pulp. There are further discussions on an RFE from pulp to pull in the information from libostree for the date of the commit. We will revisit this bug at a later date, but will not be fixing in this capacity.