vCloud Director 9.5 Hands On
vCloud Director 9.5 was released a few weeks back and it’s now time to look into upgrading as well as testing it’s new features such as the new Photon 2.0 appliance, NSX-T integration as well as the new HTML5 UI.
vCloud Director lists one of the new features being feature parity of the HTML5 UI to the old Flash-based UI. Unfortunately, this only applies to the tenant portal. Administrators still needs to use the Flash-based UI as the new HTML5 UI (accessed via /provider in the URL) still hardly has 10% of the features in the old UI.
Upgrading to vCloud Director 9.5
If you have an existing vCD infrastructure still running 8.20 and haven’t taken the plunge to 9.x earlier due to lack of prominent new features, there’s might be several steps to the upgrade due to the database compatibility. One of the benefits of vCD 9.x is the support of PostgreSQL as its database instead of using expensive platforms such as Oracle or SQL Server. In fact, Oracle is no longer supported in vCD 9.5. I’m assuming that most implementation of vCD 8.x would have been using SQL Server and switching to an external PostgreSQL database may be a good idea to reduce TCO.
As can be seen from VMware’s Interoperability Matrix, the supported versions of SQL Server and PostgreSQL are shown below:
As can be seen from the table:
- The common supported version of SQL Server for vCD 8.20 and 9.0 or 9.1 is SQL Server 2014 SP2.
- The common supported version of vCD 9.1 and 9.5 is PostgreSQL 10.
Therefore, the required steps for upgrading vCD from (for example) v8.20 to the latest version being v9.5 and migrating to PostgreSQL would be:
- Upgrade SQL Server to 2014 SP2 (if required).
- Upgrade vCloud Director 8.20 to 9.1
- Provision a new external PostgreSQL 10 server.
- Migrate vCloud Director database from the upgraded SQL Server 2014 to PostgreSQL hosted on the new PostgreSQL 10 server.
New vCloud Director Appliance
vCloud Director v9.5 now provides the option to deploy the vCD cell as an appliance. The vCD appliance is based on VMware Photon 2.0 OS and requires an external PostgreSQL or SQL server and NFS server for file transfers. All details of the database and NFS share are required during the deployment of the VMware VCD Appliance OVA.
NOTE: You are required to change the root password of the appliance upon first login to the console so best to just use a temporary password during the deployment of the OVA.
It seems that there is also a change in the way the console proxy works in the appliance. For linux installations of vCD, a second IP address is typically required for the vCD console proxy.
The vCD appliance no longer requires a second IP address but instead uses port 8443 for the console proxy.
However, apart from being Photon 2.0 OS, the syntax and operations looks very similar to vCloud Director installed on Centos/Red Hat 6. The installation director for vCloud Director is still in the /opt/vmware/vcloud-director/ directories and restarting vCloud Director services can still be initiated using the “service vmware-vcd restart” command.
vCloud Director NSX-T integration
vCloud Director 9.5 is the first vCD version to support VMware’s new NSX-T as well as NSX-V.
Unfortunately, NSX-T cannot be added via the GUI as you will be presented with an error if trying to add a new vCenter with NSX-T. Hopefully, this new feature will be added to the next version of vCloud Director. For the moment, the only method of integrating NSX-T is via API calls.
According to the vCloud Director documentation, the infrastructure for NSX-T including NSX Manager, NSX controllers, Transport Nodes and transport zones, T-0 and T-1 routers, Edge and Edge clusters as well as VLAN or overlay logical switches needs to be provisioned before integrating with vCloud Director.
You cannot register a vCenter with NSX-T by itself. vCloud Director expects a vCenter associated with NSX-V in the GUI. Apparently, you should be able to register vCenter without NSX-V if using the API calls.
An example API call for registering an NSX-T manager is shown below:
POST https://vcloud.example.com/api/admin/extension/nsxtManagers Content-Type: application/vnd.vmware.admin.nsxTmanager+xml ... <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ns2:NsxTManager xmlns="http://www.vmware.com/vcloud/v1.5" xmlns:ns2="http://www.vmware.com/vcloud/extension/v1.5" name="nsxManager1"> <Description>NSX-T Manager</Description> <ns2:Username>admin</ns2:Username> <ns2:Password>Welcome@123</ns2:Password> <ns2:Url>https://10.100.121.67</ns2:Url> </ns2:NsxTManager>
After the NSX-T Manager is associated with vCloud Director via API, the next step is to create a vCloud Director Provider VDC backed by NSX-T. This can also only be achieved using APIs. The GUI is the same as previous versions and will provision a Provider VDC backed by NSX-V.
An example API call for creating a NSX-T backed Provider VDC is shown below:
POST https://vcloud.example.com/api/admin/extension/providervdcsparams Content-Type: application/vnd.vmware.admin.createProviderVdcParams+xml ... <?xml version="1.0" encoding="UTF-8"?> <ns2:VMWProviderVdcParams xmlns="http://www.vmware.com/vcloud/v1.5" xmlns:ns2="http://www.vmware.com/vcloud/extension/v1.5" name="nsxTPvdc1"> <ns2:ResourcePoolRefs> <ns2:VimObjectRef> <ns2:VimServerRef href="https://vcloud.example.com/api/admin/extension/vimServer/9"/> <ns2:MoRef>resgroup-195</ns2:MoRef> <ns2:VimObjectType>RESOURCE_POOL</ns2:VimObjectType> </ns2:VimObjectRef> </ns2:ResourcePoolRefs> <ns2:VimServer href="https://vcloud.example.com/api/admin/extension/vimServer/9" id="urn:vcloud:vimserver:9" name="vc1" type="application/vnd.vmware.admin.vmwvirtualcenter+xml"/> <ns2:NsxTManagerReference href="https://vcloud.example.com/api/admin/extension/nsxtManagers/24" id="urn:vcloud:nsxtmanager:24" name="nsxManager1" type="application/vnd.vmware.admin.nsxTmanager+xml"/> <ns2:HighestSupportedHardwareVersion>vmx-7</ns2:HighestSupportedHardwareVersion> <ns2:IsEnabled>true</ns2:IsEnabled> <ns2:StorageProfile>*</ns2:StorageProfile> </ns2:VMWProviderVdcParams>
Once the PVDC is created the NSX-T logical switches can now be imported as Organization VDC Networks (again only via API calls). Unfortunately, I’m unable to find the reference in the vCloud API Programming Guide to do this.
In short, the GUI for vCloud Director 9.5 has no references whatsoever to NSX-T. All NSX related components in the GUI relate to NSX-V only.