Drop infinite loops in favor of finite wait_for
[fuel.git] / mcp / config / states / dpdk
index c6cd2a5..7cee70a 100755 (executable)
@@ -1,9 +1,18 @@
 #!/bin/bash
 set -x
 
+# shellcheck disable=SC1090
+source "$(dirname "${BASH_SOURCE[0]}")/../../scripts/lib.sh"
+
 salt -I 'nova:compute' system.reboot
-while true; do salt -I 'nova:compute' test.ping | fgrep -q 'Not connected' || break; done
-salt -I 'nova:compute' state.sls linux.network.dpdk
+wait_for 90 "! salt -I 'nova:compute' test.ping | " \
+  "tee /dev/stderr | grep -Fq 'Not connected'"
+salt -I 'nova:compute' state.sls linux.network
+
+# switch to UCA repos since fuel-infra packages have bugs
+salt -I 'nova:compute' cmd.run 'rm -vrf /etc/apt/preferences.d/*'
+salt -I 'nova:compute' file.remove '/etc/apt/sources.list.d/mirantis_openstack.list'
+salt -I 'nova:compute' pkg.refresh_db
 
 salt -I 'nova:compute' pkg.install libvirt-bin
 salt -I 'nova:compute' file.chown /var/run/openvswitch libvirt-qemu kvm