---
# 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.
# 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.

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

# yamllint disable rule:line-length
networks:                            # Network configurations
  admin:                             # Admin configuration (pxe and jumpstart),
    enabled: true
    vlan: native                     # VLAN tag to use for Overcloud hosts on this network
    installer_vm:                    # Network settings for the Installer VM on admin network
      nic_type: interface            # Indicates if this VM will be bridged to an interface, or to a bond
      members:
        - em1                        # Member Interface to bridge to for installer VM (use multiple values for bond)
      vlan: 29                       # VLAN tag to use for this network on Installer VM, native means none
      ip: 10.10.25.100               # IP to assign to Installer VM on this network
    usable_ip_range: 10.10.25.0,10.10.25.100    # Usable ip range, if empty entire range is usable, ex. 192.168.1.10,192.168.1.20
    gateway: 192.0.2.1               # Gateway (only needed when public_network is disabled)
    cidr: 10.10.25.0/24              # Subnet in CIDR format 192.168.1.0/24
    dhcp_range: 10.10.25.50,10.10.25.99          # DHCP range for the admin network, if empty it will be automatically provisioned
    dns-domain: opnfvlf.org          # Admin network dns domain
    dns-search: opnfvlf.org          # Admin network dns-search domain
    dns-upstream:                    # Admin network upstream dns servers
      - 8.8.8.8                      #
      - 8.8.4.4                      #
    ntp-upstream:                    # Admin upstream ntp servers
      - 0.se.pool.ntp.org            #
      - 1.se.pool.ntp.org            #
    nic_mapping:                     # Mapping of network configuration for Overcloud Nodes
      compute:                       # Mapping for compute profile (nodes that will be used as Compute nodes)
        phys_type: interface         # Physical interface type (interface or bond)
        vlan: native                 # VLAN tag to use with this NIC
        members:                     # Physical NIC members of this mapping (Single value allowed for interface phys_type)
          - eth1
      controller:                    # Mapping for controller profile (nodes that will be used as Controller nodes)
        phys_type: bond
        vlan: native
        members:
          - eth1
          - eth2

  tenant:                            # Tenant network configuration
    enabled: true
    cidr: 11.0.0.0/24                # Subnet in CIDR format 192.168.1.0/24
    vlan: 10                         # VLAN tag to use for Overcloud hosts on this network
    mtu: 64000                       # Tenant network MTU
    overlay_id_range: 2,65535        # Tenant network Overlay segmentation ID range: VNI, VLAN-ID, etc.

    segmentation_type: vxlan         # Tenant network segmentation type:vlan, vxlan, gre

    nic_mapping:                     # Mapping of network configuration for Overcloud Nodes
      compute:                       # Mapping for compute profile (nodes that will be used as Compute nodes)
        phys_type: interface         # Physical interface type (interface or bond)
        vlan: 10                 # VLAN tag to use with this NIC
        members:                     # Physical NIC members of this mapping (Single value allowed for interface phys_type)
          - eth1                     # Note, for Apex you may also use the logical nic name (found by nic order), such as "nic1"
      controller:                    # Mapping for controller profile (nodes that will be used as Controller nodes)
        phys_type: interface
        vlan: 10
        members:
          - eth1                     # Note, for Apex you may also use the logical nic name (found by nic order), such as "nic1"

  external:                          # Can contain 1 or more external networks
    - public:                        # "public" network will be the network the installer VM attaches to
      enabled: true
      vlan: native
      mtu: 64000                     # Public network MTU
      installer_vm:                  # Network settings for the Installer VM on admin network (note only valid on 'public' external network)
        nic_type: interface          # Indicates if this VM will be bridged to an interface, or to a bond
        members:
          - em1                      # Member Interface to bridge to for installer VM (use multiple values for bond)
        ip: 192.168.37.12            # IP to assign to Installer VM on this network
      cidr: 192.168.37.0/24
      gateway: 192.168.37.1
      floating_ip_range: 192.168.37.200,192.168.37.220  # Range to allocate to floating IPs for the public network with Neutron
      usable_ip_range: 192.168.37.10,192.168.37.199     # Usable IP range on the public network, usually this is a shared subnet
      dns_nameservers:               # External dns servers
        - 8.8.8.8                      #
        - 8.8.4.4                      #
      ntp:                           # External upstream NTP servers
        - 0.se.pool.ntp.org          #
        - 1.se.pool.ntp.org          #
      syslog:                        # External Syslog server
        server: 10.128.1.24          #
        transport: 'tcp'             #
      nic_mapping:                     # Mapping of network configuration for Overcloud Nodes
        compute:                       # Mapping for compute profile (nodes that will be used as Compute nodes)
          phys_type: interface         # Physical interface type (interface or bond)
          vlan: 10                 # VLAN tag to use with this NIC
          members:                     # Physical NIC members of this mapping (Single value allowed for interface phys_type)
            - eth1
        controller:                    # Mapping for controller profile (nodes that will be used as Controller nodes)
          phys_type: interface
          vlan: 10
          members:
            - eth1
      external_overlay:              # External network to be created in OpenStack by Services tenant
        name: Public_internet
        type: flat
        gateway: 192.168.37.1
    - private_cloud:                 # another external network
      enabled: false
      vlan: 101
      mtu: 64000
      cidr: 192.168.38.0/24
      gateway: 192.168.38.1
      floating_ip_range: 192.168.38.200,192.168.38.220  # Range to allocate to floating IPs for the public network with Neutron
      usable_ip_range: 192.168.38.10,192.168.38.199     # Usable IP range on the public network, usually this is a shared subnet
      dns_nameservers:               # External dns servers
        - 8.8.8.8                    #
        - 8.8.4.4                    #
      ntp:                           # External upstream NTP servers
        - 0.se.pool.ntp.org          #
        - 1.se.pool.ntp.org          #
      syslog:                        # External Syslog server
        server: 10.128.1.24          #
        transport: 'tcp'             #
      nic_mapping:                   # Mapping of network configuration for Overcloud Nodes
        compute:                     # Mapping for compute profile (nodes that will be used as Compute nodes)
          phys_type: interface       # Physical interface type (interface or bond)
          vlan: 101                  # VLAN tag to use with this NIC
          members:                   # Physical NIC members of this mapping (Single value allowed for interface phys_type)
            - eth1                   # Note, for Apex you may also use the logical nic name (found by nic order), such as "nic1"
        controller:                  # Mapping for controller profile (nodes that will be used as Controller nodes)
          phys_type: interface
          vlan: 101
          members:
            - eth1
      external_overlay:              # External network to be created in OpenStack by Services tenant
        name: private_cloud
        type: vlan
        segmentation_id: 101
        gateway: 192.168.38.1

  storage:                           # Storage network configuration
    enabled: true
    cidr: 12.0.0.0/24                # Subnet in CIDR format
    vlan: 12                         # VLAN tag to use for Overcloud hosts on this network
    mtu: 64000                       # Tenant network MTU
    nic_mapping:                     # Mapping of network configuration for Overcloud Nodes
      compute:                       # Mapping for compute profile (nodes that will be used as Compute nodes)
        phys_type: bond              # Physical interface type (interface or bond)
        vlan: 12                     # VLAN tag to use with this NIC
        members:                     # Physical NIC members of this mapping (Single value allowed for interface phys_type)
          - eth3                     # Note, for Apex you may also use the logical nic name (found by nic order), such as "nic1"
          - eth4
      controller:                    # Mapping for controller profile (nodes that will be used as Controller nodes)
        phys_type: bond
        vlan: 12
        members:
          - eth3
          - eth4

  api:                               # API network configuration
    enabled: false
    cidr: fd00:fd00:fd00:4000::/64   # Subnet in CIDR format
    vlan: 13                         # VLAN tag to use for Overcloud hosts on this network
    mtu: 64000                       # Tenant network MTU
    nic_mapping:                     # Mapping of network configuration for Overcloud Nodes
      compute:                       # Mapping for compute profile (nodes that will be used as Compute nodes)
        phys_type: bond              # Physical interface type (interface or bond)
        vlan: 13                     # VLAN tag to use with this NIC
        members:                     # Physical NIC members of this mapping (Single value allowed for interface phys_type)
          - eth3                     # Note, for Apex you may also use the logical nic name (found by nic order), such as "nic1"
          - eth4
      controller:                    # Mapping for controller profile (nodes that will be used as Controller nodes)
        phys_type: bond
        vlan: 13
        members:
          - eth3
          - eth4
# yamllint enable rule:line-length