I had an issue after upgrading to vCloud 5.5 that I could not deploy any vApps with nested ESXi hosts. It turned out that the workaround I put in place in vCloud 5.1 by adding the OS type of vmkernel5guest caused a duplicate entry as vCloud 5.5 adds this in this value that did not exist before. The table that was modified was "guest_os_type" the column that had a duplicate was "internal_name". I had the entry I placed in it which had vmkernel5Guest and the vCloud 5.5 upgrade also created an entry for ESXi 5.x. I left the entries for ESX 4.x and ESXi 6.x that were created as they were not duplicates. Hope this helps someone out!