Merge "[Horizon] Drop the obsolete Horizon workaround"
[fuel.git] / mcp / patches / 0010-maas-region-allow-timeout-override.patch
index 5b68b43..c6f9e3a 100644 (file)
@@ -1,8 +1,19 @@
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+: 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
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
 Date: Sat, 23 Sep 2017 02:03:01 +0200
 Subject: [PATCH] maas: region: allow timeout override
 
-Poor implementation that allows overiding comissioning/deploying
+Two changes are squashed into a single patch so we can test for
+reverse-applying the cummulative diff.
+
+1. Poor implementation that allows overiding comissioning/deploying
 timeouts, which are hardcoded in MaaS source code.
 
 Add the following reclass _param:
@@ -11,13 +22,29 @@ Add the following reclass _param:
 
 The defaults are now 10/15 minutes (MaaS defaults to 20/40 min).
 
+2. 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.
+
+3. MaaS blocksize: For some reason the python library behind tftp forces ip
+blocksize to be 1008. We can force it to be 1464 and gain some performance due
+to MTU beeing 1500 (i.e. allow bigger packets).
+
+
+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
-@@ -19,6 +19,26 @@
+@@ -19,6 +19,46 @@
    - require:
      - pkg: maas_region_packages
 
@@ -25,7 +52,7 @@ diff --git a/maas/region.sls b/maas/region.sls
 +  file.replace:
 +    - name: "/usr/lib/python3/dist-packages/maasserver/node_status.py"
 +    - pattern: '^(\s+NODE_STATUS.COMMISSIONING:)\s+\d+,$'
-+    - repl: \1 {{ salt['pillar.get']('_param:opnfv_maas_timeout_comissioning', '10') }},
++    - repl: \1 {{ salt['pillar.get']('_param:opnfv_maas_timeout_comissioning', '20') }},
 +    - require:
 +      - pkg: maas_region_packages
 +    - require_in:
@@ -35,7 +62,27 @@ diff --git a/maas/region.sls b/maas/region.sls
 +  file.replace:
 +    - name: "/usr/lib/python3/dist-packages/maasserver/node_status.py"
 +    - pattern: '^(\s+NODE_STATUS.DEPLOYING:)\s+\d+,$'
-+    - repl: \1 {{ salt['pillar.get']('_param:opnfv_maas_timeout_deploying', '15') }},
++    - repl: \1 {{ salt['pillar.get']('_param:opnfv_maas_timeout_deploying', '40') }},
++    - require:
++      - pkg: maas_region_packages
++    - require_in:
++      - service: maas_region_services
++
++maas_ip_blksize_force:
++  file.replace:
++    - name: "/usr/lib/python3/dist-packages/tftp/bootstrap.py"
++    - pattern: 'int_blksize = min\(\(int_blksize, MAX_BLOCK_SIZE\)\)'
++    - repl: 'int_blksize = 1464'
++    - require:
++      - pkg: maas_region_packages
++    - 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: