Difference between revisions of "XenServer/GateIntegration"
Mate Lakat (talk | contribs) |
Mate Lakat (talk | contribs) (Background info for nodepool) |
||
Line 1: | Line 1: | ||
+ | == 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: | ||
+ | * <span style="color:silver;">Launch server</span> | ||
+ | * <span style="color:orange;">✪</span> Install server - This phase will install XenServer on the server | ||
+ | * <span style="color:orange;">✪</span> 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. | ||
+ | * <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:silver;">Snapshot instance</span> | ||
+ | * <span style="color:silver;">Populate pool from snapshot</span> | ||
+ | * <span style="color:silver;">Node is ready when it's accessible through SSH</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. | ||
+ | |||
== Changes to Requirements == | == Changes to Requirements == | ||
* <span style="color:orange;font-size:20pt">⌛</span> - WAITING - https://review.openstack.org/68181 - Add XenAPI package to requirements - this way, it will be cached by Openstack's PyPi mirror. | * <span style="color:orange;font-size:20pt">⌛</span> - WAITING - https://review.openstack.org/68181 - Add XenAPI package to requirements - this way, it will be cached by Openstack's PyPi mirror. | ||
Line 17: | Line 35: | ||
* <span style="color:orange;font-size:20pt">⌛</span> - 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 | * <span style="color:orange;font-size:20pt">⌛</span> - 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 | ||
* <span style="color:red;font-size:20pt">✘</span> - 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. | * <span style="color:red;font-size:20pt">✘</span> - 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. | ||
− | * <span style="color:orange;font-size:20pt">⌛</span> - WAITING - Support status polling on node launch: https://review.openstack.org/65261 | + | * <span style="color:orange;font-size:20pt">⌛</span> - WAITING - Support status file polling on node launch: https://review.openstack.org/65261 |
== Changes to DevStack-Gate == | == Changes to DevStack-Gate == | ||
* <span style="color:red;font-size:20pt">✘</span> - 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 | * <span style="color:red;font-size:20pt">✘</span> - 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 |
Revision as of 11:42, 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 instance
- Populate pool from snapshot
- Node is ready when it's accessible through SSH
- ✪ 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.
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