::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
: 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
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:
- opnfv_maas_timeout_comissioning;
- opnfv_maas_timeout_deploying;
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,46 @@
- require:
- pkg: maas_region_packages
+maas_timeout_commissioning:
+ 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', '20') }},
+ - require:
+ - pkg: maas_region_packages
+ - require_in:
+ - service: maas_region_services
+
+maas_timeout_deploying:
+ 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', '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:
+ - service: maas_region_services
+
{%- if region.get('enable_iframe', False) %}
/etc/apache2/conf-enabled/maas-http.conf: