• Dimitris Aragiorgis's avatar
    Implement network/nodegroup mappings · 0fbd466b
    Dimitris Aragiorgis authored
    
    
    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: default avatarDimitris Aragiorgis <dimara@grnet.gr>
    Reviewed-by: default avatarIustin Pop <iustin@google.com>
    0fbd466b
cmdlib.py 566 KB