Bug 1286523
| Summary: | hammer content-view promote failed when promoting content-view version with minor versions via option --version | ||
|---|---|---|---|
| Product: | Red Hat Satellite | Reporter: | Neil Miao <nmiao> |
| Component: | Content Views | Assignee: | satellite6-bugs <satellite6-bugs> |
| Status: | CLOSED NEXTRELEASE | QA Contact: | sthirugn <sthirugn> |
| Severity: | medium | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 6.1.4 | CC: | bbuckingham, bkearney, sthirugn |
| Target Milestone: | Unspecified | Keywords: | Triaged |
| Target Release: | Unused | ||
| Hardware: | Unspecified | ||
| OS: | Linux | ||
| URL: | http://projects.theforeman.org/issues/12628 | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2017-08-01 20:03:31 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: | |||
| Bug Depends On: | 1324598 | ||
| Bug Blocks: | |||
Created redmine issue http://projects.theforeman.org/issues/12628 from this bug Moving to POST since upstream bug http://projects.theforeman.org/issues/12628 has been closed ------------- Neil Miao Applied in changeset commit:katello|9301efab185cd7eef60dfe308bbbe2304e904dc8. Failed for the same reason as shown in https://bugzilla.redhat.com/show_bug.cgi?id=1324598 Moving to ON_QA as bug mentioned in Comment 5 is verified. The fix to this bug will be delivered with release 6.3 of Satellite. |
Description of problem: I have content-view 'iam' # hammer content-view list --organization rhit ----------------|------|-------|-----------|----------------- CONTENT VIEW ID | NAME | LABEL | COMPOSITE | REPOSITORY IDS ----------------|------|-------|-----------|----------------- 10 | iam | iam | | 9, 6, 5, 1, 2, 7 with 2 versions (2.0 and 2.1) # hammer content-view version list ---|---------|---------|------------------------- ID | NAME | VERSION | LIFECYCLE ENVIRONMENTS ---|---------|---------|------------------------- 16 | iam 2.1 | 2.1 | qa 14 | iam 2.0 | 2.0 | Library When I try to promote v2.1 to stage via hammer, I got this error consistently # hammer content-view version promote --content-view-id 10 --to-lifecycle-environment stage --version='2.1' --organization rhit Could not promote the content view: Error: content_view_version found more than once Version-Release number of selected component (if applicable): katello-2.2.0.16-1.el7sat.noarch How reproducible: always Steps to Reproduce: 1. hammer content-view version promote --content-view-id 10 --to-lifecycle-environment stage --version '2.1' 2. 3. Actual results: error Expected results: content-view version should be promoted Additional info: I tracked the issue down to this file /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.76/app/models/katello/content_view_version.rb def self.for_version(version) major, minor = version.to_s.split('.') query = where(:major => major) query.where(:minor => minor) if minor <--- #1 Rails.logger.debug '!!DEBUG!!' Rails.logger.debug version.to_s Rails.logger.debug minor.to_s Rails.logger.debug query.to_sql query end -- log -- 2015-11-30 06:26:46 [D] !!DEBUG!! 2015-11-30 06:26:46 [D] 2.1 2015-11-30 06:26:46 [D] 1 2015-11-30 06:26:46 [D] SELECT "katello_content_view_versions".* FROM "katello_content_view_versions" INNER JOIN "katello_content_views" ON "katello_content_views"."id" = "katello_content_view_versions"."content_view_id" WHERE "katello_content_views"."id" IN (1, 4, 8, 3, 7, 6, 10) AND "katello_content_view_versions"."content_view_id" = 10 AND "katello_content_view_versions"."major" = 2 -- log -- variable 'version' and 'minor' is getting the right figure, but somehow clause #1 does absolutely nothing, as "minor" = 1 does not appears in the query. here is the proposed fix: def self.for_version(version) major, minor = version.to_s.split('.') minor = 0 if minor.nil? query = where(:major => major, :minor => minor) query end