blob: 6168b6e20d91b2710769d9306235c89bd320393b [file] [log] [blame]
# 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-cicd-k8s-calico') %}
{% set DOMAIN_NAME = os_env('DOMAIN_NAME', LAB_CONFIG_NAME + '.local') %}
{% set HOSTNAME_CFG01 = os_env('HOSTNAME_CFG01', 'cfg01.' + DOMAIN_NAME) %}
{% set HOSTNAME_CID01 = os_env('HOSTNAME_CID01', 'cid01.' + DOMAIN_NAME) %}
{% set HOSTNAME_CID02 = os_env('HOSTNAME_CID02', 'cid02.' + DOMAIN_NAME) %}
{% set HOSTNAME_CID03 = os_env('HOSTNAME_CID03', 'cid03.' + 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', 'cmp001.' + DOMAIN_NAME) %}
{% set HOSTNAME_CMP02 = os_env('HOSTNAME_CMP02', 'cmp002.' + DOMAIN_NAME) %}
{% set HOSTNAME_LOG01 = os_env('HOSTNAME_LOG01', 'log01.' + DOMAIN_NAME) %}
{% set HOSTNAME_LOG02 = os_env('HOSTNAME_LOG02', 'log02.' + DOMAIN_NAME) %}
{% set HOSTNAME_LOG03 = os_env('HOSTNAME_LOG03', 'log03.' + DOMAIN_NAME) %}
{% set HOSTNAME_MTR01 = os_env('HOSTNAME_MTR01', 'mtr01.' + DOMAIN_NAME) %}
{% set HOSTNAME_MTR02 = os_env('HOSTNAME_MTR02', 'mtr02.' + DOMAIN_NAME) %}
{% set HOSTNAME_MTR03 = os_env('HOSTNAME_MTR03', 'mtr03.' + DOMAIN_NAME) %}
{% set HOSTNAME_MON01 = os_env('HOSTNAME_MON01', 'mon01.' + DOMAIN_NAME) %}
{% set HOSTNAME_MON02 = os_env('HOSTNAME_MON02', 'mon02.' + DOMAIN_NAME) %}
{% set HOSTNAME_MON03 = os_env('HOSTNAME_MON03', 'mon03.' + DOMAIN_NAME) %}
{% set HOSTNAME_PRX01 = os_env('HOSTNAME_PRX01', 'prx01.' + 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) %}
{% import 'cookied-cicd-k8s-calico/underlay--meta-data.yaml' as CLOUDINIT_META_DATA with context %}
{% import 'cookied-cicd-k8s-calico/underlay--user-data-cfg01.yaml' as CLOUDINIT_USER_DATA_CFG01 with context %}
{% import 'cookied-cicd-k8s-calico/underlay--user-data1604.yaml' as CLOUDINIT_USER_DATA_1604 with context %}
{% import 'cookied-cicd-k8s-calico/underlay--user-data1604-swp.yaml' as CLOUDINIT_USER_DATA_1604_SWP 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_swp {{ CLOUDINIT_USER_DATA_1604_SWP }}
template:
devops_settings:
env_name: {{ os_env('ENV_NAME', LAB_CONFIG_NAME + '_' + 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:
gateway: +1
l2_network_device: +1
default_{{ HOSTNAME_CFG01 }}: +15
default_{{ HOSTNAME_CID }}: +90
default_{{ HOSTNAME_CID01 }}: +91
default_{{ HOSTNAME_CID02 }}: +92
default_{{ HOSTNAME_CID03 }}: +93
ip_ranges:
dhcp: [+90, -10]
admin-pool01:
net: {{ os_env('ADMIN_ADDRESS_POOL01', '10.70.0.0/16:24') }}
params:
ip_reserved:
gateway: +1
l2_network_device: +1
default_{{ HOSTNAME_CFG01 }}: +15
default_{{ HOSTNAME_CID }}: +90
default_{{ HOSTNAME_CID01 }}: +91
default_{{ HOSTNAME_CID02 }}: +92
default_{{ HOSTNAME_CID03 }}: +93
default_{{ HOSTNAME_CTL }}: +10
default_{{ HOSTNAME_CTL01 }}: +11
default_{{ HOSTNAME_CTL02 }}: +12
default_{{ HOSTNAME_CTL03 }}: +13
default_{{ HOSTNAME_CMP01 }}: +101
default_{{ HOSTNAME_CMP02 }}: +102
default_{{ HOSTNAME_LOG }}: +60
default_{{ HOSTNAME_LOG01 }}: +61
default_{{ HOSTNAME_LOG02 }}: +62
default_{{ HOSTNAME_LOG03 }}: +63
default_{{ HOSTNAME_MON }}: +70
default_{{ HOSTNAME_MON01 }}: +71
default_{{ HOSTNAME_MON02 }}: +72
default_{{ HOSTNAME_MON03 }}: +73
default_{{ HOSTNAME_MTR }}: +85
default_{{ HOSTNAME_MTR01 }}: +86
default_{{ HOSTNAME_MTR02 }}: +87
default_{{ HOSTNAME_MTR03 }}: +88
default_{{ HOSTNAME_PRX01 }}: +222
default_{{ HOSTNAME_KVM }}: +240
default_{{ HOSTNAME_KVM01 }}: +241
default_{{ HOSTNAME_KVM02 }}: +242
default_{{ HOSTNAME_KVM03 }}: +243
ip_ranges:
dhcp: [+90, -10]
tenant-pool01:
net: {{ os_env('TENANT_ADDRESS_POOL01', '10.80.0.0/16:24') }}
params:
ip_reserved:
gateway: +1
l2_network_device: +1
default_{{ HOSTNAME_CFG01 }}: +15
default_{{ HOSTNAME_CID }}: +90
default_{{ HOSTNAME_CID01 }}: +91
default_{{ HOSTNAME_CID02 }}: +92
default_{{ HOSTNAME_CID03 }}: +93
ip_ranges:
dhcp: [+10, -10]
external-pool01:
net: {{ os_env('EXTERNAL_ADDRESS_POOL01', '10.90.0.0/16:24') }}
params:
ip_reserved:
gateway: +1
l2_network_device: +1
default_{{ HOSTNAME_CFG01 }}: +15
default_{{ HOSTNAME_CID }}: +90
default_{{ HOSTNAME_CID01 }}: +91
default_{{ HOSTNAME_CID02 }}: +92
default_{{ HOSTNAME_CID03 }}: +93
ip_ranges:
dhcp: [+10, -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:
admin:
address_pool: admin-pool01
dhcp: true
forward:
mode: nat
private:
address_pool: private-pool01
dhcp: false
forward:
mode: route
external:
address_pool: external-pool01
dhcp: false
forward:
mode: nat
group_volumes:
- name: cfg01_day01_image # Pre-configured day01 image
source_image: {{ os_env('IMAGE_PATH_CFG01_DAY01') }} # http://images.mirantis.com/cfg01-day01.qcow2 or fallback to IMAGE_PATH1604
format: qcow2
- name: mcp_ubuntu_1604_image # Pre-configured image for VCP nodes initially based on kvm nodes.
# http://images.mirantis.com/ubuntu-16-04-x64-latest.qcow2 (preffered)
# or
# https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
source_image: {{ os_env('MCP_IMAGE_PATH1604') }}
format: qcow2
nodes:
- name: {{ HOSTNAME_CFG01 }}
role: salt_master
params:
vcpu: {{ os_env('CFG_NODE_CPU', 3) }}
memory: {{ os_env('CFG_NODE_MEMORY', 8192) }}
boot:
- hd
cloud_init_volume_name: iso
cloud_init_iface_up: ens3
volumes:
- name: system
capacity: {{ os_env('CFG_NODE_VOLUME_SIZE', 150) }}
backing_store: cfg01_day01_image
format: qcow2
- name: config
capacity: 1
format: raw
device: cdrom
bus: ide
# source_image: !os_env CFG01_CONFIG_PATH # no source image required.
# it will be uploaded after config drive generation
- 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_KVM01 }}
role: salt_minion
params:
vcpu: {{ os_env('KVM_NODE_CPU', 1) }}
memory: {{ os_env('KVM_NODE_MEMORY', 1024) }}
boot:
- hd
cloud_init_volume_name: iso
cloud_init_iface_up: ens3
volumes:
- name: system
capacity: {{ os_env('KVM_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_swp
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_KVM02 }}
role: salt_minion
params:
vcpu: {{ os_env('KVM_NODE_CPU', 1) }}
memory: {{ os_env('KVM_NODE_MEMORY', 1024) }}
boot:
- hd
cloud_init_volume_name: iso
cloud_init_iface_up: ens3
volumes:
- name: system
capacity: {{ os_env('KVM_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_swp
interfaces: *interfaces
network_config: *network_config
- name: {{ HOSTNAME_KVM03 }}
role: salt_minion
params:
vcpu: {{ os_env('KVM_NODE_CPU', 1) }}
memory: {{ os_env('KVM_NODE_MEMORY', 1024) }}
boot:
- hd
cloud_init_volume_name: iso
cloud_init_iface_up: ens3
volumes:
- name: system
capacity: {{ os_env('KVM_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_swp
interfaces: *interfaces
network_config: *network_config
- name: {{ HOSTNAME_CID01 }}
role: salt_minion
params:
vcpu: {{ os_env('CID_NODE_CPU', 3) }}
memory: {{ os_env('CID_NODE_MEMORY', 8192) }}
boot:
- hd
cloud_init_volume_name: iso
cloud_init_iface_up: ens3
volumes:
- name: system
capacity: {{ os_env('CID_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_swp
interfaces: *interfaces
network_config: *network_config
- name: {{ HOSTNAME_CID02 }}
role: salt_minion
params:
vcpu: {{ os_env('CID_NODE_CPU', 3) }}
memory: {{ os_env('CID_NODE_MEMORY', 8192) }}
boot:
- hd
cloud_init_volume_name: iso
cloud_init_iface_up: ens3
volumes:
- name: system
capacity: {{ os_env('CID_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_swp
interfaces: *interfaces
network_config: *network_config
- name: {{ HOSTNAME_CID03 }}
role: salt_minion
params:
vcpu: {{ os_env('CID_NODE_CPU', 3) }}
memory: {{ os_env('CID_NODE_MEMORY', 8192) }}
boot:
- hd
cloud_init_volume_name: iso
cloud_init_iface_up: ens3
volumes:
- name: system
capacity: {{ os_env('CID_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_swp
interfaces: *interfaces
network_config: *network_config
- name: {{ HOSTNAME_CTL01 }}
role: k8s_controller
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: 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_CTL02 }}
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: 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, 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: 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_CMP01 }}
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_CMP02 }}
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