aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xmcp/config/states/maas14
-rw-r--r--mcp/patches/0011-maas-region-interface-default-mode-DHCP.patch44
-rw-r--r--mcp/patches/0013-libvirt-unix_sock_group-s-libvirtd-libvirt.patch8
-rw-r--r--mcp/patches/patches.list1
-rw-r--r--mcp/patches/pharos/0001-Update-MaaS-PXE-config.patch47
-rw-r--r--mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/pod_config.yml.example15
-rw-r--r--mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/init.yml2
-rw-r--r--mcp/scripts/lib.sh5
m---------mcp/scripts/pharos0
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