Bug 1589868 - fedmsg FTBFS on python 3.7
Summary: fedmsg FTBFS on python 3.7
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: python-sphinx
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Michel Lind
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: PYTHON37 1600928
TreeView+ depends on / blocked
 
Reported: 2018-06-11 14:54 UTC by Miro Hrončok
Modified: 2018-07-13 14:57 UTC (History)
9 users (show)

Fixed In Version: fedmsg-1.1.1-3.fc29
Clone Of:
Environment:
Last Closed: 2018-07-13 14:57:09 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Miro Hrončok 2018-06-11 14:54:45 UTC
The docs build fails. I believe this is a failure in sphinx-naopleon and not in fedmsg.

Reported at https://github.com/sphinx-doc/sphinx/issues/5076 inc. logs.


(I'm opening this against fedmsg and will change the component in next step, so everybody involved is aware of this.)

Comment 1 Miro Hrončok 2018-06-11 15:25:41 UTC
BTW fedmsg can be temporarily built with python2-sphinx, so this is not blocking.

Comment 2 Zbigniew Jędrzejewski-Szmek 2018-07-05 17:29:44 UTC
Michel, I didn't see that you self-assigned the issue. I didn't want to step on your toes, sorry.

I pushed the patch from #5076 to sphinx-build dist-git, but didn't build that. It seems that builds of fedmsg got broken by something built in koji today, and fedmsg doesn't build anymore with either sphinx-2 or sphinx-3.

___________________ FedmsgConfigTests.test_lazy_load_getitem ___________________

self = <fedmsg.tests.test_config.FedmsgConfigTests testMethod=test_lazy_load_getitem>

    def test_lazy_load_getitem(self):
        """Assert calling __getitem__ loads the default config."""
        conf = fedmsg.config.FedmsgConfig()
    
        self.assertEqual({}, conf)
>       conf['stomp_ssl_key']

fedmsg/tests/test_config.py:281: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
fedmsg/config.py:436: in __getitem__
    self.load_config()
fedmsg/config.py:468: in load_config
    self._validate()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = {'zmq_strict': False, 'irc_default_color': 'light grey', 'irc_method': 'notice....org:9940']}, 'crl_cache_expiry': 3600, 'crl_cache': '/var/run/fedmsg/crl.pem'}

    def _validate(self):
        """
            Run the validators found in self._defaults on all the corresponding values.
    
            Raises:
                ValueError: If the configuration contains an invalid configuration value.
            """
        errors = []
        for k in self._defaults.keys():
            try:
                validator = self._defaults[k]['validator']
                if validator is not None:
                    self[k] = validator(self[k])
            except ValueError as e:
                errors.append('\t{}: {}'.format(k, six.text_type(e)))
    
        if errors:
            raise ValueError(
>               'Invalid configuration values were set: \n{}'.format('\n'.join(errors)))
E           ValueError: Invalid configuration values were set: 
E           	crypto_backend: "x509" is not "<type 'unicode'>"
E           	crl_location: "https://fedoraproject.org/fedmsg/crl.pem" is not "<type 'unicode'>"
E           	ssldir: "/etc/pki/fedmsg" is not "<type 'unicode'>"
E           	environment: "dev" is not "<type 'unicode'>"
E           	ca_cert_location: "https://fedoraproject.org/fedmsg/ca.crt" is not "<type 'unicode'>"
E           	crl_cache: "/var/run/fedmsg/crl.pem" is not "<type 'unicode'>"
E           	irc_default_color: "light grey" is not "<type 'unicode'>"
E           	irc_method: "notice" is not "<type 'unicode'>"
E           	relay_inbound: "tcp://127.0.0.1:2003" is not "<type 'unicode'>"
E           	topic_prefix: "org.fedoraproject" is not "<type 'unicode'>"
E           	ca_cert_cache: "/var/run/fedmsg/ca.crt" is not "<type 'unicode'>"

fedmsg/config.py:493: ValueError

Comment 3 Zbigniew Jędrzejewski-Szmek 2018-07-05 21:14:33 UTC
I now rebuild the latest sphinx (with the patch) and fedmsg (using sphinx-3) using rawhide mock with the latest compose (i.e. before python3.7), and everything is fine. So something between the last compose and current koji broke fedmsg, but unfortunately that's a lot of packages.

Comment 4 Miro Hrončok 2018-07-13 12:58:29 UTC
> I pushed the patch from #5076 to sphinx-build dist-git

Can we build it to unblock bz1600928?

Comment 5 Zbigniew Jędrzejewski-Szmek 2018-07-13 14:23:50 UTC
I fired off a build of python-sphinx, and will chain-build fedmsg and python-gitlab when that's finished. I'll post the results here.

Comment 6 Zbigniew Jędrzejewski-Szmek 2018-07-13 14:57:09 UTC
fedmsg-1.1.1-3.fc29 was built by releng in f29-rebuild tag. So it's not in the main tag, yet, but I think it's OK to close this.


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