From 2d8d6e72ea9d68679b8ddef3fda8435e1d8ab346 Mon Sep 17 00:00:00 2001
From: "qiankun.zhang" <zhangqiankun@sgitg.sgcc.com.cn>
Date: Wed, 11 Jan 2017 18:43:11 +0800
Subject: [PATCH] Move kibana precheck into its own role

Co-Authored-By: caoyuan <cao.yuan@99cloud.net>

Change-Id: I38aa833febe7bf06bffb9c5e8ad6b7a79074fb50
Partially-implements: blueprint condition-pre-check
---
 ansible/roles/haproxy/tasks/precheck.yml      | 11 +++++++++++
 ansible/roles/kibana/tasks/precheck.yml       | 15 +++++++++++++++
 ansible/roles/prechecks/tasks/port_checks.yml | 10 ----------
 3 files changed, 26 insertions(+), 10 deletions(-)

diff --git a/ansible/roles/haproxy/tasks/precheck.yml b/ansible/roles/haproxy/tasks/precheck.yml
index 8578b2820..67e2193f8 100644
--- a/ansible/roles/haproxy/tasks/precheck.yml
+++ b/ansible/roles/haproxy/tasks/precheck.yml
@@ -179,6 +179,17 @@
     - "{{ 'ironic_api' not in haproxy_stat }}"
     - inventory_hostname in groups['haproxy']
 
+- name: Checking free port for Kibana HAProxy
+  wait_for:
+    host: "{{ kolla_internal_vip_address }}"
+    port: "{{ kibana_server_port }}"
+    connect_timeout: 1
+    state: stopped
+  when:
+    - enable_kibana | bool
+    - "{{ 'kibana' not in haproxy_stat }}"
+    - inventory_hostname in groups['haproxy']
+
 - name: Checking free port for Magnum API HAProxy
   wait_for:
     host: "{{ kolla_internal_vip_address }}"
diff --git a/ansible/roles/kibana/tasks/precheck.yml b/ansible/roles/kibana/tasks/precheck.yml
index ed97d539c..e48516839 100644
--- a/ansible/roles/kibana/tasks/precheck.yml
+++ b/ansible/roles/kibana/tasks/precheck.yml
@@ -1 +1,16 @@
 ---
+- name: Get container facts
+  kolla_container_facts:
+    name:
+      - kibana
+  register: container_facts
+
+- name: Checking free port for Kibana Server
+  wait_for:
+    host: "{{ hostvars[inventory_hostname]['ansible_' + storage_interface]['ipv4']['address'] }}"
+    port: "{{ kibana_server_port }}"
+    connect_timeout: 1
+    state: stopped
+  when:
+    - container_facts['kibana'] is not defined
+    - inventory_hostname in groups['kibana']
diff --git a/ansible/roles/prechecks/tasks/port_checks.yml b/ansible/roles/prechecks/tasks/port_checks.yml
index 06a8a79db..9e6501ff0 100644
--- a/ansible/roles/prechecks/tasks/port_checks.yml
+++ b/ansible/roles/prechecks/tasks/port_checks.yml
@@ -306,16 +306,6 @@
     - inventory_hostname in groups['haproxy']
     - enable_mongodb | bool
 
-- name: Checking free port for Kibana Server
-  wait_for:
-    host: "{{ hostvars[inventory_hostname]['ansible_' + storage_interface]['ipv4']['address'] }}"
-    port: "{{ kibana_server_port }}"
-    connect_timeout: 1
-    state: stopped
-  when:
-    - inventory_hostname in groups['kibana']
-    - enable_kibana | bool
-
 - name: Checking free port for Rsync
   wait_for:
     host: "{{ hostvars[inventory_hostname]['ansible_' + storage_interface]['ipv4']['address'] }}"
-- 
GitLab