MaaS: Reduce C/D timeouts, minor fixes 65/42865/1
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Sat, 23 Sep 2017 19:35:03 +0000 (21:35 +0200)
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Sat, 23 Sep 2017 21:55:14 +0000 (21:55 +0000)
- add new patch for maas.region, extending it poorly with a timeout
  override mechanism; the new comissioning/deploying timeout defaults
  (10/15min) will be used instead of MaaS defaults (20/40min), unless
  reclass params are defined with different values;
- add 30s delay between 'machine mark-broken' and 'machine mark-fixed'
  MaaS cli commands (fixes a rare race condition);
- fix forgotten replace in 'maas.pxe_route': s/opnfv_fuel_/opnfv_/g;

Change-Id: I71c562b80031bac2793dd470d52928c2d62e5300
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
(cherry picked from commit 01e94712d75c0a1cf7585f0ed380dd9a3967274e)

mcp/patches/0010-maas-region-allow-timeout-override.patch [new file with mode: 0644]
mcp/patches/patches.list
mcp/salt-formulas/maas/machines/mark_broken_fixed.sls
mcp/salt-formulas/maas/pxe_route.sls

diff --git a/mcp/patches/0010-maas-region-allow-timeout-override.patch b/mcp/patches/0010-maas-region-allow-timeout-override.patch
new file mode 100644 (file)
index 0000000..5b68b43
--- /dev/null
@@ -0,0 +1,46 @@
+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
+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).
+
+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 @@
+   - 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', '10') }},
++    - 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', '15') }},
++    - require:
++      - pkg: maas_region_packages
++    - require_in:
++      - service: maas_region_services
++
+ {%- if region.get('enable_iframe', False)  %}
+
+ /etc/apache2/conf-enabled/maas-http.conf:
index f65daab..4140adb 100644 (file)
@@ -7,3 +7,4 @@
 /usr/share/salt-formulas/env: 0007-linux.network.interface-noifupdown-support.patch
 /usr/share/salt-formulas/env: 0008-Handle-file_recv-option.patch
 /usr/share/salt-formulas/env: 0009-seedng-module-Sync-salt-version.patch
+/usr/share/salt-formulas/env: 0010-maas-region-allow-timeout-override.patch
index 874718f..4829fb1 100644 (file)
@@ -7,6 +7,6 @@ maas_login_admin:
 # TODO: implement mark_broken_fixed_machine via _modules/maas.py
 mark_broken_fixed_machine:
   cmd.run:
-  - name: "maas login {{ region.admin.username }} http://{{ region.bind.host }}:5240/MAAS/api/2.0 - < /var/lib/maas/.maas_credentials && maas opnfv machine mark-broken {{ pillar['system_id'] }} && maas opnfv machine mark-fixed {{ pillar['system_id'] }}"
+  - name: "maas login {{ region.admin.username }} http://{{ region.bind.host }}:5240/MAAS/api/2.0 - < /var/lib/maas/.maas_credentials && maas opnfv machine mark-broken {{ pillar['system_id'] }} && sleep 30 && maas opnfv machine mark-fixed {{ pillar['system_id'] }}"
   - require:
     - cmd: maas_login_admin
index 5f7cebd..9c22b2a 100644 (file)
@@ -3,6 +3,6 @@ routes:
     - name: {{ salt['pillar.get']('_param:opnfv_fn_vm_primary_interface') }}
     - routes:
       - name: maas_mcp_to_pxe_network
-        ipaddr: {{ salt['pillar.get']('_param:opnfv_fuel_maas_pxe_network') }}
+        ipaddr: {{ salt['pillar.get']('_param:opnfv_maas_pxe_network') }}
         netmask: 255.255.255.0
-        gateway: {{ salt['pillar.get']('_param:opnfv_fuel_maas_mcp_address') }}
+        gateway: {{ salt['pillar.get']('_param:opnfv_maas_mcp_address') }}