Bug 1664127
| Summary: | productid is not published in the content view if that is the only item which changed in the sync | |||
|---|---|---|---|---|
| Product: | Red Hat Satellite | Reporter: | Brad Buckingham <bbuckingham> | |
| Component: | Content Views | Assignee: | Partha Aji <paji> | |
| Status: | CLOSED ERRATA | QA Contact: | Lai <ltran> | |
| Severity: | high | Docs Contact: | ||
| Priority: | urgent | |||
| Version: | 6.3.4 | CC: | andrew.schofield, dgross, egolov, jalviso, kabbott, mmccune, paji | |
| Target Milestone: | 6.4.3 | Keywords: | Triaged | |
| Target Release: | Unused | |||
| Hardware: | All | |||
| OS: | Linux | |||
| Whiteboard: | ||||
| Fixed In Version: | tfm-rubygem-katello-3.7.0.52-1 | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | ||
| Clone Of: | 1659549 | |||
| : | 1664129 (view as bug list) | Environment: | ||
| Last Closed: | 2019-04-29 18:15:35 UTC | Type: | --- | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
| Bug Depends On: | 1659549 | |||
| Bug Blocks: | 1664129 | |||
|
Description
Brad Buckingham
2019-01-07 19:27:36 UTC
This bug was cloned and is still going to be included in the 6.4.3 release. It no longer has the sat-6.4.z+ flag and 6.4.3 Target Milestone Set which are now on the 6.4.z cloned bug. Please see the Clones field to track the progress of this bug in the 6.4.3 release. 0) Create a repo with the following bash script (Note it doesnot have a productid file) DIR=/tmp/my-data mkdir $DIR cd $DIR wget https://partha.fedorapeople.org/test-repos/rpm-with-productid/elephant-0.3-0.8.noarch.rpm createrepo . #start serving this dir python -m SimpleHTTPServer 5050 1) Create and sync repo in sat with feed pointing to http://<fqdn>:5050 2) put it in a CV and publish and promote to an env 3) now update the repo with a product id. Something like DIR=/tmp/my-data cd $DIR echo "100000" > productid modifyrepo --mdtype=productid productid repodata 4) resync, publish the CV and promote the new version 5) Go to Monitor -> Tasks view and look for the latest promote 6) Go to dynflow console Run tab 7) Search for Actions::Katello::Repository::CheckMatchingContent 8) Expand and see check the value of match content Expected: matching_content: false Actual: matching_content: true The point here is that "matching_content" value is used to determine whether metadata needs to be republished. However since katello was not tracking stuff in "repodata" directory (aka Yum Metadata) it ignored the fact that a productid file got added there. This fix indexes the yum metadata and thus katello is able to track changes in the repodata directory including productid. Steps to retest. 0) Create a repo with the following bash script (Note it does not have a productid file) DIR=/tmp/my-data mkdir $DIR cd $DIR wget https://partha.fedorapeople.org/test-repos/rpm-with-productid/elephant-0.3-0.8.noarch.rpm createrepo . #start serving this dir python -m SimpleHTTPServer 5050 1) Create and sync repo in sat with feed pointing to http://<fqdn>:5050 2) put it in a CV and publish and promote to an env 3) DIR=/tmp/this-data cd $DIR echo "100000" > productid createrepo . python -m SimpleHTTPServer 5060 3) Change custom repo in sat with feed pointing to http://<fqdn>:5060 4) resync, publish the CV and promote the new version 5) Move productid from this-data to my-data folder 6) Change custom repo in sat with feed pointing to http://<fqdn>:5050 7) resync, publish the cv and promote to the new version 8) Go to Monitor -> Tasks view and look for the latest promote 9) Go to dynflow console Run tab 10) Search for Actions::Katello::Repository::CheckMatchingContent 11) Expand and see check the value of match content Expected: matching_content: false Actual: matching_content: false Alternatively, you can test with this slight modification: 0) Create a repo with the following bash script (Note it doesnot have a productid file) DIR=/tmp/my-data mkdir $DIR cd $DIR wget https://partha.fedorapeople.org/test-repos/rpm-with-productid/elephant-0.3-0.8.noarch.rpm createrepo . #start serving this dir python -m SimpleHTTPServer 5050 1) Create and sync repo in sat with feed pointing to http://<fqdn>:5050 2) put it in a CV and publish and promote to an env 3) now update the repo with a product id. Something like DIR=/tmp/my-data cd $DIR echo "100000" > productid createrepo . modifyrepo --mdtype=productid productid repodata (Add a "createrepo" step so that a new revision number shows up in repomd.xml .) 4) resync, publish the CV and promote the new version 5) Go to Monitor -> Tasks view and look for the latest promote 6) Go to dynflow console Run tab 7) Search for Actions::Katello::Repository::CheckMatchingContent 8) Expand and see check the value of match content Expected: matching_content: false Actual: matching_content: false Verified on 6.4.3_2.0 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-2019:0903 |