Jump to: navigation, search

Difference between revisions of "XenServer/GateIntegration"

(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;">&#10026;</span> Install server - This phase will install XenServer on the server
 +
* <span style="color:orange;">&#10026;</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;">&#10026;</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;">&#10026;</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">&#8987;</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">&#8987;</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">&#8987;</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">&#8987;</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">&#10008;</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">&#10008;</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">&#8987;</span> - WAITING - Support status polling on node launch: https://review.openstack.org/65261
+
* <span style="color:orange;font-size:20pt">&#8987;</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">&#10008;</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">&#10008;</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

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

Changes to DevStack

Changes to Config

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