Bug 769267 - Promotion of template containing only packages fails without error
Summary: Promotion of template containing only packages fails without error
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: API
Version: 6.0.0
Hardware: Unspecified
OS: Unspecified
unspecified
medium vote
Target Milestone: Unspecified
Assignee: Tomas Strachota
QA Contact: Katello QA List
URL:
Whiteboard:
Depends On:
Blocks: katello-blockers
TreeView+ depends on / blocked
 
Reported: 2011-12-20 12:11 UTC by Brad Buckingham
Modified: 2019-09-26 13:27 UTC (History)
1 user (show)

Fixed In Version: katello-0.1.171-1
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-08-22 18:15:30 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Brad Buckingham 2011-12-20 12:11:53 UTC
Description of problem:

If the user creates a system template containing a few packages and then attempts to promote that template to the next environment, the promotion fails without error to the user.

Note: in the scenario, nothing has been promoted to the next env prior to attempting to promote the template.

Version-Release number of selected component (if applicable):
git master

How reproducible:
always

Steps to Reproduce:
1. Create a Provider/Product/Repo
2. Sync a Repo
3. Create a System Template containing a couple of packages (e.g. xterm, zip)
4. Create a Changeset and add the System Template to it
5. Attempt to promote the Changeset to the next environment 
   (Note: in the above, nothing has been promoted to the next env, yet).

  
Actual results:

katello jobs shows the error below; however, the UI continues to indicate "Promoting...".

[Worker(host:dhcp231-222.rdu.redhat.com pid:11191)] Starting job worker
[Worker(host:dhcp231-222.rdu.redhat.com pid:11191)] Changeset#promote_content failed with ActiveRecord::StatementInvalid: PGError: ERROR:  operator does not exist: character varying = integer
LINE 1: ...ROM "repositories" WHERE "repositories"."pulp_id" = 1 LIMIT ...
                                                             ^
HINT:  No operator matches the given name and argument type(s). You might need to add explicit type casts.
: SELECT  "repositories".* FROM "repositories" WHERE "repositories"."pulp_id" = 1 LIMIT 1 - 0 failed attempts
[Worker(host:dhcp231-222.rdu.redhat.com pid:11191)] PERMANENTLY removing Changeset#promote_content because of 1 consecutive failures.
[Worker(host:dhcp231-222.rdu.redhat.com pid:11191)] 1 jobs processed at 0.4514 j/s, 1 failed ...


Expected results:

Should the promotion succeed in the above case?  e.g. Promoting package, repo and product?

Or should it fail and give the user a meaningful error?


Additional info:

Comment 1 Tomas Strachota 2012-01-09 13:18:03 UTC
We most likely forgot to change this part of code after Repo AR was introduced. AR repo id was used there to search by pulp's repo id.

Products the packages belong to are promoted automatically in situations such as described in comment 1. This is how promotion of packages in templates differs from promotion of packages stored directly in a changeset.

Comment 3 Corey Welton 2012-02-13 15:58:09 UTC
QA Verified, was able to promote a system template containing only packages.


Note You need to log in before you can comment on or make changes to this bug.