neutron/neutron
Daniel Alvarez 3b22541a2a Switch ns-metadata-proxy to haproxy
Due to the high memory footprint of current Python ns-metadata-proxy,
it has to be replaced with a lighter process to avoid OOM conditions in
large environments.

This patch spawns haproxy through a process monitor using a pidfile.
This allows tracking the process and respawn it if necessary as it was
done before. Also, it implements an upgrade path which consists of
detecting any running Python instance of ns-metadata-proxy and
replacing them by haproxy. Therefore, upgrades will take place by
simply restarting neutron-l3-agent and neutron-dhcp-agent.

According to /proc/<pid>/smaps, memory footprint goes down from ~50MB
to ~1.5MB.

Also, haproxy is added to bindep in order to ensure that it's installed.

UpgradeImpact

Depends-On: I36a5531cacc21c0d4bb7f20d4bec6da65d04c262
Depends-On: Ia37368a7ff38ea48c683a7bad76f87697e194b04

Closes-Bug: #1524916
Change-Id: I5a75cc582dca48defafb440207d10e2f7b4f218b
2017-03-08 15:20:50 +00:00
..
agent Switch ns-metadata-proxy to haproxy 2017-03-08 15:20:50 +00:00
api Merge "Add bulk pull OVO interface" 2017-02-03 18:00:55 +00:00
callbacks Merge "Routed networks IPv4 inventory in Nova GRP" 2017-01-24 22:37:41 +00:00
cmd Switch ns-metadata-proxy to haproxy 2017-03-08 15:20:50 +00:00
common Merge "Fix WaitTimeout string representations" 2017-02-03 12:39:56 +00:00
conf Switch ns-metadata-proxy to haproxy 2017-03-08 15:20:50 +00:00
core_extensions Adopt neutron-lib plugin directory 2016-11-23 04:45:33 -07:00
db Merge "Fix duplicated sg rules check for remote_ip_prefix" 2017-02-08 06:16:25 +00:00
debug Replace device owners hard coded strings to neutron_lib constants 2016-07-12 04:11:35 -04:00
extensions Merge "Enhance tag mechanism" 2017-02-06 08:56:38 +00:00
hacking Register sqlalchemy events through hook for UT cleanup 2017-01-20 04:15:01 -08:00
ipam OVO for Ipam(Allocation,Subnet,Pool) 2017-01-19 19:25:01 +00:00
locale Imported Translations from Zanata 2016-08-19 07:27:43 +00:00
notifiers Merge "Use only_contrib option for nova_client calls" 2017-02-07 06:04:39 +00:00
objects Merge "Fixes to allow OVO deserializion of ports/networks" 2017-02-01 09:38:30 +00:00
pecan_wsgi Merge "Pecan: Fix subresource policy check" 2017-01-07 00:40:19 +00:00
plugins Merge "Deprecate get_locked_port_and_binding" 2017-02-08 09:51:24 +00:00
privileged Do not raise an error deleting neighbour entry 2017-01-26 16:22:20 -05:00
quota Register sqlalchemy events through hook for UT cleanup 2017-01-20 04:15:01 -08:00
scheduler Refactor L3 scheduler (unify code paths) 2017-01-26 23:05:06 +00:00
server Revert "Revert "Remove threading before process forking"" 2016-06-02 21:26:08 +00:00
services Switch to 'subquery' for 1-M relationships 2017-02-06 09:01:31 +00:00
tests Switch ns-metadata-proxy to haproxy 2017-03-08 15:20:50 +00:00
__init__.py Hacking rule to check i18n usage 2016-03-30 21:28:37 -04:00
_i18n.py Move i18n to _i18n, as per oslo_i18n guidelines 2015-12-01 19:29:10 -07:00
auth.py
context.py Correctly set project_name 2017-01-20 16:11:00 -05:00
manager.py Adopt neutron-lib plugin directory 2016-11-23 04:45:33 -07:00
neutron_plugin_base_v2.py Revert "Revert "Remove threading before process forking"" 2016-06-02 21:26:08 +00:00
opts.py Switch ns-metadata-proxy to haproxy 2017-03-08 15:20:50 +00:00
policy.py Merge "Use to_policy_values for policy enforcement" 2016-12-02 23:00:00 +00:00
service.py Adopt neutron-lib plugin directory 2016-11-23 04:45:33 -07:00
version.py
worker.py Move AgentStatusCheckWorker to PeriodicWorker 2016-11-17 15:31:19 -08:00
wsgi.py Merge "Use dispose_pool() from oslo.db" 2016-08-26 22:03:41 +00:00