---
# This configuration file defines Network Environment for a
# Baremetal Deployment of OPNFV. It contains default values
# for 5 following networks:
#
# - admin
# - tenant*
# - external*
# - storage*
# - api*
# *) optional networks
#
# Optional networks will be consolidated with the admin network
# if not explicitly configured.
#
# See short description of the networks in the comments below.
#
# "admin" is the short name for Control Plane Network.
# This network should be IPv4 even it is an IPv6 deployment
# IPv6 does not have PXE boot support.
# During OPNFV deployment it is used for node provisioning which will require
# PXE booting as well as running a DHCP server on this network.  Be sure to
# disable any other DHCP/TFTP server on this network.
#
# "tenant" is the network used for tenant traffic.
#
# "external" is the network which should have internet or external
# connectivity.  External OpenStack networks will be configured to egress this
# network.  There can be multiple external networks, but only one assigned as
# "public" which OpenStack public API's will register.
#
# "storage" is the network for storage I/O.
#
# "api" is an optional network for splitting out OpenStack service API
# communication.  This should be used for IPv6 deployments.


# Meta data for the network configuration
network-config-metadata:
  title: LF-POD-1 Network config
  version: 0.1
  created: Mon Dec 28 2015
  comment: None

# DNS Settings
dns-domain: opnfvlf.org
dns-search: opnfvlf.org
dns_nameservers:
  - 8.8.8.8
  - 8.8.4.4
# NTP servers
ntp:
  - 0.se.pool.ntp.org
  - 1.se.pool.ntp.org
# Syslog server
syslog:
  server: 10.128.1.24
  transport: 'tcp'

