• Dimitris Aragiorgis's avatar
    IP pool related objects, opcodes and constants · eaa4c57c
    Dimitris Aragiorgis authored
    
    
    Config objects:
     * Introduce L{Network} with
      - IPv4 network field (mandatory)
      - IPv4 gateway, IPv6 (network/gateway), mac prefix, type (optional)
     * Modify existing config objects to support networks:
      - Add new slot 'network' to L{NIC} config object
      - Add new slot 'networks' to L{NodeGroup} config object
    
    Opcodes:
     * Introduce new opcodes for networks
      - add/remove/modify/query/connect/disconnect.
     * In InstanceCreate/InstanceSetParams add conflicts_check option
    
    Constants:
     * INIC_PARAM 'INIC_NETWORK'
     * NIC_IP_POOL for automaticaly obtain an IP from a pool
     * NETWORK_TYPE_PUBLIC/PRIVATE for network types
    
    Checking of network_type handled by the opcode parameter validation.
    Introduce _CheckCIDR*Notation() functions for network parameters
    validation.
    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>
    eaa4c57c
cmdlib.py 547 KB