Extends system tests to use devops template
Runtime changing of yaml config via environment variable use !os_env Add validator for unique file name of yaml config file. We should have unique file names in system_test/tests_templates/tests_configs Yaml configuration compiled only when test started, than increase creation speed of test plan and improve isolation of config files Using name of yaml file for link config and test case instead of the test-group node in yaml file before Add several types of group names: case_group.CONFIG case_gorup(CONFIG) case_gorup[CONFIG] case_gorup{CONFIG} Add default devops template system_test/tests_templates/devops_configs/default.yaml Use devops config in ceph_all_on_neutron_vlan.yaml Implements blueprint template-based-testcases Change-Id: Ib5ae4126041b2aad059199e93d0c78457125b1fe
This commit is contained in:
parent
f04c277064
commit
06a6405c00
|
@ -58,10 +58,12 @@ class EnvironmentModel(object):
|
|||
return cls._instance
|
||||
|
||||
def __init__(self):
|
||||
if not hasattr(self, "_virtual_environment"):
|
||||
self._virtual_environment = None
|
||||
if not hasattr(self, "_virt_env"):
|
||||
self._virt_env = None
|
||||
if not hasattr(self, "_fuel_web"):
|
||||
self._fuel_web = None
|
||||
if not hasattr(self, "_config"):
|
||||
self._config = None
|
||||
|
||||
@property
|
||||
def fuel_web(self):
|
||||
|
@ -215,14 +217,23 @@ class EnvironmentModel(object):
|
|||
|
||||
@property
|
||||
def d_env(self):
|
||||
if self._virtual_environment is None:
|
||||
try:
|
||||
return Environment.get(name=settings.ENV_NAME)
|
||||
except Exception:
|
||||
self._virtual_environment = Environment.describe_environment(
|
||||
boot_from=settings.ADMIN_BOOT_DEVICE)
|
||||
self._virtual_environment.define()
|
||||
return self._virtual_environment
|
||||
if self._virt_env is None:
|
||||
if not self._config:
|
||||
try:
|
||||
return Environment.get(name=settings.ENV_NAME)
|
||||
except Exception:
|
||||
self._virt_env = Environment.describe_environment(
|
||||
boot_from=settings.ADMIN_BOOT_DEVICE)
|
||||
self._virt_env.define()
|
||||
else:
|
||||
try:
|
||||
return Environment.get(name=self._config[
|
||||
'template']['devops_settings']['env_name'])
|
||||
except Exception:
|
||||
self._virt_env = Environment.create_environment(
|
||||
full_config=self._config)
|
||||
self._virt_env.define()
|
||||
return self._virt_env
|
||||
|
||||
def resume_environment(self):
|
||||
self.d_env.resume()
|
||||
|
|
|
@ -33,37 +33,103 @@ def copy_func(f, name=None):
|
|||
return fn
|
||||
|
||||
|
||||
def load_yaml_files(path):
|
||||
def get_list_confignames(filelist):
|
||||
"""Get list of config name from file list"""
|
||||
return map(get_configname, filelist)
|
||||
|
||||
|
||||
def get_configname(path):
|
||||
"""Get config name from path to yaml file"""
|
||||
return os.path.splitext(os.path.basename(path))[0]
|
||||
|
||||
|
||||
def get_path_to_config():
|
||||
"""Find path to directory with config files"""
|
||||
import system_test
|
||||
return os.path.join(os.path.dirname(system_test.__file__),
|
||||
'tests_templates/tests_configs')
|
||||
|
||||
|
||||
def get_path_to_template():
|
||||
"""Find path to directory with templates files"""
|
||||
import system_test
|
||||
return os.path.join(os.path.dirname(system_test.__file__),
|
||||
'tests_templates')
|
||||
|
||||
|
||||
def collect_yamls(path):
|
||||
"""Walk through config directory and find all yaml files"""
|
||||
ret = []
|
||||
for r, d, f in os.walk(path):
|
||||
for one in f:
|
||||
if os.path.splitext(one)[1] in ('.yaml', '.yml'):
|
||||
ret.append(os.path.join(r, one))
|
||||
return ret
|
||||
|
||||
|
||||
def load_yaml(path):
|
||||
"""Load yaml file from path"""
|
||||
def yaml_include(loader, node):
|
||||
file_name = os.path.join(os.path.dirname(loader.name), node.value)
|
||||
with file(file_name) as inputfile:
|
||||
return yaml.load(inputfile)
|
||||
file_name = os.path.join(get_path_to_template(), node.value)
|
||||
if not os.path.isfile(file_name):
|
||||
raise ValueError(
|
||||
"Cannot load the template {0} : include file {1} "
|
||||
"doesn't exist.".format(path, file_name))
|
||||
return yaml.load(open(file_name))
|
||||
|
||||
def collect_yamls(path):
|
||||
ret = []
|
||||
for n in os.listdir(path):
|
||||
n = "{}/{}".format(path, n)
|
||||
if os.path.isdir(n):
|
||||
ret.extend(collect_yamls(n))
|
||||
else:
|
||||
ret.append(n)
|
||||
return ret
|
||||
def yaml_get_env_variable(loader, node):
|
||||
if not node.value.strip():
|
||||
raise ValueError("Environment variable is required after {tag} in "
|
||||
"{filename}".format(tag=node.tag,
|
||||
filename=loader.name))
|
||||
node_value = node.value.split(',', 1)
|
||||
# Get the name of environment variable
|
||||
env_variable = node_value[0].strip()
|
||||
|
||||
# Get the default value for environment variable if it exists in config
|
||||
if len(node_value) > 1:
|
||||
default_val = node_value[1].strip()
|
||||
else:
|
||||
default_val = None
|
||||
|
||||
value = os.environ.get(env_variable, default_val)
|
||||
if value is None:
|
||||
raise ValueError("Environment variable {var} is not set from shell"
|
||||
" environment! No default value provided in file "
|
||||
"{filename}".format(var=env_variable,
|
||||
filename=loader.name))
|
||||
|
||||
return yaml.load(value)
|
||||
|
||||
yamls = collect_yamls(path)
|
||||
yaml.add_constructor("!include", yaml_include)
|
||||
return [yaml.load(open(y)) for y in yamls]
|
||||
yaml.add_constructor("!os_env", yaml_get_env_variable)
|
||||
|
||||
return yaml.load(open(path))
|
||||
|
||||
|
||||
def find_duplicates(yamls):
|
||||
dup = {}
|
||||
for one in yamls:
|
||||
name = os.path.basename(one)
|
||||
if name in dup:
|
||||
dup[name].append(one)
|
||||
else:
|
||||
dup[name] = [one]
|
||||
return {k: v for k, v in dup.iteritems() if len(v) > 1}
|
||||
|
||||
|
||||
def get_configs():
|
||||
"""Return list of dict environment configurations"""
|
||||
import system_test
|
||||
path = os.path.join(os.path.dirname(system_test.__file__),
|
||||
'tests_templates/tests_configs')
|
||||
return load_yaml_files(path)
|
||||
yamls = collect_yamls(get_path_to_config())
|
||||
dup = find_duplicates(yamls)
|
||||
if dup:
|
||||
raise NameError(
|
||||
"Found duplicate files in templates. "
|
||||
"Name of template should be unique. Errors: {}".format(dup))
|
||||
return {get_configname(y): y for y in yamls}
|
||||
|
||||
|
||||
def case_factory(baseclass):
|
||||
"""Return list of instance """
|
||||
configs = get_configs()
|
||||
return [baseclass.caseclass_factory(
|
||||
c['template']['group-name'])(c) for c in configs]
|
||||
return [baseclass.caseclass_factory(g)(c) for g, c in configs.iteritems()]
|
||||
|
|
|
@ -27,21 +27,36 @@ from system_test.helpers.decorators import make_snapshot_if_step_fail
|
|||
from system_test.helpers.decorators import deferred_decorator
|
||||
from system_test.helpers.decorators import action
|
||||
from system_test.helpers.decorators import nested_action
|
||||
from system_test.helpers.utils import load_yaml
|
||||
|
||||
|
||||
class PrepareBase(base_actions_factory.BaseActionsFactory):
|
||||
"""Base class with prepare actions
|
||||
|
||||
_action_setup_master - setup master node in environment
|
||||
_action_config_release - preconfig releases if it needs
|
||||
_action_make_slaves - boot slaves and snapshot environment with
|
||||
bootstrapped slaves
|
||||
_action_revert_slaves - revert environment with bootstrapped slaves
|
||||
_start_case - runned before test case start
|
||||
_finish_case - runned after test case finish
|
||||
setup_master - setup master node in environment
|
||||
config_release - preconfig releases if it needs
|
||||
make_slaves - boot slaves and snapshot environment with bootstrapped slaves
|
||||
revert_slaves - revert environment with bootstrapped slaves
|
||||
|
||||
"""
|
||||
|
||||
def _load_config(self):
|
||||
config = load_yaml(self.config_file)
|
||||
self.full_config = config
|
||||
self.env_config = config[
|
||||
'template']['cluster_template']
|
||||
self.env_settings = config[
|
||||
'template']['cluster_template']['settings']
|
||||
self.config_name = config['template']['name']
|
||||
|
||||
if 'devops_settings' in config['template']:
|
||||
self.env._config = config
|
||||
|
||||
def _start_case(self):
|
||||
"""Start test case"""
|
||||
self._load_config()
|
||||
class_doc = getattr(self, "__doc__", self.__class__.__name__)
|
||||
name = class_doc.splitlines()[0]
|
||||
class_scenario = class_doc.splitlines()[1:]
|
||||
|
@ -158,12 +173,9 @@ class ActionsBase(PrepareBase):
|
|||
base_group = None
|
||||
actions_order = None
|
||||
|
||||
def __init__(self, config=None):
|
||||
def __init__(self, config_file=None):
|
||||
super(ActionsBase, self).__init__()
|
||||
self.full_config = config
|
||||
self.env_config = config['template']['cluster-template']
|
||||
self.env_settings = config['template']['cluster-template']['settings']
|
||||
self.config_name = config['template']['name']
|
||||
self.config_file = config_file
|
||||
self.cluster_id = None
|
||||
|
||||
@deferred_decorator([make_snapshot_if_step_fail])
|
||||
|
|
|
@ -120,6 +120,9 @@ class BaseActionsFactory(base_test_case.TestBasic):
|
|||
|
||||
# Generate test case groups
|
||||
groups = ['{}.{}'.format(g, case_group) for g in cls.base_group]
|
||||
groups += ['{}({})'.format(g, case_group) for g in cls.base_group]
|
||||
groups += ['{}[{}]'.format(g, case_group) for g in cls.base_group]
|
||||
groups += ['{}{{{}}}'.format(g, case_group) for g in cls.base_group]
|
||||
groups = cls.base_group + groups
|
||||
|
||||
# Generate test case docstring
|
||||
|
|
|
@ -39,8 +39,7 @@ class DeployCheckRadosGW(actions_base.ActionsBase):
|
|||
"""
|
||||
|
||||
base_group = ['system_test',
|
||||
'system_test.deploy_and_check_radosgw',
|
||||
'system_test.bvt_2']
|
||||
'system_test.deploy_and_check_radosgw']
|
||||
actions_order = [
|
||||
'setup_master',
|
||||
'config_release',
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
---
|
||||
- eth0:
|
||||
- admin
|
||||
- public
|
||||
- managment
|
||||
- storage
|
||||
- private
|
|
@ -1,18 +1,14 @@
|
|||
---
|
||||
- roles:
|
||||
- controller
|
||||
iface: !include ../_default_ifaces.yaml
|
||||
count: 1
|
||||
- roles:
|
||||
- compute
|
||||
iface: !include ../_default_ifaces.yaml
|
||||
count: 1
|
||||
- roles:
|
||||
- cinder
|
||||
- mongo
|
||||
iface: !include ../_default_ifaces.yaml
|
||||
count: 1
|
||||
- roles:
|
||||
- ceph-osd
|
||||
iface: !include ../_default_ifaces.yaml
|
||||
count: 2
|
||||
|
|
|
@ -1,11 +1,9 @@
|
|||
---
|
||||
- roles:
|
||||
- controller
|
||||
ifaces: !include ../_default_ifaces.yaml
|
||||
count: 3
|
||||
- roles:
|
||||
- compute
|
||||
- ceph-osd
|
||||
ifaces: !include ../_default_ifaces.yaml
|
||||
count: 3
|
||||
|
||||
|
|
|
@ -2,11 +2,9 @@
|
|||
- roles:
|
||||
- controller
|
||||
- mongo
|
||||
ifaces: !include ../_default_ifaces.yaml
|
||||
count: 3
|
||||
- roles:
|
||||
- compute
|
||||
- ceph-osd
|
||||
ifaces: !include ../_default_ifaces.yaml
|
||||
count: 3
|
||||
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
---
|
||||
- roles:
|
||||
- controller
|
||||
iface: !include ../_default_ifaces.yaml
|
||||
count: 1
|
||||
- roles:
|
||||
- compute
|
||||
iface: !include ../_default_ifaces.yaml
|
||||
count: 1
|
||||
|
|
|
@ -1,14 +1,11 @@
|
|||
---
|
||||
- roles:
|
||||
- controller
|
||||
iface: !include ../_default_ifaces.yaml
|
||||
count: 1
|
||||
- roles:
|
||||
- compute
|
||||
iface: !include ../_default_ifaces.yaml
|
||||
count: 1
|
||||
- roles:
|
||||
- cinder
|
||||
iface: !include ../_default_ifaces.yaml
|
||||
count: 1
|
||||
|
||||
|
|
|
@ -1,17 +1,13 @@
|
|||
---
|
||||
- roles:
|
||||
- controller
|
||||
iface: !include ../_default_ifaces.yaml
|
||||
count: 1
|
||||
- roles:
|
||||
- compute
|
||||
iface: !include ../_default_ifaces.yaml
|
||||
count: 1
|
||||
- roles:
|
||||
- cinder
|
||||
iface: !include ../_default_ifaces.yaml
|
||||
count: 1
|
||||
- roles:
|
||||
- ceph-osd
|
||||
iface: !include ../_default_ifaces.yaml
|
||||
count: 3
|
||||
|
|
|
@ -1,17 +1,13 @@
|
|||
---
|
||||
- roles:
|
||||
- controller
|
||||
iface: !include ../_default_ifaces.yaml
|
||||
count: 1
|
||||
- roles:
|
||||
- compute
|
||||
iface: !include ../_default_ifaces.yaml
|
||||
count: 1
|
||||
- roles:
|
||||
- ceph-osd
|
||||
iface: !include ../_default_ifaces.yaml
|
||||
count: 3
|
||||
- roles:
|
||||
- mongo
|
||||
iface: !include ../_default_ifaces.yaml
|
||||
count: 1
|
||||
|
|
|
@ -1,21 +1,16 @@
|
|||
---
|
||||
- roles:
|
||||
- controller
|
||||
iface: !include ../_default_ifaces.yaml
|
||||
count: 1
|
||||
- roles:
|
||||
- compute
|
||||
iface: !include ../_default_ifaces.yaml
|
||||
count: 2
|
||||
- roles:
|
||||
- cinder
|
||||
iface: !include ../_default_ifaces.yaml
|
||||
count: 1
|
||||
- roles:
|
||||
- ceph-osd
|
||||
iface: !include ../_default_ifaces.yaml
|
||||
count: 3
|
||||
- roles:
|
||||
- mongo
|
||||
iface: !include ../_default_ifaces.yaml
|
||||
count: 1
|
||||
|
|
|
@ -1,14 +1,11 @@
|
|||
---
|
||||
- roles:
|
||||
- controller
|
||||
iface: !include ../_default_ifaces.yaml
|
||||
count: 3
|
||||
- roles:
|
||||
- compute
|
||||
iface: !include ../_default_ifaces.yaml
|
||||
count: 1
|
||||
- roles:
|
||||
- cinder
|
||||
iface: !include ../_default_ifaces.yaml
|
||||
count: 1
|
||||
|
||||
|
|
|
@ -1,14 +1,11 @@
|
|||
---
|
||||
- roles:
|
||||
- controller
|
||||
iface: !include ../_default_ifaces.yaml
|
||||
count: 3
|
||||
- roles:
|
||||
- compute
|
||||
iface: !include ../_default_ifaces.yaml
|
||||
count: 2
|
||||
- roles:
|
||||
- cinder
|
||||
iface: !include ../_default_ifaces.yaml
|
||||
count: 1
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
storages:
|
||||
!include storages/cephImgVolRados.yaml
|
||||
!include cluster_configs/settings/storages/cephImgVolRados.yaml
|
||||
components:
|
||||
!include components/wo_components.yaml
|
||||
!include cluster_configs/settings/components/wo_components.yaml
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
storages:
|
||||
!include storages/cephImgVolRados.yaml
|
||||
!include cluster_configs/settings/storages/cephImgVolRados.yaml
|
||||
components:
|
||||
!include components/ceilometer.yaml
|
||||
!include cluster_configs/settings/components/ceilometer.yaml
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
storages:
|
||||
!include storages/cephImgVol.yaml
|
||||
!include cluster_configs/settings/storages/cephImgVol.yaml
|
||||
components:
|
||||
!include components/ceilometer.yaml
|
||||
!include cluster_configs/settings/components/ceilometer.yaml
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
storages:
|
||||
!include storages/cephImgVol.yaml
|
||||
!include cluster_configs/settings/storages/cephImgVol.yaml
|
||||
components:
|
||||
!include components/ceilometer_sahara.yaml
|
||||
!include cluster_configs/settings/components/ceilometer_sahara.yaml
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
storages:
|
||||
!include storages/cephImgVol.yaml
|
||||
!include cluster_configs/settings/storages/cephImgVol.yaml
|
||||
components:
|
||||
!include components/wo_components.yaml
|
||||
!include cluster_configs/settings/components/wo_components.yaml
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
storages:
|
||||
!include storages/cinder_only.yaml
|
||||
!include cluster_configs/settings/storages/cinder_only.yaml
|
||||
components:
|
||||
!include components/ceilometer.yaml
|
||||
!include cluster_configs/settings/components/ceilometer.yaml
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
storages:
|
||||
!include storages/cinder_cephImgRados.yaml
|
||||
!include cluster_configs/settings/storages/cinder_cephImgRados.yaml
|
||||
components:
|
||||
!include components/ceilometer.yaml
|
||||
!include cluster_configs/settings/components/ceilometer.yaml
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
storages:
|
||||
!include storages/cinder_cephImgRados.yaml
|
||||
!include cluster_configs/settings/storages/cinder_cephImgRados.yaml
|
||||
components:
|
||||
!include components/wo_components.yaml
|
||||
!include cluster_configs/settings/components/wo_components.yaml
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
storages:
|
||||
!include storages/cinder_cephImg.yaml
|
||||
!include cluster_configs/settings/storages/cinder_cephImg.yaml
|
||||
components:
|
||||
!include components/ceilometer.yaml
|
||||
!include cluster_configs/settings/components/ceilometer.yaml
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
storages:
|
||||
!include storages/cinder_only.yaml
|
||||
!include cluster_configs/settings/storages/cinder_only.yaml
|
||||
components:
|
||||
!include components/sahara.yaml
|
||||
!include cluster_configs/settings/components/sahara.yaml
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
storages:
|
||||
!include storages/cinder_only.yaml
|
||||
!include cluster_configs/settings/storages/cinder_only.yaml
|
||||
components:
|
||||
!include components/wo_components.yaml
|
||||
!include cluster_configs/settings/components/wo_components.yaml
|
||||
|
|
|
@ -0,0 +1,180 @@
|
|||
---
|
||||
aliases:
|
||||
|
||||
dynamic_address_pool:
|
||||
- &pool_default !os_env POOL_DEFAULT, 10.109.0.0/16:24
|
||||
|
||||
rack-01-slave-interfaces: &rack-01-slave-interfaces
|
||||
- label: eth0
|
||||
l2_network_device: admin # Libvirt bridge name. It is *NOT* Nailgun networks
|
||||
- label: eth1
|
||||
l2_network_device: public
|
||||
- label: eth2
|
||||
l2_network_device: storage
|
||||
- label: eth3
|
||||
l2_network_device: management
|
||||
- label: eth4
|
||||
l2_network_device: private
|
||||
|
||||
rack-01-slave-network_config: &rack-01-slave-network_config
|
||||
eth0:
|
||||
networks:
|
||||
- fuelweb_admin
|
||||
eth1:
|
||||
networks:
|
||||
- public
|
||||
eth2:
|
||||
networks:
|
||||
- storage
|
||||
eth3:
|
||||
networks:
|
||||
- management
|
||||
eth4:
|
||||
networks:
|
||||
- private
|
||||
|
||||
rack-01-slave-node-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, 55
|
||||
format: qcow2
|
||||
- name: cinder
|
||||
capacity: !os_env NODE_VOLUME_SIZE, 55
|
||||
format: qcow2
|
||||
- name: swift
|
||||
capacity: !os_env NODE_VOLUME_SIZE, 55
|
||||
format: qcow2
|
||||
interfaces: *rack-01-slave-interfaces
|
||||
network_config: *rack-01-slave-network_config
|
||||
|
||||
|
||||
env_name: !os_env ENV_NAME
|
||||
|
||||
address_pools:
|
||||
# Network pools used by the environment
|
||||
fuelweb_admin-pool01:
|
||||
net: *pool_default
|
||||
params:
|
||||
tag: 0
|
||||
public-pool01:
|
||||
net: *pool_default
|
||||
params:
|
||||
tag: 0
|
||||
storage-pool01:
|
||||
net: *pool_default
|
||||
params:
|
||||
tag: 101
|
||||
management-pool01:
|
||||
net: *pool_default
|
||||
params:
|
||||
tag: 102
|
||||
private-pool01:
|
||||
net: *pool_default
|
||||
params:
|
||||
tag: 103
|
||||
|
||||
groups:
|
||||
- name: rack-01
|
||||
driver:
|
||||
name: devops.driver.libvirt.libvirt_driver
|
||||
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, 80
|
||||
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
|
||||
network_config:
|
||||
eth0:
|
||||
networks:
|
||||
- fuelweb_admin
|
||||
|
||||
- name: slave-01
|
||||
role: fuel_slave
|
||||
params: *rack-01-slave-node-params
|
||||
- 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
|
||||
|
|
@ -1,14 +1,13 @@
|
|||
---
|
||||
template:
|
||||
name: 3 Controller and mongo, 3 Compute & Ceph on Neutron/TUN with Ceilometer
|
||||
group-name: 3ctrl_mongo_3comp_ceph_neutronTUN_ceilo
|
||||
slaves: 6
|
||||
cluster-template:
|
||||
cluster_template:
|
||||
name: CephImgVolRados
|
||||
release: ubuntu
|
||||
network:
|
||||
!include ../cluster_configs/networks/neutron_tun.yaml
|
||||
!include cluster_configs/networks/neutron_tun.yaml
|
||||
settings:
|
||||
!include ../cluster_configs/settings/cephVolImgRados_ceilometer.yaml
|
||||
!include cluster_configs/settings/cephVolImgRados_ceilometer.yaml
|
||||
nodes:
|
||||
!include ../cluster_configs/nodes/mixed/3ctrl_mongo_3comp_ceph.yaml
|
||||
!include cluster_configs/nodes/mixed/3ctrl_mongo_3comp_ceph.yaml
|
||||
|
|
|
@ -12,30 +12,20 @@ storages-config: &storages-config
|
|||
ephemeral-ceph: false
|
||||
replica-ceph: 2
|
||||
|
||||
nodes-ifaces: &iface-config
|
||||
- eth0:
|
||||
- admin
|
||||
- public
|
||||
- managment
|
||||
- storage
|
||||
- private
|
||||
|
||||
nodes: &nodes
|
||||
- roles:
|
||||
- controller
|
||||
# iface: *iface-config
|
||||
count: 3
|
||||
- roles:
|
||||
- compute
|
||||
- ceph-osd
|
||||
# iface: *iface-config
|
||||
count: 3
|
||||
|
||||
template:
|
||||
name: 3 Controller, 3 Compute & Ceph on Neutron/VLAN
|
||||
group-name: 3ctrl_3comp_ceph_neutronVLAN
|
||||
slaves: 6
|
||||
cluster-template: &environment-config
|
||||
devops_settings: !include devops_configs/default.yaml
|
||||
cluster_template: &environment-config
|
||||
name: rados
|
||||
release: ubuntu
|
||||
settings:
|
||||
|
|
|
@ -13,33 +13,21 @@ storages-config: &storages-config
|
|||
rados-ceph: false
|
||||
replica-ceph: 2
|
||||
|
||||
nodes-ifaces: &iface-config
|
||||
- eth0:
|
||||
- admin
|
||||
- public
|
||||
- managment
|
||||
- storage
|
||||
- private
|
||||
|
||||
nodes: &nodes
|
||||
- roles:
|
||||
- controller
|
||||
# iface: *iface-config
|
||||
count: 1
|
||||
- roles:
|
||||
- compute
|
||||
# iface: *iface-config
|
||||
count: 1
|
||||
- roles:
|
||||
- cinder
|
||||
# iface: *iface-config
|
||||
count: 1
|
||||
|
||||
template:
|
||||
name: 1 Controller, 1 Compute, 1 Cinder on Neutron/VLAN
|
||||
group-name: 1ctrl_1comp_1cinder_neutronVLAN
|
||||
slaves: 3
|
||||
cluster-template: &environment-config
|
||||
cluster_template: &environment-config
|
||||
name: env1
|
||||
release: ubuntu
|
||||
settings:
|
||||
|
|
|
@ -1,14 +1,13 @@
|
|||
---
|
||||
template:
|
||||
name: 1 Controller + Ceph, 2 Controller, 1 Compute, 1 Compute + Ceph on Neutron/VLAN
|
||||
group-name: 1ctrl_ceph_2ctrl_1comp_1comp_ceph_neutronVLAN
|
||||
slaves: 5
|
||||
cluster-template:
|
||||
cluster_template:
|
||||
name: HAwithCinderNeutronVLAN
|
||||
release: ubuntu
|
||||
network:
|
||||
!include ../../../cluster_configs/networks/neutron_vlan.yaml
|
||||
!include cluster_configs/networks/neutron_vlan.yaml
|
||||
settings:
|
||||
!include ../../../cluster_configs/settings/cephVolImg_wo_components.yaml
|
||||
!include cluster_configs/settings/cephVolImg_wo_components.yaml
|
||||
nodes:
|
||||
!include ../../../cluster_configs/nodes/single/3ctrl_2comp_1cndr.yaml
|
||||
!include cluster_configs/nodes/single/3ctrl_2comp_1cndr.yaml
|
||||
|
|
|
@ -1,14 +1,13 @@
|
|||
---
|
||||
template:
|
||||
name: 3 Controller, 2 Compute, 1 Cinder Neutron/VLAN
|
||||
group-name: 3ctrl_2comp_1cndr_neutronVLAN
|
||||
slaves: 6
|
||||
cluster-template:
|
||||
cluster_template:
|
||||
name: HAwithCinderNeutronVLAN
|
||||
release: ubuntu
|
||||
network:
|
||||
!include ../../../cluster_configs/networks/neutron_vlan.yaml
|
||||
!include cluster_configs/networks/neutron_vlan.yaml
|
||||
settings:
|
||||
!include ../../../cluster_configs/settings/cinder_wo_componets.yaml
|
||||
!include cluster_configs/settings/cinder_wo_componets.yaml
|
||||
nodes:
|
||||
!include ../../../cluster_configs/nodes/single/3ctrl_2comp_1cndr.yaml
|
||||
!include cluster_configs/nodes/single/3ctrl_2comp_1cndr.yaml
|
||||
|
|
|
@ -2,14 +2,13 @@
|
|||
template:
|
||||
name: 1 Controller, 1 Compute, 1 Cinder and Mongo, 2 Ceph on Neutron/VLAN use Ceph Image and Rados with Ceilometer
|
||||
testrail: https://mirantis.testrail.com/index.php?/cases/view/375025
|
||||
group-name: 1ctrl_1comp_1cndr_mongo_2ceph_neutronVLAN_CephImgRados_ceilometer
|
||||
slaves: 5
|
||||
cluster-template:
|
||||
cluster_template:
|
||||
name: SimpleCinderMongoCephImgRadosCeiloNeutronVLAN
|
||||
release: ubuntu
|
||||
network:
|
||||
!include ../../../cluster_configs/networks/neutron_vlan.yaml
|
||||
!include cluster_configs/networks/neutron_vlan.yaml
|
||||
settings:
|
||||
!include ../../../cluster_configs/settings/cinder_cephImgRados_ceilometer.yaml
|
||||
!include cluster_configs/settings/cinder_cephImgRados_ceilometer.yaml
|
||||
nodes:
|
||||
!include ../../../cluster_configs/nodes/mixed/1ctrl_1comp_1cndr_mongo_2ceph.yaml
|
||||
!include cluster_configs/nodes/mixed/1ctrl_1comp_1cndr_mongo_2ceph.yaml
|
||||
|
|
|
@ -1,14 +1,13 @@
|
|||
---
|
||||
template:
|
||||
name: 1 Controller, 1 Compute, 1 Cinder, 3 Ceph on Neutron/VLAN use Ceph Image and Rados
|
||||
group-name: 1ctrl_1comp_1cndr_3ceph_neutronVLAN_cephImgRados
|
||||
slaves: 6
|
||||
cluster-template:
|
||||
cluster_template:
|
||||
name: SimpleCinderCephImgRadosNeutronVLAN
|
||||
release: ubuntu
|
||||
network:
|
||||
!include ../../../cluster_configs/networks/neutron_vlan.yaml
|
||||
!include cluster_configs/networks/neutron_vlan.yaml
|
||||
settings:
|
||||
!include ../../../cluster_configs/settings/cinder_cephImgRados_wo_components.yaml
|
||||
!include cluster_configs/settings/cinder_cephImgRados_wo_components.yaml
|
||||
nodes:
|
||||
!include ../../../cluster_configs/nodes/single/1ctrl_1comp_1cndr_3ceph.yaml
|
||||
!include cluster_configs/nodes/single/1ctrl_1comp_1cndr_3ceph.yaml
|
||||
|
|
|
@ -1,14 +1,13 @@
|
|||
---
|
||||
template:
|
||||
name: 1 Controller, 1 Compute, 1 Cinder on Neutron/TUN with Sahara
|
||||
group-name: 1ctrl_1comp_1cndr_neutronTUN_sahara
|
||||
slaves: 3
|
||||
cluster-template:
|
||||
cluster_template:
|
||||
name: SimpleSaharaNeutronTUN
|
||||
release: ubuntu
|
||||
network:
|
||||
!include ../../../cluster_configs/networks/neutron_tun.yaml
|
||||
!include cluster_configs/networks/neutron_tun.yaml
|
||||
settings:
|
||||
!include ../../../cluster_configs/settings/cinder_sahara.yaml
|
||||
!include cluster_configs/settings/cinder_sahara.yaml
|
||||
nodes:
|
||||
!include ../../../cluster_configs/nodes/single/1ctrl_1comp_1cndr.yaml
|
||||
!include cluster_configs/nodes/single/1ctrl_1comp_1cndr.yaml
|
||||
|
|
|
@ -1,14 +1,13 @@
|
|||
---
|
||||
template:
|
||||
name: 1 Controller, 1 Compute, 3 Ceph, 1 Mongo on Neutron/TUN use Ceph Volume and Image with Ceilometer and Sahara
|
||||
group-name: 1ctrl_1comp_3ceph_1mongo_neutronTUN_CephImgVol_ceilometer_sahara
|
||||
slaves: 6
|
||||
cluster-template:
|
||||
cluster_template:
|
||||
name: SimpleCephImgVolMongoCeiloSaharaNeutronTUN
|
||||
release: ubuntu
|
||||
network:
|
||||
!include ../../../cluster_configs/networks/neutron_tun.yaml
|
||||
!include cluster_configs/networks/neutron_tun.yaml
|
||||
settings:
|
||||
!include ../../../cluster_configs/settings/cephVolImg_ceilometer_sahara.yaml
|
||||
!include cluster_configs/settings/cephVolImg_ceilometer_sahara.yaml
|
||||
nodes:
|
||||
!include ../../../cluster_configs/nodes/single/1ctrl_1comp_3ceph_1mongo.yaml
|
||||
!include cluster_configs/nodes/single/1ctrl_1comp_3ceph_1mongo.yaml
|
||||
|
|
|
@ -7,8 +7,8 @@ template:
|
|||
name: SimpleNeutronTUN
|
||||
release: ubuntu
|
||||
network:
|
||||
!include ../../../cluster_configs/networks/neutron_tun.yaml
|
||||
!include cluster_configs/networks/neutron_tun.yaml
|
||||
settings:
|
||||
!include ../../../cluster_configs/settings/cinder_wo_componets.yaml
|
||||
!include cluster_configs/settings/cinder_wo_componets.yaml
|
||||
nodes:
|
||||
!include ../../../cluster_configs/nodes/single/1ctrl_1comp.yaml
|
||||
!include cluster_configs/nodes/single/1ctrl_1comp.yaml
|
||||
|
|
|
@ -7,8 +7,8 @@ template:
|
|||
name: SimpleNeutronVLAN
|
||||
release: ubuntu
|
||||
network:
|
||||
!include ../../../cluster_configs/networks/neutron_vlan.yaml
|
||||
!include cluster_configs/networks/neutron_vlan.yaml
|
||||
settings:
|
||||
!include ../../../cluster_configs/settings/cinder_wo_componets.yaml
|
||||
!include cluster_configs/settings/cinder_wo_componets.yaml
|
||||
nodes:
|
||||
!include ../../../cluster_configs/nodes/single/1ctrl_1comp.yaml
|
||||
!include cluster_configs/nodes/single/1ctrl_1comp.yaml
|
||||
|
|
|
@ -1,14 +1,13 @@
|
|||
---
|
||||
template:
|
||||
name: 1 Controller, 2 Compute, 1 Cinder, 3 Ceph, 1 Mongo on Neutron/VLAN use Ceph Image with Ceilometer
|
||||
group-name: 1ctrl_2comp_1cndr_3ceph_1mongo_neutronVLAN_CephImg_ceilometer
|
||||
slaves: 8
|
||||
cluster-template:
|
||||
cluster_template:
|
||||
name: SimpleCinderCephImgMongoCeiloNeutronVLAN
|
||||
release: ubuntu
|
||||
network:
|
||||
!include ../../../cluster_configs/networks/neutron_vlan.yaml
|
||||
!include cluster_configs/networks/neutron_vlan.yaml
|
||||
settings:
|
||||
!include ../../../cluster_configs/settings/cinder_cephImg_ceilometer.yaml
|
||||
!include cluster_configs/settings/cinder_cephImg_ceilometer.yaml
|
||||
nodes:
|
||||
!include ../../../cluster_configs/nodes/single/1ctrl_2comp_1cndr_3ceph_1mongo.yaml
|
||||
!include cluster_configs/nodes/single/1ctrl_2comp_1cndr_3ceph_1mongo.yaml
|
||||
|
|
Loading…
Reference in New Issue