• Arun Nukula

vRA Migration fails with Exception: Invalid data format

I was involved in a vRealize Automaton 7.x migration project, we did encounter failure at a point where we were trying to backup vRA license.



Let me share some snippets


From migration logs



[2020-07-21 02:22:24.523079] [e87799dbb0c348cf8e37f98861c3c135:Pending] Obtain migration package from the source vRealize Automation appliance.
[2020-07-21 02:22:24.523216] [3ad82c24b47944ce8e9d44309ab719d3:Pending] Back up vRealize Automation license.
[2020-07-21 02:22:24.523273] [3b568e500a5940f19a4758377dd31185:Pending] Stop vRealize Automation services on cluster node (sevenvra.prem.com).
[2020-07-21 02:22:24.523333] [2fc1c91db692483c806eef983f64f36b:Pending] Stop vRealize Automation services.
[2020-07-21 02:22:24.523395] [5d593b9319624e26a0614ebc08ce4888:Pending] Prepare vRealize Automation appliance for database migration.
[2020-07-21 02:22:24.523457] [cf3c61d6eb464388abaf5114658d6c3b:Pending] Migrate vRealize Automation database.
[2020-07-21 02:22:24.523511] [6650bbaa755047bfabb70e3abcdcd7c0:Pending] Re-encrypt sensitive vRealize Automation configuration.
[2020-07-21 02:22:24.523561] [1fd72029646b4f8f8f0f93b87889eb53:Pending] Upgrade migrated vRealize Automation database.
[2020-07-21 02:22:24.523609] [e5ab28549aa64aec9374296a1bcef976:Pending] Reconfigure vRealize Automation database failover service.
[2020-07-21 02:22:24.523656] [99542458f82c4feb8da2dc3bce027461:Pending] Reconfigure vRealize Automation messaging service.
[2020-07-21 02:22:24.523701] [14a8d96417d845d5a951903a237c68c4:Pending] Reconfigure Containers Management service.
[2020-07-21 02:22:24.523746] [8120bdad9ec04974b9a95d010d7cac18:Pending] Reconfigure vRealize Health Broker service.
[2020-07-21 02:22:24.523795] [2e4528d38bc849259fe1cf29603b5cae:Pending] Reconfigure default vRealize Automation tenant.
[2020-07-21 02:22:24.523844] [ec5681ef323d4c3e9d8b3492a009cb76:Pending] Migrate embedded vRealize Orchestrator
[2020-07-21 02:22:24.523892] [539ed8b0e9dd4534a8a6bc3a20de440b:Pending] Start vRealize Automation services.
[2020-07-21 02:22:24.523939] [bb8b9eb8abbd490bb00f84eee747e2e1:Pending] Reconfigure cluster node (sevenvra.prem.com).
[2020-07-21 02:22:24.523984] [96f1c4ce28e14f1a9ae8011407fc2283:Pending] Restart vRealize Automation services.
[2020-07-21 02:22:24.524030] [d5d7431d4e91461a878f14a33b53a7d5:Pending] Migrate infrastructure node (sevenvra.prem.com).
[2020-07-21 02:22:24.524075] [acdd2284cabb4a9abfbfd4e2b4106673:Pending] Restart vRealize Automation services.
[2020-07-21 02:22:24.524120] [b42778bdc8c1462ead6c8b983a7f3ef5:Pending] Restore vRealize Automation license.
[2020-07-21 02:22:24.524165] [347c7a7a30bc44f0b40c834160c7d013:Pending] Finalize migration.
[2020-07-21 02:22:24.541154] Sequence initialized
[2020-07-21 02:22:24.541232] Sequence state changed to [migration.ready]
[2020-07-21 02:22:24.541287] Sequence execution started
[2020-07-21 02:22:24.543532] Sequence state changed to [migration.progress]
[2020-07-21 02:22:24.543614] [e87799dbb0c348cf8e37f98861c3c135:Running] Obtain migration package from the source vRealize Automation appliance.
[2020-07-21 02:22:24.545893] Invoke script /usr/lib/vcac/tools/migration/sequence/migration/scripts/M00-log-environment
[2020-07-21 02:22:27.423438] Script invocation completed with code 0
[2020-07-21 02:22:27.423532] Invoke script /usr/lib/vcac/tools/migration/sequence/migration/scripts/M02-get-migration-package
[2020-07-21 02:25:24.183529] Script invocation completed with code 0
[2020-07-21 02:25:24.183719] [e87799dbb0c348cf8e37f98861c3c135:Completed] Obtain migration package from the source vRealize Automation appliance.
[2020-07-21 02:25:24.528063] [3ad82c24b47944ce8e9d44309ab719d3:Running] Back up vRealize Automation license.
[2020-07-21 02:25:24.530730] Back up license serial key(s)
[2020-07-21 02:25:32.820798] Traceback (most recent call last):
  File "/usr/lib/vcac/tools/migration/framework/mcore.py", line 470, in __execute
    task.execute(self.__context)
  File "/usr/lib/vcac/tools/migration/sequence/migration/execute", line 137, in execute
    for li in mutil.invokeConfigurator(['/usr/sbin/vcac-config', 'license-info']):
  File "/usr/lib/vcac/tools/migration/framework/mutil.py", line 61, in invokeConfigurator
    result = parseConfiguratorResult(errors, errorMessage)
  File "/usr/lib/vcac/tools/migration/framework/mutil.py", line 56, in parseConfiguratorResult
    raise ex