# Common network settings
networks:
  # Admin configuration (pxe and jumpstart)
  admin:
    enabled: true
    # Network settings for the Installer VM on admin network
    installer_vm:
      # Indicates if this VM will be bridged to an interface, or to a bond
      nic_type: interface
      # Interfaces to bridge for installer VM (use multiple values for bond)
      members:
        - em1
      # VLAN tag to use for this network on Installer VM, native means none
      vlan: native
      # IP to assign to Installer VM on this network
      ip: 192.0.2.1
    # Usable ip range for the overcloud node IPs (including VIPs)
    # Last IP is used for host bridge (i.e. br-admin).
    # If empty entire range is usable.
    # Cannot overlap with dhcp_range or introspection_range.
    overcloud_ip_range:
      - 192.0.2.51
      - 192.0.2.99
    # Gateway (only needed when public_network is disabled)
    gateway: 192.0.2.1
    # Subnet in CIDR format 192.168.1.0/24
    cidr: 192.0.2.0/24
    # DHCP range for the admin network, automatically provisioned if empty
    dhcp_range:
      - 192.0.2.2
      - 192.0.2.50
    # Mapping of network configuration for Overcloud Nodes
    nic_mapping:
      # Mapping for compute profile (nodes assigned as Compute nodes)
      compute:
        # Physical interface type (interface or bond)
        phys_type: interface
        # Physical NIC members (Single value allowed for phys_type: interface)
        members:
          - eth0
      # Mapping for controller profile (nodes assigned as Controller nodes)
      controller:
        phys_type: interface
        members:
          - eth0

  # Tenant network configuration
  tenant:
    enabled: true
    # Subnet in CIDR format 192.168.1.0/24
    cidr: 11.0.0.0/24
    # Tenant network MTU
    mtu: 1500
    # Tenant network Overlay segmentation ID range:
    # VNI, VLAN-ID, etc.
    overlay_id_range: 2,65535

    # Tenant network segmentation type:
    # vlan, vxlan, gre
    segmentation_type: vxlan
    # Mapping of network configuration for Overcloud Nodes
    nic_mapping:
      # Mapping for compute profile (nodes assigned as Compute nodes)
      compute:
        # Physical interface type (interface/bond)
        phys_type: interface
        # VLAN tag to use with this NIC
        vlan: native
        # Physical NIC members of this mapping
        # Single value allowed for phys_type: interface
        members:
          # Note logical name like nic1 not valid for fdio deployment yet.
          - eth1
      # Mapping for controller profile (nodes assigned as Controller nodes)
      controller:
        # Physical interface type (interface/bond)
        phys_type: interface
        vlan: native
        # Note: logicial names like nic1 are not valid for fdio deployment yet.
        members:
          - eth1

  # Can contain 1 or more external networks
  external:
    - public:
      enabled: true
      # Public network MTU
      mtu: 1500
      # Network settings for the Installer VM on external network
      # (note only valid on 'public' external network)
      installer_vm:
        # Indicates if this VM will be bridged to an interface, or to a bond
        nic_type: interface
        vlan: native
        # Interfaces to bridge for installer VM (use multiple values for bond)
        members:
          - em1
        # IP to assign to Installer VM on this network
        ip: 192.168.37.1
      cidr: 192.168.37.0/24
      gateway: 192.168.37.1
      # Range to allocate to floating IPs for the public network with Neutron
      floating_ip_range:
        - 192.168.37.200
        - 192.168.37.220
      # Usable ip range for the overcloud node IPs (including VIPs)
      # Last IP will be used for host bridge (i.e. br-public).
      # If empty entire range is usable.
      # Cannot overlap with dhcp_range or introspection_range.
      overcloud_ip_range:
        - 192.168.37.10
        - 192.168.37.199
      # Mapping of network configuration for Overcloud Nodes
      nic_mapping:
        # Mapping for compute profile (nodes assigned as Compute nodes)
        compute:
          # Physical interface type (interface or bond)
          phys_type: interface
          # VLAN tag to use with this NIC
          vlan: native
          # Physical NIC members of this mapping
          # Single value allowed for phys_type: interface
          members:
            - eth2
        # Mapping for controller profile (nodes assigned as Controller nodes)
        controller:
          phys_type: interface
          vlan: native
          members:
            - eth2
      # External network to be created in OpenStack by Services tenant
      external_overlay:
        name: Public_internet
        type: flat
        gateway: 192.168.37.1
    # another external network
    # This is an example and not yet supported
    - private_cloud:
      enabled: false
      mtu: 1500
      # Network settings for the Installer VM on external network
      # note only valid on 'public' external network
      installer_vm:
        # Indicates if this VM will be bridged to an interface, or to a bond
        nic_type: interface
        vlan: 101
        # Interfaces to bridge for installer VM (use multiple values for bond)
        members:
          - em1
        # IP to assign to Installer VM on this network
        ip: 192.168.38.1
      cidr: 192.168.38.0/24
      gateway: 192.168.38.1
      # Range to allocate to floating IPs for the public network with Neutron
      floating_ip_range:
        - 192.168.38.200
        - 192.168.38.220
      # Usable IP range for overcloud nodes (including VIPs)i
      # usually this is a shared subnet.
      # Cannot overlap with dhcp_range or introspection_range.
      overcloud_ip_range:
        - 192.168.38.10
        - 192.168.38.199
      # Mapping of network configuration for Overcloud Nodes
      nic_mapping:
        # Mapping for compute profile (nodes assigned as Compute nodes)
        compute:
          # Physical interface type (interface or bond)
          phys_type: interface
          # VLAN tag to use with this NIC
          vlan: 101
          # Physical NIC members of this mappingi
          # Single value allowed for phys_type: interface
          # Note: logical names like nic1 are not valid for fdio deployment yet.
          members:
            - eth3
        # Mapping for controller profile (nodes assigned as Controller nodes)
        controller:
          phys_type: interface
          vlan: 101
          members:
            - eth3
      # External network to be created in OpenStack by Services tenant
      external_overlay:
        name: private_cloud
        type: vlan
        segmentation_id: 101
        gateway: 192.168.38.1

  # Storage network configuration
  storage:
    enabled: true
    # Subnet in CIDR format
    cidr: 12.0.0.0/24
    # Storage network MTU
    mtu: 1500
    # Mapping of network configuration for Overcloud Nodes
    nic_mapping:
      # Mapping for compute profile (nodes assigned as Compute nodes)
      compute:
        # Physical interface type (interface or bond)
        phys_type: interface
        # VLAN tag to use with this NIC
        vlan: native
        # Physical NIC members of this mapping
        # Single value allowed for phys_type: interface
        members:
          # Note logical names like nic1 not valid for fdio deployment yet.
          - eth3
      # Mapping for controller profile (nodes assigned as Controller nodes)
      controller:
        phys_type: interface
        vlan: native
        members:
          - eth3

  api:
    # API network configuration
    enabled: false
    # Subnet in CIDR format
    cidr: fd00:fd00:fd00:4000::/64
    # VLAN tag to use for Overcloud hosts on this network
    vlan: 13
    # Api network MTU
    mtu: 1500
    # Mapping of network configuration for Overcloud Nodes
    nic_mapping:
      # Mapping for compute profile (nodes assigned as Compute nodes)
      compute:
        # Physical interface type (interface or bond)
        phys_type: interface
        # VLAN tag to use with this NIC
        vlan: native
        # Physical NIC members of this mapping
        # Single value allowed for phys_type: interface
        # Note logical names like nic1 not valid for fdio deployment yet.
        members:
          - eth4
      # Mapping for controller profile (nodes assigned as Controller nodes)
      controller:
        phys_type: interface
        vlan: native
        members:
          - eth4

# Apex specific settings
apex:
  networks:
    admin:
      # Range used for introspection phase (examining nodes).
      # This cannot overlap with dhcp_range or overcloud_ip_range.
      # for the overcloud default external network
      introspection_range:
        - 192.0.2.100
        - 192.0.2.120