Bug 1395642

Summary: Content view filter cannot distinguish between multiple packages with the same version but different release number
Product: Red Hat Satellite 6 Reporter: Marcel Gazdík <mgazdik>
Component: Content ViewsAssignee: Justin Sherrill <jsherril>
Status: CLOSED ERRATA QA Contact: jcallaha
Severity: medium Docs Contact:
Priority: medium    
Version: 6.2.0CC: bbuckingham, bkearney, cllewellyn, ealcaniz, egolov, jcallaha, jsherril, ktordeur, mmccune, pmadathi, sabnave, vivpatil, xdmoon
Target Milestone: UnspecifiedKeywords: Triaged
Target Release: Unused   
Hardware: x86_64   
OS: Linux   
Fixed In Version: rubygem-katello- Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1480360 (view as bug list) Environment:
Last Closed: 2017-09-25 18:59:44 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Description Flags
EL7 Hotfix packages
EL6 Hotfix packages
testing rpms
incorrectly filtered
verification screenshot none

Description Marcel Gazdík 2016-11-16 10:46:56 UTC
Description of problem:
  In case there are multiple packages of the same version but different package release version in a repository and if this repository is included in a content view with "rpm version filter" they are not being properly filtered and all the packages are being included in the cv regardless their release version.

List of packages in repo:

content-view filter list --organization-id 1 --content-view-id 4
1         | includepkg | rpm  | true     

content-view filter rule list --organization-id 1 --content-view-id 4 --content-view-filter-id 1
4       | 1         | test_rpm  | 0.0.1-4.el7* |                 |                 |           |            |         

With this setup, all the packages listed above will be included in the newly published CV

Version-Release number of selected component (if applicable):
6.2.x (6.1.x as well)

How reproducible:
  1) Create product, repository and some fake packages with same version but different release versions (see example above)
  2) Create content view, add the repo from step #1 into it and create filter based on the example above
  3) Publish the CV and check results

Actual results:
  All packages are being included

Expected results:
  Only specific version(s) should be included

Comment 3 Justin Sherrill 2017-01-03 22:02:02 UTC
Note that the version/release field does not support wildcards, only the name field.

there is a bug in the matching, and it is matching anything with the same version (ignoring the release).  Will fix this.

Comment 4 Justin Sherrill 2017-01-03 23:54:25 UTC
Created redmine issue http://projects.theforeman.org/issues/17916 from this bug

Comment 5 pm-sat@redhat.com 2017-01-10 21:09:00 UTC
Moving this bug to POST for triage into Satellite 6 since the upstream issue http://projects.theforeman.org/issues/17916 has been resolved.

Comment 6 Mike McCune 2017-06-30 20:49:47 UTC
=== Satellite 6.2.10 Hotfix ===

To install this hotfix download the RPMs attached to this bug to your Satellite

1) rpm -Uvh tfm-rubygem-katello- fm-rubygem-katello_ostree-

2) katello-service restart

3) republish any Content Views that weren't properly filtering packages.

Comment 7 Mike McCune 2017-06-30 20:50:01 UTC
*** Bug 1465070 has been marked as a duplicate of this bug. ***

Comment 8 Mike McCune 2017-06-30 20:57 UTC
Created attachment 1293384 [details]
EL7 Hotfix packages

Comment 9 Mike McCune 2017-06-30 20:57 UTC
Created attachment 1293385 [details]
EL6 Hotfix packages

Comment 12 Edu Alcaniz 2017-07-04 06:53:54 UTC
Hotfix works perfectly. Thanks so much.

Comment 13 Brad Buckingham 2017-08-09 18:38:45 UTC
Verified with Satellite 6.3 SNAP 10 - satellite-6.3.0-16.0.beta.el7sat.noarch, tfm-rubygem-katello-3.4.4-1.el7sat.noarch

Tested a few variations with CV filters on 7Server RPMS and resultant CV version only included the rpms that matched.


name: 389-ds-base,*
name: 389-ds-base,*

Comment 18 jcallaha 2017-08-31 18:15:11 UTC
Failed QA in Satellite 6.2.12 Snap 1.

Most of the behavior is there, since it can now distinguish between release versions. However, the behavior is still bugged.

My first test partially passed, since my filter included all versions of the package greater than 1-3 and the packages published were 1-3, 1-4, 1-5, 1-6. The behavior here is actually 'greater than or equal to'. See attached screenshot.

However, two more content views with the 'less than' and 'greater than' filters worked as expected.

But the most troublesome issue is that an 'equal to' filter doesn't include any packages.

I will also attach the testing rpms for future testing.

Comment 19 jcallaha 2017-08-31 18:16 UTC
Created attachment 1320694 [details]
testing rpms

Comment 20 jcallaha 2017-08-31 18:17 UTC
Created attachment 1320695 [details]
incorrectly filtered

Comment 21 jcallaha 2017-09-12 19:12:11 UTC
Verified in Satellite 6.2.12 Snap 3.

Initial behavior was correct, since I was not including the ".fc26" in the filter. Taking that into account, all filters behaved correctly. See attached screenshot for a filter equal to only one package release version.

Comment 22 jcallaha 2017-09-12 19:12 UTC
Created attachment 1325000 [details]
verification screenshot

Comment 23 jcallaha 2017-09-15 14:41:13 UTC
*** Bug 1491420 has been marked as a duplicate of this bug. ***

Comment 25 errata-xmlrpc 2017-09-25 18:59:44 UTC
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.