# Set the repository suite, one of the: 'nightly', 'testing', 'stable', or any other required
{% set REPOSITORY_SUITE = os_env('REPOSITORY_SUITE', 'testing') %}

{% import 'virtual-offline-pike-ovs-dpdk/underlay--meta-data.yaml' as CLOUDINIT_META_DATA with context %}
{% import 'virtual-offline-pike-ovs-dpdk/underlay--user-data-cfg01.yaml' as CLOUDINIT_USER_DATA_CFG01 with context %}
{% import 'virtual-offline-pike-ovs-dpdk/underlay--user-data1604.yaml' as CLOUDINIT_USER_DATA_1604 with context %}
{% import 'virtual-offline-pike-ovs-dpdk/underlay--user-data-apt01.yaml' as CLOUDINIT_USER_DATA_APT01 with context %}


---
aliases:
 - &interface_model {{ os_env('INTERFACE_MODEL', 'virtio') }}
 - &cloudinit_meta_data {{ CLOUDINIT_META_DATA }}
 - &cloudinit_user_data_cfg01 {{ CLOUDINIT_USER_DATA_CFG01 }}
 - &cloudinit_user_data_1604 {{ CLOUDINIT_USER_DATA_1604 }}
 - &cloudinit_user_data_apt01 {{ CLOUDINIT_USER_DATA_APT01 }}

{% set LAB_CONFIG_NAME = os_env('LAB_CONFIG_NAME', 'virtual-offline-pike-ovs-dpdk') %}
{% set DOMAIN_NAME = os_env('DOMAIN_NAME', LAB_CONFIG_NAME + '.local') %}
{% set HOSTNAME_APT01 = os_env('HOSTNAME_APT01', 'apt01.' + DOMAIN_NAME) %}
{% set HOSTNAME_CFG01 = os_env('HOSTNAME_CFG01', 'cfg01.' + DOMAIN_NAME) %}
{% set HOSTNAME_CTL01 = os_env('HOSTNAME_CTL01', 'ctl01.' + DOMAIN_NAME) %}
{% set HOSTNAME_CTL02 = os_env('HOSTNAME_CTL02', 'ctl02.' + DOMAIN_NAME) %}
{% set HOSTNAME_CTL03 = os_env('HOSTNAME_CTL03', 'ctl03.' + DOMAIN_NAME) %}
{% set HOSTNAME_CMP01 = os_env('HOSTNAME_CMP01', 'cmp01.' + DOMAIN_NAME) %}
{% set HOSTNAME_CMP02 = os_env('HOSTNAME_CMP02', 'cmp02.' + DOMAIN_NAME) %}
{% set HOSTNAME_GTW01 = os_env('HOSTNAME_GTW01', 'gtw01.' + DOMAIN_NAME) %}
{% set HOSTNAME_PRX01 = os_env('HOSTNAME_PRX01', 'prx01.' + DOMAIN_NAME) %}
{% set HOSTNAME_DNS01 = os_env('HOSTNAME_DNS01', 'dns01.' + DOMAIN_NAME) %}
{% set HOSTNAME_DNS02 = os_env('HOSTNAME_DNS02', 'dns02.' + DOMAIN_NAME) %}
{% set HOSTNAME_MDB01 = os_env('HOSTNAME_MDB01', 'mdb01.' + DOMAIN_NAME) %}
{% set HOSTNAME_MDB02 = os_env('HOSTNAME_MDB02', 'mdb02.' + DOMAIN_NAME) %}
{% set HOSTNAME_MDB03 = os_env('HOSTNAME_MDB03', 'mdb03.' + DOMAIN_NAME) %}
{% set HOSTNAME_VS = 'vs.' + DOMAIN_NAME %}

