Ensure timely termination of all flask servers 90/7290/6
authorschillinge <ablu@mail.uni-paderborn.de>
Mon, 11 Mar 2019 16:57:41 +0000 (17:57 +0100)
committerschillinge <ablu@mail.uni-paderborn.de>
Mon, 18 Mar 2019 21:48:56 +0000 (22:48 +0100)
commit68d042113554a310c357ef1b614c7a9e84cd7a72
tree57f30d26f6407227182981506e1bb67538a68e06
parent060c189f958d992a6eccaa9204ab86fc1089e3a4
Ensure timely termination of all flask servers

1. The chain_api was never terminated. This was fixed by turning the
server into an pyWSGI instance.

2. no monkey patching was applied. The monkey patching of gevent is
required in order to be able to handle other events during a
time.sleep() call. Since multiple patching is detected, it was added to
all files which create WSGI servers.

All in all this change fixes a large leak of threads, open files and
performance.

This change updates Containernet in order to fix race conditions which
otherwise happen due to gevent's monkey patching.

Change-Id: Ia45ad07db1f85046bfcac85eaca20c930b931141
Signed-off-by: schillinge <ablu@mail.uni-paderborn.de>
Dockerfile
src/emuvim/api/openstack/chain_api.py
src/emuvim/api/openstack/manage.py
src/emuvim/api/openstack/openstack_api_endpoint.py
src/emuvim/api/openstack/openstack_dummies/base_openstack_dummy.py
src/emuvim/api/rest/rest_api_endpoint.py
src/emuvim/test/base.py