yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #26647
[Bug 1408142] [NEW] nova-network fails to initialize gateway device if the interface address has 'dynamic' flag
Public bug reported:
If the network interface address has dynamic flag, nova-network fails to start.
This is because ip addr command only accept 'dynamic' flag for IPv6 address, but not for IPv4 address.
For example:
$ ip addr show dev eth0 scope global
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:00:00:01 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.96/23 brd 192.168.1.255 scope global dynamic eth0
valid_lft 2225sec preferred_lft 2225sec
$ ip addr del 192.168.0.96/23 brd 192.168.1.255 scope global dynamic eth0 dev eth0
Error: either "local" is duplicate, or "dynamic" is a garbage.
To fix this problem, 'dynamic' should be omitted.
Note that, this issue is triaged in LinuxBridgeInterfaceDriver.ensure_bridge(), but not in initialize_gateway_device().
Exception thrown in startup (or first instance's boot):
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/eventlet/hubs/hub.py", line 455, in fire_timers
timer()
File "/usr/lib/python2.7/site-packages/eventlet/hubs/timer.py", line 58, in __call__
cb(*args, **kw)
File "/usr/lib/python2.7/site-packages/eventlet/greenthread.py", line 212, in main
result = function(*args, **kwargs)
File "/opt/stack/nova/nova/openstack/common/service.py", line 492, in run_service
service.start()
File "/opt/stack/nova/nova/service.py", line 164, in start
self.manager.init_host()
File "/opt/stack/nova/nova/network/manager.py", line 1815, in init_host
super(FlatDHCPManager, self).init_host()
File "/opt/stack/nova/nova/network/manager.py", line 330, in init_host
self._setup_network_on_host(ctxt, network)
File "/opt/stack/nova/nova/network/manager.py", line 1824, in _setup_network_on_host
self._initialize_network(network)
File "/opt/stack/nova/nova/network/manager.py", line 1488, in _initialize_network
self.l3driver.initialize_gateway(network)
File "/opt/stack/nova/nova/network/l3.py", line 106, in initialize_gateway
linux_net.initialize_gateway_device(dev, network_ref)
File "/usr/lib/python2.7/site-packages/oslo_concurrency/lockutils.py", line 431, in inner
return f(*args, **kwargs)
File "/opt/stack/nova/nova/network/linux_net.py", line 885, in initialize_gateway_device
run_as_root=True, check_exit_code=[0, 2, 254])
File "/opt/stack/nova/nova/network/linux_net.py", line 1247, in _execute
return utils.execute(*cmd, **kwargs)
File "/opt/stack/nova/nova/utils.py", line 164, in execute
return processutils.execute(*cmd, **kwargs)
File "/usr/lib/python2.7/site-packages/oslo_concurrency/processutils.py", line 224, in execute
cmd=sanitized_cmd)
ProcessExecutionError: Unexpected error while running command.
Command: sudo nova-rootwrap /etc/nova/rootwrap.conf ip addr del 192.168.123.1/23 brd 192.168.124.255 scope global dynamic dev br100
Exit code: 255
Stdout: u''
Stderr: u'Error: either "local" is duplicate, or "dynamic" is a garbage.\n'
** Affects: nova
Importance: Undecided
Status: New
** Tags: network
** Description changed:
If the network interface address has dynamic flag, nova-network fails to start.
This is because ip addr command only accept 'dynamic' flag for IPv6 address, but not for IPv4 address.
For example:
$ ip addr show dev eth0 scope global
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
- link/ether 52:54:00:00:00:01 brd ff:ff:ff:ff:ff:ff
- inet 192.168.0.96/23 brd 192.168.1.255 scope global dynamic eth0
- valid_lft 2225sec preferred_lft 2225sec
+ link/ether 52:54:00:00:00:01 brd ff:ff:ff:ff:ff:ff
+ inet 192.168.0.96/23 brd 192.168.1.255 scope global dynamic eth0
+ valid_lft 2225sec preferred_lft 2225sec
$ ip addr del 192.168.0.96/23 brd 192.168.1.255 scope global dynamic eth0 dev eth0
Error: either "local" is duplicate, or "dynamic" is a garbage.
To fix this problem, 'dynamic' should be omitted.
Note that, this issue is triaged in LinuxBridgeInterfaceDriver.ensure_bridge(), but not in initialize_gateway_device().
-
Exception thrown in startup (or first instance's boot):
Traceback (most recent call last):
- File "/usr/lib/python2.7/site-packages/eventlet/hubs/hub.py", line 455, in fire_timers
- timer()
- File "/usr/lib/python2.7/site-packages/eventlet/hubs/timer.py", line 58, in __call__
- cb(*args, **kw)
- File "/usr/lib/python2.7/site-packages/eventlet/greenthread.py", line 212, in main
- result = function(*args, **kwargs)
- File "/opt/stack/nova/nova/openstack/common/service.py", line 492, in run_service
- service.start()
- File "/opt/stack/nova/nova/service.py", line 164, in start
- self.manager.init_host()
- File "/opt/stack/nova/nova/network/manager.py", line 1815, in init_host
- super(FlatDHCPManager, self).init_host()
- File "/opt/stack/nova/nova/network/manager.py", line 330, in init_host
- self._setup_network_on_host(ctxt, network)
- File "/opt/stack/nova/nova/network/manager.py", line 1824, in _setup_network_on_host
- self._initialize_network(network)
- File "/opt/stack/nova/nova/network/manager.py", line 1488, in _initialize_network
- self.l3driver.initialize_gateway(network)
- File "/opt/stack/nova/nova/network/l3.py", line 106, in initialize_gateway
- linux_net.initialize_gateway_device(dev, network_ref)
- File "/usr/lib/python2.7/site-packages/oslo_concurrency/lockutils.py", line 431, in inner
- return f(*args, **kwargs)
- File "/opt/stack/nova/nova/network/linux_net.py", line 885, in initialize_gateway_device
- run_as_root=True, check_exit_code=[0, 2, 254])
- File "/opt/stack/nova/nova/network/linux_net.py", line 1247, in _execute
- return utils.execute(*cmd, **kwargs)
- File "/opt/stack/nova/nova/utils.py", line 164, in execute
- return processutils.execute(*cmd, **kwargs)
- File "/usr/lib/python2.7/site-packages/oslo_concurrency/processutils.py", line 224, in execute
- cmd=sanitized_cmd)
+ File "/usr/lib/python2.7/site-packages/eventlet/hubs/hub.py", line 455, in fire_timers
+ timer()
+ File "/usr/lib/python2.7/site-packages/eventlet/hubs/timer.py", line 58, in __call__
+ cb(*args, **kw)
+ File "/usr/lib/python2.7/site-packages/eventlet/greenthread.py", line 212, in main
+ result = function(*args, **kwargs)
+ File "/opt/stack/nova/nova/openstack/common/service.py", line 492, in run_service
+ service.start()
+ File "/opt/stack/nova/nova/service.py", line 164, in start
+ self.manager.init_host()
+ File "/opt/stack/nova/nova/network/manager.py", line 1815, in init_host
+ super(FlatDHCPManager, self).init_host()
+ File "/opt/stack/nova/nova/network/manager.py", line 330, in init_host
+ self._setup_network_on_host(ctxt, network)
+ File "/opt/stack/nova/nova/network/manager.py", line 1824, in _setup_network_on_host
+ self._initialize_network(network)
+ File "/opt/stack/nova/nova/network/manager.py", line 1488, in _initialize_network
+ self.l3driver.initialize_gateway(network)
+ File "/opt/stack/nova/nova/network/l3.py", line 106, in initialize_gateway
+ linux_net.initialize_gateway_device(dev, network_ref)
+ File "/usr/lib/python2.7/site-packages/oslo_concurrency/lockutils.py", line 431, in inner
+ return f(*args, **kwargs)
+ File "/opt/stack/nova/nova/network/linux_net.py", line 885, in initialize_gateway_device
+ run_as_root=True, check_exit_code=[0, 2, 254])
+ File "/opt/stack/nova/nova/network/linux_net.py", line 1247, in _execute
+ return utils.execute(*cmd, **kwargs)
+ File "/opt/stack/nova/nova/utils.py", line 164, in execute
+ return processutils.execute(*cmd, **kwargs)
+ File "/usr/lib/python2.7/site-packages/oslo_concurrency/processutils.py", line 224, in execute
+ cmd=sanitized_cmd)
ProcessExecutionError: Unexpected error while running command.
- Command: sudo nova-rootwrap /etc/nova/rootwrap.conf ip addr del 10.18.17.90/23 brd 10.18.17.255 scope global dy
- namic dev br100
+ Command: sudo nova-rootwrap /etc/nova/rootwrap.conf ip addr del 192.168.123.1/23 brd 192.168.124.255 scope global dynamic dev br100
Exit code: 255
Stdout: u''
Stderr: u'Error: either "local" is duplicate, or "dynamic" is a garbage.\n'
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1408142
Title:
nova-network fails to initialize gateway device if the interface
address has 'dynamic' flag
Status in OpenStack Compute (Nova):
New
Bug description:
If the network interface address has dynamic flag, nova-network fails to start.
This is because ip addr command only accept 'dynamic' flag for IPv6 address, but not for IPv4 address.
For example:
$ ip addr show dev eth0 scope global
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:00:00:01 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.96/23 brd 192.168.1.255 scope global dynamic eth0
valid_lft 2225sec preferred_lft 2225sec
$ ip addr del 192.168.0.96/23 brd 192.168.1.255 scope global dynamic eth0 dev eth0
Error: either "local" is duplicate, or "dynamic" is a garbage.
To fix this problem, 'dynamic' should be omitted.
Note that, this issue is triaged in LinuxBridgeInterfaceDriver.ensure_bridge(), but not in initialize_gateway_device().
Exception thrown in startup (or first instance's boot):
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/eventlet/hubs/hub.py", line 455, in fire_timers
timer()
File "/usr/lib/python2.7/site-packages/eventlet/hubs/timer.py", line 58, in __call__
cb(*args, **kw)
File "/usr/lib/python2.7/site-packages/eventlet/greenthread.py", line 212, in main
result = function(*args, **kwargs)
File "/opt/stack/nova/nova/openstack/common/service.py", line 492, in run_service
service.start()
File "/opt/stack/nova/nova/service.py", line 164, in start
self.manager.init_host()
File "/opt/stack/nova/nova/network/manager.py", line 1815, in init_host
super(FlatDHCPManager, self).init_host()
File "/opt/stack/nova/nova/network/manager.py", line 330, in init_host
self._setup_network_on_host(ctxt, network)
File "/opt/stack/nova/nova/network/manager.py", line 1824, in _setup_network_on_host
self._initialize_network(network)
File "/opt/stack/nova/nova/network/manager.py", line 1488, in _initialize_network
self.l3driver.initialize_gateway(network)
File "/opt/stack/nova/nova/network/l3.py", line 106, in initialize_gateway
linux_net.initialize_gateway_device(dev, network_ref)
File "/usr/lib/python2.7/site-packages/oslo_concurrency/lockutils.py", line 431, in inner
return f(*args, **kwargs)
File "/opt/stack/nova/nova/network/linux_net.py", line 885, in initialize_gateway_device
run_as_root=True, check_exit_code=[0, 2, 254])
File "/opt/stack/nova/nova/network/linux_net.py", line 1247, in _execute
return utils.execute(*cmd, **kwargs)
File "/opt/stack/nova/nova/utils.py", line 164, in execute
return processutils.execute(*cmd, **kwargs)
File "/usr/lib/python2.7/site-packages/oslo_concurrency/processutils.py", line 224, in execute
cmd=sanitized_cmd)
ProcessExecutionError: Unexpected error while running command.
Command: sudo nova-rootwrap /etc/nova/rootwrap.conf ip addr del 192.168.123.1/23 brd 192.168.124.255 scope global dynamic dev br100
Exit code: 255
Stdout: u''
Stderr: u'Error: either "local" is duplicate, or "dynamic" is a garbage.\n'
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1408142/+subscriptions
Follow ups
References