fuel-qa/gates_tests/devops_templates/default.yaml

236 lines
7.5 KiB
YAML

---
aliases:
dynamic_address_pool:
- &pool_default !os_env POOL_DEFAULT, 10.109.0.0/16:24
default_interface_model:
- &interface_model !os_env INTERFACE_MODEL, e1000
template:
devops_settings:
env_name: !os_env ENV_NAME
address_pools:
# Network pools used by the environment
fuelweb_admin-pool01:
net: *pool_default
params:
vlan_start: 0
# Reserved IP addresses.
# - 'l2_network_device' will be used as an IP address for creating
# libvirt network with assigned IP on it, if specified.
# - 'gateway' should be used in fuel-qa framework to get the gateway
# of the address pool. Can be different from libvirt IP address
# in case if a network already have another gateway.
# - all other IP addresses specified in the template can be used
# for different purposes in different test cases.
ip_reserved:
# Address of the gateway in the address pool fuelweb_admin-pool01.
# If string - than is used 'as is', as a real IP address
# If numeric - than assumed as a relative address
# from the start of the address pool.
gateway: +1
# Libvirt bridge will get this IP address
l2_network_device: +1
# IP ranges, reserved in the address pool.
# - 'default' IP range stands for 'default' nodegroup in Fuel.
# - any other IP range names such as 'floating' can be specified to
# provide a special IP ranges to configure cluster settings.
# For special test cases, several IP ranges can be configured here
# for different networks. Names of these ranges should be
# agreed for template and test cases.
ip_ranges:
# Relative or real IP addresses
default: [+2, -2] # admin IP range for 'default' nodegroup name
public-pool01:
net: *pool_default
params:
vlan_start: 0
ip_reserved:
gateway: +1
l2_network_device: +1 # l2_network_device will get this IP address
ip_ranges:
default: [+2, +127] # public IP range for 'default' nodegroup name
floating: [+128, -2]
storage-pool01:
net: *pool_default
params:
vlan_start: 101
management-pool01:
net: *pool_default
params:
vlan_start: 102
private-pool01:
net: *pool_default
params:
vlan_start: 960
vlan_end: 1000
groups:
- name: rack-01
driver:
name: devops.driver.libvirt
params:
connection_string: !os_env CONNECTION_STRING, qemu:///system
storage_pool_name: !os_env STORAGE_POOL_NAME, default
stp: True
hpet: False
use_host_cpu: !os_env DRIVER_USE_HOST_CPU, true
network_pools: # Address pools for OpenStack networks.
# Actual names should be used for keys
# (the same as in Nailgun, for example)
fuelweb_admin: fuelweb_admin-pool01
public: public-pool01
storage: storage-pool01
management: management-pool01
private: private-pool01
l2_network_devices: # Libvirt bridges. It is *NOT* Nailgun networks
admin:
address_pool: fuelweb_admin-pool01
dhcp: false
forward:
mode: nat
public:
address_pool: public-pool01
dhcp: false
forward:
mode: nat
storage:
address_pool: storage-pool01
dhcp: false
management:
address_pool: management-pool01
dhcp: false
private:
address_pool: private-pool01
dhcp: false
nodes:
- name: admin # Custom name of VM for Fuel admin node
role: fuel_master # Fixed role for Fuel master node properties
params:
vcpu: !os_env ADMIN_NODE_CPU, 2
memory: !os_env ADMIN_NODE_MEMORY, 3072
boot:
- hd
- cdrom # for boot from usb - without 'cdrom'
volumes:
- name: system
capacity: !os_env ADMIN_NODE_VOLUME_SIZE, 75
format: qcow2
- name: iso
source_image: !os_env ISO_PATH # if 'source_image' set, then volume capacity is calculated from it's size
format: raw
device: cdrom # for boot from usb - 'disk'
bus: ide # for boot from usb - 'usb'
interfaces:
- label: eth0
l2_network_device: admin # Libvirt bridge name. It is *NOT* a Nailgun network
interface_model: *interface_model
network_config:
eth0:
networks:
- fuelweb_admin
# Slave nodes
- name: slave-01
role: fuel_slave
params: &rack-01-slave-node-params
vcpu: !os_env SLAVE_NODE_CPU, 2
memory: !os_env SLAVE_NODE_MEMORY, 3072
boot:
- network
- hd
volumes:
- name: system
capacity: !os_env NODE_VOLUME_SIZE, 50
format: qcow2
- name: cinder
capacity: !os_env NODE_VOLUME_SIZE, 50
format: qcow2
- name: swift
capacity: !os_env NODE_VOLUME_SIZE, 50
format: qcow2
# List of node interfaces
interfaces:
- label: eth0
l2_network_device: admin # Libvirt bridge name. It is *NOT* Nailgun networks
interface_model: *interface_model
- label: eth1
l2_network_device: public
interface_model: *interface_model
- label: eth2
l2_network_device: storage
interface_model: *interface_model
- label: eth3
l2_network_device: management
interface_model: *interface_model
- label: eth4
l2_network_device: private
interface_model: *interface_model
# How Nailgun/OpenStack networks should assigned for interfaces
network_config:
eth0:
networks:
- fuelweb_admin # Nailgun/OpenStack network name
eth1:
networks:
- public
eth2:
networks:
- storage
eth3:
networks:
- management
eth4:
networks:
- private
- name: slave-02
role: fuel_slave
params: *rack-01-slave-node-params
- name: slave-03
role: fuel_slave
params: *rack-01-slave-node-params
- name: slave-04
role: fuel_slave
params: *rack-01-slave-node-params
- name: slave-05
role: fuel_slave
params: *rack-01-slave-node-params
- name: slave-06
role: fuel_slave
params: *rack-01-slave-node-params
- name: slave-07
role: fuel_slave
params: *rack-01-slave-node-params
- name: slave-08
role: fuel_slave
params: *rack-01-slave-node-params
- name: slave-09
role: fuel_slave
params: *rack-01-slave-node-params