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!