Exception: Invalid data format.

[2020-07-21 02:25:32.820925] [3ad82c24b47944ce8e9d44309ab719d3:Failed] Back up vRealize Automation license.
[2020-07-21 02:25:32.825554] Sequence execution finished
[2020-07-21 02:25:32.827844] Sequence state changed to [migration.failed]
[2020-07-21 02:25:32.827923] Sequence has a task execution error. Cancel pending tasks
[2020-07-21 02:25:32.827984] [3b568e500a5940f19a4758377dd31185:Cancelled] Stop vRealize Automation services on cluster node (sevenvra.prem.com).
[2020-07-21 02:25:32.830210] [2fc1c91db692483c806eef983f64f36b:Cancelled] Stop vRealize Automation services.
[2020-07-21 02:25:32.832655] [5d593b9319624e26a0614ebc08ce4888:Cancelled] Prepare vRealize Automation appliance for database migration.


So one can see above the task of backing up license was a failure.


Let's understand what happens at this point in time. When a backup of license script is triggered we execute a command called



[master] sevenvra:~ # /usr/sbin/vcac-config license-info
---BEGIN---
[{"licenseInfo":{"@type":"SerialKeyLicenseInfo","serialKeys":["YYYYYY-YYYYYY-YYYYYY-YYYYYYY"],"expiration":null,"restrictions":[{"product":{"name":"VMware vRealize Automation Enterprise","editionKey":"vac.enterprise.serverVm","suiteName":null,"family":{"name":"VMware vCloud Automation Center","version":"7.0"},"id":"VMware vCloud Automation Center7.0vac.enterprise.serverVmserverVm"},"costUnitLimits":[{"enforcementType":"hardEnforced","unit":{"id":"serverVm"},"value":25}],"licenseProductCapabilities":[{"version":"7.5.0.0","features":[{"id":"vac"},{"id":"vdc"}],"keyValues":null}]}],"name":"vRA Standalone License"},"id":"urn:vri:com.vmware.license.license:XXXXXX-XXXXXX-XXXXXXX-XXXXXXX-XXXXXXX","assetId":"urn:vri:com.vmware.license.asset:comvmwarevcacstandalone"}]
---END---


The output of the above command returns serial keys and other parameters required which would be applied to the destination server where we are migrating data to.


If we read the exception, there is some sort of corruption happening when the values are being returned by the command.


The path or remediation plan implemented was to remove the existing license on the Source vRealize Automation server and then re-implement the license after we reboot the server.


Steps to remove license on a vRealize Automation 7.x node have been documented in my previous blog article. Click on this link and read the procedure.


Once the license was removed and re-applied give a shot at migration and it should work.





0 views

Subscribe Now

  • Twitter
  • Facebook Social Icon

Copyright © 2019 nukescloud