nova fails to deploy on hosts without container_networks set
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack-Ansible |
Fix Released
|
Medium
|
Kevin Carter | ||
Kilo |
Fix Released
|
Medium
|
Kevin Carter | ||
Liberty |
Fix Released
|
Medium
|
Kevin Carter | ||
Trunk |
Fix Released
|
Medium
|
Kevin Carter |
Bug Description
I have a compute host that looks like this:
"_meta": {
"hostvars": {
}
},
The host fails to deploy because:
TASK: [Set nova management bridge (is_metal)] *******
skipping: [lsn-d3277]
TASK: [Set nova management address (is_metal)] *******
fatal: [lsn-d3277] => One or more undefined variables: 'dict object' has no attribute u'br-mgmt'
It looks like the bug is here:
- name: Set nova management bridge (is_metal)
set_fact:
when:
- hostvars[
- is_metal | bool
tags:
- nova-config
- name: Set nova management address (is_metal)
set_fact:
when:
- is_metal | bool
tags:
- nova-config
- name: Set nova management bridge (is_metal no container network)
set_fact:
when:
- hostvars[
- is_metal | bool
tags:
- nova-config
Looking at the flow here I don't see how I could configure to reach "Set nova management bridge (is_metal no container network)", which is the appropriate task for my environment. There should be more filtering on "Set nova management address (is_metal)" .
When I add the below "when" to "Set nova management address (is_metal)" everything works as expected.
- hostvars[
This is maybe not the best filter to implement for the fix but it works great for me to bypass the failure and use the correct rule.
Looks like it is related to this recent change: http:// git.openstack. org/cgit/ openstack/ openstack- ansible/ commit/ ?h=kilo& id=e26b7292416e a403f2855c89372 a3fe6af00b7b4