+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+: 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:
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
+ 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:
+ 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: