[baremetal] MaaS: Fix DHCP dynamic reserved range 41/49141/3
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Sat, 16 Dec 2017 20:11:26 +0000 (21:11 +0100)
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Mon, 18 Dec 2017 01:40:25 +0000 (02:40 +0100)
- patch MaaS to default to `DHCP` instead of `AUTO` for physical
  PXE interfaces (all IPs will be handed out by MaaS DHCP *inside* the
  defined dynamic DHCP IP range);
- reduce range to silence bogus MaaS warning about address exhaustion;
- regenerate pod_config.yml.example to reflect the changes;
- drop `opnfv_infra_maas_pxe_address` (duplicate of
  `opnfv_infra_maas_node01_deploy_address`);
- add `opnfv_infra_config_pxe_address` for future usage;
- while at it, fix missing patch copyright;

JIRA: FUEL-316

Change-Id: I81fad333e77f7c8508cd2b2b267c7b39c130e3e1
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
mcp/patches/0011-maas-region-interface-default-mode-DHCP.patch [new file with mode: 0644]
mcp/patches/0013-libvirt-unix_sock_group-s-libvirtd-libvirt.patch
mcp/patches/patches.list
mcp/patches/pharos/0001-Update-MaaS-PXE-config.patch [new file with mode: 0644]
mcp/reclass/classes/cluster/all-mcp-arch-common/opnfv/pod_config.yml.example
mcp/reclass/classes/cluster/baremetal-mcp-pike-common-ha/infra/init.yml
mcp/scripts/pharos

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 (file)
index 0000000..d161a95
--- /dev/null
@@ -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:
index 1ac6cd1..715ddc0 100644 (file)
@@ -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/
index a87a935..d16e3c2 100644 (file)
@@ -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 (file)
index 0000000..27467dd
--- /dev/null
@@ -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') }}
index 66999de..a2cdabb 100644 (file)
@@ -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
 
index 1725894..bdb7084 100644 (file)
@@ -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}
index cf19f9e..89d7cb9 160000 (submodule)
@@ -1 +1 @@
-Subproject commit cf19f9ee69eacc1189cbeb746b30e3a09eaeac93
+Subproject commit 89d7cb905bf6f286648638f5865884ac5e332e59