| # Set the repository suite, one of the: 'nightly', 'testing', 'stable', or any other required |
| {% set REPOSITORY_SUITE = os_env('REPOSITORY_SUITE', 'testing') %} |
| {% set LAB_CONFIG_NAME = os_env('LAB_CONFIG_NAME', 'cookied-bm-mcp-dvr-vxlan') %} |
| {% set DOMAIN_NAME = os_env('DOMAIN_NAME', LAB_CONFIG_NAME + '.local') %} |
| {% set HOSTNAME_CFG01 = os_env('HOSTNAME_CFG01', 'cfg01.' + DOMAIN_NAME) %} |
| {% set HOSTNAME_KVM01 = os_env('HOSTNAME_KVM01', 'kvm01.' + DOMAIN_NAME) %} |
| {% set HOSTNAME_KVM02 = os_env('HOSTNAME_KVM02', 'kvm02.' + DOMAIN_NAME) %} |
| {% set HOSTNAME_KVM03 = os_env('HOSTNAME_KVM03', 'kvm03.' + 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_GTW02 = os_env('HOSTNAME_GTW02', 'gtw02.' + DOMAIN_NAME) %} |
| {% set ETH1_IP_ADDRESS_CFG01 = os_env('ETH1_IP_ADDRESS_CFG01', '172.16.164.2') %} |
| {% set ETH2_IP_ADDRESS_CFG01 = os_env('ETH2_IP_ADDRESS_CFG01', '10.167.4.253') %} |
| {% set ETH0_IP_ADDRESS_KVM01 = os_env('ETH0_IP_ADDRESS_KVM01', '172.16.164.11') %} |
| {% set ETH0_IP_ADDRESS_KVM02 = os_env('ETH0_IP_ADDRESS_KVM02', '172.16.164.12') %} |
| {% set ETH0_IP_ADDRESS_KVM03 = os_env('ETH0_IP_ADDRESS_KVM03', '172.16.164.13') %} |
| {% set ETH0_IP_ADDRESS_CMP01 = os_env('ETH0_IP_ADDRESS_CMP01', '172.16.164.3') %} |
| {% set ETH0_IP_ADDRESS_CMP02 = os_env('ETH0_IP_ADDRESS_CMP02', '172.16.164.31') %} |
| {% set ETH0_IP_ADDRESS_GTW01 = os_env('ETH0_IP_ADDRESS_GTW01', '172.16.164.4') %} |
| {% set ETH0_IP_ADDRESS_GTW02 = os_env('ETH0_IP_ADDRESS_GTW02', '172.16.164.5') %} |
| |
| {% import 'cookied-bm-mcp-dvr-vxlan/underlay--meta-data.yaml' as CLOUDINIT_META_DATA with context %} |
| {% import 'cookied-bm-mcp-dvr-vxlan/underlay--user-data-cfg01.yaml' as CLOUDINIT_USER_DATA_CFG01 with context %} |
| {% import 'cookied-bm-mcp-dvr-vxlan/underlay--user-data1604.yaml' as CLOUDINIT_USER_DATA_1604 with context %} |
| {% import 'cookied-bm-mcp-dvr-vxlan/underlay--user-data1604-hwe.yaml' as CLOUDINIT_USER_DATA_1604_HWE 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_1604_hwe {{ CLOUDINIT_USER_DATA_1604_HWE }} |
| |
| template: |
| devops_settings: |
| env_name: {{ os_env('ENV_NAME', LAB_CONFIG_NAME + '_' + REPOSITORY_SUITE + "_" + os_env('BUILD_NUMBER', '')) }} |
| |
| address_pools: |
| admin-pool01: |
| net: {{ os_env('ADMIN_ADDRESS_POOL01', '172.16.164.0/26:26') }} |
| params: |
| ip_reserved: |
| gateway: +62 |
| l2_network_device: +61 |
| virtual_{{ HOSTNAME_CFG01 }}: {{ ETH1_IP_ADDRESS_CFG01 }} |
| default_{{ HOSTNAME_KVM01 }}: {{ ETH0_IP_ADDRESS_KVM01 }} |
| default_{{ HOSTNAME_KVM02 }}: {{ ETH0_IP_ADDRESS_KVM02 }} |
| default_{{ HOSTNAME_KVM03 }}: {{ ETH0_IP_ADDRESS_KVM03 }} |
| default_{{ HOSTNAME_CMP01 }}: {{ ETH0_IP_ADDRESS_CMP01 }} |
| default_{{ HOSTNAME_CMP02 }}: {{ ETH0_IP_ADDRESS_CMP02 }} |
| default_{{ HOSTNAME_GTW01 }}: {{ ETH0_IP_ADDRESS_GTW01 }} |
| default_{{ HOSTNAME_GTW02 }}: {{ ETH0_IP_ADDRESS_GTW02 }} |
| ip_ranges: |
| dhcp: [+2, -4] |
| private-pool01: |
| net: {{ os_env('PRIVATE_ADDRESS_POOL01', '10.167.4.0/24:24') }} |
| params: |
| ip_reserved: |
| virtual_{{ HOSTNAME_CFG01 }}: {{ ETH2_IP_ADDRESS_CFG01 }} |
| gateway: +1 |
| l2_network_device: +1 |
| |
| tenant-pool01: |
| net: {{ os_env('TENANT_ADDRESS_POOL01', '10.167.6.0/24:24') }} |
| params: |
| ip_reserved: |
| gateway: +1 |
| l2_network_device: +1 |
| |
| external-pool01: |
| net: {{ os_env('EXTERNAL_ADDRESS_POOL01', '172.17.42.0/26:26') }} |
| params: |
| ip_reserved: |
| gateway: +1 |
| l2_network_device: -2 |
| |
| |
| groups: |
| - name: virtual |
| 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 |
| |
| l2_network_devices: |
| # Ironic management interface |
| admin: |
| address_pool: admin-pool01 |
| dhcp: false |
| parent_iface: |
| phys_dev: !os_env IRONIC_LAB_PXE_IFACE_0 |
| private: |
| parent_iface: |
| phys_dev: !os_env CONTROL_IFACE |
| |
| 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 |
| |
| nodes: |
| - name: {{ HOSTNAME_CFG01 }} |
| role: salt_master |
| params: |
| vcpu: !os_env SLAVE_NODE_CPU, 4 |
| 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 |
| mac_address: !os_env ETH1_MAC_ADDRESS_CFG01 |
| - label: ens4 |
| l2_network_device: private |
| interface_model: *interface_model |
| network_config: |
| ens3: |
| networks: |
| - admin |
| ens4: |
| networks: |
| - private |
| |
| |
| - name: default |
| driver: |
| name: devops_driver_ironic |
| params: |
| os_auth_token: fake-token |
| ironic_url: !os_env IRONIC_URL # URL that will be used by fuel-devops |
| # to access Ironic API |
| # Agent URL that is accessible from deploying node when nodes |
| # are bootstrapped with PXE. Usually PXE/provision network address is used. |
| agent_kernel_url: !os_env IRONIC_AGENT_KERNEL_URL |
| agent_ramdisk_url: !os_env IRONIC_AGENT_RAMDISK_URL |
| |
| network_pools: |
| admin: admin-pool01 |
| |
| nodes: |
| - name: {{ HOSTNAME_KVM01 }} |
| role: salt_minion |
| params: |
| ipmi_user: !os_env IPMI_USER |
| ipmi_password: !os_env IPMI_PASSWORD |
| ipmi_previlegies: OPERATOR |
| ipmi_host: !os_env IPMI_HOST_KVM01 # hostname or IP address |
| ipmi_lan_interface: lanplus |
| ipmi_port: 623 |
| |
| root_volume_name: system # see 'volumes' below |
| cloud_init_volume_name: iso # see 'volumes' below |
| cloud_init_iface_up: enp9s0f0 # see 'interfaces' below. |
| volumes: |
| - name: system |
| capacity: !os_env NODE_VOLUME_SIZE, 200 |
| |
| # The same as for agent URL, here is an URL to the image that should be |
| # used for deploy the node. It should also be accessible from deploying |
| # node when nodes are provisioned by agent. Usually PXE/provision network address is used. |
| source_image: !os_env IRONIC_SOURCE_IMAGE_URL |
| source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM |
| |
| - name: iso # Volume with name 'iso' will be used |
| # for store image with cloud-init metadata. |
| |
| cloudinit_meta_data: *cloudinit_meta_data |
| cloudinit_user_data: *cloudinit_user_data_1604 |
| |
| interfaces: |
| - label: enp9s0f0 |
| l2_network_device: admin |
| mac_address: !os_env ETH0_MAC_ADDRESS_KVM01 |
| - label: enp9s0f1 |
| mac_address: !os_env ETH1_MAC_ADDRESS_KVM01 |
| |
| network_config: |
| enp9s0f0: |
| networks: |
| - admin |
| bond0: |
| networks: |
| - control |
| aggregation: active-backup |
| parents: |
| - enp9s0f1 |
| |
| - name: {{ HOSTNAME_KVM02 }} |
| role: salt_minion |
| params: |
| ipmi_user: !os_env IPMI_USER |
| ipmi_password: !os_env IPMI_PASSWORD |
| ipmi_previlegies: OPERATOR |
| ipmi_host: !os_env IPMI_HOST_KVM02 # hostname or IP address |
| ipmi_lan_interface: lanplus |
| ipmi_port: 623 |
| |
| root_volume_name: system # see 'volumes' below |
| cloud_init_volume_name: iso # see 'volumes' below |
| cloud_init_iface_up: enp9s0f0 # see 'interfaces' below. |
| volumes: |
| - name: system |
| capacity: !os_env NODE_VOLUME_SIZE, 200 |
| |
| # The same as for agent URL, here is an URL to the image that should be |
| # used for deploy the node. It should also be accessible from deploying |
| # node when nodes are provisioned by agent. Usually PXE/provision network address is used. |
| source_image: !os_env IRONIC_SOURCE_IMAGE_URL |
| source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM |
| |
| - name: iso # Volume with name 'iso' will be used |
| # for store image with cloud-init metadata. |
| |
| cloudinit_meta_data: *cloudinit_meta_data |
| cloudinit_user_data: *cloudinit_user_data_1604 |
| |
| interfaces: |
| - label: enp9s0f0 |
| l2_network_device: admin |
| mac_address: !os_env ETH0_MAC_ADDRESS_KVM02 |
| - label: enp9s0f1 |
| mac_address: !os_env ETH1_MAC_ADDRESS_KVM02 |
| |
| network_config: |
| enp9s0f0: |
| networks: |
| - admin |
| bond0: |
| networks: |
| - control |
| aggregation: active-backup |
| parents: |
| - enp9s0f1 |
| |
| - name: {{ HOSTNAME_KVM03 }} |
| role: salt_minion |
| params: |
| ipmi_user: !os_env IPMI_USER |
| ipmi_password: !os_env IPMI_PASSWORD |
| ipmi_previlegies: OPERATOR |
| ipmi_host: !os_env IPMI_HOST_KVM03 # hostname or IP address |
| ipmi_lan_interface: lanplus |
| ipmi_port: 623 |
| |
| root_volume_name: system # see 'volumes' below |
| cloud_init_volume_name: iso # see 'volumes' below |
| cloud_init_iface_up: enp9s0f0 # see 'interfaces' below. |
| volumes: |
| - name: system |
| capacity: !os_env NODE_VOLUME_SIZE, 200 |
| |
| # The same as for agent URL, here is an URL to the image that should be |
| # used for deploy the node. It should also be accessible from deploying |
| # node when nodes are provisioned by agent. Usually PXE/provision network address is used. |
| source_image: !os_env IRONIC_SOURCE_IMAGE_URL |
| source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM |
| |
| - name: iso # Volume with name 'iso' will be used |
| # for store image with cloud-init metadata. |
| |
| cloudinit_meta_data: *cloudinit_meta_data |
| cloudinit_user_data: *cloudinit_user_data_1604 |
| |
| interfaces: |
| - label: enp9s0f0 |
| l2_network_device: admin |
| mac_address: !os_env ETH0_MAC_ADDRESS_KVM03 |
| - label: enp9s0f1 |
| mac_address: !os_env ETH1_MAC_ADDRESS_KVM03 |
| |
| network_config: |
| enp9s0f0: |
| networks: |
| - admin |
| bond0: |
| networks: |
| - control |
| aggregation: active-backup |
| parents: |
| - enp9s0f1 |
| |
| |
| - name: {{ HOSTNAME_CMP01 }} |
| role: salt_minion |
| params: |
| ipmi_user: !os_env IPMI_USER |
| ipmi_password: !os_env IPMI_PASSWORD |
| ipmi_previlegies: OPERATOR |
| ipmi_host: !os_env IPMI_HOST_CMP01 # hostname or IP address |
| ipmi_lan_interface: lanplus |
| ipmi_port: 623 |
| |
| root_volume_name: system # see 'volumes' below |
| cloud_init_volume_name: iso # see 'volumes' below |
| cloud_init_iface_up: enp9s0f0 # see 'interfaces' below. |
| volumes: |
| - name: system |
| capacity: !os_env NODE_VOLUME_SIZE, 200 |
| |
| # The same as for agent URL, here is an URL to the image that should be |
| # used for deploy the node. It should also be accessible from deploying |
| # node when nodes are provisioned by agent. Usually PXE/provision network address is used. |
| source_image: !os_env IRONIC_SOURCE_IMAGE_URL |
| source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM |
| |
| - name: iso # Volume with name 'iso' will be used |
| # for store image with cloud-init metadata. |
| |
| cloudinit_meta_data: *cloudinit_meta_data |
| cloudinit_user_data: *cloudinit_user_data_1604_hwe |
| |
| interfaces: |
| - label: enp9s0f0 |
| l2_network_device: admin |
| mac_address: !os_env ETH0_MAC_ADDRESS_CMP01 |
| - label: enp9s0f1 |
| mac_address: !os_env ETH1_MAC_ADDRESS_CMP01 |
| network_config: |
| enp9s0f0: |
| networks: |
| - admin |
| bond0: |
| networks: |
| - control |
| aggregation: active-backup |
| parents: |
| - enp9s0f0 |
| - enp9s0f1 |
| |
| |
| |
| - name: {{ HOSTNAME_CMP02 }} |
| role: salt_minion |
| params: |
| ipmi_user: !os_env IPMI_USER |
| ipmi_password: !os_env IPMI_PASSWORD |
| ipmi_previlegies: OPERATOR |
| ipmi_host: !os_env IPMI_HOST_CMP02 # hostname or IP address |
| ipmi_lan_interface: lanplus |
| ipmi_port: 623 |
| |
| root_volume_name: system # see 'volumes' below |
| cloud_init_volume_name: iso # see 'volumes' below |
| cloud_init_iface_up: enp9s0f0 # see 'interfaces' below. |
| volumes: |
| - name: system |
| capacity: !os_env NODE_VOLUME_SIZE, 200 |
| |
| # The same as for agent URL, here is an URL to the image that should be |
| # used for deploy the node. It should also be accessible from deploying |
| # node when nodes are provisioned by agent. Usually PXE/provision network address is used. |
| source_image: !os_env IRONIC_SOURCE_IMAGE_URL |
| source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM |
| |
| - name: iso # Volume with name 'iso' will be used |
| # for store image with cloud-init metadata. |
| |
| cloudinit_meta_data: *cloudinit_meta_data |
| cloudinit_user_data: *cloudinit_user_data_1604_hwe |
| |
| interfaces: |
| - label: enp9s0f0 |
| l2_network_device: admin |
| mac_address: !os_env ETH0_MAC_ADDRESS_CMP02 |
| - label: enp9s0f1 |
| mac_address: !os_env ETH1_MAC_ADDRESS_CMP02 |
| network_config: |
| enp9s0f0: |
| networks: |
| - admin |
| bond0: |
| networks: |
| - control |
| aggregation: active-backup |
| parents: |
| - enp9s0f0 |
| - enp9s0f1 |
| |
| |
| - name: {{ HOSTNAME_GTW01 }} |
| role: salt_minion |
| params: |
| ipmi_user: !os_env IPMI_USER |
| ipmi_password: !os_env IPMI_PASSWORD |
| ipmi_previlegies: OPERATOR |
| ipmi_host: !os_env IPMI_HOST_GTW01 # hostname or IP address |
| ipmi_lan_interface: lanplus |
| ipmi_port: 623 |
| |
| root_volume_name: system # see 'volumes' below |
| cloud_init_volume_name: iso # see 'volumes' below |
| cloud_init_iface_up: enp2s0f0 # see 'interfaces' below. |
| volumes: |
| - name: system |
| capacity: !os_env NODE_VOLUME_SIZE, 200 |
| |
| # The same as for agent URL, here is an URL to the image that should be |
| # used for deploy the node. It should also be accessible from deploying |
| # node when nodes are provisioned by agent. Usually PXE/provision network address is used. |
| source_image: !os_env IRONIC_SOURCE_IMAGE_URL |
| source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM |
| |
| - name: iso # Volume with name 'iso' will be used |
| # for store image with cloud-init metadata. |
| |
| cloudinit_meta_data: *cloudinit_meta_data |
| cloudinit_user_data: *cloudinit_user_data_1604_hwe |
| |
| interfaces: |
| - label: enp2s0f0 |
| l2_network_device: admin |
| mac_address: !os_env ETH0_MAC_ADDRESS_GTW01 |
| - label: enp2s0f1 |
| mac_address: !os_env ETH1_MAC_ADDRESS_GTW01 |
| |
| network_config: |
| enp2s0f0: |
| networks: |
| - admin |
| bond0: |
| networks: |
| - control |
| aggregation: active-backup |
| parents: |
| - enp2s0f1 |
| |
| - name: {{ HOSTNAME_GTW02 }} |
| role: salt_minion |
| params: |
| ipmi_user: !os_env IPMI_USER |
| ipmi_password: !os_env IPMI_PASSWORD |
| ipmi_previlegies: OPERATOR |
| ipmi_host: !os_env IPMI_HOST_GTW02 # hostname or IP address |
| ipmi_lan_interface: lanplus |
| ipmi_port: 623 |
| |
| root_volume_name: system # see 'volumes' below |
| cloud_init_volume_name: iso # see 'volumes' below |
| cloud_init_iface_up: enp2s0f0 # see 'interfaces' below. |
| volumes: |
| - name: system |
| capacity: !os_env NODE_VOLUME_SIZE, 200 |
| |
| # The same as for agent URL, here is an URL to the image that should be |
| # used for deploy the node. It should also be accessible from deploying |
| # node when nodes are provisioned by agent. Usually PXE/provision network address is used. |
| source_image: !os_env IRONIC_SOURCE_IMAGE_URL |
| source_image_checksum: !os_env IRONIC_SOURCE_IMAGE_CHECKSUM |
| |
| - name: iso # Volume with name 'iso' will be used |
| # for store image with cloud-init metadata. |
| |
| cloudinit_meta_data: *cloudinit_meta_data |
| cloudinit_user_data: *cloudinit_user_data_1604_hwe |
| |
| interfaces: |
| - label: enp2s0f0 |
| l2_network_device: admin |
| mac_address: !os_env ETH0_MAC_ADDRESS_GTW02 |
| - label: enp2s0f1 |
| mac_address: !os_env ETH1_MAC_ADDRESS_GTW02 |
| |
| network_config: |
| enp2s0f0: |
| networks: |
| - admin |
| bond0: |
| networks: |
| - control |
| aggregation: active-backup |
| parents: |
| - enp2s0f1 |