summaryrefslogtreecommitdiffstats
path: root/ansible/roles/infra_create_vms/tasks/validate_vms.yml
diff options
context:
space:
mode:
authorRodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>2018-07-18 15:22:33 +0000
committerGerrit Code Review <gerrit@opnfv.org>2018-07-18 15:22:33 +0000
commita3d1c85482159201492284d1c893cebda91003b3 (patch)
tree574898bdc7c2639da7f2dfd3d7c18aeea31d438b /ansible/roles/infra_create_vms/tasks/validate_vms.yml
parentd636d815e7c51594340e19478b4470f32a3ca25c (diff)
parent456cd798f06d6f0b695a13aca491ee6fcd6db94c (diff)
Merge "Improve VMs spawning for OpenStack"
Diffstat (limited to 'ansible/roles/infra_create_vms/tasks/validate_vms.yml')
-rw-r--r--ansible/roles/infra_create_vms/tasks/validate_vms.yml54
1 files changed, 54 insertions, 0 deletions
diff --git a/ansible/roles/infra_create_vms/tasks/validate_vms.yml b/ansible/roles/infra_create_vms/tasks/validate_vms.yml
new file mode 100644
index 000000000..ce5eff211
--- /dev/null
+++ b/ansible/roles/infra_create_vms/tasks/validate_vms.yml
@@ -0,0 +1,54 @@
+# Copyright (c) 2018 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+---
+- name: Validate if VM is responding
+ wait_for:
+ host: "{{ item.value }}"
+ port: 22
+ timeout: 10
+ with_dict: "{{ name_ip }}"
+ register: result
+ ignore_errors: yes
+
+- name: Stop VM if it is not responding
+ virt:
+ name: "{{ item.key }}"
+ command: destroy
+ when: result is failed
+ with_dict: "{{ name_ip }}"
+
+- name: Wait for VM is being stopped
+ pause:
+ seconds: 10
+ when: result is failed
+
+- name: Start VM
+ virt:
+ name: "{{ item.key }}"
+ command: start
+ when: result is failed
+ with_dict: "{{ name_ip }}"
+
+- name: Validate if VM is responding
+ wait_for:
+ host: "{{ item.value }}"
+ port: 22
+ timeout: 10
+ when: result is failed
+ with_dict: "{{ name_ip }}"
+ register: result
+
+- fail:
+ msg: "FAILED on {{ name_ip }}"
+ when: result is failed