** Also affects: tempest
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1427015
Title:
too many subnet-create cause q-dhcp failure
Status in neutron:
In Progress
Status in tempest:
New
Bug description:
DHCP max port is only validated when port is creating.
But when create_port_repuest has been sent in subnet create or update,
validate will not be functionally.
This results the number of total DHCP ports excess max_fixed_ips_per_port.
If so, the DHCP agent will export error, and cannot restart itself.
Also, user is not announced about that Fixed IP not been created after the
subnet creation, even the "enable_dhcp" of subnet shows "True".
[reproduce]
1. neutron net create testnet
2. neutron dhcp-agent-network-add <dhcp_agent_id> testnet
3. neutron subnet-create testnet CIDR1 --name testsub1
4. neutron subnet-create testnet CIDR2 --name testsub2
5. neutron subnet-create testnet CIDR3 --name testsub3
6. neutron subnet-create testnet CIDR4 --name testsub4
7. neutron subnet-create testnet CIDR5 --name testsub5
>>>since default value of max_fixed_ips_per_port is 5, it is ok till here.
8-1. neutron subnet-create testnet CIDR6 --name testsub6
>>>error repetly occured in q-dhcp.log.
Also, confirmed the following case cause the same error
9-1. neutron subnet-create testnet CIDR6 --name testsub6 --enable_dhcp False
9-2. neutron subnet-update testsub6 --enable_dhcp True
[trace log]
2015-02-28 00:31:45.548 3011 TRACE neutron.agent.dhcp.agent Traceback (most
recent call last):
2015-02-28 00:31:45.548 3011 TRACE neutron.agent.dhcp.agent File
"/opt/stack/neutron/neutron/agent/dhcp/agent.py", line 112, in call_driver
2015-02-28 00:31:45.548 3011 TRACE neutron.agent.dhcp.agent
getattr(driver, action)(**action_kwargs)
2015-02-28 00:31:45.548 3011 TRACE neutron.agent.dhcp.agent File
"/opt/stack/neutron/neutron/agent/linux/dhcp.py", line 132, in restart
2015-02-28 00:31:45.548 3011 TRACE neutron.agent.dhcp.agent self.enable()
2015-02-28 00:31:45.548 3011 TRACE neutron.agent.dhcp.agent File
"/opt/stack/neutron/neutron/agent/linux/dhcp.py", line 205, in enable
2015-02-28 00:31:45.548 3011 TRACE neutron.agent.dhcp.agent
interface_name = self.device_manager.setup(self.network)
2015-02-28 00:31:45.548 3011 TRACE neutron.agent.dhcp.agent File
"/opt/stack/neutron/neutron/agent/linux/dhcp.py", line 919, in setup
2015-02-28 00:31:45.548 3011 TRACE neutron.agent.dhcp.agent port =
self.setup_dhcp_port(network)
2015-02-28 00:31:45.548 3011 TRACE neutron.agent.dhcp.agent File
"/opt/stack/neutron/neutron/agent/linux/dhcp.py", line 863, in setup_dhcp_port
2015-02-28 00:31:45.548 3011 TRACE neutron.agent.dhcp.agent 'fixed_ips':
port_fixed_ips}})
2015-02-28 00:31:45.548 3011 TRACE neutron.agent.dhcp.agent File
"/opt/stack/neutron/neutron/agent/dhcp/agent.py", line 441, in update_dhcp_port
2015-02-28 00:31:45.548 3011 TRACE neutron.agent.dhcp.agent
port_id=port_id, port=port, host=self.host)
2015-02-28 00:31:45.548 3011 TRACE neutron.agent.dhcp.agent File
"/usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/client.py", line
156, in call
2015-02-28 00:31:45.548 3011 TRACE neutron.agent.dhcp.agent
retry=self.retry)
2015-02-28 00:31:45.548 3011 TRACE neutron.agent.dhcp.agent File
"/usr/local/lib/python2.7/dist-packages/oslo_messaging/transport.py", line 90,
in _send
2015-02-28 00:31:45.548 3011 TRACE neutron.agent.dhcp.agent
timeout=timeout, retry=retry)
2015-02-28 00:31:45.548 3011 TRACE neutron.agent.dhcp.agent File
"/usr/local/lib/python2.7/dist-packages/oslo_messaging/_drivers/amqpdriver.py",
line 349, in send
2015-02-28 00:31:45.548 3011 TRACE neutron.agent.dhcp.agent retry=retry)
2015-02-28 00:31:45.548 3011 TRACE neutron.agent.dhcp.agent File
"/usr/local/lib/python2.7/dist-packages/oslo_messaging/_drivers/amqpdriver.py",
line 340, in _send
2015-02-28 00:31:45.548 3011 TRACE neutron.agent.dhcp.agent raise result
2015-02-28 00:31:45.548 3011 TRACE neutron.agent.dhcp.agent RemoteError:
Remote error: InvalidInput Invalid input for operation: Exceeded maximim amount
of fixed ips per port.
2015-02-28 00:31:45.548 3011 TRACE neutron.agent.dhcp.agent [u'Traceback
(most recent call last):\n', u' File
"/usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py", line
142, in _dispatch_and_reply\n executor_callback))\n', u' File
"/usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py", line
186, in _dispatch\n executor_callback)\n', u' File
"/usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py", line
130, in _do_dispatch\n result = func(ctxt, **new_args)\n', u' File
"/opt/stack/neutron/neutron/api/rpc/handlers/dhcp_rpc.py", line 312, in
update_dhcp_port\n return self._port_action(plugin, context, port,
\'update_port\')\n', u' File
"/opt/stack/neutron/neutron/api/rpc/handlers/dhcp_rpc.py", line 75, in
_port_action\n return plugin.update_port(context, port[\'id\'], port)\n', u'
File "/opt/stack/neutron/neutron/plugins/ml2/plugin.py", line 1014, in
update_port\n port)\n', u' File "/opt/stack/neutron/ne
utron/db/db_base_plugin_v2.py", line 1389, in update_port\n
original[\'mac_address\'], port[\'device_owner\'])\n', u' File
"/opt/stack/neutron/neutron/db/db_base_plugin_v2.py", line 466, in
_update_ips_for_port\n raise n_exc.InvalidInput(error_message=msg)\n',
u'InvalidInput: Invalid input for operation: Exceeded maximim amount of fixed
ips per port.\n'].
2015-02-28 00:31:45.548 3011 TRACE neutron.agent.dhcp.agent
2015-02-28 00:31:45.553 DEBUG oslo_concurrency.lockutils
[req-41e2c225-2f9f-4e82-a18e-c79faf13cc49 admin admin] Lock "dhcp-agent"
released by "subnet_update_end" :: held 0.358s inner
/usr/local/lib/python2.7/dist-packages/oslo_concurrency/lockutils.py:442
2015-02-28 00:31:45.732 3011 DEBUG neutron.agent.dhcp.agent [-] resync
(b682f8e6-5250-4c8c-bb83-93427cfd6185): [RemoteError(u'Remote error:
InvalidInput Invalid input for operation: Exceeded maximim amount of fixed ips
per port.\n[u\'Traceback (most recent call last):\\n\', u\' File
"/usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py", line
142, in _dispatch_and_reply\\n executor_callback))\\n\', u\' File
"/usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py", line
186, in _dispatch\\n executor_callback)\\n\', u\' File
"/usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py", line
130, in _do_dispatch\\n result = func(ctxt, **new_args)\\n\', u\' File
"/opt/stack/neutron/neutron/api/rpc/handlers/dhcp_rpc.py", line 312, in
update_dhcp_port\\n return self._port_action(plugin, context, port,
\\\'update_port\\\')\\n\', u\' File
"/opt/stack/neutron/neutron/api/rpc/handlers/dhcp_rpc.py", line 75, in
_port_action\\n
return plugin.update_port(context, port[\\\'id\\\'], port)\\n\', u\' File
"/opt/stack/neutron/neutron/plugins/ml2/plugin.py", line 1014, in
update_port\\n port)\\n\', u\' File
"/opt/stack/neutron/neutron/db/db_base_plugin_v2.py", line 1389, in
update_port\\n original[\\\'mac_address\\\'],
port[\\\'device_owner\\\'])\\n\', u\' File
"/opt/stack/neutron/neutron/db/db_base_plugin_v2.py", line 466, in
_update_ips_for_port\\n raise n_exc.InvalidInput(error_message=msg)\\n\',
u\'InvalidInput: Invalid input for operation: Exceeded maximim amount of fixed
ips per port.\\n\'].',)] _periodic_resync_helper
/opt/stack/neutron/neutron/agent/dhcp/agent.py:185
2015-02-28 00:31:45.733 3011 DEBUG oslo_concurrency.lockutils [-] Lock
"dhcp-agent" acquired by "sync_state" :: waited 0.000s inner
/usr/local/lib/python2.7/dist-packages/oslo_concurrency/lockutils.py:430
2015-02-28 00:31:45.733 3011 INFO neutron.agent.dhcp.agent [-] Synchronizing
state
2015-02-28 00:31:45.734 3011 DEBUG oslo_messaging._drivers.amqpdriver [-]
MSG_ID is 81477b08ea9f4328bafe8f90ef2d3f33 _send
/usr/local/lib/python2.7/dist-packages/oslo_messaging/_drivers/amqpdriver.py:310
2015-02-28 00:31:45.735 3011 DEBUG oslo_messaging._drivers.amqp [-] UNIQUE_ID
is 0f306089fd55406bba1b5e7af7c489ce. _add_unique_id
/usr/local/lib/python2.7/dist-packages/oslo_messaging/_drivers/amqp.py:226
2015-02-28 00:31:45.861 3011 DEBUG neutron.agent.dhcp.agent [-] Calling
driver for network: b682f8e6-5250-4c8c-bb83-93427cfd6185 action: enable
call_driver /opt/stack/neutron/neutron/agent/dhcp/agent.py:103
2015-02-28 00:31:45.862 3011 DEBUG neutron.agent.linux.utils [-] Unable to
access /opt/stack/data/neutron/dhcp/b682f8e6-5250-4c8c-bb83-93427cfd6185/pid
get_value_from_file /opt/stack/neutron/neutron/agent/linux/utils.py:171
2015-02-28 00:31:45.862 3011 DEBUG oslo_messaging._drivers.amqpdriver [-]
MSG_ID is 2f0b3ab027e74f819d7969701ee4a414 _send
/usr/local/lib/python2.7/dist-packages/oslo_messaging/_drivers/amqpdriver.py:310
2015-02-28 00:31:45.862 3011 DEBUG oslo_messaging._drivers.amqp [-] UNIQUE_ID
is 8008ae78501a4269990536eb149cc6b7. _add_unique_id
/usr/local/lib/python2.7/dist-packages/oslo_messaging/_drivers/amqp.py:226
2015-02-28 00:31:45.891 3011 ERROR neutron.agent.dhcp.agent [-] Unable to
enable dhcp for b682f8e6-5250-4c8c-bb83-93427cfd6185.
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1427015/+subscriptions
--
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help : https://help.launchpad.net/ListHelp