From a88fc50a627376db076c7ded9a6448cf05d23a93 Mon Sep 17 00:00:00 2001 From: caoyuan Date: Mon, 2 Jan 2017 22:14:52 +0800 Subject: [PATCH] Move mongodb precheck into its own role Change-Id: I0c545d98eaf00642f82d575ceef8e0a2733090c2 Partially-implements: blueprint condition-pre-check --- ansible/roles/haproxy/tasks/precheck.yml | 11 +++++++ ansible/roles/mongodb/tasks/precheck.yml | 25 ++++++++++++++++ ansible/roles/prechecks/tasks/port_checks.yml | 30 ------------------- 3 files changed, 36 insertions(+), 30 deletions(-) diff --git a/ansible/roles/haproxy/tasks/precheck.yml b/ansible/roles/haproxy/tasks/precheck.yml index f67403262f..8a6856299d 100644 --- a/ansible/roles/haproxy/tasks/precheck.yml +++ b/ansible/roles/haproxy/tasks/precheck.yml @@ -234,6 +234,17 @@ - "{{ 'mistral_api' not in haproxy_stat }}" - inventory_hostname in groups['haproxy'] +- name: Checking free port for Mongodb HAProxy + wait_for: + host: "{{ kolla_internal_vip_address }}" + port: "{{ mongodb_port }}" + connect_timeout: 1 + state: stopped + when: + - enable_mongodb | bool + - "{{ 'mongodb' not in haproxy_stat }}" + - inventory_hostname in groups['haproxy'] + - name: Checking free port for Murano API HAProxy wait_for: host: "{{ kolla_internal_vip_address }}" diff --git a/ansible/roles/mongodb/tasks/precheck.yml b/ansible/roles/mongodb/tasks/precheck.yml index ed97d539c0..1eddb5b7fa 100644 --- a/ansible/roles/mongodb/tasks/precheck.yml +++ b/ansible/roles/mongodb/tasks/precheck.yml @@ -1 +1,26 @@ --- +- name: Get container facts + kolla_container_facts: + name: + - mongodb + register: container_facts + +- name: Checking free port for Mongodb + wait_for: + host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}" + port: "{{ mongodb_port }}" + connect_timeout: 1 + state: stopped + when: + - container_facts['mongodb'] is not defined + - inventory_hostname in groups['mongodb'] + +- name: Checking free port for Mongodb Web + wait_for: + host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}" + port: "{{ mongodb_web_port }}" + connect_timeout: 1 + state: stopped + when: + - container_facts['mongodb'] is not defined + - inventory_hostname in groups['mongodb'] diff --git a/ansible/roles/prechecks/tasks/port_checks.yml b/ansible/roles/prechecks/tasks/port_checks.yml index a945766a47..77f7600386 100644 --- a/ansible/roles/prechecks/tasks/port_checks.yml +++ b/ansible/roles/prechecks/tasks/port_checks.yml @@ -93,36 +93,6 @@ - enable_iscsid | bool - inventory_hostname in groups['tgtd'] -- name: Checking free port for Mongodb - wait_for: - host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}" - port: "{{ mongodb_port }}" - connect_timeout: 1 - state: stopped - when: - - inventory_hostname in groups['mongodb'] - - enable_mongodb | bool - -- name: Checking free port for Mongodb Web - wait_for: - host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}" - port: "{{ mongodb_web_port }}" - connect_timeout: 1 - state: stopped - when: - - inventory_hostname in groups['mongodb'] - - enable_mongodb | bool - -- name: Checking free port for Mongodb HAProxy - wait_for: - host: "{{ kolla_internal_vip_address }}" - port: "{{ mongodb_port }}" - connect_timeout: 1 - state: stopped - when: - - inventory_hostname in groups['haproxy'] - - enable_mongodb | bool - - name: Checking free port for Rsync wait_for: host: "{{ hostvars[inventory_hostname]['ansible_' + storage_interface]['ipv4']['address'] }}"