nova-network crashes on restart with floating ips assigned
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Medium
|
Vish Ishaya |
Bug Description
Sometimes when starting nova network, it crashes trying to create iptables rules for floating forward with the following traceback:
AUDIT [N/A] Starting network node
Traceback (most recent call last):
File "/usr/bin/
service.serve()
File "/usr/lib/
x.start()
File "/usr/lib/
self.
File "/usr/lib/
super(
File "/usr/lib/
fixed_address)
File "/usr/lib/
% (fixed_ip, floating_ip))
File "/usr/lib/
_execute("sudo iptables %s %s %s" % (loc, chain, cmd))
File "/usr/lib/
return utils.execute(cmd, *args, **kwargs)
File "/usr/lib/
cmd=cmd)
nova.exception.
Command: sudo iptables -I SNATTING -t nat -s 10.0.0.3 -j SNAT --to 140.221.100.12
Exit code: 1
Stdout: ''
Stderr: 'iptables: No chain/target/match by that name.\n'
This happens if the iptables rules have been flushed due to manual changes or node restart. It is due to two commands being run out of order. Manual workaround is as follows:
on the network host:
sudo iptables -t nat -N SNATTING
sudo iptables -t nat -A POSTROUTING -j SNATTING
then nova-network should start normally
if you have --use_nova_chains set to true, the error message will reference nova_snatting instead of SNATTING and the workouround is the following commands:
sudo iptables -t nat -N nova_snatting
sudo iptables -t nat -A POSTROUTING -j nova_snatting
This can be fixed by moving where init_host is run.
Related branches
- Soren Hansen (community): Approve
- Devin Carlen (community): Approve
- Thierry Carrez (community): Approve
-
Diff: 30 lines (+4/-2)1 file modifiednova/network/manager.py (+4/-2)
Changed in nova: | |
importance: | Undecided → Medium |
status: | New → In Progress |
assignee: | nobody → Vish Ishaya (vishvananda) |
Changed in nova: | |
status: | In Progress → Fix Committed |
Changed in nova: | |
milestone: | none → 2011.2 |
status: | Fix Committed → Fix Released |