Bug 1589868

Summary: fedmsg FTBFS on python 3.7
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: python-sphinxAssignee: Michel Lind <michel>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: aviso, cstratak, dradez, infra-sig, lewk, michel, rbarlow, rbean, zbyszek
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: fedmsg-1.1.1-3.fc29 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-07-13 14:57:09 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1565020, 1600928    

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.