Bug 1867977

Summary: [RFE] Allow for idempotent database migrations
Product: [Community] Candlepin Reporter: Nikos Moumoulidis <nmoumoul>
Component: candlepinAssignee: candlepin-bugs
Status: CLOSED WONTFIX QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 3.1CC: ehelms, redakkan, satellite6-bugs
Target Milestone: ---Keywords: FutureFeature, PrioBumpQA, Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: 1861868 Environment:
Last Closed: 2023-11-22 13:49:41 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: 1861868    
Bug Blocks:    

Description Nikos Moumoulidis 2020-08-11 10:06:13 UTC
+++ This bug was initially created as a clone of Bug #1861868 +++

I would like to be able to detect if there are pending Candlepin database migrations to allow only running the migration task if there are. This helps the Satellite installer be idempotent.

[root@pipeline-upgrade-luna-nightly-centos7 candlepin]# ./cpdb --status --user=candlepin --password W7EkKTcVvT6W654kexPLFCQRNhDeoMxt
Configuring PostgreSQL with JDBC URL: jdbc:postgresql:candlepin
--driver=org.postgresql.Driver --classpath=/var/lib/tomcat/webapps/candlepin/WEB-INF/lib/postgresql-42.2.2.jar:/var/lib/tomcat/webapps/candlepin/WEB-INF/classes/ --url=jdbc:postgresql:candlepin --username=$DBUSERNAME --changeLogFile=db/changelog/changelog-update.xml --password=$DBPASSWORD --logLevel=severe
4 change sets have not been applied to candlepin@jdbc:postgresql:candlepin
     db/changelog/20140408160212-add-pool-source-sub-table.xml::20140408160212-4::ckozak
     db/changelog/20140408160212-add-pool-source-sub-table.xml::20140408160212-5::ckozak
     db/changelog/20150401140006-add-pool-type-to-db.xml::20150401140006-3::crog
     db/changelog/20170718095058-purge-orphaned-pools.xml::20170718095058-0::crog
Liquibase 'status' Successful

This would imply there are 4 changesets that need migrated and applied. If I then run 'migrate' I see it try to apply these changesets, mention "skip on failure" in the logs. This implies that this check will never return 0 as there are changsets that attempt to get applied, are skipped and the migration is OK with that.

Comment 3 Nikos Moumoulidis 2023-11-22 13:49:41 UTC
Thank you for your interest in Candlepin. We have evaluated this request, and while we recognize that it is a valid request, we do not expect this to be implemented in the product in the foreseeable future. This is due to other priorities for the project, and not a reflection on the request itself. We are therefore closing this out as WONTFIX. If you have any concerns about this feel free to open a new bug with more up to date details. Thank you.