##############################################################################
# Copyright (c) 2018 Ericsson AB, Mirantis Inc., Enea AB and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
---
### Fuel@OPNFV sample VIRTUAL installer descriptor file ###

idf:
  version: 0.0  # Intentionally invalid to indicate this is experimental
  net_config:
    # NOTE: Network names are likely to change after the PDF spec is updated
    oob:
      interface: 0
      ip-range: ~
      vlan: native
    # All networks (except OOB) are virtual networks managed by `libvirt`
    # Interface indexes are based on Fuel installer defaults
    admin:
      interface: 0  # when used, will be first vnet interface, untagged
      vlan: native
      network: 192.168.11.0
      mask: 24
    mgmt:
      interface: 1  # when used, will be second vnet interface, untagged
      vlan: native
      network: 172.16.10.0
      ip-range: 172.16.10.10-172.16.10.254  # Some IPs are in use by lab infra
      mask: 24
    storage:
      interface: 4  # when used, will be fifth vnet interface, untagged
      vlan: native
      network: 192.168.20.0
      mask: 24
    private:
      interface: 2  # when used, will be third vnet interface, untagged
      vlan: 1000-1999
      network: 10.1.0.0
      mask: 24
    public:
      interface: 3  # when used, will be fourth vnet interface, untagged
      vlan: native
      network: 10.16.0.0
      ip-range: 10.16.0.100-10.16.0.254  # Some IPs are in use by lab infra
      mask: 24
      gateway: 10.16.0.1
      dns:
        - 8.8.8.8
        - 8.8.4.4
  fuel:
    jumphost:
      bridges:
        admin: ~
        mgmt: ~
        private: ~
        public: ~
    network:
      node:
        # Ordered-list, index should be in sync with node index in PDF
        - interfaces: &interfaces
            # Ordered-list, index should be in sync with interface index in PDF
            - 'ens3'
            - 'ens4'
            - 'ens5'
            - 'ens6'
          busaddr: &busaddr
            # Bus-info reported by `ethtool -i ethX`
            - '0000:00:03.0'
            - '0000:00:04.0'
            - '0000:00:05.0'
            - '0000:00:06.0'
        - interfaces: *interfaces
          busaddr: *busaddr
        - interfaces: *interfaces
          busaddr: *busaddr
        - interfaces: *interfaces
          busaddr: *busaddr
        - interfaces: *interfaces
          busaddr: *busaddr
    reclass:
      node:
        - compute_params: &compute_params
            common: &compute_params_common
              compute_hugepages_size: 2M
              compute_hugepages_count: 2048
              compute_hugepages_mount: /mnt/hugepages_2M
            dpdk:
              <<: *compute_params_common
              compute_dpdk_driver: uio
              compute_ovs_pmd_cpu_mask: "0x6"
              compute_ovs_dpdk_socket_mem: "1024"
              compute_ovs_dpdk_lcore_mask: "0x8"
              compute_ovs_memory_channels: "2"
              dpdk0_driver: igb_uio
              dpdk0_n_rxq: 2
        - compute_params: *compute_params
        - compute_params: *compute_params
        - compute_params: *compute_params
        - compute_params: *compute_params