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. Ex: List of packages in repo: test_rpm-0.0.1-1.el7.noarch.rpm test_rpm-0.0.1-10.el7.noarch.rpm test_rpm-0.0.1-2.el7.noarch.rpm test_rpm-0.0.1-4.el7.noarch.rpm test_rpm-0.0.1-5.el7.noarch.rpm Filters: content-view filter list --organization-id 1 --content-view-id 4 ----------|------------|------|---------- FILTER ID | NAME | TYPE | INCLUSION ----------|------------|------|---------- 1 | includepkg | rpm | true ----------|------------|------|---------- content-view filter rule list --organization-id 1 --content-view-id 4 --content-view-filter-id 1 --------|-----------|-----------|--------------|-----------------|-----------------|-----------|------------|--------- RULE ID | FILTER ID | NAME | VERSION | MINIMUM VERSION | MAXIMUM VERSION | ERRATA ID | START DATE | END DATE --------|-----------|-----------|--------------|-----------------|-----------------|-----------|------------|--------- 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
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.
Created redmine issue http://projects.theforeman.org/issues/17916 from this bug
Moving this bug to POST for triage into Satellite 6 since the upstream issue http://projects.theforeman.org/issues/17916 has been resolved.
=== 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-3.0.0.137-2.HOTFIXRHBZ1465070.el7sat.noarch.rpm fm-rubygem-katello_ostree-3.0.0.137-2.HOTFIXRHBZ1465070.el7sat.noarch.rpm 2) katello-service restart 3) republish any Content Views that weren't properly filtering packages.
*** Bug 1465070 has been marked as a duplicate of this bug. ***
Created attachment 1293384 [details] EL7 Hotfix packages
Created attachment 1293385 [details] EL6 Hotfix packages
Hotfix works perfectly. Thanks so much.
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. E.g. name: 389-ds-base, 1.3.4.0.32.el7_2* name: 389-ds-base, 1.3.4.0.*
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.
Created attachment 1320694 [details] testing rpms
Created attachment 1320695 [details] incorrectly filtered
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.
Created attachment 1325000 [details] verification screenshot
*** Bug 1491420 has been marked as a duplicate of this bug. ***
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/RHBA-2017:2803