From 9e5b19768d6eb9b32564240065ecba6c791cac12 Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Thu, 28 Feb 2019 15:46:19 +0100 Subject: [virtual] Parameterize scenarios based on PDF/IDF NOTE: only os-nosdn-nofeature-noha is parameterized for now. - move config drive & disk creation from prepare_vms to create_vms; - make default disk size(s) configurable based on scenario defaults and vPDF; * compute nodes require 2 disks to be defined in vPDF, since the pillar reclass model assumes /dev/vdb is reserved for cinder; * if multiple disks are defined in vPDF, they are created and attached accordinly (only ctl01 and cmp nodes are parameterized in this change; only for the os-nosdn-nofeature-noha scenario); - vCPU specifications are deduced based on vPDF (sockets, cores); * threads/core is hard set to 2 since vPDF does not have a key for it; * NUMA resources are distributed evenly based on the number of sockets configured in PDF; * no less than the mininum requirement for a scenario is allocated (e.g. if PDF specifies 2 cores, but the scenario requires at least 4 cores, the larger value will be used); - RAM is deduced based on PDF (but no less than the mininum req is allocated, e.g. if PDF specifies 2GB RAM for computes, but the scenario requires at least 8GB, the larger value will be used); Change-Id: I97188aa2a1006865b8429eb6483e10c76795f7d2 Signed-off-by: Alexandru Avadanii --- mcp/config/scenario/.gitignore | 1 + mcp/config/scenario/defaults.yaml.j2 | 2 + mcp/config/scenario/os-nosdn-fdio-ha.yaml | 2 + mcp/config/scenario/os-nosdn-fdio-noha.yaml | 2 + mcp/config/scenario/os-nosdn-nofeature-ha.yaml | 2 + mcp/config/scenario/os-nosdn-nofeature-noha.yaml | 54 ---------------------- .../scenario/os-nosdn-nofeature-noha.yaml.j2 | 52 +++++++++++++++++++++ mcp/config/scenario/os-nosdn-onap-ha.yaml | 2 + mcp/config/scenario/os-nosdn-onap-noha.yaml | 2 + mcp/config/scenario/os-nosdn-ovs-ha.yaml | 2 + mcp/config/scenario/os-nosdn-ovs-noha.yaml | 2 + mcp/config/scenario/os-odl-bgpvpn-noha.yaml | 2 + mcp/config/scenario/os-odl-nofeature-ha.yaml | 2 + mcp/config/scenario/os-odl-nofeature-noha.yaml | 4 ++ mcp/config/scenario/os-odl-ovs-noha.yaml | 2 + mcp/config/scenario/os-odl-sfc-noha.yaml | 4 ++ mcp/config/scenario/os-ovn-nofeature-ha.yaml | 2 + mcp/config/scenario/os-ovn-nofeature-noha.yaml | 2 + 18 files changed, 87 insertions(+), 54 deletions(-) delete mode 100644 mcp/config/scenario/os-nosdn-nofeature-noha.yaml create mode 100644 mcp/config/scenario/os-nosdn-nofeature-noha.yaml.j2 (limited to 'mcp/config') diff --git a/mcp/config/scenario/.gitignore b/mcp/config/scenario/.gitignore index 13346b908..0e5ba3d09 100644 --- a/mcp/config/scenario/.gitignore +++ b/mcp/config/scenario/.gitignore @@ -1 +1,2 @@ defaults.yaml +os-nosdn-nofeature-noha.yaml diff --git a/mcp/config/scenario/defaults.yaml.j2 b/mcp/config/scenario/defaults.yaml.j2 index ddcd0a039..3ea639bc3 100644 --- a/mcp/config/scenario/defaults.yaml.j2 +++ b/mcp/config/scenario/defaults.yaml.j2 @@ -10,6 +10,7 @@ x86_64: base_image: https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img default: + disks: 100G # ';'-separated list of disk drives to create vcpus: 4 ram: 8192 cluster: &arch_default_cluster_states @@ -41,6 +42,7 @@ x86_64: aarch64: base_image: https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-arm64-uefi1.img default: + disks: 100G # ';'-separated list of disk drives to create vcpus: 6 ram: 4096 cluster: *arch_default_cluster_states diff --git a/mcp/config/scenario/os-nosdn-fdio-ha.yaml b/mcp/config/scenario/os-nosdn-fdio-ha.yaml index 3ff4e5c5d..384771298 100644 --- a/mcp/config/scenario/os-nosdn-fdio-ha.yaml +++ b/mcp/config/scenario/os-nosdn-fdio-ha.yaml @@ -38,8 +38,10 @@ virtual: vcpus: 4 ram: 14336 cmp001: + disks: 100G;100G vcpus: 4 ram: 8192 cmp002: + disks: 100G;100G vcpus: 4 ram: 8192 diff --git a/mcp/config/scenario/os-nosdn-fdio-noha.yaml b/mcp/config/scenario/os-nosdn-fdio-noha.yaml index 747adbee2..187b5bf48 100644 --- a/mcp/config/scenario/os-nosdn-fdio-noha.yaml +++ b/mcp/config/scenario/os-nosdn-fdio-noha.yaml @@ -35,6 +35,7 @@ virtual: memory: 8388608 cpus: 0-7 cmp001: + disks: 100G;100G vcpus: 8 ram: 8192 cpu_topology: @@ -46,6 +47,7 @@ virtual: memory: 8388608 cpus: 0-7 cmp002: + disks: 100G;100G vcpus: 8 ram: 8192 cpu_topology: diff --git a/mcp/config/scenario/os-nosdn-nofeature-ha.yaml b/mcp/config/scenario/os-nosdn-nofeature-ha.yaml index ce79b838e..d06d2ae0b 100644 --- a/mcp/config/scenario/os-nosdn-nofeature-ha.yaml +++ b/mcp/config/scenario/os-nosdn-nofeature-ha.yaml @@ -35,8 +35,10 @@ virtual: vcpus: 4 ram: 14336 cmp001: + disks: 100G;100G vcpus: 4 ram: 8192 cmp002: + disks: 100G;100G vcpus: 4 ram: 8192 diff --git a/mcp/config/scenario/os-nosdn-nofeature-noha.yaml b/mcp/config/scenario/os-nosdn-nofeature-noha.yaml deleted file mode 100644 index 76fed8c12..000000000 --- a/mcp/config/scenario/os-nosdn-nofeature-noha.yaml +++ /dev/null @@ -1,54 +0,0 @@ -############################################################################## -# Copyright (c) 2017 Mirantis Inc., Enea AB and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 -############################################################################## ---- -cluster: - domain: mcp-ovs-noha.local - states: - - openstack_noha - - neutron_gateway - - networks -virtual: - nodes: - control: - - ctl01 - - gtw01 - compute: - - cmp001 - - cmp002 - ctl01: - ram: 14336 - gtw01: - ram: 4096 - cmp001: - vcpus: 8 - ram: 16384 - cpu_topology: - sockets: 2 - cores: 2 - threads: 2 - numa: - cell0: - memory: 8388608 - cpus: 0-3 - cell1: - memory: 8388608 - cpus: 4-7 - cmp002: - vcpus: 8 - ram: 16384 - cpu_topology: - sockets: 2 - cores: 2 - threads: 2 - numa: - cell0: - memory: 8388608 - cpus: 0-3 - cell1: - memory: 8388608 - cpus: 4-7 diff --git a/mcp/config/scenario/os-nosdn-nofeature-noha.yaml.j2 b/mcp/config/scenario/os-nosdn-nofeature-noha.yaml.j2 new file mode 100644 index 000000000..a1f0ddaa6 --- /dev/null +++ b/mcp/config/scenario/os-nosdn-nofeature-noha.yaml.j2 @@ -0,0 +1,52 @@ +############################################################################## +# Copyright (c) 2017 Mirantis Inc., Enea AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +{%- import 'net_map.j2' as nm with context %} +--- +cluster: + domain: mcp-ovs-noha.local + states: + - openstack_noha + - neutron_gateway + - networks +virtual: + nodes: + control: + - ctl01 + - gtw01 + compute: + - cmp001 + - cmp002 + ctl01: + disks: {{ conf.nodes[nm.ctl01.idx].disks | map(attribute='disk_capacity') | join(';') }} + vcpus: 4 + ram: 14336 + gtw01: + ram: 2048 +{%- if nm.cmp001.idx < conf.nodes | length %} + {%- set cmp_node = conf.nodes[nm.cmp001.idx].node %} + {%- set cmp_ram = ([16384, ('%.0f' | format((cmp_node.memory | storage_size_num | float) * 1024 / 1000000000) | int)] | sort)[-1] %} + {%- set cmp_sockets = ([2, cmp_node.cpus | int] | sort)[-1] %} + {%- set cmp_threads = 2 %} + {%- set cmp_cores = ([2, ('%.0f' | format((cmp_node.cores | float) / cmp_threads)) | int] | sort)[-1] %} + {%- for cmpi in range(1, 3) %} + cmp00{{ cmpi }}: + disks: {{ conf.nodes[nm.cmp001.idx].disks | map(attribute='disk_capacity') | join(';') }} + vcpus: {{ cmp_sockets * cmp_cores * cmp_threads }} + ram: {{ cmp_ram }} + cpu_topology: + sockets: {{ cmp_sockets }} + cores: {{ cmp_cores }} + threads: {{ cmp_threads }} + numa: + {%- for ci in range(0, cmp_sockets) %} + cell{{ ci }}: + memory: {{ '%.0f' | format((cmp_ram | float) * 1024 / cmp_sockets) }} + cpus: {{ cmp_cores * cmp_threads * (ci | int) }}-{{ cmp_cores * cmp_threads * (ci | int + 1) - 1 }} + {%- endfor %} + {%- endfor %} +{%- endif %} diff --git a/mcp/config/scenario/os-nosdn-onap-ha.yaml b/mcp/config/scenario/os-nosdn-onap-ha.yaml index d0e9c40c0..653599f6c 100644 --- a/mcp/config/scenario/os-nosdn-onap-ha.yaml +++ b/mcp/config/scenario/os-nosdn-onap-ha.yaml @@ -39,8 +39,10 @@ virtual: vcpus: 4 ram: 14336 cmp001: + disks: 100G;100G vcpus: 32 ram: 102400 cmp002: + disks: 100G;100G vcpus: 32 ram: 102400 diff --git a/mcp/config/scenario/os-nosdn-onap-noha.yaml b/mcp/config/scenario/os-nosdn-onap-noha.yaml index ae6255436..5a08a2cd6 100644 --- a/mcp/config/scenario/os-nosdn-onap-noha.yaml +++ b/mcp/config/scenario/os-nosdn-onap-noha.yaml @@ -32,8 +32,10 @@ virtual: gtw01: ram: 2048 cmp001: + disks: 100G;100G vcpus: 36 ram: 122880 cmp002: + disks: 100G;100G vcpus: 36 ram: 122880 diff --git a/mcp/config/scenario/os-nosdn-ovs-ha.yaml b/mcp/config/scenario/os-nosdn-ovs-ha.yaml index 9be6540c7..72a55ea6f 100644 --- a/mcp/config/scenario/os-nosdn-ovs-ha.yaml +++ b/mcp/config/scenario/os-nosdn-ovs-ha.yaml @@ -35,8 +35,10 @@ virtual: vcpus: 4 ram: 14336 cmp001: + disks: 100G;100G vcpus: 4 ram: 10240 cmp002: + disks: 100G;100G vcpus: 4 ram: 10240 diff --git a/mcp/config/scenario/os-nosdn-ovs-noha.yaml b/mcp/config/scenario/os-nosdn-ovs-noha.yaml index 30a55fe35..b109200e1 100644 --- a/mcp/config/scenario/os-nosdn-ovs-noha.yaml +++ b/mcp/config/scenario/os-nosdn-ovs-noha.yaml @@ -25,8 +25,10 @@ virtual: gtw01: ram: 4096 cmp001: + disks: 100G;100G vcpus: 6 ram: 14336 cmp002: + disks: 100G;100G vcpus: 6 ram: 14336 diff --git a/mcp/config/scenario/os-odl-bgpvpn-noha.yaml b/mcp/config/scenario/os-odl-bgpvpn-noha.yaml index b4db80986..a083e154e 100644 --- a/mcp/config/scenario/os-odl-bgpvpn-noha.yaml +++ b/mcp/config/scenario/os-odl-bgpvpn-noha.yaml @@ -31,6 +31,8 @@ virtual: odl01: ram: 6144 cmp001: + disks: 100G;100G ram: 12288 cmp002: + disks: 100G;100G ram: 12288 diff --git a/mcp/config/scenario/os-odl-nofeature-ha.yaml b/mcp/config/scenario/os-odl-nofeature-ha.yaml index 51d476de5..f295df2ec 100644 --- a/mcp/config/scenario/os-odl-nofeature-ha.yaml +++ b/mcp/config/scenario/os-odl-nofeature-ha.yaml @@ -36,8 +36,10 @@ virtual: vcpus: 4 ram: 14336 cmp001: + disks: 100G;100G vcpus: 4 ram: 8192 cmp002: + disks: 100G;100G vcpus: 4 ram: 8192 diff --git a/mcp/config/scenario/os-odl-nofeature-noha.yaml b/mcp/config/scenario/os-odl-nofeature-noha.yaml index c9847b9ba..1bb47bbc7 100644 --- a/mcp/config/scenario/os-odl-nofeature-noha.yaml +++ b/mcp/config/scenario/os-odl-nofeature-noha.yaml @@ -29,3 +29,7 @@ virtual: ram: 2048 odl01: ram: 6144 + cmp001: + disks: 100G;100G + cmp002: + disks: 100G;100G diff --git a/mcp/config/scenario/os-odl-ovs-noha.yaml b/mcp/config/scenario/os-odl-ovs-noha.yaml index b24538754..d47ad9668 100644 --- a/mcp/config/scenario/os-odl-ovs-noha.yaml +++ b/mcp/config/scenario/os-odl-ovs-noha.yaml @@ -30,8 +30,10 @@ virtual: odl01: ram: 6144 cmp001: + disks: 100G;100G vcpus: 6 ram: 14336 cmp002: + disks: 100G;100G vcpus: 6 ram: 14336 diff --git a/mcp/config/scenario/os-odl-sfc-noha.yaml b/mcp/config/scenario/os-odl-sfc-noha.yaml index f2932c653..735855433 100644 --- a/mcp/config/scenario/os-odl-sfc-noha.yaml +++ b/mcp/config/scenario/os-odl-sfc-noha.yaml @@ -30,3 +30,7 @@ virtual: ram: 2048 odl01: ram: 6144 + cmp001: + disks: 100G;100G + cmp002: + disks: 100G;100G diff --git a/mcp/config/scenario/os-ovn-nofeature-ha.yaml b/mcp/config/scenario/os-ovn-nofeature-ha.yaml index f76b0dce4..69c5b9495 100644 --- a/mcp/config/scenario/os-ovn-nofeature-ha.yaml +++ b/mcp/config/scenario/os-ovn-nofeature-ha.yaml @@ -35,8 +35,10 @@ virtual: vcpus: 4 ram: 14336 cmp001: + disks: 100G;100G vcpus: 4 ram: 8192 cmp002: + disks: 100G;100G vcpus: 4 ram: 8192 diff --git a/mcp/config/scenario/os-ovn-nofeature-noha.yaml b/mcp/config/scenario/os-ovn-nofeature-noha.yaml index 8dd682c39..e7ff2a7d8 100644 --- a/mcp/config/scenario/os-ovn-nofeature-noha.yaml +++ b/mcp/config/scenario/os-ovn-nofeature-noha.yaml @@ -21,8 +21,10 @@ virtual: ctl01: ram: 14336 cmp001: + disks: 100G;100G vcpus: 6 ram: 10240 cmp002: + disks: 100G;100G vcpus: 6 ram: 10240 -- cgit 1.2.3-korg