neutron/neutron/tests/unit
Rodolfo Alonso Hernandez a6cdf273c0 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
2021-02-27 10:07:03 +00:00
..
agent Improve "get_devices_with_ip" performance 2021-02-27 10:07:03 +00:00
api Process DHCP events in order if related 2021-02-04 15:39:10 +00:00
cmd Migrate "netstat" to oslo.privsep 2020-06-19 14:59:11 +00:00
common Merge "Make test_throttler happy" 2021-02-23 22:04:38 +00:00
conf/agent Agent common config 2017-03-15 09:52:18 -06:00
core_extensions Remove the dependency on the "mock" package 2020-04-28 18:05:37 -04:00
db Merge "Don't try to create default SG when security groups are disabled" 2021-02-08 10:06:49 +00:00
debug Remove the dependency on the "mock" package 2020-04-28 18:05:37 -04:00
extensions Merge "Support address group in OVS firewall agent" 2021-02-16 01:37:04 +00:00
hacking Remove "six" library 2020-07-28 16:55:52 +00:00
ipam [OVN] Use new distributed device_owner for OVN distributed services 2020-07-08 13:26:35 +00:00
notifiers Add config option ``http_retries`` 2020-06-29 22:07:46 -04:00
objects Add port device profile extension 2021-01-22 16:17:30 +00:00
pecan_wsgi Remove the dependency on the "mock" package 2020-04-28 18:05:37 -04:00
plugins Merge "Use agent chassis table based on schema" 2021-02-21 14:31:31 +00:00
privileged Migrate "netstat" to oslo.privsep 2020-06-19 14:59:11 +00:00
quota Remove the dependency on the "mock" package 2020-04-28 18:05:37 -04:00
scheduler L3 agent scheduler should return a valid index if manual scheduling 2020-06-24 15:37:23 +00:00
services Merge "[OVN][QoS] Remove OVN QoS rule when FIP is dissasociated" 2021-02-25 11:25:28 +00:00
tests Remove "six" library 2020-07-28 16:55:52 +00:00
__init__.py Don't set use_stderr to False for tests 2017-04-15 01:41:29 +00:00
_test_extension_portbindings.py Remove "six" library 2020-07-28 16:55:52 +00:00
dummy_plugin.py Remove Neutron LBaaS 2019-09-20 07:46:06 +00:00
extension_stubs.py Consume ServicePluginBase from neutron-lib 2017-03-17 12:06:57 -06:00
fake_resources.py [OVN] Fix RowNotFound exception while waiting for metadata networks 2021-02-08 12:17:17 +00:00
test_auth.py Fix context deprecation warnings 2018-02-13 15:02:49 -05:00
test_manager.py Remove the dependency on the "mock" package 2020-04-28 18:05:37 -04:00
test_neutron_plugin_base_v2.py Add unit test to validate non DB base core plugin can be loaded 2017-11-15 21:21:35 +00:00
test_opts.py Fix the sriov agent config group name 2016-05-05 16:16:08 +08:00
test_policy.py Fix deepcopy of the OwnerCheck objects under uwsgi 2021-02-12 10:53:26 +01:00
test_service.py Remove the dependency on the "mock" package 2020-04-28 18:05:37 -04:00
test_worker.py Remove the dependency on the "mock" package 2020-04-28 18:05:37 -04:00
test_wsgi.py Remove "six" library 2020-07-28 16:55:52 +00:00
testlib_api.py Remove usage of six.text_type and six.string_type 2020-05-22 14:02:55 -04:00