In a vRealize Automation high availability environment, the Directories Management Identity Manager can fail to start after the horizon-workspace service is restarted.

Problem

The horizon-workspace service cannot start due an error similar to the following:

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 

Cause

The Identity Manager may fail to start in a high availability environment due to issues with the liquibase data management utility used by vRealize Automation.

Procedure

  1. Log in to the vRealize Automation appliance as root using ssh.
  2. Run the following command to stop the horizon-workspace service.

    #service horizon-workspace stop

  3. Run the su postgres command to become a postgres user.
  4. Change to the correct bin directory.

    cd /opt/vmware/vpostgres/current/bin

  5. Run the psql vcac command to connect to the database.
  6. Run the SQL query select * from saas.databasechangeloglock.

    If the output shows a value of "t" for true, then the lock must be released manually.

  7. Run the following SQL query to release the lock:

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

  8. Run the SQL query select * from saas.databasechangeloglock.

    The output should show a value of "f" for false meaning not locked.

  9. Run the following command to exist the postgres vcac database:

    vcac=# \q

  10. Run the exit command to exit the postgres user shell and return to root.
  11. As the root user, start the horizon-workspace service using the command #service horizon-workspace start.