diff --git a/.ci/prep_azure.py b/.ci/prep_azure.py index 80dbf485..fd8fb694 100755 --- a/.ci/prep_azure.py +++ b/.ci/prep_azure.py @@ -84,6 +84,12 @@ else: if need_to_fix_psycopg2: venv_steps.append('/tmp/venv/bin/pip3 install psycopg2==2.8.5 psycopg2-binary') +venv_steps.extend([ + # pbr is a transitive setup_requires of hdrhistogram. If it's not already + # installed then setuptools attempts to use easy_install, which fails. + '/tmp/venv/bin/pip install pbr==5.6.0', +]) + batches.append(venv_steps) ci_lib.run_batches(batches) diff --git a/ansible_mitogen/planner.py b/ansible_mitogen/planner.py index a17189a3..90d5bb3c 100644 --- a/ansible_mitogen/planner.py +++ b/ansible_mitogen/planner.py @@ -322,6 +322,7 @@ class NewStylePlanner(ScriptPlanner): ALWAYS_FORK_MODULES = frozenset([ 'dnf', # issue #280; py-dnf/hawkey need therapy 'firewalld', # issue #570: ansible module_utils caches dbus conn + 'ansible.legacy.dnf', # issue #776 ]) def should_fork(self): diff --git a/tests/requirements.txt b/tests/requirements.txt index 76e6545d..21ef8166 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -12,6 +12,7 @@ timeoutcontext==1.2.0 unittest2==1.1.0 # Fix InsecurePlatformWarning while creating py26 tox environment # https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings -urllib3[secure]; python_version < '2.7.9' +urllib3[secure]==1.23; python_version < '2.7' +urllib3[secure]==1.26; python_version > '2.6' and python_version < '2.7.9' # Last idna compatible with Python 2.6 was idna 2.7. idna==2.7; python_version < '2.7' diff --git a/tests/testlib.py b/tests/testlib.py index e16309ee..019b35d7 100644 --- a/tests/testlib.py +++ b/tests/testlib.py @@ -423,7 +423,10 @@ class DockerizedSshDaemon(object): def _get_container_port(self): s = subprocess__check_output(['docker', 'port', self.container_name]) for line in s.decode().splitlines(): - dport, proto, baddr, bport = self.PORT_RE.match(line).groups() + m = self.PORT_RE.match(line) + if not m: + continue + dport, proto, _, bport = m.groups() if dport == '22' and proto == 'tcp': self.port = int(bport)