Fix for problem with qpid-dispatch-router 1.2.0

In case anyone else runs into this:

Today qpid-dispatch-router was updated from version 1.1.0 to 1.2.0 in epel7. After updating the qdrouterd service would not start up:

systemd[1]: Started Qpid Dispatch router daemon.
systemd[1]: Starting Qpid Dispatch router daemon...
qdrouterd[13453]: 2018-08-21 11:21:25.278980 +0200 ERROR (error) Python: AttributeError: 'module' object has no attribute '__import__'
qdrouterd[13453]: 2018-08-21 11:21:25.279507 +0200 ERROR (error) Traceback (most recent call last):
qdrouterd[13453]: File "/usr/lib/qpid-dispatch/python/qpid_dispatch_internal/", line 151, in <module>
qdrouterd[13453]: builtin_import = builtins.__import__
qdrouterd[13453]: AttributeError: 'module' object has no attribute '__import__'
systemd[1]: qdrouterd.service: main process exited, code=exited, status=1/FAILURE
systemd[1]: Unit qdrouterd.service entered failed state.
systemd[1]: qdrouterd.service failed.

I changed the relevant part in the mentioned file to the proposed change for version 1.3.0:

which fixed the problem.

1 Like

Man, I just hit this bug.

After building out a brand new platform, and first set of patches to be applied and dang if it didn’t break qdrouter. Talk about ticked off. EPEL registered upstream too. #awesome

Lucky enough, I sync EPEL and was able to downgrade qpid-dispatch-router.

yum downgrade
—> Package qpid-dispatch-router.x86_64 0:1.1.0-1.el7 will be a downgrade
—> Package qpid-dispatch-router.x86_64 0:1.2.0-1.el7 will be erased

This of course is another option to what ppascher has posted.

I can’t find a bugzilla for this. Has anyone filed one for EPEL?

I just created the following:

1 Like

I meant to reply back here. The qpid team is aware of and has a proposed fix available. You can find it in the EPEL testing repository:

This is also in Bodhi if anyone who tests it would give approval if working for them to get it pushed out to users faster:

Another workaround is to remove the python2-future package on the system if you don’t have any packages installed which depend on it, and then restart qdrouterd.