states: maas: Add 30s delay in re-deploy attempt 07/42807/1
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Fri, 22 Sep 2017 17:04:17 +0000 (19:04 +0200)
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Fri, 22 Sep 2017 18:43:47 +0000 (18:43 +0000)
Occasionaly, MaaS fails to provision/deploy some nodes, in which
case we try marking them as broken, then fixed (to put them again
in 'ready' state); before re-attempting the MaaS deploy operation.
However, this leads to 'Error: Internal server error' when deploy
function is called right after transitioning the node to 'ready'
state.

Add a delay of 30 seconds before re-attempting the failed operation.

Change-Id: Ia9ecec67639387e4a29feab3114e1741c554a2cb
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
(cherry picked from commit 39ffab99ad34ff45c0ed8be5a8172106e6a819a5)

mcp/config/states/maas

index 0d733ba..969d87a 100755 (executable)
@@ -28,6 +28,7 @@ function maas_fixup() {
   for node_system_id in ${fcnodes}; do
     salt -C 'mas01*' state.apply maas.machines.delete \
       pillar="{'system_id': '${node_system_id}'}"
+    sleep 30
   done
   if [ -n "${fcnodes}" ]; then
     salt -C 'mas01*' state.apply maas.machines
@@ -40,6 +41,7 @@ function maas_fixup() {
   for node_system_id in ${fdnodes}; do
     salt -C 'mas01*' state.apply maas.machines.mark_broken_fixed \
       pillar="{'system_id': '${node_system_id}'}"
+    sleep 30
   done
   if [ -n "${fdnodes}" ]; then
     salt -C 'mas01*' state.apply maas.machines.deploy