Bug 1768268 - Salt-minion wont start after upgrade to 31 with error about 'tornado.stack_context'
Summary: Salt-minion wont start after upgrade to 31 with error about 'tornado.stack_co...
Keywords:
Status: CLOSED DUPLICATE of bug 1748170
Alias: None
Product: Fedora
Classification: Fedora
Component: salt
Version: 31
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Clint Savage
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-11-03 19:21 UTC by Jason Elwell
Modified: 2019-11-05 01:45 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2019-11-05 01:45:27 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Jason Elwell 2019-11-03 19:21:50 UTC
Description of problem:
Salt-minion fails to start after upgrade to F31

Version-Release number of selected component (if applicable):
salt-minion-2019.2.1rc0-3.fc31.noarch
python3-tornado-6.0.2-2.fc31.x86_64


How reproducible:
Start service salt-minion after F31 upgrade

Steps to Reproduce:
1. systemctl start salt-minion.service

Actual results:
salt-minion[56324]: ModuleNotFoundError: No module named 'tornado.stack_context'
systemd[1]: salt-minion.service: Main process exited, code=exited, status=247/n/a
systemd[1]: salt-minion.service: Failed with result 'oom-kill'.systemd[1]: salt-minion.service: Consumed 13min 11.123s CPU time.


Expected results:
Start success

Additional info:
--This loops endlessly until oom-killer cleans it up:
Nov 03 13:04:20 localhost salt-minion[12961]: [CRITICAL] Unexpected error while connecting to salt
Nov 03 13:04:20 localhost salt-minion[12961]: Traceback (most recent call last):
Nov 03 13:04:20 localhost salt-minion[12961]:   File "/usr/lib/python3.7/site-packages/salt/minion.py", line 1025, in _connect_minion
Nov 03 13:04:20 localhost salt-minion[12961]:     yield minion.connect_master(failed=failed)
Nov 03 13:04:20 localhost salt-minion[12961]:   File "/usr/lib64/python3.7/site-packages/tornado/gen.py", line 735, in run
Nov 03 13:04:20 localhost salt-minion[12961]:     value = future.result()
Nov 03 13:04:20 localhost salt-minion[12961]:   File "/usr/lib64/python3.7/site-packages/tornado/gen.py", line 742, in run
salt-minion[12961]:     yielded = self.gen.throw(*exc_info)  # type: ignore
salt-minion[12961]:   File "/usr/lib/python3.7/site-packages/salt/minion.py", line 1224, in connect_master
salt-minion[12961]:     master, self.pub_channel = yield self.eval_master(self.opts, self.timeout, self.safe, failed)
salt-minion[12961]:   File "/usr/lib64/python3.7/site-packages/tornado/gen.py", line 735, in run
salt-minion[12961]:     value = future.result()
salt-minion[12961]:   File "/usr/lib64/python3.7/site-packages/tornado/gen.py", line 209, in wrapper
salt-minion[12961]:     yielded = next(result)
salt-minion[12961]:   File "/usr/lib/python3.7/site-packages/salt/minion.py", line 749, in eval_master
salt-minion[12961]:     pub_channel = salt.transport.client.AsyncPubChannel.factory(self.opts, **factory_kwargs)
salt-minion[12961]:   File "/usr/lib/python3.7/site-packages/salt/transport/client.py", line 174, in factory
salt-minion[12961]:     import salt.transport.zeromq
salt-minion[12961]:   File "/usr/lib/python3.7/site-packages/salt/transport/zeromq.py", line 36, in <module>
salt-minion[12961]:     import salt.transport.mixins.auth
salt-minion[12961]:   File "/usr/lib/python3.7/site-packages/salt/transport/mixins/auth.py", line 16, in <module>
salt-minion[12961]:     import salt.master
salt-minion[12961]:   File "/usr/lib/python3.7/site-packages/salt/master.py", line 41, in <module>
salt-minion[12961]:     import salt.runner
salt-minion[12961]:   File "/usr/lib/python3.7/site-packages/salt/runner.py", line 19, in <module>
salt-minion[12961]:     from salt.client import mixins
salt-minion[12961]:   File "/usr/lib/python3.7/site-packages/salt/client/mixins.py", line 36, in <module>
salt-minion[12961]:     import tornado.stack_context
salt-minion[12961]: ModuleNotFoundError: No module named 'tornado.stack_context'

Comment 1 Jason Elwell 2019-11-03 20:05:18 UTC
From https://www.tornadoweb.org/en/stable/releases/v5.1.0.html
* Tornado 6.0 will drop support for Python 2.7 and 3.4. The minimum supported Python version will be 3.5.2.
* The tornado.stack_context module is deprecated and will be removed in Tornado 6.0.

Believing that I don't have anything else that requires tornado, here is a super hackish fix:

As root:
#Remove tornado package
rpm -e --nodeps python3-tornado

#install old tornado version from python repos
pip3 install tornado==5.1.1

#I'm not smart enough to know why it works interactively but not within salt-minion, so have a couple links.
ln -s /usr/local/lib64/python3.7/site-packages/tornado /usr/lib64/python3.7/site-packages
ln -s /usr/local/lib64/python3.7/site-packages/tornado-5.1.1-py3.7.egg-info/ /usr/lib64/python3.7/site-packages

Comment 2 Jason Elwell 2019-11-05 01:45:27 UTC

*** This bug has been marked as a duplicate of bug 1748170 ***


Note You need to log in before you can comment on or make changes to this bug.