Xs-inject-networking


 * Launchpad Entry: NovaSpec:xs-inject-networking
 * Created: Trey Morris
 * Contributors: Trey Morris

Summary
We need to be able to inject networking information to the xenstore for the agent to pick up and configure networking. In addition this will write xenstore message to reset networking.

Release Note
This allows nova to configure networking for a user, or reset the networking if it gets screwed up somehow.

Rationale
Necessary unless using dhcp on the instances. Also necessary to fix a instance that has it's networking screwed up.

Design
In xenapi/vmops spawn, instead of just creating the vif, a mapping of the network info is created and written to the xenstore param list for the instance as well. I've also added label because a part of the guest expects in the network info. Reset networking is then called.

UI Changes
Only UI changes I can think of would be adding an ability for a user to reset networking, unless this is going to be a part of the admin api.

Code Changes
Most of the code changes will be within xenapi.vmops in the spawn function. There will also be change to the schema for adding label as well as a migration.

Migration
There will be a migration for adding "label" to the Networks table. This isn't specifically required in this blueprint but the agent will expect it in the network info and it will be used in the multi-nic blueprint so I went ahead and added it now.

Test/Demo Plan
Initially I plan on spinning up instances and making sure the networking is configured properly.

Unresolved issues
Need an image with the agent on it for testing. Setting up the IP pools to grab the IPs from. How are new networks added to an existing project?

BoF agenda and discussion
I don't know what a BoF is.