:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: : 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 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 --- maas/region.sls | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/maas/region.sls b/maas/region.sls index e0f65b0..d151e3a 100644 --- a/maas/region.sls +++ b/maas/region.sls @@ -38,6 +38,46 @@ restore_maas_database_{{ region.database.name }}: {%- endif %} +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: