diff options
Diffstat (limited to 'mcp/reclass/classes/cluster/mcp-iec-noha/infra')
4 files changed, 210 insertions, 0 deletions
diff --git a/mcp/reclass/classes/cluster/mcp-iec-noha/infra/config.yml.j2 b/mcp/reclass/classes/cluster/mcp-iec-noha/infra/config.yml.j2 new file mode 100644 index 000000000..9a1c9b8d1 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-iec-noha/infra/config.yml.j2 @@ -0,0 +1,57 @@ +############################################################################## +# Copyright (c) 2019 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 %} +--- +classes: + - cluster.mcp-common-noha.infra.config + - cluster.mcp-iec-noha + - cluster.all-mcp-arch-common.opnfv.lab_proxy_pdf + - cluster.all-mcp-arch-common.infra.config_pdf +parameters: + reclass: + storage: + ~node: +{%- if nm.cluster.has_baremetal_nodes %} +{#- Since we overwrite the ~node key, we need to re-add maas node explicitly #} + infra_maas_node01: + name: ${_param:infra_maas_node01_hostname} + domain: ${_param:cluster_domain} + classes: + - cluster.${_param:cluster_name}.infra.maas + params: + salt_master_host: ${_param:infra_config_deploy_address} + linux_system_codename: ${_param:infra_maas_system_codename} + single_address: ${_param:infra_maas_node01_deploy_address} +{%- endif %} +{%- if '-vcp-' in conf.MCP_DEPLOY_SCENARIO %} +{%- for i in range(1, 4) %} + infra_kvm_node0{{ i }}: + name: ${_param:infra_kvm_node0{{ i }}_hostname} + domain: ${_param:cluster_domain} + classes: + - cluster.${_param:cluster_name}.infra.kvm + params: + salt_master_host: ${_param:reclass_config_master} + linux_system_codename: ${_param:linux_system_codename} + single_address: ${_param:opnfv_infra_kvm_node0{{ i }}_address} + pxe_admin_address: ${_param:opnfv_infra_kvm_node0{{ i }}_pxe_admin_address} +{%- endfor %} +{%- endif %} +{%- for i in range(1, 4) %} + akraino_iec_node0{{ i }}: + name: ${_param:akraino_iec_node0{{ i }}_hostname} + domain: ${_param:cluster_domain} + classes: + - cluster.${_param:cluster_name}.akraino.iec + params: + salt_master_host: ${_param:reclass_config_master} + linux_system_codename: ${_param:linux_system_codename} + single_address: ${_param:opnfv_openstack_control_node0{{ i }}_address} + external_address: ${_param:opnfv_openstack_control_node0{{ i }}_external_address} + pxe_admin_address: ${_param:opnfv_openstack_control_node0{{ i }}_pxe_admin_address} +{%- endfor %} diff --git a/mcp/reclass/classes/cluster/mcp-iec-noha/infra/init.yml.j2 b/mcp/reclass/classes/cluster/mcp-iec-noha/infra/init.yml.j2 new file mode 100644 index 000000000..1b68b6c44 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-iec-noha/infra/init.yml.j2 @@ -0,0 +1,31 @@ +############################################################################## +# Copyright (c) 2019 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 +############################################################################## +--- +classes: + - cluster.mcp-common-noha.infra +parameters: + _param: + cluster_name: mcp-iec-noha + infra_kvm_node01_hostname: kvm01 + infra_kvm_node02_hostname: kvm02 + infra_kvm_node03_hostname: kvm03 + akraino_iec_node01_hostname: iec01 + akraino_iec_node02_hostname: iec02 + akraino_iec_node03_hostname: iec03 +{%- if '-vcp-' in conf.MCP_DEPLOY_SCENARIO %} + linux: + network: + host: +{%- for i in range(1, 4) %} + kvm0{{ i }}: + address: ${_param:opnfv_infra_kvm_node0{{ i }}_address} + names: + - ${_param:infra_kvm_node0{{ i }}_hostname} + - ${_param:infra_kvm_node0{{ i }}_hostname}.${_param:cluster_domain} +{%- endfor %} +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-iec-noha/infra/kvm.yml.j2 b/mcp/reclass/classes/cluster/mcp-iec-noha/infra/kvm.yml.j2 new file mode 100644 index 000000000..7b8709c7d --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-iec-noha/infra/kvm.yml.j2 @@ -0,0 +1,111 @@ +############################################################################## +# Copyright (c) 2019 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 +############################################################################## +{#- NOTE: br-{mgmt,ctl} are cross-referenced, careful when changing names #} +{%- import 'net_map.j2' as nm with context %} +{%- import 'net_macros.j2' as ma with context %} +{#- Filter-out NIC duplicates by constructing a dict (used NICs only) #} +{%- set nics = { nm.ctl01.nic_admin: True, nm.ctl01.nic_mgmt: True, nm.ctl01.nic_public: True } %} +{%- set vlans = { nm.vlan_admin: nm.ctl01.nic_admin, nm.vlan_mgmt: nm.ctl01.nic_mgmt, nm.vlan_public: nm.ctl01.nic_public } %} +--- +classes: + - system.salt.control.virt + - cluster.all-mcp-arch-common.opnfv.maas_proxy + - cluster.all-mcp-arch-common.opnfv.lab_proxy_pdf + - cluster.mcp-iec-noha.infra +parameters: + _param: + linux_system_codename: xenial + linux: + network: + interface: + +{{ ma.linux_network_interfaces_nic(nics) }} + +{{ ma.linux_network_interfaces_vlan(vlans) }} + + br-mgmt: + enabled: true + proto: static + address: ${_param:pxe_admin_address} + netmask: ${_param:opnfv_net_admin_mask} + gateway: {{ nm.net_admin_gw }} + name_servers: + - {{ nm.net_admin_gw }} + type: bridge + use_interfaces: + - {{ ma.interface_str(nm.ctl01.nic_admin, nm.vlan_admin) }} + noifupdown: true + br-ctl: + enabled: true + type: bridge + proto: static + address: ${_param:single_address} + netmask: ${_param:opnfv_net_mgmt_mask} + use_interfaces: + - {{ ma.interface_str(nm.ctl01.nic_mgmt, nm.vlan_mgmt) }} + noifupdown: true + br-ex: + enabled: true + proto: manual + netmask: ${_param:opnfv_net_public_mask} + type: bridge + use_interfaces: + - {{ ma.interface_str(nm.ctl01.nic_public, nm.vlan_public) }} + noifupdown: true + system: + kernel: + boot_options: + - spectre_v2=off + - nopti + sysctl: + net.ipv4.ip_forward: 0 + libvirt: + server: + service: libvirtd + config_sys: /etc/default/libvirtd + unix_sock_group: libvirt + salt: + control: + size: + akraino.iec: + cpu: 8 + ram: 12288 + disk_profile: small + net_profile: default + cluster: + internal: + domain: ${_param:cluster_domain} + engine: virt + node: +{%- for i in range(1, 4) %} + iec0{{ i }}: + name: ${_param:akraino_iec_node0{{ i }}_hostname} + provider: ${_param:infra_kvm_node0{{ i }}_hostname}.${_param:cluster_domain} + size: akraino.iec + image: ${_param:salt_control_xenial_image} +{%- if conf.nodes[nm.ctl01.idx].node.arch == 'aarch64' %} + machine: virt + cpu_mode: host-passthrough + loader: + readonly: 'yes' + type: pflash + path: /usr/share/AAVMF/AAVMF_CODE.fd +{%- endif %} +{%- endfor %} + virt: + nic: + default: + eth2: + bridge: br-mgmt + model: virtio + eth1: + bridge: br-ex + model: virtio + eth0: + bridge: br-ctl + model: virtio diff --git a/mcp/reclass/classes/cluster/mcp-iec-noha/infra/maas.yml b/mcp/reclass/classes/cluster/mcp-iec-noha/infra/maas.yml new file mode 100644 index 000000000..393eb73a4 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-iec-noha/infra/maas.yml @@ -0,0 +1,11 @@ +############################################################################## +# Copyright (c) 2019 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 +############################################################################## +--- +classes: + - cluster.mcp-iec-noha.infra + - cluster.all-mcp-arch-common.infra.maas |