Friday, January 16, 2015

Dbupgrade fail during vCAC IaaS Server upgrade - Error MSB3073. Upgrade from vCAC 6.1 to vRA 6.2

Check the complete step by step upgrade procedure here.

Before you start with the upgrade process, make sure you meet below two requirements

1. Java version 1.7 or higher (64-bit) must be installed, the environment variable JAVA_HOME must be set to the Java install folder, and %JAVA_HOME%\bin\java.exe must exist.

2. Micosoft .NET Framwork is installed.

This is the first step of IaaS Server upgrade process and it kept failing everytime from local and remote machines. Dbupgrade logs shows below error

INFO: Current release database version: 6.2.0.9574
Executing script >>> C:\Users\administrator.PS\Desktop\db\vCAC.ChangeLog-Master.xml
Microsoft (R) Build Engine version 4.0.30319.18408
[Microsoft .NET Framework, version 4.0.30319.18408]
Copyright (C) Microsoft Corporation. All rights reserved.

Build started 1/14/2015 11:25:52 AM.
Project "C:\Users\administrator.PS\Desktop\db\Liquibase.xml" on node 1 (default targets).
RunLiquibase:
  "C:\Progra~1\Java\jdk1.8.0_20\bin\java.exe"  -Djsse.enableCBCProtection=false -Djava.library.path="C:\Users\administrator.PS\Desktop\db" -cp "C:\Users\administrator.PS\Desktop\db\liquibase.jar;C:\Users\administrator.PS\Desktop\db\jtds-1.3.1.jar" liquibase.integration.commandline.Main --driver=net.sourceforge.jtds.jdbc.Driver --url=jdbc:jtds:sqlserver://localhost/"vcacdb";ssl=request releaseLocks
  Liquibase releaseLocks Failed: liquibase.exception.DatabaseException: java.sql.SQLException: Network error IOException: Connection reset
 
C:\Users\administrator.PS\Desktop\db\Liquibase.xml(28,5): error MSB3073: The command ""C:\Progra~1\Java\jdk1.8.0_20\bin\java.exe"  -Djsse.enableCBCProtection=false -Djava.library.path="C:\Users\administrator.PS\Desktop\db" -cp "C:\Users\administrator.PS\Desktop\db\liquibase.jar;C:\Users\administrator.PS\Desktop\db\jtds-1.3.1.jar" liquibase.integration.commandline.Main --driver=net.sourceforge.jtds.jdbc.Driver --url=jdbc:jtds:sqlserver://localhost/"vcacdb";ssl=request releaseLocks" exited with code -1.
Done Building Project "C:\Users\administrator.PS\Desktop\db\Liquibase.xml" (default targets) -- FAILED.

Build FAILED.

"C:\Users\administrator.PS\Desktop\db\Liquibase.xml" (default target) (1) ->
(RunLiquibase target) ->
  C:\Users\administrator.PS\Desktop\db\Liquibase.xml(28,5): error MSB3073: The command ""C:\Progra~1\Java\jdk1.8.0_20\bin\java.exe"  -Djsse.enableCBCProtection=false -Djava.library.path="C:\Users\administrator.PS\Desktop\db" -cp "C:\Users\administrator.PS\Desktop\db\liquibase.jar;C:\Users\administrator.PS\Desktop\db\jtds-1.3.1.jar" liquibase.integration.commandline.Main --driver=net.sourceforge.jtds.jdbc.Driver --url=jdbc:jtds:sqlserver://localhost/"vcacdb";ssl=request releaseLocks" exited with code -1.

    0 Warning(s)
    1 Error(s)

Time Elapsed 00:01:41.27

Solutions/Workaround:

Solution01:

1. Open Liquibase XML file from extracted files of "Database Upgrade Scripts".

2. Locate the ssl=request and delete it. Save the file.

3. Run the DB upgrade command again, and it works like a charm.

Personally I would not go with this workaround of modifying the configuration file.

Solution02:

Download and install JRE 1.7 and Run the DB upgrade command again.

Note: If the DB upgrade fail even after following Solution02 or Solution02, then make sure the environmental variable are set in the below format
C:\Progra~1\Java\jre7


Not C:\Program Files\Java\jre7. Looks like DB upgrade doesn’t handle the space!!


I hope this was informative.