template:
  devops_settings:
    env_name: {{ os_env('ENV_NAME', 'virtual-offline-pike-ovs-dpdk_' + REPOSITORY_SUITE + "_" + os_env('BUILD_NUMBER', '')) }}

    address_pools:
      private-pool01:
        net: {{ os_env('PRIVATE_ADDRESS_POOL01', '10.60.0.0/16:24') }}
        params:
          ip_reserved:
            l2_network_device: +1
            default_{{ HOSTNAME_APT01 }}: +122
            default_{{ HOSTNAME_CFG01 }}: +100
            default_{{ HOSTNAME_CTL01 }}: +101
            default_{{ HOSTNAME_CTL02 }}: +102
            default_{{ HOSTNAME_CTL03 }}: +103
            default_{{ HOSTNAME_CMP01 }}: +105
            default_{{ HOSTNAME_CMP02 }}: +106
            default_{{ HOSTNAME_GTW01 }}: +110
            default_{{ HOSTNAME_PRX01 }}: +121
            default_{{ HOSTNAME_MDB01 }}: +45
            default_{{ HOSTNAME_MDB02 }}: +46
            default_{{ HOSTNAME_MDB03 }}: +47
            default_{{ HOSTNAME_DNS01 }}: +111
            default_{{ HOSTNAME_DNS02 }}: +112
            default_{{ HOSTNAME_VS }}: +178
          ip_ranges:
            dhcp: [+90, -10]

      admin-pool01:
        net: {{ os_env('ADMIN_ADDRESS_POOL01', '10.70.0.0/16:24') }}
        params:
          ip_reserved:
            gateway: +122
            l2_network_device: +1
            default_{{ HOSTNAME_APT01 }}: +122
            default_{{ HOSTNAME_CFG01 }}: +90
            default_{{ HOSTNAME_CTL01 }}: +101
            default_{{ HOSTNAME_CTL02 }}: +102
            default_{{ HOSTNAME_CTL03 }}: +103
            default_{{ HOSTNAME_CMP01 }}: +105
            default_{{ HOSTNAME_CMP02 }}: +106
            default_{{ HOSTNAME_GTW01 }}: +110
            default_{{ HOSTNAME_PRX01 }}: +121
            default_{{ HOSTNAME_MDB01 }}: +45
            default_{{ HOSTNAME_MDB02 }}: +46
            default_{{ HOSTNAME_MDB03 }}: +47
            default_{{ HOSTNAME_DNS01 }}: +111
            default_{{ HOSTNAME_DNS02 }}: +112
            default_{{ HOSTNAME_VS }}: +178
          ip_ranges:
            dhcp: [+90, -10]

      tenant-pool01:
        net: {{ os_env('TENANT_ADDRESS_POOL01', '10.80.0.0/16:24') }}
        params:
          ip_reserved:
            l2_network_device: +1
            default_{{ HOSTNAME_APT01 }}: +122
            default_{{ HOSTNAME_CFG01 }}: +100
            default_{{ HOSTNAME_CTL01 }}: +101
            default_{{ HOSTNAME_CTL02 }}: +102
            default_{{ HOSTNAME_CTL03 }}: +103
            default_{{ HOSTNAME_CMP01 }}: +105
            default_{{ HOSTNAME_CMP02 }}: +106
            default_{{ HOSTNAME_MDB01 }}: +45
            default_{{ HOSTNAME_MDB02 }}: +46
            default_{{ HOSTNAME_MDB03 }}: +47
            default_{{ HOSTNAME_GTW01 }}: +110
            default_{{ HOSTNAME_PRX01 }}: +121
            default_{{ HOSTNAME_DNS01 }}: +111
            default_{{ HOSTNAME_DNS02 }}: +112
          ip_ranges:
            dhcp: [+10, -10]
      external-pool01:
        net: {{ os_env('EXTERNAL_ADDRESS_POOL01', '10.90.0.0/16:24') }}
        params:
          ip_reserved:
            l2_network_device: +1
            default_{{ HOSTNAME_APT01 }}: +122
            default_{{ HOSTNAME_CFG01 }}: +100
            default_{{ HOSTNAME_CTL01 }}: +101
            default_{{ HOSTNAME_CTL02 }}: +102
            default_{{ HOSTNAME_CTL03 }}: +103
            default_{{ HOSTNAME_CMP01 }}: +105
            default_{{ HOSTNAME_CMP02 }}: +106
            default_{{ HOSTNAME_GTW01 }}: +110
            default_{{ HOSTNAME_MDB01 }}: +45
            default_{{ HOSTNAME_MDB02 }}: +46
            default_{{ HOSTNAME_MDB03 }}: +47
            default_{{ HOSTNAME_PRX01 }}: +121
            default_{{ HOSTNAME_DNS01 }}: +111
            default_{{ HOSTNAME_DNS02 }}: +112
          ip_ranges:
            dhcp: [+90, -10]

    groups:
      - name: default
        driver:
          name: devops.driver.libvirt
          params:
            connection_string: !os_env CONNECTION_STRING, qemu:///system
            storage_pool_name: !os_env STORAGE_POOL_NAME, default
            stp: False
            hpet: False
            enable_acpi: true
            use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
            use_hugepages: !os_env DRIVER_USE_HUGEPAGES, false

        network_pools:
          admin: admin-pool01
          private: private-pool01
          tenant: tenant-pool01
          external: external-pool01

        l2_network_devices:
          private:
            address_pool: private-pool01
            dhcp: false
            forward:
              mode: route

          admin:
            address_pool: admin-pool01
            dhcp: true
            forward:
              mode: nat

          tenant:
            address_pool: tenant-pool01
            dhcp: false

          external:
            address_pool: external-pool01
            dhcp: true
            forward:
              mode: route

        group_volumes:
         - name: cloudimage1604    # This name is used for 'backing_store' option for node volumes.
           source_image: !os_env IMAGE_PATH1604  # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
           format: qcow2
         - name: cfg01_day01_image               # Pre-configured day01 image
           source_image: {{ os_env('IMAGE_PATH_CFG01_DAY01', os_env('IMAGE_PATH1604')) }} # http://images.mirantis.com/cfg01-day01.qcow2 or fallback to IMAGE_PATH1604
           format: qcow2
         - name: mcp_ubuntu_1604_image           # Pre-configured image for control plane
           source_image: !os_env MCP_IMAGE_PATH1604
           format: qcow2
         - name: apt_cloudimage1604    # This name is used for 'backing_store' option for node volumes.
           source_image: !os_env APT_IMAGE_PATH1604  # https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
           format: qcow2

        nodes:
          - name: {{ HOSTNAME_APT01 }}
            role: salt_minion
            params:
              vcpu: !os_env SLAVE_NODE_CPU, 2
              memory: !os_env SLAVE_NODE_MEMORY, 4096
              boot:
                - hd
              cloud_init_volume_name: iso
              cloud_init_iface_up: ens3
              volumes:
                - name: system
                  capacity: !os_env NODE_VOLUME_SIZE, 150
                  backing_store: apt_cloudimage1604
                  format: qcow2
                - name: iso  # Volume with name 'iso' will be used
                             # for store image with cloud-init metadata.
                  capacity: 1
                  format: raw
                  device: cdrom
                  bus: ide
                  cloudinit_meta_data: *cloudinit_meta_data
                  cloudinit_user_data: *cloudinit_user_data_apt01

              interfaces:
                - label: ens3
                  l2_network_device: admin
                  interface_model: *interface_model
                - label: ens4
                  l2_network_device: private
                  interface_model: *interface_model
                - label: ens5
                  l2_network_device: tenant
                  interface_model: *interface_model
                - label: ens6
                  l2_network_device: external
                  interface_model: *interface_model
              network_config:
                ens3:
                  networks:
                    - admin
                ens4:
                  networks:
                    - private
                ens5:
                  networks:
                    - tenant
                ens6:
                  networks:
                    - external

          - name: {{ HOSTNAME_CFG01 }}
            role: salt_master
            params:
              vcpu: !os_env SLAVE_NODE_CPU, 2
              memory: !os_env SLAVE_NODE_MEMORY, 8192
              boot:
                - hd
              cloud_init_volume_name: iso
              cloud_init_iface_up: ens3
              volumes:
                - name: system
                  capacity: !os_env NODE_VOLUME_SIZE, 150
                  backing_store: cfg01_day01_image
                  format: qcow2
                - name: iso  # Volume with name 'iso' will be used
                             # for store image with cloud-init metadata.
                  capacity: 1
                  format: raw
                  device: cdrom
                  bus: ide
                  cloudinit_meta_data: *cloudinit_meta_data
                  cloudinit_user_data: *cloudinit_user_data_cfg01

              interfaces:
                - label: ens3
                  l2_network_device: admin
                  interface_model: *interface_model
                - label: ens4
                  l2_network_device: private
                  interface_model: *interface_model
              network_config:
                ens3:
                  networks:
                    - admin
                ens4:
                  networks:
                    - private

          - name: {{ HOSTNAME_CTL01 }}
            role: salt_minion
            params:
              vcpu: !os_env SLAVE_NODE_CPU, 3
              memory: !os_env SLAVE_NODE_MEMORY, 16384
              boot:
                - hd
              cloud_init_volume_name: iso
              cloud_init_iface_up: ens3
              volumes:
                - name: system
                  capacity: !os_env NODE_VOLUME_SIZE, 150
                  backing_store: mcp_ubuntu_1604_image
                  format: qcow2
                - name: cinder
                  capacity: 50
                  format: qcow2
                - name: iso  # Volume with name 'iso' will be used
                             # for store image with cloud-init metadata.
                  capacity: 1
                  format: raw
                  device: cdrom
                  bus: ide
                  cloudinit_meta_data: *cloudinit_meta_data
                  cloudinit_user_data: *cloudinit_user_data_1604

              interfaces: &interfaces
                - label: ens3
                  l2_network_device: admin
                  interface_model: *interface_model
                - label: ens4
                  l2_network_device: private
                  interface_model: *interface_model
              network_config: &network_config
                ens3:
                  networks:
                    - admin
                ens4:
                  networks:
                    - private

          - name: {{ HOSTNAME_CTL02 }}
            role: salt_minion
            params:
              vcpu: !os_env SLAVE_NODE_CPU, 3
              memory: !os_env SLAVE_NODE_MEMORY, 16384
              boot:
                - hd
              cloud_init_volume_name: iso
              cloud_init_iface_up: ens3
              volumes:
                - name: system
                  capacity: !os_env NODE_VOLUME_SIZE, 150
                  backing_store: mcp_ubuntu_1604_image
                  format: qcow2
                - name: cinder
                  capacity: 50
                  format: qcow2
                - name: iso  # Volume with name 'iso' will be used
                             # for store image with cloud-init metadata.
                  capacity: 1
                  format: raw
                  device: cdrom
                  bus: ide
                  cloudinit_meta_data: *cloudinit_meta_data
                  cloudinit_user_data: *cloudinit_user_data_1604

              interfaces: *interfaces
              network_config: *network_config

          - name: {{ HOSTNAME_CTL03 }}
            role: salt_minion
            params:
              vcpu: !os_env SLAVE_NODE_CPU, 3
              memory: !os_env SLAVE_NODE_MEMORY, 16384
              boot:
                - hd
              cloud_init_volume_name: iso
              cloud_init_iface_up: ens3
              volumes:
                - name: system
                  capacity: !os_env NODE_VOLUME_SIZE, 150
                  backing_store: mcp_ubuntu_1604_image
                  format: qcow2
                - name: cinder
                  capacity: 50
                  format: qcow2
                - name: iso  # Volume with name 'iso' will be used
                             # for store image with cloud-init metadata.
                  capacity: 1
                  format: raw
                  device: cdrom
                  bus: ide
                  cloudinit_meta_data: *cloudinit_meta_data
                  cloudinit_user_data: *cloudinit_user_data_1604

              interfaces: *interfaces
              network_config: *network_config

          - name: {{ HOSTNAME_PRX01 }}
            role: salt_minion
            params:
              vcpu: !os_env SLAVE_NODE_CPU, 1
              memory: !os_env SLAVE_NODE_MEMORY, 2048
              boot:
                - hd
              cloud_init_volume_name: iso
              cloud_init_iface_up: ens3
              volumes:
                - name: system
                  capacity: !os_env NODE_VOLUME_SIZE, 150
                  backing_store: mcp_ubuntu_1604_image
                  format: qcow2
                - name: iso  # Volume with name 'iso' will be used
                             # for store image with cloud-init metadata.
                  capacity: 1
                  format: raw
                  device: cdrom
                  bus: ide
                  cloudinit_meta_data: *cloudinit_meta_data
                  cloudinit_user_data: *cloudinit_user_data_1604

              interfaces: *interfaces
              network_config: *network_config

          - name: {{ HOSTNAME_CMP01 }}
            role: salt_minion
            params:
              vcpu: !os_env SLAVE_NODE_CPU, 12
              memory: !os_env SLAVE_NODE_MEMORY, 8192
              numa:
              - cpus: 0,1,2,3,4,5
                memory: 4096
              - cpus: 6,7,8,9,10,11
                memory: 4096
              boot:
                - hd
              cloud_init_volume_name: iso
              cloud_init_iface_up: ens3
              volumes:
                - name: system
                  capacity: !os_env NODE_VOLUME_SIZE, 150
                  backing_store: cloudimage1604
                  format: qcow2
                - name: iso  # Volume with name 'iso' will be used
                             # for store image with cloud-init metadata.
                  capacity: 1
                  format: raw
                  device: cdrom
                  bus: ide
                  cloudinit_meta_data: *cloudinit_meta_data
                  cloudinit_user_data: *cloudinit_user_data_1604


              interfaces: &all_interfaces
                - label: ens3
                  l2_network_device: admin
                  interface_model: *interface_model
                - label: ens4
                  l2_network_device: private
                  interface_model: *interface_model
                - label: ens5
                  l2_network_device: tenant
                  interface_model: *interface_model
                - label: ens6
                  l2_network_device: external
                  interface_model: *interface_model
              network_config: &all_network_config
                ens3:
                  networks:
                    - admin
                ens4:
                  networks:
                    - private
                ens5:
                  networks:
                    - tenant
                ens6:
                  networks:
                    - external

          - name: {{ HOSTNAME_CMP02 }}
            role: salt_minion
            params:
              vcpu: !os_env SLAVE_NODE_CPU, 12
              memory: !os_env SLAVE_NODE_MEMORY, 8192
              numa:
              - cpus: 0,1,2,3,4,5
                memory: 4096
              - cpus: 6,7,8,9,10,11
                memory: 4096
              boot:
                - hd
              cloud_init_volume_name: iso
              cloud_init_iface_up: ens3
              volumes:
                - name: system
                  capacity: !os_env NODE_VOLUME_SIZE, 150
                  backing_store: cloudimage1604
                  format: qcow2
                - name: iso  # Volume with name 'iso' will be used
                             # for store image with cloud-init metadata.
                  capacity: 1
                  format: raw
                  device: cdrom
                  bus: ide
                  cloudinit_meta_data: *cloudinit_meta_data
                  cloudinit_user_data: *cloudinit_user_data_1604

              interfaces: *all_interfaces
              network_config: *all_network_config

          - name: {{ HOSTNAME_GTW01 }}
            role: salt_minion
            params:
              vcpu: !os_env SLAVE_NODE_CPU, 8
              memory: !os_env SLAVE_NODE_MEMORY, 8192
              boot:
                - hd
              cloud_init_volume_name: iso
              cloud_init_iface_up: ens3
              volumes:
                - name: system
                  capacity: !os_env NODE_VOLUME_SIZE, 150
                  backing_store: cloudimage1604
                  format: qcow2
                - name: iso  # Volume with name 'iso' will be used
                             # for store image with cloud-init metadata.
                  capacity: 1
                  format: raw
                  device: cdrom
                  bus: ide
                  cloudinit_meta_data: *cloudinit_meta_data
                  cloudinit_user_data: *cloudinit_user_data_1604

              interfaces: *all_interfaces
              network_config: *all_network_config

          - name: {{ HOSTNAME_VS }}
            role: vm
            params:
              vcpu: !os_env SLAVE_NODE_CPU, 2
              memory: !os_env SLAVE_NODE_MEMORY, 2048
              boot:
                - hd
              cloud_init_volume_name: iso
              cloud_init_iface_up: ens3
              volumes:
                - name: system
                  capacity: !os_env NODE_VOLUME_SIZE, 150
                  backing_store: cloudimage1604
                  format: qcow2
                - name: iso  # Volume with name 'iso' will be used
                             # for store image with cloud-init metadata.
                  capacity: 1
                  format: raw
                  device: cdrom
                  bus: ide
                  cloudinit_meta_data: *cloudinit_meta_data
                  cloudinit_user_data: *cloudinit_user_data_1604

              interfaces: *interfaces
              network_config: *network_config

          - name: {{ HOSTNAME_DNS01 }}
            role: salt_minion
            params:
              vcpu: !os_env SLAVE_NODE_CPU, 1
              memory: !os_env SLAVE_NODE_MEMORY, 2048
              boot:
                - hd
              cloud_init_volume_name: iso
              cloud_init_iface_up: ens3
              volumes:
                - name: system
                  capacity: !os_env NODE_VOLUME_SIZE, 150
                  backing_store: mcp_ubuntu_1604_image
                  format: qcow2
                - name: iso  # Volume with name 'iso' will be used
                             # for store image with cloud-init metadata.
                  capacity: 1
                  format: raw
                  device: cdrom
                  bus: ide
                  cloudinit_meta_data: *cloudinit_meta_data
                  cloudinit_user_data: *cloudinit_user_data_1604

              interfaces: *all_interfaces
              network_config: *all_network_config

          - name: {{ HOSTNAME_DNS02 }}
            role: salt_minion
            params:
              vcpu: !os_env SLAVE_NODE_CPU, 1
              memory: !os_env SLAVE_NODE_MEMORY, 2048
              boot:
                - hd
              cloud_init_volume_name: iso
              cloud_init_iface_up: ens3
              volumes:
                - name: system
                  capacity: !os_env NODE_VOLUME_SIZE, 150
                  backing_store: mcp_ubuntu_1604_image
                  format: qcow2
                - name: iso  # Volume with name 'iso' will be used
                             # for store image with cloud-init metadata.
                  capacity: 1
                  format: raw
                  device: cdrom
                  bus: ide
                  cloudinit_meta_data: *cloudinit_meta_data
                  cloudinit_user_data: *cloudinit_user_data_1604

              interfaces: *all_interfaces
              network_config: *all_network_config

          - name: {{ HOSTNAME_MDB01 }}
            role: salt_minion
            params:
              vcpu: !os_env SLAVE_NODE_CPU, 2
              memory: !os_env SLAVE_NODE_MEMORY, 2018
              boot:
                - hd
              cloud_init_volume_name: iso
              cloud_init_iface_up: ens3
              volumes:
                - name: system
                  capacity: !os_env NODE_VOLUME_SIZE, 150
                  backing_store: mcp_ubuntu_1604_image
                  format: qcow2
                - name: iso  # Volume with name 'iso' will be used
                             # for store image with cloud-init metadata.
                  capacity: 1
                  format: raw
                  device: cdrom
                  bus: ide
                  cloudinit_meta_data: *cloudinit_meta_data
                  cloudinit_user_data: *cloudinit_user_data_1604

              interfaces: *interfaces
              network_config: *network_config

          - name: {{ HOSTNAME_MDB02 }}
            role: salt_minion
            params:
              vcpu: !os_env SLAVE_NODE_CPU, 2
              memory: !os_env SLAVE_NODE_MEMORY, 2048
              boot:
                - hd
              cloud_init_volume_name: iso
              cloud_init_iface_up: ens3
              volumes:
                - name: system
                  capacity: !os_env NODE_VOLUME_SIZE, 150
                  backing_store: mcp_ubuntu_1604_image
                  format: qcow2
                - name: iso  # Volume with name 'iso' will be used
                             # for store image with cloud-init metadata.
                  capacity: 1
                  format: raw
                  device: cdrom
                  bus: ide
                  cloudinit_meta_data: *cloudinit_meta_data
                  cloudinit_user_data: *cloudinit_user_data_1604

              interfaces: *interfaces
              network_config: *network_config

          - name: {{ HOSTNAME_MDB03 }}
            role: salt_minion
            params:
              vcpu: !os_env SLAVE_NODE_CPU, 2
              memory: !os_env SLAVE_NODE_MEMORY, 2048
              boot:
                - hd
              cloud_init_volume_name: iso
              cloud_init_iface_up: ens3
              volumes:
                - name: system
                  capacity: !os_env NODE_VOLUME_SIZE, 150
                  backing_store: mcp_ubuntu_1604_image
                  format: qcow2
                - name: iso  # Volume with name 'iso' will be used
                             # for store image with cloud-init metadata.
                  capacity: 1
                  format: raw
                  device: cdrom
                  bus: ide
                  cloudinit_meta_data: *cloudinit_meta_data
                  cloudinit_user_data: *cloudinit_user_data_1604

              interfaces: *interfaces
              network_config: *network_config
