iptables-restore: invalid portrange specified
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Medium
|
Unassigned |
Bug Description
Version: trunk (essex)
1. Start a VM in the default security group.
2. Create a security group rule that goes from a high to low port from the CLIs or the Dashboard. e.g.
ubuntu@
GROUP default
PERMISSION default ALLOWS tcp 80 60 FROM CIDR 0.0.0.0/0
ubuntu@
+------
| IP Protocol | From Port | To Port | IP Range | Source Group |
+------
| tcp | 200 | 100 | 0.0.0.0/0 | |
+------
ubuntu@
GROUP 2 default default
PERMISSION 2 default ALLOWS tcp 80 60 FROM CIDR 0.0.0.0/0
PERMISSION 2 default ALLOWS tcp 200 100 FROM CIDR 0.0.0.0/0
3. Start another VM in the default security group.
4. nova-compute reports the following error.
2011-11-30 19:14:22,430 ERROR nova.exception [-] Uncaught exception
(nova.exception): TRACE: Traceback (most recent call last):
(nova.exception): TRACE: File "/opt/stack/
(nova.exception): TRACE: return f(*args, **kw)
(nova.exception): TRACE: File "/opt/stack/
(nova.exception): TRACE: return self.driver.
(nova.exception): TRACE: File "/opt/stack/
(nova.exception): TRACE: self.firewall_
(nova.exception): TRACE: File "/opt/stack/
(nova.exception): TRACE: self.iptables.
(nova.exception): TRACE: File "/opt/stack/
(nova.exception): TRACE: retval = f(*args, **kwargs)
(nova.exception): TRACE: File "/opt/stack/
(nova.exception): TRACE: attempts=5)
(nova.exception): TRACE: File "/opt/stack/
(nova.exception): TRACE: return utils.execute(*cmd, **kwargs)
(nova.exception): TRACE: File "/opt/stack/
(nova.exception): TRACE: cmd=' '.join(cmd))
(nova.exception): TRACE: ProcessExecutio
(nova.exception): TRACE: Command: sudo iptables-restore
(nova.exception): TRACE: Exit code: 2
(nova.exception): TRACE: Stdout: ''
(nova.exception): TRACE: Stderr: "iptables-restore v1.4.10: invalid portrange specified\nError occurred at line: 35\nTry `iptables-restore -h' or 'iptables-restore --help' for more information.\n"
iptables-restore does not like the high to low port range.
Obviously the workaround is to just create low to high port ranges but creating high to low port ranges should be explicitly denied by nova.
Changed in nova: | |
importance: | Undecided → Medium |
status: | New → Confirmed |
Changed in nova: | |
status: | Confirmed → Fix Released |