Hello:

I'am trying to remove a host from Ovirt Engine (I prviously migrated all the vm's and put the host in maitenance) and it fails with this error:

Failed to remove Host ov-nodo2 (User: ovirtadmin).

Searching in the engine.log I found that it is related to a value in the database. The logs are attached below. How can I force the host removal?

My setup: oVirt Engine Version: 3.4.0-1.el6 (Centos 6.5)
Ovirt Host (to remove): Centos 6.5, vdsm-4.14.6-0.el6

Thanks

Federico


engine.log:

2014-07-02 15:52:48,924 INFO  [org.ovirt.engine.core.bll.RemoveVdsCommand] (ajp--127.0.0.1-8702-4) [5f53d780] Lock Acquired to object EngineLock [exclusiveLocks= key: c212c0a9-a784-4958-bad1-eb3a95b8c9da value: VDS
, sharedLocks= ]
2014-07-02 15:52:48,979 INFO  [org.ovirt.engine.core.bll.RemoveVdsCommand] (org.ovirt.thread.pool-6-thread-36) [5f53d780] Running comm and: RemoveVdsCommand internal: false. Entities affected :  ID: c212c0a9-a784-4958-bad1-eb3a95b8c9da Type: VDS
2014-07-02 15:52:49,016 INFO  [org.ovirt.engine.core.utils.transaction.TransactionSupport] (org.ovirt.thread.pool-6-thread-36) [5f53d780] transaction rolled back
2014-07-02 15:52:49,021 ERROR [org.ovirt.engine.core.bll.RemoveVdsCommand] (org.ovirt.thread.pool-6-thread-36) [5f53d780] Command org.ovirt.engine.core.bll.RemoveVdsCommand throw exception: org.springframework.dao.DataIntegrityViolationException: CallableStatementCallback; SQL [{call deletevdsstatic(?)}]; ERROR: update o delete en «vds_static» viola la llave foránea «vds_static_vm_dynamic_m» en la tabla «vm_dynamic»
  Detail: La llave (vds_id)=(c212c0a9-a784-4958-bad1-eb3a95b8c9da) todavía es referida desde la tabla «vm_dynamic».
  Where: sentencia SQL: «DELETE FROM vds_static WHERE vds_id =  $1 »
PL/pgSQL function "deletevdsstatic" line 11 at sentencia SQL; nested exception is org.postgresql.util.PSQLException: ERROR: update o delete en «vds_static» viola la llave foránea «vds_static_vm_dynamic_m» en la tabla «vm_dynamic»
  Detail: La llave (vds_id)=(c212c0a9-a784-4958-bad1-eb3a95b8c9da) todavía es referida desde la tabla «vm_dynamic».
  Where: sentencia SQL: «DELETE FROM vds_static WHERE vds_id =  $1 »
PL/pgSQL function "deletevdsstatic" line 11 at sentencia SQL
    at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:245) [spring-jdbc.jar:3.1.1.RELEASE]
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) [spring-jdbc.jar:3.1.1.RELEASE]
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:1030) [spring-jdbc.jar:3.1.1.RELEASE]
    at org.springframework.jdbc.core.JdbcTemplate.call(JdbcTemplate.java:1064) [spring-jdbc.jar:3.1.1.RELEASE]
    at org.springframework.jdbc.core.simple.AbstractJdbcCall.executeCallInternal(AbstractJdbcCall.java:388) [spring-jdbc.jar:3.1.1.RELEASE]
    at org.springframework.jdbc.core.simple.AbstractJdbcCall.doExecute(AbstractJdbcCall.java:351) [spring-jdbc.jar:3.1.1.RELEASE]
    at org.springframework.jdbc.core.simple.SimpleJdbcCall.execute(SimpleJdbcCall.java:181) [spring-jdbc.jar:3.1.1.RELEASE]
    at org.ovirt.engine.core.dal.dbbroker.SimpleJdbcCallsHandler.executeImpl(SimpleJdbcCallsHandler.java:137) [dal.jar:]
    at org.ovirt.engine.core.dal.dbbroker.SimpleJdbcCallsHandler.executeModification(SimpleJdbcCallsHandler.java :74) [dal.jar:]
    at org.ovirt.engine.core.dao.VdsStaticDAODbFacadeImpl.remove(VdsStaticDAODbFacadeImpl.java:110) [dal.jar:]
    at org.ovirt.engine.core.dao.VdsStaticDAODbFacadeImpl.remove(VdsStaticDAODbFacadeImpl.java:20) [dal.jar:]
    at org.ovirt.engine.core.bll.RemoveVdsCommand.RemoveVdsStaticFromDb(RemoveVdsCommand.java:147) [bll.jar:]
    at org.ovirt.engine.core.bll.RemoveVdsCommand.access$200(RemoveVdsCommand.java:36) [bll.jar:]
    at org.ovirt.engine.core.bll.RemoveVdsCommand$1.runInTransaction(RemoveVdsCommand.java:75) [bll.jar:]
    at org.ovirt.engine.core.bll.RemoveVdsCommand$1.runInTransaction(RemoveVdsCommand.java:69) [bll.jar:]
    at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInNewTransaction(TransactionSupport.java:210) [utils.jar:]
    at org.ovirt.engine.core.bll.RemoveV dsCommand.executeCommand(RemoveVdsCommand.java:69) [bll.jar:]
    at org.ovirt.engine.core.bll.CommandBase.executeWithoutTransaction(CommandBase.java:1123) [bll.jar:]
    at org.ovirt.engine.core.bll.CommandBase.executeActionInTransactionScope(CommandBase.java:1208) [bll.jar:]
    at org.ovirt.engine.core.bll.CommandBase.runInTransaction(CommandBase.java:1884) [bll.jar:]
    at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInSuppressed(TransactionSupport.java:174) [utils.jar:]
    at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInScope(TransactionSupport.java:116) [utils.jar:]
    at org.ovirt.engine.core.bll.CommandBase.execute(CommandBase.java:1228) [bll.jar:]
    at org.ovirt.engine.core.bll.CommandBase.executeAction(CommandBase.java:351) [bll.jar:]
    at org.ovirt.engine.c ore.bll.MultipleActionsRunner.executeValidatedCommand(MultipleActionsRunner.java:189) [bll.jar:]
    at org.ovirt.engine.core.bll.MultipleActionsRunner.runCommands(MultipleActionsRunner.java:156) [bll.jar:]
    at org.ovirt.engine.core.bll.MultipleActionsRunner$2.run(MultipleActionsRunner.java:165) [bll.jar:]
    at org.ovirt.engine.core.utils.threadpool.ThreadPoolUtil$InternalWrapperRunnable.run(ThreadPoolUtil.java:97) [utils.jar:]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_51]
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_51]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51]
     ;at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]
Caused by: org.postgresql.util.PSQLException: ERROR: update o delete en «vds_static» viola la llave foránea «vds_static_vm_dynamic_m» en la tabla «vm_dynamic»
  Detail: La llave (vds_id)=(c212c0a9-a784-4958-bad1-eb3a95b8c9da) todavía es referida desde la tabla «vm_dynamic».
  Where: sentencia SQL: «DELETE FROM vds_static WHERE vds_id =  $1 »
PL/pgSQL function "deletevdsstatic" line 11 at sentencia SQL
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2103)
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1836)
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
    at org.postgresql.jdbc2.AbstractJdbc2Statement. execute(AbstractJdbc2Statement.java:512)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:388)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:381)
    at org.jboss.jca.adapters.jdbc.CachedPreparedStatement.execute(CachedPreparedStatement.java:297)
    at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.execute(WrappedPreparedStatement.java:404)
    at org.springframework.jdbc.core.JdbcTemplate$6.doInCallableStatement(JdbcTemplate.java:1066) [spring-jdbc.jar:3.1.1.RELEASE]
    at org.springframework.jdbc.core.JdbcTemplate$6.doInCallableStatement(JdbcTemplate.java:1) [spring-jdbc.jar:3.1.1.RELEASE]
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:1014) [spring-jdbc.jar:3.1.1.RELEASE]
    ... 30 more

2014-07-02 15:52:49,388 INFO  [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (org.ovirt.thread.pool-6-thread-36) [5f53d780] Correlation ID: 5f53d780, Call Stack: null, Custom Event ID: -1, Message: Failed to remove Host ov-nodo2 (User: ovirtadmin).
2014-07-02 15:52:49,404 INFO  [org.ovirt.engine.core.bll.RemoveVdsCommand] (org.ovirt.thread.pool-6-thread-36) [5f53d780] Lock freed to object EngineLock [exclusiveLocks= key: c212c0a9-a784-4958-bad1-eb3a95b8c9da value: VDS
, sharedLocks= ]