From 19d71d9f4d0d3a0ee36565bd90941bbdc772812c Mon Sep 17 00:00:00 2001 From: armab Date: Mon, 20 Jul 2020 20:05:48 +0100 Subject: [PATCH 1/4] Pin dnspython pip dependency due to regression in v2.0.0 dnspython updated to v2.0.0 results in the following errors: ``` 2020-07-19 15:47:56,299 ERROR [-] Failed to connect to database "st2" @ "mongo:27017" as user "None": No servers found yet ``` and ``` pymongo.errors.ServerSelectionTimeoutError: No servers found yet ``` --- fixed-requirements.txt | 2 ++ requirements.txt | 1 + 2 files changed, 3 insertions(+) diff --git a/fixed-requirements.txt b/fixed-requirements.txt index 84eee50218..58d673c227 100644 --- a/fixed-requirements.txt +++ b/fixed-requirements.txt @@ -2,6 +2,8 @@ # Note: amqp is used by kombu amqp==2.5.2 apscheduler==3.6.3 +# NOTE: 2.0 version breaks pymongo work with hosts +dnspython>=1.16.0,<2.0.0 cryptography==2.8 # Note: 0.20.0 removed select.poll() on which some of our code and libraries we # depend on rely diff --git a/requirements.txt b/requirements.txt index a45af38863..9b37cadde2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,6 +11,7 @@ apscheduler==3.6.3 argcomplete bcrypt==3.1.7 cryptography==2.8 +dnspython<2.0.0,>=1.16.0 eventlet==0.25.1 flex==6.14.0 git+https://github.com/StackStorm/logshipper.git@stackstorm_patched#egg=logshipper From 6a5cd1232cc419452866bc6e481d03a15a513017 Mon Sep 17 00:00:00 2001 From: armab Date: Wed, 22 Jul 2020 12:11:17 +0100 Subject: [PATCH 2/4] Add dnspython pip dependency in st2common to make the system pick it up --- st2common/in-requirements.txt | 1 + st2common/requirements.txt | 1 + 2 files changed, 2 insertions(+) diff --git a/st2common/in-requirements.txt b/st2common/in-requirements.txt index d3856f74cf..03ef106673 100644 --- a/st2common/in-requirements.txt +++ b/st2common/in-requirements.txt @@ -1,5 +1,6 @@ # Remeber to list implicit packages here, otherwise version won't be fixated! apscheduler +dnspython python-dateutil eventlet # used by eventlet diff --git a/st2common/requirements.txt b/st2common/requirements.txt index 5db1665b2f..52de391b2f 100644 --- a/st2common/requirements.txt +++ b/st2common/requirements.txt @@ -8,6 +8,7 @@ amqp==2.5.2 apscheduler==3.6.3 cryptography==2.8 +dnspython<2.0.0,>=1.16.0 eventlet==0.25.1 flex==6.14.0 git+https://github.com/StackStorm/orquesta.git@v1.1.1#egg=orquesta From 2c39cbe405d479813da4ff10f94afedaff446da8 Mon Sep 17 00:00:00 2001 From: armab Date: Wed, 22 Jul 2020 13:11:55 +0100 Subject: [PATCH 3/4] Add a changelog for st2 dnspython regression --- CHANGELOG.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 5dfbc6ed12..8fd989cd60 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -44,6 +44,8 @@ Fixed * Fixed a bug where a python3 sensor using ssl needs to be monkey patched earlier. See also #4832, #4975 and gevent/gevent#1016 (bug fix) #4976 Contributed by @punkrokk +* Fix a regression when updated ``dnspython`` pip dependency resulted in + st2 services unable to connect to mongodb remote host (bug fix) #4997 Removed ~~~~~~~ From af633843dca225ba1deb8a070ac9bfb71635d2aa Mon Sep 17 00:00:00 2001 From: armab Date: Wed, 22 Jul 2020 21:54:08 +0100 Subject: [PATCH 4/4] Trigger e2e tests for dnspython fix