nova-network bridge existing system alias handeling failiure.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Medium
|
Édouard Thuleau | ||
Havana |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
This: https:/
Also prevalent in Folsom can cause nova-network to fail with the following error:
---
Command: sudo nova-rootwrap ip addr del xxx.xxx.xxx.xxx/24 brd 172.30.255.255 scope global secondary dev br0
Exit code: 255
Stdout: ''
Stderr: 'Error: either "local" is duplicate, or "secondary" is a garbage.\n'
---
This is due to the invalid passing of params to the ip addr del
irc conversation:
---
Apsu`: oneiroi: Yeah, just verified it on a box, to be sure. Can't specify the "secondary" part in the del call. It's not part of the syntax, because it's not user-controllable. A "secondary" is an IP in the same network as one already on the interface in the same scope
[4:36pm] Apsu`: Let's see if it's different in Folsom
[4:37pm] oneiroi: Apsu`: abstracted code and output http://
[4:37pm] uvirtbot`: New bug: #1077056 in tempest "images whitebox test fails with bad SQL connection URI" [High,Confirmed] https:/
[4:37pm] AnilV4 left the chat room. (Read error: Connection reset by peer)
[4:37pm] Apsu`: Nope. Appears to do the same. https:/
[4:37pm] • Apsu` nods
[4:37pm] Apsu`: Exactly the issue. It's trying to ensure_bridge, and reorder the IPs so nova's bridge IP is first
[4:38pm] maurosr left the chat room. (Quit: WeeChat 0.3.8)
[4:38pm] Apsu`: There's a comment from vish in initialize_
[4:39pm] Apsu`: So that field splitting code needs to filter out anything past the scope.
[4:39pm] Apsu`: It's currently using [1:-1] to skip the first and last
[4:40pm] oneiroi: indeed, filing a bug will then look at a quick fix, and submit patch
[4:40pm] Apsu`: Cool.
---
Abstracted code showing the issue:
---
#!/usr/bin/env python
str='''
6: br0: <BROADCAST,
link/ether 00:15:17:aa:46:04 brd ff:ff:ff:ff:ff:ff
inet aa.bb.cc.dd/16 brd 172.30.255.255 scope global br0
inet xxx.xxx.xxx.xxx/24 brd 192.168.1.255 scope global br0:1
inet6 fe80::215:
valid_lft forever preferred_lft forever
'''
for line in str.split('\n'):
fields = line.split()
if fields and fields[0] == 'inet':
params = fields[1:-1]
print params
---
['aa.bb.cc.dd/16', 'brd', '172.30.255.255', 'scope', 'global']
['xxx.xxx.
Changed in nova: | |
status: | Incomplete → New |
Changed in nova: | |
assignee: | nobody → Édouard Thuleau (ethuleau) |
Changed in nova: | |
status: | Fix Committed → Fix Released |
Changed in nova: | |
milestone: | grizzly-rc1 → 2013.1 |
I am curious about how this situation happens ,for in a normal usecase ,br100 is created by nova automately and we only need to config one IP on the bridge . how can we have the two IPs that have the same netmask and in a broadcast domain?
if this is not caused by nova. this should not be bug.