From 0f67017536207a82f854415ff8508badafada6b4 Mon Sep 17 00:00:00 2001
From: yangyang <472374263@qq.com>
Date: Wed, 11 Jan 2017 19:36:47 +0800
Subject: [PATCH] Move Influxdb precheck into its own role

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

Change-Id: I8a9eaa8f3860b06811d6c9e1e1c51fc83f98863b
Partially-implements: blueprint condition-pre-check
---
 ansible/roles/influxdb/tasks/precheck.yml     | 25 +++++++++++++++++++
 ansible/roles/prechecks/tasks/port_checks.yml | 20 ---------------
 2 files changed, 25 insertions(+), 20 deletions(-)

diff --git a/ansible/roles/influxdb/tasks/precheck.yml b/ansible/roles/influxdb/tasks/precheck.yml
index ed97d539c0..608add9f0b 100644
--- a/ansible/roles/influxdb/tasks/precheck.yml
+++ b/ansible/roles/influxdb/tasks/precheck.yml
@@ -1 +1,26 @@
 ---
+- name: Get container facts
+  kolla_container_facts:
+    name:
+      - influxdb
+  register: container_facts
+
+- name: Checking free port for Influxdb Admin
+  wait_for:
+    host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
+    port: "{{ influxdb_admin_port }}"
+    connect_timeout: 1
+    state: stopped
+  when:
+    - container_facts['influxdb'] is not defined
+    - inventory_hostname in groups['influxdb']
+
+- name: Checking free port for Influxdb Http
+  wait_for:
+    host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
+    port: "{{ influxdb_http_port }}"
+    connect_timeout: 1
+    state: stopped
+  when:
+    - container_facts['influxdb'] is not defined
+    - inventory_hostname in groups['influxdb']
diff --git a/ansible/roles/prechecks/tasks/port_checks.yml b/ansible/roles/prechecks/tasks/port_checks.yml
index 2aa15f0dd2..e3d4c5335c 100644
--- a/ansible/roles/prechecks/tasks/port_checks.yml
+++ b/ansible/roles/prechecks/tasks/port_checks.yml
@@ -53,26 +53,6 @@
     - enable_haproxy | bool
     - inventory_hostname in groups['haproxy']
 
-- name: Checking free port for Influxdb Admin
-  wait_for:
-    host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
-    port: "{{ influxdb_admin_port }}"
-    connect_timeout: 1
-    state: stopped
-  when:
-    - enable_influxdb | bool
-    - inventory_hostname in groups['influxdb']
-
-- name: Checking free port for Influxdb Http
-  wait_for:
-    host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
-    port: "{{ influxdb_http_port }}"
-    connect_timeout: 1
-    state: stopped
-  when:
-    - enable_influxdb | bool
-    - inventory_hostname in groups['influxdb']
-
 - name: Checking free port for Keystone Admin
   wait_for:
     host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"