Hide Forgot
Description of problem: - trying to force remove db: 2012-02-03 10:17:35,275 INFO [org.ovirt.engine.core.vdsbroker.vdsbroker.SpmStopVDSCommand] (pool-5-thread-49) SpmStopVDSCommand::Stopping SPM on vds nott-vds3.qa.lab.tlv.redhat.com, pool id 61751252-99fe-45bc-bf24-dbf248172475 2012-02-03 10:17:36,338 INFO [org.ovirt.engine.core.vdsbroker.vdsbroker.SpmStopVDSCommand] (pool-5-thread-49) FINISH, SpmStopVDSCommand, log id: 7899603a 2012-02-03 10:17:36,343 INFO [org.ovirt.engine.core.vdsbroker.irsbroker.ResetIrsVDSCommand] (pool-5-thread-49) FINISH, ResetIrsVDSCommand, log id: 2e6be448 2012-02-03 10:17:36,343 INFO [org.ovirt.engine.core.vdsbroker.irsbroker.SpmStopOnIrsVDSCommand] (pool-5-thread-49) FINISH, SpmStopOnIrsVDSCommand, log id: d662a6f 2012-02-03 10:17:36,347 INFO [org.ovirt.engine.core.vdsbroker.vdsbroker.DisconnectStoragePoolVDSCommand] (pool-5-thread-49) START, DisconnectStoragePoolVDSCommand(vdsId = f697cabc-4846-11e1-a8ef-7316ed9cfe25, storagePoolId = 61751252-9 9fe-45bc-bf24-dbf248172475, vds_spm_id = 2, masterDomainId = 00000000-0000-0000-0000-000000000000, masterVersion = 0), log id: 54bd16f3 2012-02-03 10:17:36,980 INFO [org.ovirt.engine.core.vdsbroker.vdsbroker.DisconnectStoragePoolVDSCommand] (pool-5-thread-49) FINISH, DisconnectStoragePoolVDSCommand, log id: 54bd16f3 2012-02-03 10:17:36,987 INFO [org.ovirt.engine.core.vdsbroker.vdsbroker.DisconnectStorageServerVDSCommand] (pool-5-thread-49) START, DisconnectStorageServerVDSCommand(vdsId = f697cabc-4846-11e1-a8ef-7316ed9cfe25, storagePoolId = 617512 52-99fe-45bc-bf24-dbf248172475, storageType = ISCSI, connectionList = [{ id: e6e8bd5a-c432-4ed6-ada2-2e3c8833d29d, connection: 10.35.64.81 };]), log id: 49d837cc 2012-02-03 10:17:39,053 INFO [org.ovirt.engine.core.vdsbroker.vdsbroker.DisconnectStorageServerVDSCommand] (pool-5-thread-49) FINISH, DisconnectStorageServerVDSCommand, return: {e6e8bd5a-c432-4ed6-ada2-2e3c8833d29d=0}, log id: 49d837cc 2012-02-03 10:17:45,126 INFO [org.ovirt.engine.core.bll.MultipleActionsRunner] (http--0.0.0.0-8080-5) MultipleActionsRunner of type RemoveStorageDomain invoked with no actions 2012-02-03 10:17:45,174 WARN [org.ovirt.engine.core.bll.storage.DetachStorageDomainFromPoolCommand] (http--0.0.0.0-8080-5) CanDoAction of action DetachStorageDomainFromPool failed. Reasons:VAR__TYPE__STORAGE__DOMAIN,VAR__ACTION__DETACH ,ACTION_TYPE_FAILED_MASTER_STORAGE_DOMAIN_NOT_ACTIVE 2012-02-03 10:17:58,895 INFO [org.ovirt.engine.core.bll.storage.RemoveStoragePoolCommand] (http--0.0.0.0-8080-5) Running command: RemoveStoragePoolCommand internal: false. Entities affected : ID: 61751252-99fe-45bc-bf24-dbf248172475 T ype: StoragePool 2012-02-03 10:17:59,005 INFO [org.ovirt.engine.core.utils.transaction.TransactionSupport] (http--0.0.0.0-8080-5) transaction rolled back 2012-02-03 10:17:59,005 ERROR [org.ovirt.engine.core.bll.storage.RemoveStoragePoolCommand] (http--0.0.0.0-8080-5) Command org.ovirt.engine.core.bll.storage.RemoveStoragePoolCommand throw exception: org.springframework.dao.DataIntegrityV iolationException: CallableStatementCallback; SQL [{call force_delete_storage_domain(?)}]; ERROR: update or delete on table "image_templates" violates foreign key constraint "image_templates_vm_template_image_map" on table "vm_template_ image_map" Detail: Key (it_guid)=(00000000-0000-0000-0000-000000000000) is still referenced from table "vm_template_image_map". Where: SQL statement "delete FROM image_templates where it_guid in(select it_guid from tt_TEMPTEMPLATEIMAGESTABLE)" PL/pgSQL function "force_delete_storage_domain" line 45 at SQL statement; nested exception is org.postgresql.util.PSQLException: ERROR: update or delete on table "image_templates" violates foreign key constraint "image_templates_vm_template_image_map" on table "vm_template_image_map" Detail: Key (it_guid)=(00000000-0000-0000-0000-000000000000) is still referenced from table "vm_template_image_map". Where: SQL statement "delete FROM image_templates where it_guid in(select it_guid from tt_TEMPTEMPLATEIMAGESTABLE)" PL/pgSQL function "force_delete_storage_domain" line 45 at SQL statement at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:228) [spring-jdbc-2.5.6.SEC02.jar:] at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) [spring-jdbc-2.5.6.SEC02.jar:] at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:952) [spring-jdbc-2.5.6.SEC02.jar:] at org.springframework.jdbc.core.JdbcTemplate.call(JdbcTemplate.java:985) [spring-jdbc-2.5.6.SEC02.jar:] at org.springframework.jdbc.core.simple.AbstractJdbcCall.executeCallInternal(AbstractJdbcCall.java:368) [spring-jdbc-2.5.6.SEC02.jar:] at org.springframework.jdbc.core.simple.AbstractJdbcCall.doExecute(AbstractJdbcCall.java:342) [spring-jdbc-2.5.6.SEC02.jar:] at org.springframework.jdbc.core.simple.SimpleJdbcCall.execute(SimpleJdbcCall.java:164) [spring-jdbc-2.5.6.SEC02.jar:] at org.ovirt.engine.core.dal.dbbroker.SimpleJdbcCallsHandler.executeImpl(SimpleJdbcCallsHandler.java:112) [engine-dal.jar:] at org.ovirt.engine.core.dal.dbbroker.SimpleJdbcCallsHandler.executeModification(SimpleJdbcCallsHandler.java:39) [engine-dal.jar:] at org.ovirt.engine.core.dao.StorageDomainDAODbFacadeImpl.remove(StorageDomainDAODbFacadeImpl.java:144) [engine-dal.jar:] at org.ovirt.engine.core.bll.storage.RemoveStoragePoolCommand$10.runInTransaction(RemoveStoragePoolCommand.java:262) [engine-bll.jar:] at org.ovirt.engine.core.bll.storage.RemoveStoragePoolCommand$10.runInTransaction(RemoveStoragePoolCommand.java:253) [engine-bll.jar:] at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInNewTransaction(TransactionSupport.java:204) [utils-3.0.0-0001.jar:] at org.ovirt.engine.core.bll.storage.RemoveStoragePoolCommand.removeDomainFromDb(RemoveStoragePoolCommand.java:253) [engine-bll.jar:] at org.ovirt.engine.core.bll.storage.RemoveStoragePoolCommand.forceRemoveStorageDomains(RemoveStoragePoolCommand.java:121) [engine-bll.jar:] at org.ovirt.engine.core.bll.storage.RemoveStoragePoolCommand.executeCommand(RemoveStoragePoolCommand.java:74) [engine-bll.jar:] at org.ovirt.engine.core.bll.CommandBase.ExecuteWithoutTransaction(CommandBase.java:617) [engine-bll.jar:] at org.ovirt.engine.core.bll.CommandBase.executeActionInTransactionScope(CommandBase.java:709) [engine-bll.jar:] at org.ovirt.engine.core.bll.CommandBase.runInTransaction(CommandBase.java:978) [engine-bll.jar:] at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInSuppressed(TransactionSupport.java:168) [utils-3.0.0-0001.jar:] at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInScope(TransactionSupport.java:107) [utils-3.0.0-0001.jar:] at org.ovirt.engine.core.bll.CommandBase.Execute(CommandBase.java:722) [engine-bll.jar:] : Repro: - pool (iSCSI), 2 data-domains, export and ISO - detach both ISO and export - put both data domains in maintenance - force remove pool - approve data-domains have both templates and vms. ovirt-engine-genericapi-3.0.0_0001-1.4.fc16.x86_64 ovirt-engine-restapi-3.0.0_0001-1.4.fc16.x86_64 ovirt-guest-agent-gdm-plugin-1.0.0-1.fc16.x86_64 ovirt-engine-jbossas-1.2-2.fc16.x86_64 ovirt-engine-notification-service-3.0.0_0001-1.4.fc16.x86_64 ovirt-node-tools-2.2.1-1.fc16.noarch ovirt-engine-dbscripts-3.0.0_0001-1.4.fc16.x86_64 ovirt-engine-setup-3.0.0_0001-1.4.fc16.x86_64 ovirt-engine-userportal-3.0.0_0001-1.4.fc16.x86_64 ovirt-engine-3.0.0_0001-1.4.fc16.x86_64 ovirt-guest-agent-kdm-plugin-1.0.0-1.fc16.x86_64 ovirt-engine-sdk-1.2-1.fc16.x86_64 ovirt-engine-iso-uploader-3.0.0_0001-1.4.fc16.x86_64 ovirt-engine-config-3.0.0_0001-1.4.fc16.x86_64 ovirt-engine-jboss-deps-3.0.0_0001-1.4.fc16.x86_64 ovirt-engine-webadmin-portal-3.0.0_0001-1.4.fc16.x86_64 ovirt-engine-cli-1.2-1.fc16.x86_64 ovirt-guest-agent-pam-module-1.0.0-1.fc16.x86_64 ovirt-engine-tools-common-3.0.0_0001-1.4.fc16.x86_64 ovirt-node-2.2.1-1.fc16.noarch ovirt-engine-log-collector-3.0.0_0001-1.4.fc16.x86_64 ovirt-engine-backend-3.0.0_0001-1.4.fc16.x86_64 ovirt-guest-agent-debuginfo-1.0.0-1.fc16.x86_64 ovirt-guest-agent-1.0.0-1.fc16.x86_6
Created attachment 559555 [details] ovirt-engine logs
One fix on the definition: force remove data center, not pool The same issue can not happen, since Mike dropped the vm_template_image_map on the 19th January (fa65ec62fa8ed15ceb1e717fafcd7f0921425ef9) However, I managed to generate a very similar issue once. (and still trying to do it again)
checked, does not reproduce. the table mentioned in the bug no longer exists.