Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

initial conversion to tornado 5 #787

Merged
merged 7 commits into from
Dec 10, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ Changes in this release:
- Various bugfixes and performance enhancements
- Dependency updates
- Removal of snapshot and restore functionality from the server (#789)
- Updated to Tornado 5, moving from tornado ioloop to the standard python async framework (#765)

v 2018.3 (2018-12-07)
Changes in this release:
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ sphinx-autodoc-annotation==1.0-1
sphinx-rtd-theme==0.4.2
sphinx==1.8.2
texttable==1.5.0
tornado==4.5.3
tornado==5.1.1
tox==3.5.3
typing==3.6.6
virtualenv==16.0.0
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"python-dateutil",
"pyyaml",
"texttable",
"tornado < 5",
"tornado",
"typing",
"virtualenv<16.1.0",
"typing",
Expand Down
13 changes: 3 additions & 10 deletions src/inmanta/agent/handler.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,11 @@
from concurrent.futures import Future
from collections import defaultdict
import typing
import tornado.concurrent


from inmanta.agent.io import get_io
from inmanta import protocol, resources, const, data
from tornado import ioloop
from inmanta.module import Project
from inmanta.agent.cache import AgentCache
import uuid
Expand Down Expand Up @@ -331,7 +331,7 @@ def __init__(self, agent, io=None) -> None:
self._io = io

self._client = None
self._ioloop = ioloop.IOLoop.current(instance=True)
self._ioloop = agent.process._io_loop

def run_sync(self, func: typing.Callable) -> typing.Any:
"""
Expand All @@ -343,20 +343,13 @@ def run_sync(self, func: typing.Callable) -> typing.Any:
"""
f = Future()

def future_to_future(future):
exc = future.exception()
if exc is not None:
f.set_exception(exc)
else:
f.set_result(future.result())

def run():
try:
result = func()
if result is not None:
from tornado.gen import convert_yielded
result = convert_yielded(result)
result.add_done_callback(future_to_future)
tornado.concurrent.chain_future(result, f)
except Exception as e:
f.set_exception(e)
self._ioloop.add_callback(run)
Expand Down
11 changes: 8 additions & 3 deletions src/inmanta/server/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
import logging
import os
import re
import subprocess
import sys
import tempfile
import time
Expand Down Expand Up @@ -1525,8 +1524,14 @@ def _recompile_environment(self, environment_id, update_repo=False, wait=0, meta

# verify if branch is correct
LOGGER.debug("Verifying correct branch")
proc = subprocess.Popen(["git", "branch"], cwd=project_dir, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, _ = proc.communicate()
sub_process = process.Subprocess(["git", "branch"],
stdout=process.Subprocess.STREAM,
stderr=process.Subprocess.STREAM,
cwd=project_dir)

out, _, _ = yield [gen.Task(sub_process.stdout.read_until_close),
gen.Task(sub_process.stderr.read_until_close),
sub_process.wait_for_exit(raise_error=False)]

o = re.search("\* ([^\s]+)$", out.decode(), re.MULTILINE)
if o is not None and env.repo_branch != o.group(1):
Expand Down
3 changes: 3 additions & 0 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,12 @@
from inmanta.export import cfg_env, unknown_parameters
import traceback
from tornado import process
import asyncio
from tornado.platform.asyncio import AnyThreadEventLoopPolicy
import sys
import pkg_resources

asyncio.set_event_loop_policy(AnyThreadEventLoopPolicy())

DEFAULT_PORT_ENVVAR = 'MONGOBOX_PORT'

Expand Down
183 changes: 92 additions & 91 deletions tests/data/ca/enduser-certs/server.chain
Original file line number Diff line number Diff line change
@@ -1,95 +1,96 @@
-----BEGIN CERTIFICATE-----
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
/mGt11fXr9leiLkln6sWyrYfRyUAGYXumBj8LdHRxcaCZSLmw552cv7sb69+eF3N
Tfcu0WBSMSwrnql8f9GUZNzgIGeXz5LsRHfjSMwXlDj1hL7jphXF+XA3gnFw2xxl
DgLUsykWOInBmIPQ+2IrN+GZO9Ol4gX1CI9I+iBPbv/GYJtUHmJiNPU38VPns5te
HEdt8Zm7QRGYdStiPmor6GfUnV2J45FyEGNNVhyPtWBMsNPd2HwL2fcvKMHSh9Jv
yntfyIMMQlM392FtdoF6nVypku98PzW6ibQfZx00YT3NY5IKMqXMLKMkzyH2W7VJ
5pdJMBgg1b4v28/L8W0wsaD1J654IkDwuIrnN07jW3iyWDLjXUpPM/4Ov5bYfwNu
EM2qOU0biimM8VQrydN9UEL2030soi87CD7btBvoHh+kN+x8OA7hPCp5MHqmPvUS
SweFDUbazN7WrcI3exIxlX2Wa3ec2IELNMNh5PlZEmOLEZ39oi4kuVJtwr3YXa7L
lM5sT+clLx8qzD9H3iLQ5OJyzo8dsmeF/eaJgIaGQfiadsVWOijSVAyEzzttTD4A
8RSbCmEoS6HSPHMzm/OcW0KcLcox7c7wk0mt2b1umzsJTGniBPX+lehb8N9N192D
pN+XygnRtKIkXswqZttyG01VaA7pdL1oAcbN4Ovh7rYqrRpOZH02Hsu4Bdrqudn3
iX6/1Wf6SIvScYBrLFQ8pusGynCCTX3Qi4uBPaq8xse4ZmVUsgrDyKAAy/E=
MIIJhjCCBW6gAwIBAgIJANZ10BlrVyc0MA0GCSqGSIb3DQEBCwUAMFgxCzAJBgNV
BAYTAmJlMQ0wCwYDVQQIDAR0ZXN0MQ0wCwYDVQQHDAR0ZXN0MQ0wCwYDVQQKDAR0
ZXN0MQ0wCwYDVQQLDAR0ZXN0MQ0wCwYDVQQDDAR0ZXN0MB4XDTE4MTEwNzE1NDgx
NVoXDTIzMTEwNzE1NDgxNVowWDELMAkGA1UEBhMCYmUxDTALBgNVBAgMBHRlc3Qx
DTALBgNVBAcMBHRlc3QxDTALBgNVBAoMBHRlc3QxDTALBgNVBAsMBHRlc3QxDTAL
BgNVBAMMBHRlc3QwggQiMA0GCSqGSIb3DQEBAQUAA4IEDwAwggQKAoIEAQDKzU0O
BOyuetBg5kyxy8NPaj7lDYex7aiyIRsSrBCk3jqRvpuyPycocZyi0yrnz9A1xrqi
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
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
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
k77bym0VS2fx3h9YZwNXv0y1zlWAnFY7KdW/3NCkVPSu/YGoIV+78s/8aFbcPz2B
qfhYGfWqnHv48B6xtHanQGPF73WVhhsCXio3zi/ACRtRe9B4cDEH6xYQCZZ83Ltw
/4ylpMVm+eKWyvARMiZx2HsJs64qrrX5CiJeCtkyu6ff
MIIHpDCCA4ygAwIBAgICEAAwDQYJKoZIhvcNAQEMBQAwWDELMAkGA1UEBhMCYmUx
DTALBgNVBAgMBHRlc3QxDTALBgNVBAcMBHRlc3QxDTALBgNVBAoMBHRlc3QxDTAL
BgNVBAsMBHRlc3QxDTALBgNVBAMMBHRlc3QwHhcNMTgxMTA3MTU0ODMwWhcNMjAx
MTA2MTU0ODMwWjA9MQowCAYDVQQDDAFhMQowCAYDVQQIDAFhMQswCQYDVQQGEwJi
ZTEKMAgGA1UECgwBYTEKMAgGA1UECwwBYTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
ADCCAgoCggIBAOJsNOyMpK20wReWVlZmOygTSbbKcmzUb5rj5qc6/hAn2xp64XcX
gaifNpZb1w4o8k9d/mkB8yPfMXDwN7RRr3eaj74wXAqUuQ++yV3Bw6NvKVLLcLB3
wln5HyDzZy0pL5hSNNnz/6S8fLuxeiJVEz9CL23Oilzxa9WyM9hP5xIRDo1HVu/P
QS4CtCMYXlxMuTdobpyLTgS6QuZ9xCUEjXCFk2QiSXUg7G/EnfEIRswXwCA1ymPi
KbdtA+8souvRt0OQ1feeObnvOFXvn05B0ljzwQon3FNkexJMoNjUjuMPOuFZGLMJ
E0ZoVg+2D6aiLVMoC/cJ4jV5wSPuaBV14mkbxzROwACvJ9q1M8aHt8b92NYFqMSf
QE5wV6Z5Ep4bUJK7B2hdE6pd30sDUt6HdEflITYTzTYCiHeG2z2hKlRjhAMFxBPq
nJSWuIijNs5Z2RyciCTryHl1+57gMvBtOzQQAuCFsqVfdkCgwlsmCbdWbvt1wZiX
HiLj0zi9hvbmxaxJQZrbtpqzNYmVpX0gmKwM+LUpiUD2WasZq+nH49vqocngJn4m
GjOeIJRr5T4ZHvbxUdc+db7srseHa4yrVH8M6Damb1HavSYAQlniGvJnBet+uhy3
HuXRCuAwaCgo1/47fimKWo0DJijagN8EYgPCXnGInSYn3B0BkO7reOlHAgMBAAGj
gZIwgY8wDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU/4kha/KzuF4yAVa3s5Fi
38P+jFIwHwYDVR0jBBgwFoAUS7e5yFcsonXsf3wjNVTzXtaLHHYwCwYDVR0PBAQD
AgKkMBMGA1UdJQQMMAoGCCsGAQUFBwMBMBoGA1UdEQQTMBGCD0lubWFudGEgVGVz
dCBDQTANBgkqhkiG9w0BAQwFAAOCBAEAsExreN424XIxgSr77SJwxQpwqQtsTmzH
Ncolyr/wstBIwSOA0HskMltCfKOla5TKAvsy4Aoi+irO1Z9jwgXJD3RhZkJkPtoD
VHjCMjNtS0gZbsXXmjV/aV+sJJ0sgaPLjHy2zDVESRiYyfZNdRnwQ5R3Rufp4jJd
lVg9C+sv1XPx796FaIXW+zAcZA118R/Dh5C49CsVOwHgv2YYOd37KXoAtdc8LH0O
VvIf3jpP1NUV9N8tTivV5ahS5HmJyiiIhn77klqTlH5y4BADJwJH648KOPICtACq
GlJRPfCOWNwwYapMoFQJniuRaVX1gHfbZ2pLcCw9IkoJu5TpFmy6u1ybjMKm3KX1
UndaKh65Yzbv7lwUDcJdHMUMZe/QK2GwnL+GgMNNxZY6JrPsDFo8zHlcICTrvniQ
AcykW6eU9FL80fHqnkkUQ6L6NBR8nqCNRNrlxP3KPddPqVThlR2i+Im9bjiGdRu3
/ch3FXaMGgZc4rjpJis53Qpp2UPE9mI/42fjjEE5svFVt0ifKBz0pohoLpTnJBUi
BYByMAP/e20qUAB9UxZaT0TpgSp4kHgIWK3JJ7DxUpx3OmGb4g/M58i1PRmx9Jqp
t3Fvb47PNO6I5NZEvQcKSX8WG9mfB9gjqjs7bTnGCe2d9jwSGthnO2g67792mQQU
0LJusr+nk9rbyz8MKtoMzVKNcQi58hFaESaaSurAqsCmz5ptVZGouAxgZKgw7lX9
X1B2FFee2lLpGs/WJldJuwNH/N+HNYhXxUuYrD/7PI60LNqCexlSX5vz1gZUlPNv
GfUj/DoDxlrVkZh4TdrmMkeDdJ7a4lhYc8zyWPGuFs9B1zvDHj7sTGbHOu3ckzma
qz+07oIgS/kO+WaCvsdANnfPbOPL8D+dv3zQ+8Zym4RTl50IFLt1QQ1fvARlRZ0x
reqNm2RepnLKYGibP7a40ApwUaFxvEgHv6Dv55Qp7ZasRg5vUXI53y8TH64OLzLE
aSsWSiITs1CYC6rq50Df8TiDog3XG8JVjBINWD9ryx/te3nczXLuhwXZuC/mjMcs
nB1tafoZjDcEH7yXmn7Hq9U+E0OCwx9HY3/xo4i5Z3WImi58UQtyKTce4gx4HI2g
+5uvzOKbaIgoEfny/C967YT/K2HFHkKBiZ61yCYICMdqi33B6uyfZfkY1bsxTaTm
4PjzBuX3ESDye38kJ3KvCbvbRs9JcTL4g/+RrXiclzZqwWXWFhSkWJ6jlyGO0BWJ
dkTa/M+3KCPS+Jt7hWwDEfzXpqZyqDCqblFpCiLjzxVvjUArCWbAj0Ea533XFH3e
XuDlDUjY67NnB36z2ErCGJSiyvs/5RLGp7U6yZ3AaFQ0X47u5V0jqw==
-----END CERTIFICATE-----
61 changes: 30 additions & 31 deletions tests/data/ca/enduser-certs/server.crt
Original file line number Diff line number Diff line change
@@ -1,33 +1,32 @@
-----BEGIN CERTIFICATE-----
MIIFpzCCA4+gAwIBAgICEAEwDQYJKoZIhvcNAQEMBQAwTTEdMBsGA1UEAwwUVGVz
dCBJbnRlcm1lZGlhdGUgQ0ExCzAJBgNVBAYTAkJFMRAwDgYDVQQKDAdJbm1hbnRh
MQ0wCwYDVQQLDARUZXN0MB4XDTE4MDQwMjA4NTYzNVoXDTE5MDQwMjA4NTYzNVow
RzEPMA0GA1UEAwwGU2VydmVyMQswCQYDVQQGEwJCRTEQMA4GA1UECgwHSW5tYW50
YTEVMBMGA1UECwwMSW5tYW50YSBUZXN0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
MIICCgKCAgEAtfgBFeXJ95QLiCKmXcV9NGCZkrIpbAqphr/2NOQBOsYhtaSId0DN
YnqyBBY6shDEf1nA4bf4Cv0qLP2Tjuw08cCYxeHC+kO47DTjjA4x0HwFcXdm2ArS
zNDsbhYXqHCjB+bYq1Iy0zxw0AtEdQjbfEqqEPI091ysWNon8RgfGvln7QmYXXqo
uskdABG9SXBwuq8wqn0s46h+ECfMG/2prIghntD7ZgimgsMlKHuMRO9tQTTvaBH5
AuggvCASW5PzzzLYvwZtnAoiwg1sjDFy0g7QKOfjt5y40oIdW+HlPZbksN2LBDxk
rT2X28/AlTM1nXNflkVS4J0rMvfJZ6cN0B4PRlRg5KiGnkxHK1DyR1vDmIyMMI0m
pKRdhnqAOuxzOZaL0b/VxcUIWUJs5tzP9CNMeEQ33mR6QpHGL1MnXJtoUD2Rl1pW
Vu5kq8NBHbFJVxWI9T8Y96mGB+VogRk98bo/O/MzGqZ/xMINHMefEIv9B0Ihd6Il
YAtoAFHRWpb8WZX+vdhqmyhjujw6Hf0mHIqt9WxRrokalEqpTgOIKbLtNHLwcSBU
pHP1ON3FOzrGCQkFCENhkAFn0ODa0D1rtt2pOo/vpZwoMaF2P5n3+Zbxgykce3Ho
IVKC9s8qfxDWJhJEMDYzpy/oeTPw4kETsLRK3KUeegWRAp5eQSx/L1MCAwEAAaOB
ljCBkzAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBQeIfN7qxXS7Rm9UN29Vej8RJRU
5TAfBgNVHSMEGDAWgBR9KkxkIMgz2Ayc3enaME1bYLiMyTALBgNVHQ8EBAMCBaAw
EwYDVR0lBAwwCgYIKwYBBQUHAwEwIQYDVR0RBBowGIIQdGVzdC5pbm1hbnRhLmNv
bYcEfwAAATANBgkqhkiG9w0BAQwFAAOCAgEAYGPYdcN00PFKDX2uq/OZ8/GTTsfn
FSqXmzpPvNuiR8wnkOjCQW+t/47OYe/vlj4h6DsO0snLkPtTFzZuFQP2/M3wL/NF
Y+qqs0P1rdz8H31JH2ZoOlrHAfCEQMw1PAykJQfOhm0LHa01UvBaoEmMtrv2FUXL
W+Vee8g3GlGn/eIBDVZ0eTeIOOtbY0RD1Yl00AfheZx+u/WPfBrxobV0NhGIfAYY
VisfWZpa/lnrG2DaajiUjAGFw5tEMBeuxojCDy37jy/gO3BhKYHzG90OF6OJ+Fap
N7sXU1sXQ7ROQzaQaUHrGrZJ1yZGseU5taGz8ANvBsMH1acYUavrPnMyc1gC180n
fvr3gHI9dQauUKy7OhjIASNZn5cnuNdK6vs0IK0o0qb9EtbaWc1M++TUUaFEHfs2
D0x1ytFIhPpGkc21k+If/hMGGBOzA5oCkYrOW+OXAsaggl7DW1lhKZvNTmX6TkBI
nTWiIFaKV5oRnMxxvHO5IYpPEWW3sxqorSeM82zYRfbeECCeXa5xYjIlF1OhOcHe
UAkZu9TtstD4YD3harZ3mTMUwD+DYIWWlAPzlMVXdAT2TJSSbMhE0O7SOxRXqEPc
iWqt2re7f0V8TI9V4Do6PmqdwD+mTC97L9KZRiuSOCX8+fMmb1qHoLzsmYxhpf8b
9k5wPAWAC91IfNM=
MIIFgTCCA2mgAwIBAgICEAAwDQYJKoZIhvcNAQEMBQAwPTEKMAgGA1UEAwwBYTEK
MAgGA1UECAwBYTELMAkGA1UEBhMCYmUxCjAIBgNVBAoMAWExCjAIBgNVBAsMAWEw
HhcNMTgxMTA3MTU1MDM4WhcNMTkxMTA3MTU1MDM4WjA4MQswCQYDVQQDDAJ4eDEL
MAkGA1UEBhMCYWExHDAaBgNVBAoME0RlZmF1bHQgQ29tcGFueSBMdGQwggIiMA0G
CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDZvWoiLP7gdpVvfUEQz04DK8TaEyVM
af+mZMmKz7DgRsYQ14cN9aZ+VFlIXXsfRcebCbZJCCMo54L5b1txESM+3MR5UWpd
7f2bbMUQ58t0R1RC1bSnl6Tui9bhK2NK+S+X5UWejyEiMzc1BbOoBe9OrMlZvDNe
cbdVyBGs5t+Bns+R4HKH1HFPsqZ630rUcq3ALxhub54PWem7ITkF9nQeMSIH69yc
+iVbM3zgTAspKo7YOkqmy3vkZi19aJWVV81u9EM2zpAmkcgZCQ3g6uqySbP4VgbP
Ljv1BDswLuMSD9ds4afgDoVxjD9vuQIfnNs5rTJf46yaATJZ9PCfu8caJBsEh4ON
ZSKoIP0Vx1DtPUFjSbai0iNQshL9usqBRKRvEJPSXycFFAgzIf2Cd2NJzZ8R4tGv
YznTfWGwiCaPG1Dj44pwXt0Myqwm72eVedmuJvd8QloHjTyblU+1oLC5hC7/iACl
vJVogvNNuLpX/S9ywW+P1jB+YAZQrn1bP+rg8C9336V3cByLd+yIhcBCOcSxjgIV
5uQSGsvA+gQqg+AkdAlc5aI6BqVkOkPiFeKj2iwaMJYTRcgJPqNxoB21KXGXWwof
be4zjV3F+IIJk8k46aNLw1ZkVnHMBd2G2Si9QAFchigjGq+Gzy7ofmYUouj+s+GC
6/cFhZnVFNG86wIDAQABo4GPMIGMMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFNA3
TJ/frac41uwSAoaMlZiDF88HMB8GA1UdIwQYMBaAFP+JIWvys7heMgFWt7ORYt/D
/oxSMAsGA1UdDwQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAaBgNVHREEEzAR
gglsb2NhbGhvc3SHBH8AAAEwDQYJKoZIhvcNAQEMBQADggIBAJPyF+aL0oH5wVy6
NMPZJeSF6MgYum+vCrmm0zvRHmQ2r1uMZPmoafoKWLcvtj7Dzps+beAPOY59E4Eo
CqzzPDUkZTMcyMKELEzl/w+PoM/Od+TMgjeuGgkT6Wprq/288oDZiXCZYcgSHjQw
sVx4pu14FrG++dVWr85ZsGgCbdFO7HUh0o6NJokOs1RGPyQLnb6jRzTn1SCjg7AF
8yPl5FPKEts3pFeq4UrbBEtTR/oMNJDLTJ0rMyk4KXFHfloXuvJnScj1sbEbzm8k
abNwPxf1xdE/VkQ5yc8ov777a7MiiFXk6XRAeXGOUWa3FrgMFOHrZoGF1Cv5RetM
mUcqrgqbHx28Sj4u/tQ/HNDB8cu7/F8BwT/5M6DYTv7EaapRZD5Yz9WqzBpGunz6
LnxUmfNPN1ZKsmvDk/IiHlLioQrtTELIzWRSpmsUMXE6tp1PXklLRSHSFQegTwAk
+XK62iK8Aws5L1bHBxejAnyRwLfbPDGxbfvA2BRTOJF1ZmNJ+5uldx5nPKVkzJPZ
vjVE+mfG4I4kDscnuBKcWUgencUR9FsP426STywKRIj3hhCb1FwNR7Y9RdP5jjNR
mJJh9FNl7IrJduZWEERnoWALV6Mjr+tG2PF+LHOYIwptAvtrFdsqZ0ThhHEAl8fo
CWCqd6dyEU18STKPqi9PJKdWq5AP
-----END CERTIFICATE-----
Loading