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 ad alta disponibilità a causa di problemi con l'utilità di gestione dei dati liquibase utilizzata da vRealize Automation.

Soluzione

  1. Accedere come utente root a una sessione della console nell'appliance vRealize Automation.
  2. Arrestare il servizio Horizon Workspace immettendo il seguente comando.

    #service horizon-workspace stop

  3. Aprire la shell di Postgres come super user.

    su postgres

  4. Passare alla directory bin corretta.

    cd /opt/vmware/vpostgres/current/bin

  5. Stabilire la connessione al database.

    psql vcac

  6. Da saas.databasechangeloglock, eseguire la seguente query SQL.

    select * from databasechangeloglock;

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

  7. Per rilasciare manualmente il blocco, eseguire la query SQL seguente.

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

  8. Da saas.databasechangeloglock, eseguire la seguente query SQL.

    select * from databasechangeloglock;

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

  9. Uscire dal database vcac Postgres.

    vcac=# \q

  10. Chiudere la shell di Postgres.

    exit

  11. Avviare il servizio Horizon Workspace.

    #service horizon-workspace start