Implement network/nodegroup mappings
authorDimitris Aragiorgis <dimara@grnet.gr>
Mon, 4 Jun 2012 18:08:36 +0000 (21:08 +0300)
committerDimitris Aragiorgis <dimara@grnet.gr>
Wed, 22 Aug 2012 14:11:14 +0000 (17:11 +0300)
commit9870dce96959f45d54c4a4b88a728052921e44c7
tree7c14d302cc75a11b573acd5063c29254f348b074
parentd0af39c093845ade6ec74e5383e48518fdb2493c
Implement network/nodegroup mappings

LUNetworkConnect() connects a network to a nodegroup and defines
its netparams (mode and link). Specifically:
 * Check if network already exists
 * Check if netparams are valid
 * Check if already connected to the same nodegroup
 * Produce errors if any conflicting IPs found
 * Update the 'networks' slot in NodeGroup config object
   with the network UUID and netparams requested. E.g.
   nodegroup_uuid {
     networks {
       network_uuid: {mode: 'bridged', link: 'br100'}
     }
   }

LUNetworkDisconnect() unmaps a network from a nodegroup:
 * Produce errors if an instance has a NIC with IP inside the network
 * Remove corresponding entry in 'networks' slot of NodeGroup object

Check for conflicting ips can be avoided with corresponding option.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
lib/cmdlib.py