From d7d8fc8069eb15e4b705ccf3d5620faf7c3c28b5 Mon Sep 17 00:00:00 2001 From: Vladislav Belogrudov Date: Tue, 18 Oct 2016 18:00:45 +0300 Subject: [PATCH] Murano fails to deploy - cannot check core library Murano sometimes fails to deploy due to delay in haproxy identifying started API services. Instead of waiting for all the services and checking existance of core library via VIP deploy task should connect to one of the services directly for testing service status and for package import. Change-Id: I2934579edc910e81730dd89dbd8ff9eb11a2cc1c Closes-Bug: #1634531 --- ansible/roles/murano/tasks/start.yml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/ansible/roles/murano/tasks/start.yml b/ansible/roles/murano/tasks/start.yml index 5d8282f120..a4311b1051 100644 --- a/ansible/roles/murano/tasks/start.yml +++ b/ansible/roles/murano/tasks/start.yml @@ -23,9 +23,9 @@ - "kolla_logs:/var/log/kolla/" when: inventory_hostname in groups['murano-api'] -- name: Waiting for Murano API service to be ready +- name: Waiting for Murano API service to be ready on first node wait_for: - host: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}" + host: "{{ api_interface_address }}" port: "{{ murano_api_port }}" connect_timeout: 1 timeout: 60 @@ -34,7 +34,7 @@ until: check_murano_port | success retries: 10 delay: 6 - when: inventory_hostname in groups['murano-api'] + delegate_to: "{{ groups['murano-api'][0] }}" - name: Checking if Murano core library package exists command: "docker exec murano_api murano \ @@ -43,11 +43,13 @@ --os-project-name admin \ --os-auth-url \ {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}/v3 \ + --murano-url \ + {{ admin_protocol }}://{{ api_interface_address }}:{{ murano_api_port }} \ package-list" register: status changed_when: False run_once: True - when: inventory_hostname in groups['murano-api'] + delegate_to: "{{ groups['murano-api'][0] }}" - name: Importing Murano core library package command: "docker exec murano_api murano \ @@ -56,8 +58,10 @@ --os-project-name admin \ --os-auth-url \ {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}/v3 \ + --murano-url \ + {{ admin_protocol }}://{{ api_interface_address }}:{{ murano_api_port }} \ package-import --is-public /io.murano.zip" run_once: True + delegate_to: "{{ groups['murano-api'][0] }}" when: - - inventory_hostname in groups['murano-api'] - status.stdout.find("io.murano") == -1