Deploying the Cloudforms appliance template in vCloud Director
Red Hat provides the Cloudforms software nicely packaged as a Vmware OVA template; unfortunately this means that some manual work is required to deploy it under vCloud Director. Note that this blog post only talks about getting the template in vCloud Director; managing a vCloud Director provider is outside the supported list of Cloud providers for Cloudforms.
Once we have downloaded the Cloudforms software, the first thing is converting the template from OVA to OVF formats - the only supported format for vCloud Director.
# ovftool cfme-vsphere-5.7.1.3-1.x86_64.vsphere.ova cfme-vsphere-5.7.1.3-1.x86_64.vsphere.ovf Opening OVA source: cfme-vsphere-5.7.1.3-1.x86_64.vsphere.ova Opening OVF target: cfme-vsphere-5.7.1.3-1.x86_64.vsphere.ovf Writing OVF package: cfme-vsphere-5.7.1.3-1.x86_64.vsphere.ovf Transfer Completed Warning: - Wrong file size specified in OVF descriptor for 'disk.vmdk' (specified: 42949672960, actual 707240448). - No manifest entry found for: 'disk.vmdk'. - No manifest file found. Completed successfully
Note there is a warning message regarding the disk.vmdk file; this is due the template being in Thin format. In order to vCloud to accept the OVF file, it is necessary we modify the produced cfme-vsphere-*.ova with the right size:
sed -i 's#42949672960#707240448#g' cfme-vsphere-*.ovf
Once we have done that, we need to ammend the Manifest file with the right sha1sum:
# sha1sum cfme-vsphere-5.7.1.3-1.x86_64.vsphere.ovf 17df197d9ef7859414aac0f6703808a9a8b99286 cfme-vsphere-5.7.1.3-1.x86_64.vsphere.ovf # cat cfme-vsphere-5.7.1.3-1.x86_64.vsphere.mf SHA1(cfme-vsphere-5.7.1.3-1.x86_64.vsphere.ovf)= 17df197d9ef7859414aac0f6703808a9a8b99286 SHA1(cfme-vsphere-5.7.1.3-1.x86_64.vsphere-disk1.vmdk)= 696baa7f8803beca7be2ad21cde2b6cc975c6c57
Finally, we can import the Template into vCloud Director itself, using again the ovftool software:
# ovftool --vCloudTemplate cfme-vsphere-5.7.1.3-1.x86_64.vsphere.ovf "vcloud://myuser@myvcloud.example.org:443?org=myorg&vappTemplate=CFME42-Template&catalog=MyCatalog&vdc=MyVDC" Opening OVF source: cfme-vsphere-5.7.1.3-1.x86_64.vsphere.ovf The manifest validates Enter login information for target vcloud://myvcloud.example.org/myorg Username: myuser Password: ******* Opening vCloud target: vcloud://myuser@myvcloud.example.org/ Deploying to vCloud vApp template: vcloud://myuser@myvcloud.example.org/ Transfer Completed Completed successfully
Once we complete that step, the template is available to start deploying a new Cloudforms VM.
Happy hacking!