1 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
2 : Copyright (c) 2018 Mirantis Inc., Enea AB and others.
4 : All rights reserved. This program and the accompanying materials
5 : are made available under the terms of the Apache License, Version 2.0
6 : which accompanies this distribution, and is available at
7 : http://www.apache.org/licenses/LICENSE-2.0
8 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
9 From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
10 Date: Sat, 23 Sep 2017 02:03:01 +0200
11 Subject: [PATCH] maas: region: allow timeout override
13 Two changes are squashed into a single patch so we can test for
14 reverse-applying the cummulative diff.
16 1. Poor implementation that allows overiding comissioning/deploying
17 timeouts, which are hardcoded in MaaS source code.
19 Add the following reclass _param:
20 - opnfv_maas_timeout_comissioning;
21 - opnfv_maas_timeout_deploying;
23 The defaults are now 10/15 minutes (MaaS defaults to 20/40 min).
25 2. maas: region: interface: default mode DHCP
27 Switch MaaS interface mode default from AUTO to DHCP.
28 This way, MaaS will not statically assign IPs *outside* the dynamic
29 reserved range, but instead DHCP will assign them *inside* the range.
31 One alternative would be to handle this via API calls, for each
32 node's PXE physical interface, but that overcomplicates things.
34 3. MaaS blocksize: For some reason the python library behind tftp forces ip
35 blocksize to be 1008. We can force it to be 1464 and gain some performance due
36 to MTU beeing 1500 (i.e. allow bigger packets).
41 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
44 diff --git a/maas/region.sls b/maas/region.sls
49 - pkg: maas_region_packages
51 +maas_timeout_commissioning:
53 + - name: "/usr/lib/python3/dist-packages/maasserver/node_status.py"
54 + - pattern: '^(\s+NODE_STATUS.COMMISSIONING:)\s+\d+,$'
55 + - repl: \1 {{ salt['pillar.get']('_param:opnfv_maas_timeout_comissioning', '20') }},
57 + - pkg: maas_region_packages
59 + - service: maas_region_services
61 +maas_timeout_deploying:
63 + - name: "/usr/lib/python3/dist-packages/maasserver/node_status.py"
64 + - pattern: '^(\s+NODE_STATUS.DEPLOYING:)\s+\d+,$'
65 + - repl: \1 {{ salt['pillar.get']('_param:opnfv_maas_timeout_deploying', '40') }},
67 + - pkg: maas_region_packages
69 + - service: maas_region_services
71 +maas_ip_blksize_force:
73 + - name: "/usr/lib/python3/dist-packages/tftp/bootstrap.py"
74 + - pattern: 'int_blksize = min\(\(int_blksize, MAX_BLOCK_SIZE\)\)'
75 + - repl: 'int_blksize = 1464'
77 + - pkg: maas_region_packages
79 + - service: maas_region_services
81 +maas_interface_default_mode_dhcp:
83 + - name: "/usr/lib/python3/dist-packages/maasserver/models/node.py"
84 + - pattern: '^(\s+INTERFACE_LINK_TYPE)\.AUTO'
87 + - pkg: maas_region_packages
89 + - service: maas_region_services
91 {%- if region.get('enable_iframe', False) %}
93 /etc/apache2/conf-enabled/maas-http.conf: