2018-03-14 21:56:40 |
Shannon Mitchell |
description |
When using multiple octavia containers, it looks like certain tasks were limited to the first host in the inventory. This is causing failures on the 'Drop octavia Config' task in the octavia_post_install.yml run. Only one host passes with 2 failures due to those two not having the vacts set in either the octavia_flavor_create.yml or octavia_mgmt_network.yml set of tasks. This is on pike, but looks the same in master.
root@infra1:/etc/ansible/roles/os_octavia# grep flavor_create /etc/ansible/roles/os_octavia/tasks/main.yml -A3
- include: octavia_flavor_create.yml
when:
- inventory_hostname == groups['octavia_all'][0]
- octavia_nova_flavor_uuid is not defined
root@infra1:/etc/ansible/roles/os_octavia# grep mgmt_network /etc/ansible/roles/os_octavia/tasks/main.yml -A3
- include: octavia_mgmt_network.yml
when:
- inventory_hostname == groups['octavia_all'][0]
- octavia_neutron_management_network_uuid is not defined
root@infra1:/etc/ansible/roles/os_octavia# grep 'Drop octavia Config' /etc/ansible/roles/os_octavia/tasks/octavia_post_install.yml -A24
- name: Drop octavia Config(s)
config_template:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
owner: "{{ octavia_system_user_name }}"
group: "{{ octavia_system_group_name }}"
mode: "0640"
config_overrides: "{{ item.config_overrides }}"
config_type: "{{ item.config_type }}"
with_items:
- src: "octavia.conf.j2"
dest: "/etc/octavia/octavia.conf"
config_overrides: "{{ octavia_octavia_conf_overrides }}"
config_type: "ini"
# - src: "api-paste.ini.j2"
# dest: "/etc/octavia/api-paste.ini"
# config_overrides: "{{ octavia_api_paste_ini_overrides }}"
# config_type: "ini"
# - src: "policy.json.j2"
# dest: "/etc/octavia/policy.json"
# config_overrides: "{{ octavia_policy_overrides }}"
# config_type: "json"
notify:
- Restart octavia services
root@infra1:/etc/ansible/roles/os_octavia# egrep '(flavor|neutron_management)' /etc/ansible/roles/os_octavia/templates/octavia.conf.j2
lb_network_name = {{ octavia_neutron_management_network_uuid }}
amp_flavor_id = {{ octavia_nova_flavor_uuid }}
amp_boot_network_list = {{ octavia_neutron_management_network_uuid }}
# Playbook output example on failure
TASK [os_octavia : Drop octavia Config(s)] *******************************************************************************************************************************************************
Wednesday 14 March 2018 16:53:17 -0500 (0:00:00.053) 0:01:33.771 *******
ok: [infra1_octavia_server_container-fc170e9d] => (item={u'dest': u'/etc/octavia/octavia.conf', u'src': u'octavia.conf.j2', u'config_type': u'ini', u'config_overrides': {}})
fatal: [infra2_octavia_server_container-dad89476]: FAILED! => {"failed": true, "msg": "'octavia_neutron_management_network_uuid' is undefined"}
fatal: [infra3_octavia_server_container-89dc18aa]: FAILED! => {"failed": true, "msg": "'octavia_neutron_management_network_uuid' is undefined"}
# Workaround used for a quick fix
root@infra1:/etc/ansible/roles/os_octavia# egrep '(flavor|neutron_management)' /etc/ansible/roles/os_octavia/templates/octavia.conf.j2
lb_network_name = {{ hostvars[groups['octavia_all'][0]]['octavia_neutron_management_network_uuid'] }}
amp_flavor_id = {{ hostvars[groups['octavia_all'][0]]['octavia_nova_flavor_uuid'] }}
amp_boot_network_list = {{ hostvars[groups['octavia_all'][0]]['octavia_neutron_management_network_uuid'] }} |
When using multiple octavia containers, it looks like certain tasks were limited to the first host in the inventory. This is causing failures on the 'Drop octavia Config' task in the octavia_post_install.yml run. Only one host passes with 2 failures due to those two not having the facts set in either the octavia_flavor_create.yml or octavia_mgmt_network.yml set of tasks. This is on pike, but looks the same in master.
root@infra1:/etc/ansible/roles/os_octavia# grep flavor_create /etc/ansible/roles/os_octavia/tasks/main.yml -A3
- include: octavia_flavor_create.yml
when:
- inventory_hostname == groups['octavia_all'][0]
- octavia_nova_flavor_uuid is not defined
root@infra1:/etc/ansible/roles/os_octavia# grep mgmt_network /etc/ansible/roles/os_octavia/tasks/main.yml -A3
- include: octavia_mgmt_network.yml
when:
- inventory_hostname == groups['octavia_all'][0]
- octavia_neutron_management_network_uuid is not defined
root@infra1:/etc/ansible/roles/os_octavia# grep 'Drop octavia Config' /etc/ansible/roles/os_octavia/tasks/octavia_post_install.yml -A24
- name: Drop octavia Config(s)
config_template:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
owner: "{{ octavia_system_user_name }}"
group: "{{ octavia_system_group_name }}"
mode: "0640"
config_overrides: "{{ item.config_overrides }}"
config_type: "{{ item.config_type }}"
with_items:
- src: "octavia.conf.j2"
dest: "/etc/octavia/octavia.conf"
config_overrides: "{{ octavia_octavia_conf_overrides }}"
config_type: "ini"
# - src: "api-paste.ini.j2"
# dest: "/etc/octavia/api-paste.ini"
# config_overrides: "{{ octavia_api_paste_ini_overrides }}"
# config_type: "ini"
# - src: "policy.json.j2"
# dest: "/etc/octavia/policy.json"
# config_overrides: "{{ octavia_policy_overrides }}"
# config_type: "json"
notify:
- Restart octavia services
root@infra1:/etc/ansible/roles/os_octavia# egrep '(flavor|neutron_management)' /etc/ansible/roles/os_octavia/templates/octavia.conf.j2
lb_network_name = {{ octavia_neutron_management_network_uuid }}
amp_flavor_id = {{ octavia_nova_flavor_uuid }}
amp_boot_network_list = {{ octavia_neutron_management_network_uuid }}
# Playbook output example on failure
TASK [os_octavia : Drop octavia Config(s)] *******************************************************************************************************************************************************
Wednesday 14 March 2018 16:53:17 -0500 (0:00:00.053) 0:01:33.771 *******
ok: [infra1_octavia_server_container-fc170e9d] => (item={u'dest': u'/etc/octavia/octavia.conf', u'src': u'octavia.conf.j2', u'config_type': u'ini', u'config_overrides': {}})
fatal: [infra2_octavia_server_container-dad89476]: FAILED! => {"failed": true, "msg": "'octavia_neutron_management_network_uuid' is undefined"}
fatal: [infra3_octavia_server_container-89dc18aa]: FAILED! => {"failed": true, "msg": "'octavia_neutron_management_network_uuid' is undefined"}
# Workaround used for a quick fix
root@infra1:/etc/ansible/roles/os_octavia# egrep '(flavor|neutron_management)' /etc/ansible/roles/os_octavia/templates/octavia.conf.j2
lb_network_name = {{ hostvars[groups['octavia_all'][0]]['octavia_neutron_management_network_uuid'] }}
amp_flavor_id = {{ hostvars[groups['octavia_all'][0]]['octavia_nova_flavor_uuid'] }}
amp_boot_network_list = {{ hostvars[groups['octavia_all'][0]]['octavia_neutron_management_network_uuid'] }} |
|