neutron/neutron/tests/functional
Rodolfo Alonso Hernandez 577d5bd977 Improve "get_devices_with_ip" performance
As reported in LP#1896734, there is a limit in the size of information
that can be transmitted in one single message between an application
and the privsep daemon. The read socket buffer is limited in size;
a message exceeding this size will generate an exception.

In order to limit the amount of information to be sent, this patch
improves the performance of "get_devices_with_ip". In the previous
implementation, the whole list of network devices from a namespace
was retrieved. In some environments, the list of devices could be
so big that the list returned by "privileged.get_link_devices" can
exceed the read buffer size (as reported in the LP bug when the
OVS agent tries to retrieve the list of IP addresses in the system).

Now the function calls "privileged.get_ip_addresses", that returns
a much smaller list. This patch is also reducing the number of system
calls to just one; the previous implementation was retrieving first
the devices link information list (that method was returning a much
bigger blob) and then, per device, retrieving the IP address
information.

Change-Id: I97ada62484023b9833ed12afd68eb4c8d337fd1f
Related-Bug: #1896734
(cherry picked from commit a6cdf273c0)
2021-03-01 10:31:10 +00:00
..
agent Improve "get_devices_with_ip" performance 2021-03-01 10:31:10 +00:00
api Convert policy.json into policy-in-code 2018-12-13 20:37:53 +00:00
cmd Complete removal of dependency on the "mock" package 2020-05-01 12:05:34 -04:00
common All functional tests logs results now 2018-11-21 19:58:18 +00:00
db Remove usage of six.text_type and six.string_type 2020-05-22 14:02:55 -04:00
pecan_wsgi Complete removal of dependency on the "mock" package 2020-05-01 12:05:34 -04:00
plugins [stable only] Wait chassis creation before retrieving agent 2021-02-05 12:44:09 +00:00
privileged Support pyroute2 0.5.13 2020-08-05 17:36:01 +00:00
resources [OVN] Add OVN functional tests - part 1 2020-02-18 13:33:52 +00:00
sanity Use pyroute2 for SRIOV VF commands 2020-05-27 16:58:02 +00:00
scheduler Add binding_index to NetworkDhcpAgentBinding 2019-08-29 12:52:07 +04:00
services Improve terminology in the Neutron tree 2020-08-19 16:47:53 -04:00
tests Complete removal of dependency on the "mock" package 2020-05-01 12:05:34 -04:00
__init__.py tests: removed 'retargetable' framework 2017-05-02 16:45:49 +00:00
base.py [ovn]: port forwarding -- core changes 2020-08-11 14:54:05 -04:00
constants.py TrunkManager for the OVS agent 2016-08-24 02:52:17 -04:00
requirements.txt Update requirements for recent pip failures 2020-12-14 11:35:53 +01:00
test_server.py Merge "[Functional] Add logging to the check test file function" 2020-08-06 19:17:08 +00:00
test_service.py Modify api and rpc default number of workers 2019-02-19 13:24:01 -07:00