Bug 1503177

Summary: Liquibase migration fails when activation keys referencing missing products exist
Product: Red Hat Satellite Reporter: Barnaby Court <bcourt>
Component: CandlepinAssignee: satellite6-bugs <satellite6-bugs>
Status: CLOSED ERRATA QA Contact: Sachin Ghai <sghai>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.3.0CC: awood, bbuckingham, bcourt, bkearney, cwelton, ehelms, katello-qa-list, mmccune, mstead, redakkan, skallesh
Target Milestone: UnspecifiedKeywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: candlepin-2.1.7-1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1503176 Environment:
Last Closed: 2018-02-21 17:02:05 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: 1503179    
Bug Blocks:    

Description Barnaby Court 2017-10-17 13:45:09 UTC
+++ This bug was initially created as a clone of Bug #1503176 +++

Description of problem:

When migrating from 0.9.54 to 2.x, if a database has activation keys that are referencing products that have been deleted, the migration will fail.  The failure occurs in PerOrgsProductsMigrationTask due to the presence of the records in cp_activationkey_product that reference the missing products.

Version-Release number of selected component (if applicable): 2.x series

How reproducible: Always

Steps to Reproduce:
1. Starting with 0.9.54, create an activation key using a productId that does not exist.
2. Attempt to migrate to candlepin 2.0.

liquibase --driver=org.postgresql.Driver --classpath=/usr/share/java/postgresql-jdbc.jar:/var/lib/tomcat/webapps/candlepin/WEB-INF/classes/ --changeLogFile=db/changelog/changelog-update.xml --url=jdbc:postgresql:candlepin --username=candlepin  --password=<PASSWORD> migrate -Dcommunity=False

Actual results:

Liquibase update Failed: Migration failed for change set db/changelog/20150210094558-perorgproducts-phase-1.xml::20150210094558-35::crog:
     Reason: liquibase.exception.UnexpectedLiquibaseException: liquibase.exception.CustomChangeException: liquibase.exception.DatabaseException: One or more orgs failed data validation

Expected results:

Successful migration

Comment 2 Mike McCune 2017-10-17 13:50:00 UTC
This is an upgrade blocker from 6.2 -> 6.3

Comment 9 Sachin Ghai 2017-11-03 08:05:08 UTC
Verified w/ same db where issue was reproduced by upgrading the DB to 6.3 and migrate_candlepin step was completed successfully.

Comment 10 Bryan Kearney 2018-02-21 17:02:05 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.

https://access.redhat.com/errata/RHSA-2018:0336