diff options
-rwxr-xr-x | mcp/config/states/maas | 14 | ||||
-rw-r--r-- | mcp/patches/0011-maas-region-interface-default-mode-DHCP.patch | 44 | ||||
-rw-r--r-- | mcp/patches/0013-libvirt-unix_sock_group-s-libvirtd-libvirt.patch | 8 | ||||
-rw-r--r-- | mcp/patches/patches.list | 1 | ||||
-rw-r--r-- | mcp/patches/pharos/0001-Update-MaaS-PXE-config.patch | 47 | ||||
-rw-r--r-- | mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/pod_config.yml.example | 15 | ||||
-rw-r--r-- | mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/init.yml | 2 | ||||
-rw-r--r-- | mcp/scripts/lib.sh | 5 | ||||
m--------- | mcp/scripts/pharos | 0 |
9 files changed, 118 insertions, 18 deletions
diff --git a/mcp/config/states/maas b/mcp/config/states/maas index 24cefe818..9ad053805 100755 --- a/mcp/config/states/maas +++ b/mcp/config/states/maas @@ -1,4 +1,5 @@ #!/bin/bash -e +# shellcheck disable=SC1090,SC2155 ############################################################################## # Copyright (c) 2017 Mirantis Inc., Enea AB and others. # All rights reserved. This program and the accompanying materials @@ -10,21 +11,18 @@ CI_DEBUG=${CI_DEBUG:-0}; [[ "${CI_DEBUG}" =~ (false|0) ]] || set -x ERASE_ENV=${ERASE_ENV:-0} -# shellcheck disable=SC1090 +source "$(dirname "${BASH_SOURCE[0]}")/../../scripts/globals.sh" source "$(dirname "${BASH_SOURCE[0]}")/../../scripts/lib.sh" # Wait for MaaS commissioning/deploy to finish, retry on failure function maas_fixup() { local statuscmd="salt 'mas01*' --out yaml state.apply maas.machines.status" - # shellcheck disable=SC2155 local ncount=$(salt --out yaml 'mas01*' pillar.get maas:region:machines | \ grep -cE '^\s{2}\w+:$') wait_for 180 "${statuscmd} | tee /dev/stderr | " \ "grep -Eq '((Deployed|Ready): ${ncount}|status: (Failed|Allocated))'" - # shellcheck disable=SC2155 local statusout=$(eval "${statuscmd}") - # shellcheck disable=SC2155 local fcnodes=$(echo "${statusout}" | \ grep -Pzo 'status: Failed commissioning\n\s+system_id: \K.+\n') for node_system_id in ${fcnodes}; do @@ -37,7 +35,6 @@ function maas_fixup() { return 1 fi - # shellcheck disable=SC2155 local fdnodes=$(echo "${statusout}" | \ grep -Pzo 'status: (Failed deployment|Allocated)\n\s+system_id: \K.+\n') for node_system_id in ${fdnodes}; do @@ -55,12 +52,13 @@ function maas_fixup() { # Optionally destroy MaaS machines from a previous run if [ "${ERASE_ENV}" -gt 1 ]; then - dnodes=$(salt 'mas01*' --out yaml state.apply maas.machines.status | \ - grep -Pzo '\s+system_id: \K.+\n') + set +e; dnodes=$(salt 'mas01*' --out yaml state.apply maas.machines.status | \ + grep -Pzo '\s+system_id: \K.+\n'); set -e + cleanup_uefi for node_system_id in ${dnodes}; do salt -C 'mas01*' state.apply maas.machines.delete \ pillar="{'system_id': '${node_system_id}'}" - sleep 30 + sleep 10 done fi diff --git a/mcp/patches/0011-maas-region-interface-default-mode-DHCP.patch b/mcp/patches/0011-maas-region-interface-default-mode-DHCP.patch new file mode 100644 index 000000000..d161a9527 --- /dev/null +++ b/mcp/patches/0011-maas-region-interface-default-mode-DHCP.patch @@ -0,0 +1,44 @@ +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +: 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 +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> +Date: Mon, 18 Dec 2017 02:03:01 +0200 +Subject: [PATCH] maas: region: interface: default mode DHCP + +Switch MaaS interface mode default from AUTO to DHCP. +This way, MaaS will not statically assign IPs *outside* the dynamic +reserved range, but instead DHCP will assign them *inside* the range. + +One alternative would be to handle this via API calls, for each +node's PXE physical interface, but that overcomplicates things. + +JIRA: FUEL-316 + +Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> +--- + +diff --git a/maas/region.sls b/maas/region.sls +--- a/maas/region.sls ++++ b/maas/region.sls +@@ -39,6 +39,16 @@ + - require_in: + - service: maas_region_services + ++maas_interface_default_mode_dhcp: ++ file.replace: ++ - name: "/usr/lib/python3/dist-packages/maasserver/models/node.py" ++ - pattern: '^(\s+INTERFACE_LINK_TYPE)\.AUTO' ++ - repl: \1.DHCP ++ - require: ++ - pkg: maas_region_packages ++ - require_in: ++ - service: maas_region_services ++ + {%- if region.get('enable_iframe', False) %} + + /etc/apache2/conf-enabled/maas-http.conf: diff --git a/mcp/patches/0013-libvirt-unix_sock_group-s-libvirtd-libvirt.patch b/mcp/patches/0013-libvirt-unix_sock_group-s-libvirtd-libvirt.patch index 1ac6cd157..715ddc042 100644 --- a/mcp/patches/0013-libvirt-unix_sock_group-s-libvirtd-libvirt.patch +++ b/mcp/patches/0013-libvirt-unix_sock_group-s-libvirtd-libvirt.patch @@ -1,3 +1,11 @@ +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +: 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 +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> Date: Sun, 20 Aug 2017 02:03:01 +0200 Subject: [PATCH] libvirt: unix_sock_group: s/libvirtd/libvirt/ diff --git a/mcp/patches/patches.list b/mcp/patches/patches.list index a87a935bc..d16e3c207 100644 --- a/mcp/patches/patches.list +++ b/mcp/patches/patches.list @@ -13,5 +13,6 @@ /usr/share/salt-formulas/env: 0006-maas-module-Add-VLAN-DHCP-enable-support.patch /usr/share/salt-formulas/env: 0008-Handle-file_recv-option.patch /usr/share/salt-formulas/env: 0010-maas-region-allow-timeout-override.patch +/usr/share/salt-formulas/env: 0011-maas-region-interface-default-mode-DHCP.patch /usr/share/salt-formulas/env: 0012-linux.storage.lvm-Disable-filter.patch /usr/share/salt-formulas/env: 0013-libvirt-unix_sock_group-s-libvirtd-libvirt.patch diff --git a/mcp/patches/pharos/0001-Update-MaaS-PXE-config.patch b/mcp/patches/pharos/0001-Update-MaaS-PXE-config.patch new file mode 100644 index 000000000..27467dd61 --- /dev/null +++ b/mcp/patches/pharos/0001-Update-MaaS-PXE-config.patch @@ -0,0 +1,47 @@ +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +: 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 +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> +Date: Sat, 16 Dec 2017 21:14:35 +0100 +Subject: [PATCH] Update MaaS PXE config + +- reduce DHCP range to silence a dummy MaaS warning about address exhaustion; +- define PXE/admin address for Salt Master node; +- drop obsolete opnfv_infra_maas_pxe_address; + +JIRA: FUEL-316 + +Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> +--- + config/installers/fuel/pod_config.yml.j2 | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/config/installers/fuel/pod_config.yml.j2 b/config/installers/fuel/pod_config.yml.j2 +index 28c6188..f380535 100644 +--- a/config/installers/fuel/pod_config.yml.j2 ++++ b/config/installers/fuel/pod_config.yml.j2 +@@ -40,6 +40,7 @@ parameters: + {%- endif %} + + opnfv_infra_config_address: {{ net_mgmt | ipaddr_index('100') }} ++ opnfv_infra_config_pxe_address: {{ net_admin | ipaddr_index('2') }} + opnfv_infra_maas_node01_address: {{ net_mgmt | ipaddr_index('3') }} + opnfv_infra_maas_node01_deploy_address: {{ net_admin | ipaddr_index('3') }} + opnfv_infra_kvm_address: {{ net_mgmt | ipaddr_index('140') }} +@@ -48,9 +49,8 @@ parameters: + opnfv_infra_kvm_node03_address: {{ net_mgmt | ipaddr_index('143') }} + + opnfv_infra_maas_pxe_network_address: {{ net_admin }} +- opnfv_infra_maas_pxe_address: {{ net_admin | ipaddr_index('3') }} +- opnfv_infra_maas_pxe_start_address: {{ net_admin | ipaddr_index('5') }} +- opnfv_infra_maas_pxe_end_address: {{ net_admin | ipaddr_index('250') }} ++ opnfv_infra_maas_pxe_start_address: {{ net_admin | ipaddr_index('4') }} ++ opnfv_infra_maas_pxe_end_address: {{ net_admin | ipaddr_index('100') }} + + opnfv_openstack_gateway_node01_address: {{ net_mgmt | ipaddr_index('124') }} + opnfv_openstack_gateway_node02_address: {{ net_mgmt | ipaddr_index('125') }} diff --git a/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/pod_config.yml.example b/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/pod_config.yml.example index 66999de86..a2cdabbf3 100644 --- a/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/pod_config.yml.example +++ b/mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/pod_config.yml.example @@ -10,6 +10,7 @@ parameters: _param: opnfv_infra_config_address: 10.167.4.100 + opnfv_infra_config_pxe_address: 192.168.11.2 opnfv_infra_maas_node01_address: 10.167.4.3 opnfv_infra_maas_node01_deploy_address: 192.168.11.3 opnfv_infra_kvm_address: 10.167.4.140 @@ -18,9 +19,8 @@ parameters: opnfv_infra_kvm_node03_address: 10.167.4.143 opnfv_infra_maas_pxe_network_address: 192.168.11.0 - opnfv_infra_maas_pxe_address: 192.168.11.3 - opnfv_infra_maas_pxe_start_address: 192.168.11.5 - opnfv_infra_maas_pxe_end_address: 192.168.11.250 + opnfv_infra_maas_pxe_start_address: 192.168.11.4 + opnfv_infra_maas_pxe_end_address: 192.168.11.100 opnfv_openstack_gateway_node01_address: 10.167.4.124 opnfv_openstack_gateway_node02_address: 10.167.4.125 @@ -28,11 +28,11 @@ parameters: opnfv_openstack_gateway_node01_tenant_address: 10.1.0.6 opnfv_openstack_gateway_node02_tenant_address: 10.1.0.7 opnfv_openstack_gateway_node03_tenant_address: 10.1.0.9 - opnfv_openstack_proxy_node01_control_address: 10.167.4.81 - opnfv_openstack_proxy_node02_control_address: 10.167.4.82 opnfv_openstack_proxy_address: 172.30.10.103 opnfv_openstack_proxy_node01_address: 172.30.10.104 opnfv_openstack_proxy_node02_address: 172.30.10.105 + opnfv_openstack_proxy_node01_control_address: 10.167.4.104 + opnfv_openstack_proxy_node02_control_address: 10.167.4.105 opnfv_openstack_control_address: 10.167.4.10 opnfv_openstack_control_node01_address: 10.167.4.11 opnfv_openstack_control_node02_address: 10.167.4.12 @@ -58,14 +58,15 @@ parameters: opnfv_openstack_compute_node01_tenant_address: 10.1.0.101 opnfv_openstack_compute_node02_tenant_address: 10.1.0.102 opnfv_openstack_compute_node03_tenant_address: 10.1.0.103 - opnfv_openstack_compute_node01_external_address: 172.30.10.2 - opnfv_openstack_compute_node02_external_address: 172.30.10.3 + opnfv_openstack_compute_node01_external_address: 172.30.10.101 + opnfv_openstack_compute_node02_external_address: 172.30.10.102 opnfv_opendaylight_server_node01_single_address: 10.167.4.111 opnfv_net_public_gw: 172.30.10.1 opnfv_name_servers: ['8.8.8.8', '8.8.4.4'] opnfv_dns_server01: '8.8.8.8' + opnfv_net_mgmt_vlan: 300 opnfv_net_tenant_vlan: 1000 diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/init.yml b/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/init.yml index 1725894fc..bdb7084c8 100644 --- a/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/init.yml +++ b/mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/init.yml @@ -27,7 +27,7 @@ parameters: infra_config_address: ${_param:opnfv_infra_config_address} infra_config_deploy_address: ${_param:reclass_config_master} infra_maas_node01_address: ${_param:opnfv_infra_maas_node01_address} - infra_maas_node01_deploy_address: ${_param:opnfv_infra_maas_pxe_address} + infra_maas_node01_deploy_address: ${_param:opnfv_infra_maas_node01_deploy_address} infra_kvm_address: ${_param:opnfv_infra_kvm_address} infra_kvm_node01_address: ${_param:opnfv_infra_kvm_node01_address} diff --git a/mcp/scripts/lib.sh b/mcp/scripts/lib.sh index 3dee9c51f..a1f347cb6 100644 --- a/mcp/scripts/lib.sh +++ b/mcp/scripts/lib.sh @@ -151,8 +151,9 @@ function cleanup_mounts { function cleanup_uefi { # Clean up Ubuntu boot entry if cfg01, kvm nodes online from previous deploy - # shellcheck disable=SC2086 - ssh ${SSH_OPTS} "${SSH_SALT}" "sudo salt -C 'kvm* or cmp*' cmd.run \ + local cmd_str="ssh ${SSH_OPTS} ${SSH_SALT}" + [ ! "$(hostname)" = 'cfg01' ] || cmd_str='eval' + ${cmd_str} "sudo salt -C 'kvm* or cmp*' cmd.run \ \"which efibootmgr > /dev/null 2>&1 && \ efibootmgr | grep -oP '(?<=Boot)[0-9]+(?=.*ubuntu)' | \ xargs -I{} efibootmgr --delete-bootnum --bootnum {}; \ diff --git a/mcp/scripts/pharos b/mcp/scripts/pharos -Subproject cf19f9ee69eacc1189cbeb746b30e3a09eaeac9 +Subproject 89d7cb905bf6f286648638f5865884ac5e332e5 |