• Dimitris Aragiorgis's avatar
    Modify LUInstanceCreate to support networks · e8e079f3
    Dimitris Aragiorgis authored
    
    
    Implement backend support, to export the IP pool management
    functionality to the clients. When the new NIC parameter 'network' is
    given, the ippool management system is triggered.  If a NIC belongs to
    a network, it inherits the netparams (mode, link) as its nicparams. If
    a network is requested, then no 'mode' or 'link' should be
    specified. Backwards compatibility is preserved, if 'network'
    parameter is omitted.
    
    Examples for IP pool management system:
    
    --net 0:network=net1
      for an IPless NIC in a network
    
    --net 0:ip=pool,network=net1
      for automatically generated IP inside the network
    
    --net 0:ip=1.2.3.4,network=net1
      for specific IP inside the network
    
    --net 0:network=none
      for IPless NIC with default nicparams
    
    Examples for traditional assignment:
    
    --net 0:ip=1.2.3.4,link=br100,mode=bridged
    --net 0:ip=none,link=rt2,mode=routed
    --net 0
    
    Check for conflicting IPs to ensure IP uniqueness inside nodegroups.
    
    IAllocator should be extended to become network aware. If an instance
    has a NIC inside a network, then IAllocator must pick a node that its
    nodegroup is already connected with that network.
    Signed-off-by: default avatarApollon Oikonomopoulos <apollon@noc.grnet.gr>
    Signed-off-by: default avatarDimitris Aragiorgis <dimara@grnet.gr>
    Reviewed-by: default avatarIustin Pop <iustin@google.com>
    e8e079f3
cmdlib.py 569 KB