It turned out dhcp tests work only because agents are considered dead
after 10 seconds while they report to server every 60 seconds. This led
to calling network resync after agent revival and hiding the fact dhcp
agent is not capable of receiving any amqp messages.
This patch sets the report interval of agents to the half of
agent_down_time on server side and uses eventlet dhcp agent in order to
trigger eventlet monkey patching code.
Eventlet was behind the failure with messages not getting processed. As
[1] notes: "Note: If the “eventlet” executor is used, the threading and
time library need to be monkeypatched."
Because each port calls dhclient to obtain IP address and each dhclient
instance overwrites /etc/resolv.conf there was added a script that
generates fullstack-dhclient-script from an existing dhclient-script
before starting fulltstack tests. This generated script is passed to
each dhclient process running in fake fullstack machine using -sf
parameter.
Reviewed: https:/ /review. openstack. org/455790 /git.openstack. org/cgit/ openstack/ neutron/ commit/ ?id=bc979efdb85 b3ac2722d660748 5d21e002718e02
Committed: https:/
Submitter: Jenkins
Branch: master
commit bc979efdb85b3ac 2722d6607485d21 e002718e02
Author: Jakub Libosvar <email address hidden>
Date: Tue Apr 11 12:27:46 2017 -0400
fullstack: Don't let dhcp agents failover
It turned out dhcp tests work only because agents are considered dead
after 10 seconds while they report to server every 60 seconds. This led
to calling network resync after agent revival and hiding the fact dhcp
agent is not capable of receiving any amqp messages.
This patch sets the report interval of agents to the half of
agent_down_time on server side and uses eventlet dhcp agent in order to
trigger eventlet monkey patching code.
Eventlet was behind the failure with messages not getting processed. As
[1] notes: "Note: If the “eventlet” executor is used, the threading and
time library need to be monkeypatched."
Because each port calls dhclient to obtain IP address and each dhclient dhclient- script from an existing dhclient-script
instance overwrites /etc/resolv.conf there was added a script that
generates fullstack-
before starting fulltstack tests. This generated script is passed to
each dhclient process running in fake fullstack machine using -sf
parameter.
[1] https:/ /docs.openstack .org/developer/ oslo.messaging/ server. html
Related-bug: 1453350
Change-Id: I0336176b9c364f e3a95be5cef9e7a 3af1ef9d7e9