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.
NOTE: The steps re: repos are not necessary for ACS 4.0.0. Create a homogeneous cluster or perform a clean install and use "add host" to import the hosts into cloudstack.
Renaming repos below will cause a "Duplicate name: xcp:main" which will prevent adding hosts. Clean reinstall or removing xs:main and xe pool-eject is needed for proper import.
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.