On 12/18/2013 06:23 PM, Nick Coghlan wrote:
We've been talking about possibly changing the existing dynamic virtualization to work with OpenStack instead of oVirt for a while, and I've now hammered that into a hopefully coherent concrete proposal:
http://beaker-project.org/dev/proposals/dynamic-virtualization.html
The key points in there are too:
- associate lab controllers with OpenStack regions
- map host filtering to flavour filtering
- generate bootstrap images in Glance as part of distro import
- use the bootstrap images for dynamic provisioning (rather than
configuring netboot and then rebooting the system)
- ensure console logging is hooked up properly
Gah, missed one: we also need to decide on what we want to do in terms of network configuration. I did think of this (that's why the note is there about only supporting Havana and later), I just forgot to include the relevant details in the first draft.
Anyway, because of the way OpenStack works, Beaker is going to have to take care of properly associating machines with IP addresses, and making sure they can see the rest of the Beaker lab. We can't just declare it a "lab management DHCP configuration problem" the way we do for bare metal systems :)
One key requirement is that the systems provisioned in OpenStack still need to be able to connect to the lab controller, so all provisioned systems will need to be connected back to the lab network, even if all the recipes in the recipe set are running in OpenStack.
To delay the point where we start dynamically creating and destroying network definitions, I suggest we just run with a really simple model for the initial iteration: as part of the per-lab-controller configuration, we say which network to use. Then we can just configure the network and its routing appropriately in OpenStack, and just deal with handing out IP addresses appropriately when creating the VMs.
At some point in the future we may explore isolated subnets per test, but there are limits to the effectiveness of that since the systems will always need to be able to access at least the lab controller, even if we block them off from other parts of the lab.
Cheers, Nick.