HCX Interconnect appliances are deployed from the OVA’s which are included in the HCX Manager appliance. When HCX Manager is upgraded to a newer version, it contains the corresponding upgrade bits for IX appliances which are used to upgrade the IX components.
There is a GET /appliances API call which when fired, looks for newer versions of OVA. Once the newer version of ova is found, its version is then compared with the version of the deployed appliance. If both versions are the same, no action is taken. However, if the deployed version is lower than the newly discovered version, info about the upgrade is returned in the API call response.
Below are the API calls which we need to execute for upgrading IX appliances.
Step 1: Obtain Auth Token
1 2 3 4 5 6 7 8 9 10 11 12 |
Method: POST URL: https://{{hcx_host}}/hybridity/api/sessions Headers: Content-Type: text/plain, Accept: application/json Request Payload: { "username": "administrator@vsphere.local" "password": "password" } |
Make a note of the x-hm-authorization token value as we need to supply it in subsequent calls.
Step 2: Fetch IX & NE Appliance ID
1 2 3 4 5 |
Method: GET URL: https://{{hcx_host}}/hybridity/api/interconnect/appliances Headers: x-hm-authorization: {HCX-Auth-Token}}, Accept: application/json |
Response Output: If the upgrade is available for the IX appliance, it will be listed under “updateInfo” section of the response output.
Note: Below output is trimmed output.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
[ { "applianceId":"99c279fe-e481-430f-83ba-411fa888d800", "applianceType":"HCX-WAN-IX", "applianceName":"SM01-IX-R1", "applianceVersion":{ "major":3, "minor":5, "patch":3, "build":17093722 }, "updateInfo":{ "updateAvailable":true, "updateVersion":{ "major":3, "minor":5, "patch":3, "build":17225423 } } }, { "applianceId":"f456e4e3-e9b8-49e2-a512-1be7cf26cb4c", "applianceType":"HCX-NET-EXT", "applianceName":"SM01-NE-I1", "applianceVersion":{ "major":3, "minor":5, "patch":3, "build":17093722 }, "updateInfo":{ "updateAvailable":true, "updateVersion":{ "major":3, "minor":5, "patch":3, "build":17225423 } } } ] |
Step 3: Upgrade IX Appliances
1 2 3 4 5 6 7 |
Method: POST URL: https://{{hcx_host}}/hybridity/api/interconnect/appliances/<appliance-id>/upgrade?force=false&local=false Headers: Content-Type: application/json, Accept: application/json Request Payload: string |
Response Output
1 2 3 4 5 6 |
{ "data":{ "interconnectTaskId":"8d8b343a-36a7-4fe5-b84b-e1dea05e4aeb", "applianceId":"6c582dcf-1bc6-4188-bcab-5379622a9781" } } |
You can monitor the task in vCenter UI when the upgrade is in progress.
And that’s it for this post.
I hope you enjoyed reading this post. Feel free to share this on social media if it is worth sharing 🙂