Difference between revisions of "XenServer/GateIntegration"
Mate Lakat (talk | contribs) (Background info for nodepool) |
Mate Lakat (talk | contribs) |
||
Line 12: | Line 12: | ||
* <span style="color:silver;">Bootstrap instance</span> | * <span style="color:silver;">Bootstrap instance</span> | ||
* <span style="color:orange;">✪</span> Pre-snapshot script and timeout - Before taking a snapshot, we need to halt the server. Therefore we execute a halt in dom0, and ask nodepool to wait for a specified timeout. The timeout should be enough for the server to halt. | * <span style="color:orange;">✪</span> Pre-snapshot script and timeout - Before taking a snapshot, we need to halt the server. Therefore we execute a halt in dom0, and ask nodepool to wait for a specified timeout. The timeout should be enough for the server to halt. | ||
− | * <span style="color:silver;">Snapshot | + | * <span style="color:silver;">Snapshot server</span> |
* <span style="color:silver;">Populate pool from snapshot</span> | * <span style="color:silver;">Populate pool from snapshot</span> | ||
+ | * <span style="color:orange;">✪</span> Poll status file on node launch - As starting the image invlolves an automatic reboot, we again need a proper way to make sure, that XenServer is up and running. This could be achieved with the same polling mechanism that we used for Poll install status. | ||
* <span style="color:silver;">Node is ready when it's accessible through SSH</span> | * <span style="color:silver;">Node is ready when it's accessible through SSH</span> | ||
− | + | ||
== Changes to Requirements == | == Changes to Requirements == |
Revision as of 11:44, 29 January 2014
Contents
Backround for Nodepool
The standard Nodepool population looks like:
- Launch server
- Bootstrap server
- Snapshot server
- Populate pool from snapshot
- Node is ready when it's accessible through SSH
Whereas, we need some additional entry points:
- Launch server
- ✪ Install server - This phase will install XenServer on the server
- ✪ Poll install status - As installing XenServer includes rebooting the server, the best way to figure out when the installation is finished, is to try to connect to the server through ssh, and check if a specific status file exists.
- Bootstrap instance
- ✪ Pre-snapshot script and timeout - Before taking a snapshot, we need to halt the server. Therefore we execute a halt in dom0, and ask nodepool to wait for a specified timeout. The timeout should be enough for the server to halt.
- Snapshot server
- Populate pool from snapshot
- ✪ Poll status file on node launch - As starting the image invlolves an automatic reboot, we again need a proper way to make sure, that XenServer is up and running. This could be achieved with the same polling mechanism that we used for Poll install status.
- Node is ready when it's accessible through SSH
Changes to Requirements
- ⌛ - WAITING - https://review.openstack.org/68181 - Add XenAPI package to requirements - this way, it will be cached by Openstack's PyPi mirror.
Changes to DevStack
- ✔ - MERGED - https://review.openstack.org/68136 - modify devstack, so gate will pre-cache the image (cirros vhd tgz)
- ✘ - MISSING - Move dom0 modifications to stack.sh
- The incubator for the modifications is here: https://github.com/citrix-openstack/xenapi-os-testing/blob/master/launch-node.sh Search for the string:
SSH_DOM0
to find dom zero modifications.
- The incubator for the modifications is here: https://github.com/citrix-openstack/xenapi-os-testing/blob/master/launch-node.sh Search for the string:
Changes to Config
- ✘ - OUTDATED - https://review.openstack.org/60581 - Script to convert an image to a XenServer
- The incubator for this script is here: https://github.com/citrix-openstack/xenapi-in-the-cloud
- The incubator needs to be tagged, and released, the changeset should be updated
- ✘ - OUTDATED - https://review.openstack.org/60902 - Add node type of devstack-xenserver
- ✘ - OUTDATED - https://review.openstack.org/60903 - Add in a new job to run tests on XenServer
Changes to Nodepool
- ⌛ - WAITING - Install phase - execute a script, that converts the node to a XenServer, and use polling to find out when it's finished: https://review.openstack.org/61463
- ✘ - MISSING - Pre-snapshot script and timeout - The script will halt the node, and the wait will make sure, that the machine has enough time to halt. It's safe to snapshot a halted server.
- ⌛ - WAITING - Support status file polling on node launch: https://review.openstack.org/65261
Changes to DevStack-Gate
- ✘ - OUTDATED - https://review.openstack.org/60900 - Support XenAPI driver in gate: localrc generation. - The incubator for these changes is here: https://github.com/matelakat/devstack-gate/tree/xenserver-integration