CloudStack (cloud.com) is a mature cloud orchestration technology that works with KVM, VMWare, XenServer, and XCP. CloudStack was acquired by Citrix in 2011, and is the orchestration system of choice for XCP and XenServer.
XCP 1.5 Compatibility
Before installing CloudStack, there are a few compatibility fixes to apply:
- Rename the installed repo (this name changed between 1.1 and 1.5) to get the CloudStack supplemental pack installed.
- Fix the get_mtime bug by replacing the NFSSR.py file with a custom built version and actually include the python stats module to get access to the functions necessary.
- Do not modify the XAPI version as some other HOWTOs suggest. For CloudStack to work the API version should be kept as it is from the install ("1.4.90").
To accomplish the above, run these commands on each XCP host being adding them to CloudStack:
- cp /etc/xensource/installed-repos/xcp:main /etc/xensource/installed-repos/xs:main
- mv /opt/xensource/sm/NFSSR.py /opt/xensource/sm/NFSSR.py.backup
- wget http://download.locatrix.com/xcp/cloudstack/NFSSR.py -O /opt/xensource/sm/NFSSR.py
- chmod 755 /opt/xensource/sm/NFSSR.py
Alternatively, you can modify the NFSSR script on the CloudStack server itself before the install:
- mv /usr/lib/cloud/agent/scripts/vm/hypervisor/xenserver/xcpserver/NFSSR.py /usr/lib/cloud/agent/scripts/vm/hypervisor/xenserver/xcpserver/NFSSR.py.backup
- wget http://download.locatrix.com/xcp/cloudstack/NFSSR.py -O /usr/lib/cloud/agent/scripts/vm/hypervisor/xenserver/xcpserver/NFSSR.py
What CloudStack changes on a XCP Host
- Thanks to Shawn Henderson, Ryan Farrington, and Abhi for the above XCP 1.5 hints.