summaryrefslogtreecommitdiffstats
path: root/mcp/patches/salt-formula-maas/0002-maas-region-allow-timeout-override.patch
diff options
context:
space:
mode:
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>2018-08-18 03:46:13 +0200
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>2018-08-29 01:27:28 +0200
commitab18375a629010525ac15bc11ce2d4e4cf393fe9 (patch)
tree38dc93fe27b88db9ebe489e4c685b06e4b80561e /mcp/patches/salt-formula-maas/0002-maas-region-allow-timeout-override.patch
parentcfa1c0d67ee23edcbc25d9620754159645981dd8 (diff)
[docker] Switch to containerized Salt Master
* Refactor OPNFV salt-formulas mechanism to resemble upstream git structure: - git submodules: add new submodule for each formula we patch; - create salt-formula-x directories for OPNFV formulas; - move mcp/metadata/service contents to their each formula subdir; - use `make patches-import` for patches previously handled by patch.sh; - retire patch.sh * states: add virtual_init: - mostly based on old salt.sh, which is now obsolete; - exclude salt-master service restart (it would kill the container); * scenarios: cleanup (rm cfg01 virtual node def), adopt virtual_init; * reclass: align our model with prebuilt container's Salt config: - drop linux:network pillar data (handled by Docker); - stop applying linux.system state on cfg01; - align salt user homedir; - drop salt-formula packages (preprovisioned); * minor plumbing in deploy.sh and lib.sh; JIRA: FUEL-383 Change-Id: I28708a9b399d3f19012212c71966ebda9d6fc0ac Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Diffstat (limited to 'mcp/patches/salt-formula-maas/0002-maas-region-allow-timeout-override.patch')
-rw-r--r--mcp/patches/salt-formula-maas/0002-maas-region-allow-timeout-override.patch95
1 files changed, 95 insertions, 0 deletions
diff --git a/mcp/patches/salt-formula-maas/0002-maas-region-allow-timeout-override.patch b/mcp/patches/salt-formula-maas/0002-maas-region-allow-timeout-override.patch
new file mode 100644
index 000000000..aef087d92
--- /dev/null
+++ b/mcp/patches/salt-formula-maas/0002-maas-region-allow-timeout-override.patch
@@ -0,0 +1,95 @@
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+: 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>
+---
+ maas/region.sls | 40 ++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 40 insertions(+)
+
+diff --git a/maas/region.sls b/maas/region.sls
+index 5844f22..d844bb4 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: