In un ambiente vRealize Automation ad alta disponibilità, Identity Manager di Gestione directory potrebbe non avviarsi dopo il riavvio del servizio Horizon Workspace.

Problema

Il servizio Horizon Workspace non si avvia a causa di un errore simile al seguente:

Error creating bean with name
  'liquibase' defined in class path resource [spring/datastore-wireup.xml]:
  Invocation of init method failed; nested exception is
  liquibase.exception.LockException: Could not acquire change log lock. Currently
  locked by fe80:0:0:0:250:56ff:fea8:7d0c%eth0
  (fe80:0:0:0:250:56ff:fea8:7d0c%eth0) since 10/29/15 

Causa

Identity Manager potrebbe non avviarsi in un ambiente a disponibilità elevata a causa di problemi con l'utilità di gestione dei dati liquibase utilizzata da vRealize Automation.

Soluzione

  1. Accedere all'appliance vRealize Automation come root utilizzando SSH.
  2. Eseguire il comando seguente per interrompere il servizio Horizon Workspace.

    #service horizon-workspace stop

  3. Eseguire il comando su postgres per diventare un utente postgres.
  4. Passare alla directory bin corretta.

    cd /opt/vmware/vpostgres/current/bin

  5. Eseguire il comando psql vcac per connettersi al database.
  6. Eseguire la query SQL select * da saas.databasechangeloglock.

    Se l'output mostra il valore "t" di true, il blocco deve essere rilasciato manualmente.

  7. Eseguire la query SQL seguente per rilasciare il blocco:

    update saas.databasechangeloglock" set locked=FALSE, lockgranted=NULL, lockedby=NULL where id=1;

  8. Eseguire la query SQL select * da saas.databasechangeloglock.

    L'output dovrebbe mostrare il valore "f" di false, a indicare che il blocco non è attivo.

  9. Eseguire il comando seguente per uscire dal database postgres vcac:

    vcac=# \q

  10. Eseguire il comando exit per uscire dalla shell utente postgres e tornare alla root.
  11. Come utente root, avviare il servizio Horizon Workspace utilizzando il comando #service horizon-workspace start.