From 3c08037cf9527ced474bc847cf7d463fb0439954 Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Sat, 4 Aug 2018 18:46:48 +0200 Subject: [reclass] Move MaaS classes to common dir for NOHA Prepare for reusing MaaS-related reclass classes for NOHA scenarios. JIRA: FUEL-338 Change-Id: Ic8ddd5915563f58643ef8c7ac4055a1000db7d45 Signed-off-by: Alexandru Avadanii --- mcp/reclass/classes/cluster/.gitignore | 4 +- .../cluster/all-mcp-arch-common/infra/maas.yml.j2 | 176 +++++++++++++++++++++ .../all-mcp-arch-common/opnfv/lab_proxy_pdf.yml.j2 | 25 +++ .../all-mcp-arch-common/opnfv/maas_proxy.yml.j2 | 27 ++++ .../mcp-common-ha/include/lab_proxy_pdf.yml.j2 | 25 --- .../mcp-common-ha/include/maas_proxy.yml.j2 | 27 ---- .../cluster/mcp-common-ha/infra/config.yml.j2 | 2 +- .../classes/cluster/mcp-common-ha/infra/kvm.yml | 4 +- .../cluster/mcp-common-ha/infra/maas.yml.j2 | 176 --------------------- .../cluster/mcp-common-ha/openstack_compute.yml | 4 +- .../cluster/mcp-common-ha/openstack_control.yml.j2 | 4 +- .../openstack_interface_vcp_biport.yml.j2 | 4 +- .../openstack_interface_vcp_triport.yml.j2 | 4 +- .../classes/cluster/mcp-odl-ha/infra/maas.yml.j2 | 2 +- .../classes/cluster/mcp-ovn-ha/infra/maas.yml | 2 +- .../classes/cluster/mcp-ovs-dpdk-ha/infra/maas.yml | 2 +- .../classes/cluster/mcp-ovs-ha/infra/maas.yml | 2 +- 17 files changed, 245 insertions(+), 245 deletions(-) create mode 100644 mcp/reclass/classes/cluster/all-mcp-arch-common/infra/maas.yml.j2 create mode 100644 mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/lab_proxy_pdf.yml.j2 create mode 100644 mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/maas_proxy.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-common-ha/include/lab_proxy_pdf.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-common-ha/include/maas_proxy.yml.j2 delete mode 100644 mcp/reclass/classes/cluster/mcp-common-ha/infra/maas.yml.j2 diff --git a/mcp/reclass/classes/cluster/.gitignore b/mcp/reclass/classes/cluster/.gitignore index a7efc5744..78eb36c1c 100644 --- a/mcp/reclass/classes/cluster/.gitignore +++ b/mcp/reclass/classes/cluster/.gitignore @@ -3,9 +3,9 @@ all-mcp-arch-common/init.yml all-mcp-arch-common/opnfv/init.yml mcp*common-*/infra/config.yml mcp-common-ha/infra/init.yml -mcp-common-ha/infra/maas.yml +all-mcp-arch-common/infra/maas.yml mcp-common-ha/infra/kvm_novcp.yml -mcp-common-ha/include/maas_proxy.yml +all-mcp-arch-common/opnfv/maas_proxy.yml mcp-common-ha/openstack_control.yml mcp-common-ha/openstack_telemetry.yml mcp*common-*/openstack_init.yml diff --git a/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/maas.yml.j2 b/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/maas.yml.j2 new file mode 100644 index 000000000..d980c29d4 --- /dev/null +++ b/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/maas.yml.j2 @@ -0,0 +1,176 @@ +############################################################################## +# Copyright (c) 2018 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 %} +--- +# NOTE: pod_config is generated and transferred into its final location on +# cfg01 only during deployment to prevent leaking sensitive data +classes: + - system.maas.region.single + - service.maas.cluster.single + - cluster.all-mcp-arch-common.opnfv.lab_proxy_pdf + - cluster.all-mcp-arch-common.opnfv.pod_config +parameters: + _param: + mcpcontrol_interface: ${_param:opnfv_fn_vm_primary_interface} + primary_interface: ${_param:opnfv_fn_vm_secondary_interface} + pxe_admin_interface: ${_param:opnfv_fn_vm_tertiary_interface} + interface_mtu: 1500 + # MaaS has issues using MTU > 1500 for PXE interface + pxe_admin_interface_mtu: 1500 + linux_system_codename: xenial + maas_admin_username: opnfv + maas_admin_password: opnfv_secret + maas_db_password: opnfv_secret + dns_server01: '{{ nm.dns_public[0] }}' + single_address: ${_param:infra_maas_node01_deploy_address} + hwe_kernel: 'hwe-16.04' + opnfv_maas_timeout_comissioning: {{ nm.maas_timeout_comissioning }} + opnfv_maas_timeout_deploying: {{ nm.maas_timeout_deploying }} + maas: + region: + boot_sources_delete_all_others: true + boot_sources: + resources_mirror: + url: http://images.maas.io/ephemeral-v3/daily + keyring_file: /usr/share/keyrings/ubuntu-cloudimage-keyring.gpg + boot_sources_selections: + xenial: + url: "http://images.maas.io/ephemeral-v3/daily" + os: "ubuntu" + release: "${_param:linux_system_codename}" + arches: +{%- for arch in nm.cluster.arch %} + - "{{ arch | dpkg_arch }}" +{%- endfor %} + subarches: + - "generic" + - "ga-16.04" + - "hwe-16.04" + labels: '"*"' + fabrics: + pxe_admin: + name: 'pxe_admin' + description: Fabric for PXE/admin + vlans: + 0: + name: 'vlan 0' + description: PXE/admin VLAN + dhcp: true + primary_rack: "${linux:network:hostname}" + subnets: + {{ nm.net_admin }}: + name: {{ nm.net_admin }} + cidr: {{ nm.net_admin }} + gateway_ip: ${_param:single_address} + fabric: ${maas:region:fabrics:pxe_admin:name} + vlan: 0 + ipranges: + 1: + start: {{ nm.net_admin_pool_start }} + end: {{ nm.net_admin_pool_end }} + type: dynamic + sshprefs: + - '{{ conf.MAAS_SSH_KEY }}' +{%- if 'aarch64' in nm.cluster.arch %} + package_repositories: + armband: + name: armband + enabled: '1' + url: 'http://linux.enea.com/mcp-repos/${_param:openstack_version}/${_param:linux_system_codename}' + distributions: '${_param:openstack_version}-armband' + components: 'main' + arches: 'arm64' + key: &armband_key | + -----BEGIN PGP PUBLIC KEY BLOCK----- + Version: GnuPG v2.0.14 (GNU/Linux) + + mQENBFagAroBCADWboNIjuF6lB1mWv2+EbvqY3lKl5mLKhr2DnSUkKeHUPBv8gNM + qK8Q00AMIyPiyEhgjA+dWizZ+5aBgxoiY7oMeLJ2Xym36U/8SYq2BWd3SGCbMNoz + SJDxDUSM/HFVs6atF1M3DY9oN65hSVnu4uy5Tu6asf6k4rhAyk0z4+pRcPBCu2vq + mnGi3COM/+9PShrEKeVOx5W2vRJywUFuq8EDvQnRoJ0GvM28JiJIanw17YwIPxhg + BKZVpZjan5X+ihVMXwA2h/G/FS5Omhd50RqV6LWSYs94VJJgYqHx8UMm7izcxI+P + ct3IcbD195bPbJ+SbuiFe45ZLsdY1MyGiU2BABEBAAG0K0VuZWEgQXJtYmFuZCBE + ZXZvcHMgVGVhbSA8YXJtYmFuZEBlbmVhLmNvbT6JATgEEwECACICGwMGCwkIBwMC + BhUIAgkKCwQWAgMBAh4BAheABQJaY3bYAAoJEN6rkLp5irHRoQMH/0PYl0A/6eWw + nQ/szhEFrr76Ln6wA4vEO+PiuWj9kTkZM2NaCnkisrIuHSPIVvOLfFmztbE6sKGe + t+a2b7Jqw48DZ/gq508aZE4Q307ookxdCOrzIu/796hFO34yXg3sqZoJh3VmKIjY + 4DL8yG1iAiQ5vOw3IFWQnATwIZUgaCcjmE7HGap+9ePuJfFuQ8mIG5cy28t8qocx + AB/B2tucfBMwomYxKqgbLI5AG7iSt58ajvrrNa9f8IX7Ihj/jiuXhUwX+geEp98K + IWVI1ftEthZvfBpZW4BS98J4z//dEPi31L4jb9RQXq3afF2RpXchDeUN85bW45nu + W/9PMAlgE/U= + =m+zE + -----END PGP PUBLIC KEY BLOCK----- +{%- endif %} + machines: + {%- set pxe_interface = conf.idf.net_config.admin.interface %} + {%- for node in conf.nodes %} + {%- if node.node.type == 'baremetal' %} + {%- if loop.index > nm.cmp001.idx %} + cmp{{ '%03d' | format(loop.index - nm.cmp001.idx) }}: + {%- else %} + kvm{{ '%02d' | format(loop.index) }}: + {%- endif %} + interface: + mac: {{ node.interfaces[pxe_interface].mac_address }} + power_parameters: + power_address: {{ node.remote_management.address.rsplit('/')[0] }} + power_password: {{ node.remote_management.pass }} + power_type: {{ node.remote_management.type }} + power_user: {{ node.remote_management.user }} + architecture: {{ node.node.arch | dpkg_arch }}/generic + distro_series: xenial + hwe_kernel: ${_param:hwe_kernel} + {%- if loop.index > nm.cmp001.idx %} + disk_layout: + type: lvm + root_device: sda + volume_group: vgroot + volume_name: lvroot + volume_size: 100 + {%- endif %} + {%- endif %} + {%- endfor %} + salt_master_ip: ${_param:reclass_config_master} + domain: ${_param:cluster_domain} + maas_config: + commissioning_distro_series: 'xenial' + default_distro_series: 'xenial' + default_osystem: 'ubuntu' + default_storage_layout: 'lvm' + enable_http_proxy: true + disk_erase_with_secure_erase: false + dnssec_validation: 'no' + enable_third_party_drivers: true + network_discovery: 'enabled' + default_min_hwe_kernel: ${_param:hwe_kernel} + cluster: + saltstack_repo_xenial: "deb [arch=amd64] http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.11/ xenial main" + linux: + network: + interface: + mcpcontrol_interface: + enabled: true + name: ${_param:mcpcontrol_interface} + type: eth + proto: dhcp + primary_interface: + enabled: true + name: ${_param:primary_interface} + mtu: ${_param:interface_mtu} + proto: static + address: ${_param:infra_maas_node01_address} + netmask: ${_param:opnfv_net_mgmt_mask} + type: eth + pxe_admin_interface: + enabled: true + name: ${_param:pxe_admin_interface} + mtu: ${_param:pxe_admin_interface_mtu} + proto: static + address: ${_param:single_address} + netmask: ${_param:opnfv_net_admin_mask} + type: eth diff --git a/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/lab_proxy_pdf.yml.j2 b/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/lab_proxy_pdf.yml.j2 new file mode 100644 index 000000000..3f238d667 --- /dev/null +++ b/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/lab_proxy_pdf.yml.j2 @@ -0,0 +1,25 @@ +############################################################################## +# Copyright (c) 2018 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 +############################################################################## +--- +# We'll craft this class so it can be reused on both cfg01 and mas01 +{%- if conf.idf.fuel.network.upstream_proxy is defined %} +{%- set upstream_proxy=conf.idf.fuel.network.upstream_proxy %} +parameters: + maas: + region: + upstream_proxy: + address: {{ upstream_proxy.address }} + port: {{ upstream_proxy.port }} + linux: + system: + proxy: + pkg: + enabled: true + http: http://{{ upstream_proxy.address }}:{{ upstream_proxy.port }} + https: http://{{ upstream_proxy.address }}:{{ upstream_proxy.port }} +{%- endif %} diff --git a/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/maas_proxy.yml.j2 b/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/maas_proxy.yml.j2 new file mode 100644 index 000000000..58ea46cad --- /dev/null +++ b/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/maas_proxy.yml.j2 @@ -0,0 +1,27 @@ +############################################################################## +# Copyright (c) 2018 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 +############################################################################## +--- +{%- if 'maas' in conf.cluster.states %} +parameters: + # NOTE: Apt proxy is set by curtin, Salt minion proxy is configured below, + # only enable proxy via /etc/environment if you need it for smth else + # linux: + # system: + # env: + # http_proxy: http://${_param:infra_maas_node01_deploy_address}:8000 + # https_proxy: http://${_param:infra_maas_node01_deploy_address}:8000 + # no_proxy: + # - .local + linux: + system: + proxy: + pkg: + enabled: true + http: http://${_param:infra_maas_node01_deploy_address}:8000 + https: http://${_param:infra_maas_node01_deploy_address}:8000 +{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/include/lab_proxy_pdf.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/include/lab_proxy_pdf.yml.j2 deleted file mode 100644 index 3f238d667..000000000 --- a/mcp/reclass/classes/cluster/mcp-common-ha/include/lab_proxy_pdf.yml.j2 +++ /dev/null @@ -1,25 +0,0 @@ -############################################################################## -# Copyright (c) 2018 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 -############################################################################## ---- -# We'll craft this class so it can be reused on both cfg01 and mas01 -{%- if conf.idf.fuel.network.upstream_proxy is defined %} -{%- set upstream_proxy=conf.idf.fuel.network.upstream_proxy %} -parameters: - maas: - region: - upstream_proxy: - address: {{ upstream_proxy.address }} - port: {{ upstream_proxy.port }} - linux: - system: - proxy: - pkg: - enabled: true - http: http://{{ upstream_proxy.address }}:{{ upstream_proxy.port }} - https: http://{{ upstream_proxy.address }}:{{ upstream_proxy.port }} -{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/include/maas_proxy.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/include/maas_proxy.yml.j2 deleted file mode 100644 index 58ea46cad..000000000 --- a/mcp/reclass/classes/cluster/mcp-common-ha/include/maas_proxy.yml.j2 +++ /dev/null @@ -1,27 +0,0 @@ -############################################################################## -# Copyright (c) 2018 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 -############################################################################## ---- -{%- if 'maas' in conf.cluster.states %} -parameters: - # NOTE: Apt proxy is set by curtin, Salt minion proxy is configured below, - # only enable proxy via /etc/environment if you need it for smth else - # linux: - # system: - # env: - # http_proxy: http://${_param:infra_maas_node01_deploy_address}:8000 - # https_proxy: http://${_param:infra_maas_node01_deploy_address}:8000 - # no_proxy: - # - .local - linux: - system: - proxy: - pkg: - enabled: true - http: http://${_param:infra_maas_node01_deploy_address}:8000 - https: http://${_param:infra_maas_node01_deploy_address}:8000 -{%- endif %} diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/infra/config.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/infra/config.yml.j2 index f6e0baa11..8cd3b33d1 100644 --- a/mcp/reclass/classes/cluster/mcp-common-ha/infra/config.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-common-ha/infra/config.yml.j2 @@ -19,7 +19,7 @@ classes: # - system.reclass.storage.system.stacklight_monitor_cluster # - system.reclass.storage.system.stacklight_telemetry_cluster - system.reclass.storage.system.infra_maas_single - - cluster.mcp-common-ha.include.lab_proxy_pdf + - cluster.all-mcp-arch-common.opnfv.lab_proxy_pdf - cluster.all-mcp-arch-common.infra.config_pdf parameters: _param: diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/mcp-common-ha/infra/kvm.yml index 868f324f6..62af0893a 100644 --- a/mcp/reclass/classes/cluster/mcp-common-ha/infra/kvm.yml +++ b/mcp/reclass/classes/cluster/mcp-common-ha/infra/kvm.yml @@ -22,8 +22,8 @@ classes: # - system.salt.control.cluster.stacklight_log_cluster # - system.salt.control.cluster.stacklight_telemetry_cluster - cluster.mcp-common-ha.infra.kvm_pdf - - cluster.mcp-common-ha.include.maas_proxy - - cluster.mcp-common-ha.include.lab_proxy_pdf + - cluster.all-mcp-arch-common.opnfv.maas_proxy + - cluster.all-mcp-arch-common.opnfv.lab_proxy_pdf parameters: _param: linux_system_codename: xenial diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/infra/maas.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/infra/maas.yml.j2 deleted file mode 100644 index b2d7cefad..000000000 --- a/mcp/reclass/classes/cluster/mcp-common-ha/infra/maas.yml.j2 +++ /dev/null @@ -1,176 +0,0 @@ -############################################################################## -# Copyright (c) 2018 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 %} ---- -# NOTE: pod_config is generated and transferred into its final location on -# cfg01 only during deployment to prevent leaking sensitive data -classes: - - system.maas.region.single - - service.maas.cluster.single - - cluster.mcp-common-ha.include.lab_proxy_pdf - - cluster.all-mcp-arch-common.opnfv.pod_config -parameters: - _param: - mcpcontrol_interface: ${_param:opnfv_fn_vm_primary_interface} - primary_interface: ${_param:opnfv_fn_vm_secondary_interface} - pxe_admin_interface: ${_param:opnfv_fn_vm_tertiary_interface} - interface_mtu: 1500 - # MaaS has issues using MTU > 1500 for PXE interface - pxe_admin_interface_mtu: 1500 - linux_system_codename: xenial - maas_admin_username: opnfv - maas_admin_password: opnfv_secret - maas_db_password: opnfv_secret - dns_server01: '{{ nm.dns_public[0] }}' - single_address: ${_param:infra_maas_node01_deploy_address} - hwe_kernel: 'hwe-16.04' - opnfv_maas_timeout_comissioning: {{ nm.maas_timeout_comissioning }} - opnfv_maas_timeout_deploying: {{ nm.maas_timeout_deploying }} - maas: - region: - boot_sources_delete_all_others: true - boot_sources: - resources_mirror: - url: http://images.maas.io/ephemeral-v3/daily - keyring_file: /usr/share/keyrings/ubuntu-cloudimage-keyring.gpg - boot_sources_selections: - xenial: - url: "http://images.maas.io/ephemeral-v3/daily" - os: "ubuntu" - release: "${_param:linux_system_codename}" - arches: -{%- for arch in nm.cluster.arch %} - - "{{ arch | dpkg_arch }}" -{%- endfor %} - subarches: - - "generic" - - "ga-16.04" - - "hwe-16.04" - labels: '"*"' - fabrics: - pxe_admin: - name: 'pxe_admin' - description: Fabric for PXE/admin - vlans: - 0: - name: 'vlan 0' - description: PXE/admin VLAN - dhcp: true - primary_rack: "${linux:network:hostname}" - subnets: - {{ nm.net_admin }}: - name: {{ nm.net_admin }} - cidr: {{ nm.net_admin }} - gateway_ip: ${_param:single_address} - fabric: ${maas:region:fabrics:pxe_admin:name} - vlan: 0 - ipranges: - 1: - start: {{ nm.net_admin_pool_start }} - end: {{ nm.net_admin_pool_end }} - type: dynamic - sshprefs: - - '{{ conf.MAAS_SSH_KEY }}' -{%- if 'aarch64' in nm.cluster.arch %} - package_repositories: - armband: - name: armband - enabled: '1' - url: 'http://linux.enea.com/mcp-repos/${_param:openstack_version}/${_param:linux_system_codename}' - distributions: '${_param:openstack_version}-armband' - components: 'main' - arches: 'arm64' - key: &armband_key | - -----BEGIN PGP PUBLIC KEY BLOCK----- - Version: GnuPG v2.0.14 (GNU/Linux) - - mQENBFagAroBCADWboNIjuF6lB1mWv2+EbvqY3lKl5mLKhr2DnSUkKeHUPBv8gNM - qK8Q00AMIyPiyEhgjA+dWizZ+5aBgxoiY7oMeLJ2Xym36U/8SYq2BWd3SGCbMNoz - SJDxDUSM/HFVs6atF1M3DY9oN65hSVnu4uy5Tu6asf6k4rhAyk0z4+pRcPBCu2vq - mnGi3COM/+9PShrEKeVOx5W2vRJywUFuq8EDvQnRoJ0GvM28JiJIanw17YwIPxhg - BKZVpZjan5X+ihVMXwA2h/G/FS5Omhd50RqV6LWSYs94VJJgYqHx8UMm7izcxI+P - ct3IcbD195bPbJ+SbuiFe45ZLsdY1MyGiU2BABEBAAG0K0VuZWEgQXJtYmFuZCBE - ZXZvcHMgVGVhbSA8YXJtYmFuZEBlbmVhLmNvbT6JATgEEwECACICGwMGCwkIBwMC - BhUIAgkKCwQWAgMBAh4BAheABQJaY3bYAAoJEN6rkLp5irHRoQMH/0PYl0A/6eWw - nQ/szhEFrr76Ln6wA4vEO+PiuWj9kTkZM2NaCnkisrIuHSPIVvOLfFmztbE6sKGe - t+a2b7Jqw48DZ/gq508aZE4Q307ookxdCOrzIu/796hFO34yXg3sqZoJh3VmKIjY - 4DL8yG1iAiQ5vOw3IFWQnATwIZUgaCcjmE7HGap+9ePuJfFuQ8mIG5cy28t8qocx - AB/B2tucfBMwomYxKqgbLI5AG7iSt58ajvrrNa9f8IX7Ihj/jiuXhUwX+geEp98K - IWVI1ftEthZvfBpZW4BS98J4z//dEPi31L4jb9RQXq3afF2RpXchDeUN85bW45nu - W/9PMAlgE/U= - =m+zE - -----END PGP PUBLIC KEY BLOCK----- -{%- endif %} - machines: - {%- set pxe_interface = conf.idf.net_config.admin.interface %} - {%- for node in conf.nodes %} - {%- if node.node.type == 'baremetal' %} - {%- if loop.index > nm.cmp001.idx %} - cmp{{ '%03d' | format(loop.index - nm.cmp001.idx) }}: - {%- else %} - kvm{{ '%02d' | format(loop.index) }}: - {%- endif %} - interface: - mac: {{ node.interfaces[pxe_interface].mac_address }} - power_parameters: - power_address: {{ node.remote_management.address.rsplit('/')[0] }} - power_password: {{ node.remote_management.pass }} - power_type: {{ node.remote_management.type }} - power_user: {{ node.remote_management.user }} - architecture: {{ node.node.arch | dpkg_arch }}/generic - distro_series: xenial - hwe_kernel: ${_param:hwe_kernel} - {%- if loop.index > nm.cmp001.idx %} - disk_layout: - type: lvm - root_device: sda - volume_group: vgroot - volume_name: lvroot - volume_size: 100 - {%- endif %} - {%- endif %} - {%- endfor %} - salt_master_ip: ${_param:reclass_config_master} - domain: ${_param:cluster_domain} - maas_config: - commissioning_distro_series: 'xenial' - default_distro_series: 'xenial' - default_osystem: 'ubuntu' - default_storage_layout: 'lvm' - enable_http_proxy: true - disk_erase_with_secure_erase: false - dnssec_validation: 'no' - enable_third_party_drivers: true - network_discovery: 'enabled' - default_min_hwe_kernel: ${_param:hwe_kernel} - cluster: - saltstack_repo_xenial: "deb [arch=amd64] http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.11/ xenial main" - linux: - network: - interface: - mcpcontrol_interface: - enabled: true - name: ${_param:mcpcontrol_interface} - type: eth - proto: dhcp - primary_interface: - enabled: true - name: ${_param:primary_interface} - mtu: ${_param:interface_mtu} - proto: static - address: ${_param:infra_maas_node01_address} - netmask: ${_param:opnfv_net_mgmt_mask} - type: eth - pxe_admin_interface: - enabled: true - name: ${_param:pxe_admin_interface} - mtu: ${_param:pxe_admin_interface_mtu} - proto: static - address: ${_param:single_address} - netmask: ${_param:opnfv_net_admin_mask} - type: eth diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_compute.yml b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_compute.yml index df90bc451..70ff789d0 100644 --- a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_compute.yml +++ b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_compute.yml @@ -19,8 +19,8 @@ classes: - system.ceilometer.agent.polling.default - service.barbican.client.cluster - cluster.mcp-common-ha.openstack_compute_pdf - - cluster.mcp-common-ha.include.maas_proxy - - cluster.mcp-common-ha.include.lab_proxy_pdf + - cluster.all-mcp-arch-common.opnfv.maas_proxy + - cluster.all-mcp-arch-common.opnfv.lab_proxy_pdf parameters: _param: cluster_vip_address: ${_param:openstack_control_address} diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_control.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_control.yml.j2 index 28d727eaa..33c74fda6 100644 --- a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_control.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_control.yml.j2 @@ -45,8 +45,8 @@ classes: # - system.salt.control.cluster.stacklight_log_cluster # - system.salt.control.cluster.stacklight_telemetry_cluster - cluster.mcp-common-ha.infra.kvm_pdf - - cluster.mcp-common-ha.include.maas_proxy - - cluster.mcp-common-ha.include.lab_proxy_pdf + - cluster.all-mcp-arch-common.opnfv.maas_proxy + - cluster.all-mcp-arch-common.opnfv.lab_proxy_pdf {%- endif %} parameters: _param: diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_biport.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_biport.yml.j2 index 3576acc2f..4fa959797 100644 --- a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_biport.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_biport.yml.j2 @@ -9,8 +9,8 @@ --- {%- if conf.MCP_VCP %} classes: - - cluster.mcp-common-ha.include.maas_proxy - - cluster.mcp-common-ha.include.lab_proxy_pdf + - cluster.all-mcp-arch-common.opnfv.maas_proxy + - cluster.all-mcp-arch-common.opnfv.lab_proxy_pdf parameters: _param: pxe_admin_interface: ${_param:opnfv_vcp_vm_primary_interface} diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_triport.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_triport.yml.j2 index 1fa22aa7f..05550a299 100644 --- a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_triport.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_interface_vcp_triport.yml.j2 @@ -10,8 +10,8 @@ --- {%- if conf.MCP_VCP %} classes: - - cluster.mcp-common-ha.include.maas_proxy - - cluster.mcp-common-ha.include.lab_proxy_pdf + - cluster.all-mcp-arch-common.opnfv.maas_proxy + - cluster.all-mcp-arch-common.opnfv.lab_proxy_pdf parameters: _param: pxe_admin_interface: ${_param:opnfv_vcp_vm_primary_interface} diff --git a/mcp/reclass/classes/cluster/mcp-odl-ha/infra/maas.yml.j2 b/mcp/reclass/classes/cluster/mcp-odl-ha/infra/maas.yml.j2 index c06643089..b5c40ef7b 100644 --- a/mcp/reclass/classes/cluster/mcp-odl-ha/infra/maas.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-odl-ha/infra/maas.yml.j2 @@ -8,7 +8,7 @@ {%- import 'net_map.j2' as nm with context %} --- classes: - - cluster.mcp-common-ha.infra.maas + - cluster.all-mcp-arch-common.infra.maas - cluster.mcp-odl-ha.infra {%- if 'aarch64' not in nm.cluster.arch %} parameters: diff --git a/mcp/reclass/classes/cluster/mcp-ovn-ha/infra/maas.yml b/mcp/reclass/classes/cluster/mcp-ovn-ha/infra/maas.yml index 72a451652..655c2a396 100644 --- a/mcp/reclass/classes/cluster/mcp-ovn-ha/infra/maas.yml +++ b/mcp/reclass/classes/cluster/mcp-ovn-ha/infra/maas.yml @@ -7,5 +7,5 @@ ############################################################################## --- classes: - - cluster.mcp-common-ha.infra.maas + - cluster.all-mcp-arch-common.infra.maas - cluster.mcp-ovn-ha.infra diff --git a/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/infra/maas.yml b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/infra/maas.yml index f3d605494..93fd6e7e5 100644 --- a/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/infra/maas.yml +++ b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-ha/infra/maas.yml @@ -7,5 +7,5 @@ ############################################################################## --- classes: - - cluster.mcp-common-ha.infra.maas + - cluster.all-mcp-arch-common.infra.maas - cluster.mcp-ovs-dpdk-ha.infra diff --git a/mcp/reclass/classes/cluster/mcp-ovs-ha/infra/maas.yml b/mcp/reclass/classes/cluster/mcp-ovs-ha/infra/maas.yml index c9102ea70..e666d007b 100644 --- a/mcp/reclass/classes/cluster/mcp-ovs-ha/infra/maas.yml +++ b/mcp/reclass/classes/cluster/mcp-ovs-ha/infra/maas.yml @@ -7,5 +7,5 @@ ############################################################################## --- classes: - - cluster.mcp-common-ha.infra.maas + - cluster.all-mcp-arch-common.infra.maas - cluster.mcp-ovs-ha.infra -- cgit 1.2.3-korg From 092caeeaea900b78f1cca0e13ad8cd05edab583a Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Sun, 5 Aug 2018 06:24:54 +0200 Subject: [maas] Add reclass storage definitions for all Reclass storage definitions for mas01 node should be added to all ha/noha scenarios, only when/if baremetal cluster nodes are involved. JIRA: FUEL-382 Change-Id: I455b07894b68eb89903df94352159ea6519275b0 Signed-off-by: Alexandru Avadanii --- .../classes/cluster/all-mcp-arch-common/infra/config_pdf.yml.j2 | 3 +++ mcp/reclass/classes/cluster/mcp-common-ha/infra/config.yml.j2 | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_pdf.yml.j2 b/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_pdf.yml.j2 index 495dfa27b..e94284df1 100644 --- a/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_pdf.yml.j2 +++ b/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_pdf.yml.j2 @@ -12,6 +12,9 @@ classes: - system.linux.system.single - system.linux.system.repo.mcp.salt - system.reclass.storage.salt +{%- if nm.cluster.has_baremetal_nodes %} + - system.reclass.storage.system.infra_maas_single +{%- endif %} - system.salt.master.api - system.salt.master.pkg - system.salt.minion.ca.salt_master diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/infra/config.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/infra/config.yml.j2 index 8cd3b33d1..6bc508387 100644 --- a/mcp/reclass/classes/cluster/mcp-common-ha/infra/config.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-common-ha/infra/config.yml.j2 @@ -18,7 +18,6 @@ classes: # - system.reclass.storage.system.stacklight_log_cluster # - system.reclass.storage.system.stacklight_monitor_cluster # - system.reclass.storage.system.stacklight_telemetry_cluster - - system.reclass.storage.system.infra_maas_single - cluster.all-mcp-arch-common.opnfv.lab_proxy_pdf - cluster.all-mcp-arch-common.infra.config_pdf parameters: -- cgit 1.2.3-korg From 873341864209ef28b596e405378fce2ae0ca7f97 Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Sun, 5 Aug 2018 09:57:44 +0200 Subject: [reclass] Move system.single class to common Include system.linux.system.single class globally in the common section, preparing for MaaS NOHA node definition. JIRA: FUEL-382 Change-Id: Icdfb2a90f356cd537631abe653950c0c30020551 Signed-off-by: Alexandru Avadanii --- mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_pdf.yml.j2 | 1 - mcp/reclass/classes/cluster/all-mcp-arch-common/init.yml.j2 | 1 + mcp/reclass/classes/cluster/mcp-common-ha/infra/init.yml.j2 | 1 - mcp/reclass/classes/cluster/mcp-odl-noha/init.yml | 1 - mcp/reclass/classes/cluster/mcp-ovn-noha/init.yml | 1 - mcp/reclass/classes/cluster/mcp-ovs-dpdk-noha/init.yml | 1 - mcp/reclass/classes/cluster/mcp-ovs-noha/init.yml | 1 - 7 files changed, 1 insertion(+), 6 deletions(-) diff --git a/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_pdf.yml.j2 b/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_pdf.yml.j2 index e94284df1..a12e15663 100644 --- a/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_pdf.yml.j2 +++ b/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_pdf.yml.j2 @@ -9,7 +9,6 @@ --- classes: - service.git.client - - system.linux.system.single - system.linux.system.repo.mcp.salt - system.reclass.storage.salt {%- if nm.cluster.has_baremetal_nodes %} diff --git a/mcp/reclass/classes/cluster/all-mcp-arch-common/init.yml.j2 b/mcp/reclass/classes/cluster/all-mcp-arch-common/init.yml.j2 index 19475c717..987c5eb2c 100644 --- a/mcp/reclass/classes/cluster/all-mcp-arch-common/init.yml.j2 +++ b/mcp/reclass/classes/cluster/all-mcp-arch-common/init.yml.j2 @@ -7,6 +7,7 @@ ############################################################################## --- classes: + - system.linux.system.single - cluster.all-mcp-arch-common.opnfv parameters: _param: diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/infra/init.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/infra/init.yml.j2 index 931dd1bab..c518d381f 100644 --- a/mcp/reclass/classes/cluster/mcp-common-ha/infra/init.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-common-ha/infra/init.yml.j2 @@ -7,7 +7,6 @@ ############################################################################## --- classes: - - system.linux.system.single - cluster.all-mcp-arch-common # - cluster.mcp-common-ha.stacklight # - cluster.mcp-common-ha.stacklight.client diff --git a/mcp/reclass/classes/cluster/mcp-odl-noha/init.yml b/mcp/reclass/classes/cluster/mcp-odl-noha/init.yml index a595bf0b5..e0c642a9f 100644 --- a/mcp/reclass/classes/cluster/mcp-odl-noha/init.yml +++ b/mcp/reclass/classes/cluster/mcp-odl-noha/init.yml @@ -7,7 +7,6 @@ ############################################################################## --- classes: - - system.linux.system.single - cluster.mcp-common-noha.init_options - cluster.mcp-odl-noha.infra - cluster.mcp-odl-noha.openstack diff --git a/mcp/reclass/classes/cluster/mcp-ovn-noha/init.yml b/mcp/reclass/classes/cluster/mcp-ovn-noha/init.yml index d4b6d85b7..82f4632bd 100644 --- a/mcp/reclass/classes/cluster/mcp-ovn-noha/init.yml +++ b/mcp/reclass/classes/cluster/mcp-ovn-noha/init.yml @@ -7,7 +7,6 @@ ############################################################################## --- classes: - - system.linux.system.single - cluster.mcp-common-noha.init_options - cluster.mcp-ovn-noha.infra - cluster.mcp-ovn-noha.openstack diff --git a/mcp/reclass/classes/cluster/mcp-ovs-dpdk-noha/init.yml b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-noha/init.yml index 96e2c9425..35c3e7655 100644 --- a/mcp/reclass/classes/cluster/mcp-ovs-dpdk-noha/init.yml +++ b/mcp/reclass/classes/cluster/mcp-ovs-dpdk-noha/init.yml @@ -7,7 +7,6 @@ ############################################################################## --- classes: - - system.linux.system.single - cluster.mcp-common-noha.init_options - cluster.mcp-ovs-dpdk-noha.infra - cluster.mcp-ovs-dpdk-noha.openstack diff --git a/mcp/reclass/classes/cluster/mcp-ovs-noha/init.yml b/mcp/reclass/classes/cluster/mcp-ovs-noha/init.yml index a453af50b..24de77a24 100644 --- a/mcp/reclass/classes/cluster/mcp-ovs-noha/init.yml +++ b/mcp/reclass/classes/cluster/mcp-ovs-noha/init.yml @@ -7,7 +7,6 @@ ############################################################################## --- classes: - - system.linux.system.single - cluster.mcp-common-noha.init_options - cluster.mcp-ovs-noha.infra - cluster.mcp-ovs-noha.openstack -- cgit 1.2.3-korg From 291d972bdd666d36e35f8bb3953b0da806ea0eea Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Sun, 5 Aug 2018 19:20:04 +0200 Subject: [noha] cinder: Align VG name with HA scenarios Prepare for MaaS integration in NOHA scenarios by aligning cinder VG naming across all scenarios. JIRA: FUEL-382 Change-Id: I0cd7accf573ae0904efddd7aa67d880f2a6deb71 Signed-off-by: Alexandru Avadanii --- .../classes/cluster/mcp-common-noha/openstack_compute.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute.yml b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute.yml index a027113ae..5c9c16d6b 100644 --- a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute.yml +++ b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_compute.yml @@ -49,6 +49,10 @@ parameters: host: ${_param:openstack_control_address} cinder: volume: + backend: + lvm-driver: + # Align system.cinder.volume.backend.lvm and MaaS data + volume_group: ${linux:storage:lvm:cinder-vg:name} my_ip: ${_param:single_address} database: host: ${_param:cluster_local_address} @@ -68,6 +72,11 @@ parameters: fstype: nfs device: ${_param:openstack_control_address}:/srv/nova/instances linux: + storage: + lvm: + # Align with both system.cinder.volume.backend.lvm and MaaS data + cinder-vg: + name: vgroot system: kernel: sysctl: -- cgit 1.2.3-korg