+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+: 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, 5 Aug 2017 02:03:01 +0200
Subject: [PATCH] maas: region: force artifact download
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
---
+ maas/files/maas-artifact-sync.sh | 20 ++++++++++++++++++++
+ maas/region.sls | 10 +++++++++-
+ 2 files changed, 29 insertions(+), 1 deletion(-)
+ create mode 100644 maas/files/maas-artifact-sync.sh
-diff --git a/maas/region.sls b/maas/region.sls
---- a/maas/region.sls
-+++ b/maas/region.sls
-@@ -109,11 +109,19 @@
- cmd.run:
- - name: "maas-region apikey --username {{ region.admin.username }} > /var/lib/maas/.maas_credentials"
-
-+maas_force_artifact_sync:
-+ cmd.script:
-+ - name: salt://maas/files/maas-artifact-sync.sh
-+ - template: jinja
-+ - shell: /bin/bash
-+ - require:
-+ - cmd: maas_login_admin
-+
- maas_config:
- module.run:
- - name: maas.process_maas_config
- - require:
-- - cmd: maas_login_admin
-+ - cmd: maas_force_artifact_sync
-
- maas_commissioning_scripts:
- module.run:
diff --git a/maas/files/maas-artifact-sync.sh b/maas/files/maas-artifact-sync.sh
new file mode 100644
+index 0000000..1715c51
--- /dev/null
+++ b/maas/files/maas-artifact-sync.sh
-@@ -0,0 +1,21 @@
+@@ -0,0 +1,20 @@
+{%- from "maas/map.jinja" import region with context %}
+#!/bin/bash
+function wait_for {
+maas login {{ region.admin.username }} \
+ http://{{ region.bind.host }}:5240/MAAS/api/2.0 - < \
+ /var/lib/maas/.maas_credentials || exit 1
-+# wait max 15 min for service up / image download, 5 min region to rack sync
-+wait_for 90 "grep -qzE '(Unable to probe for DHCP servers|DHCP probe complete).*Rack controller' /var/log/maas/rackd.log"
-+maas opnfv boot-resources import || exit 2
++# wait max 5 min for service up, 15 min image download, 5 min region to rack sync
++wait_for 30 "maas opnfv boot-resources import"
+wait_for 90 "! maas opnfv boot-resources is-importing | grep -q 'true'"
+maas opnfv rack-controllers import-boot-images || exit 3
-+wait_for 30 "test -d /var/lib/maas/boot-resources/current/ubuntu/amd64"
++wait_for 30 "true {%- for arch in region.opnfv_arches.split(' ') %} && test -d /var/lib/maas/boot-resources/current/ubuntu/{{ arch }}{%- endfor %}"
+diff --git a/maas/region.sls b/maas/region.sls
+index aed295d..d6d28bb 100644
+--- a/maas/region.sls
++++ b/maas/region.sls
+@@ -161,11 +161,19 @@ maas_login_admin:
+ - onlyif: /bin/false
+ {%- endif %}
+
++maas_force_artifact_sync:
++ cmd.script:
++ - name: salt://maas/files/maas-artifact-sync.sh
++ - template: jinja
++ - shell: /bin/bash
++ - require:
++ - cmd: maas_login_admin
++
+ maas_config:
+ module.run:
+ - name: maas.process_maas_config
+ - require:
+- - cmd: maas_login_admin
++ - cmd: maas_force_artifact_sync
+ {%- if grains.get('kitchen-test') %}
+ - onlyif: /bin/false
+ {%- endif %}