[OpenStack-Infra] Zuul server 2.5.2 cannot load configuration due to updated voluptuous 0.10.5

Clark Boylan cboylan at sapwetik.org
Wed Apr 19 15:26:48 UTC 2017


On Wed, Apr 19, 2017, at 01:31 AM, Waldvogel, Sebastian wrote:
> Sorry, I am talking about Zuul in version 2.5.1.
> Corrected version numbers in eMail below.
> 
> From: Waldvogel, Sebastian [mailto:Sebastian.Waldvogel at vector.com]
> Sent: Wednesday, April 19, 2017 10:19 AM
> To: OpenStack-Infra at lists.openstack.org
> Subject: [OpenStack-Infra] Zuul server 2.5.1 cannot load configuration
> due to updated voluptuous 0.10.5
> 
> Hello,
> 
> I am currently faced with an issue in our CI environment caused by the
> updated python packages "voluptuous" used by the Zuul  server.
> We are using zuul in version 2.5.1 an the requirements.txt defines
> "voluptuous>=0.7".
> Due to the update of voluptuous to version 0.10.5 in the last days the
> zuul server throws exceptions when loading layout configurations with
> pipelines containing
>     success:
>       gerrit:
>         verified: 2
>         submit: true
> 
> 2017-04-19 08:14:35,450 ERROR zuul.Server: Reconfiguration failed:
> Traceback (most recent call last):
>   File "/usr/local/lib/python2.7/dist-packages/zuul/cmd/server.py", line
>   67, in reconfigure_handler
>     self.sched.reconfigure(self.config)
>   File "/usr/local/lib/python2.7/dist-packages/zuul/scheduler.py", line
>   716, in reconfigure
>     event.wait()
>   File "/usr/local/lib/python2.7/dist-packages/zuul/scheduler.py", line
>   141, in wait
>     six.reraise(*self._exc_info)
>   File "/usr/local/lib/python2.7/dist-packages/zuul/scheduler.py", line
>   1052, in process_management_queue
>     self._doReconfigureEvent(event)
>   File "/usr/local/lib/python2.7/dist-packages/zuul/scheduler.py", line
>   816, in _doReconfigureEvent
>     self.config.get('zuul', 'layout_config'), self.connections)
>   File "/usr/local/lib/python2.7/dist-packages/zuul/scheduler.py", line
>   407, in _parseConfig
>     validator.validate(data, connections)
>   File "/usr/local/lib/python2.7/dist-packages/zuul/layoutvalidator.py",
>   line 329, in validate
>     schema(data)
>   File
>   "/usr/local/lib/python2.7/dist-packages/voluptuous/schema_builder.py",
>   line 221, in __call__
>     return self._compiled([], data)
>   File
>   "/usr/local/lib/python2.7/dist-packages/voluptuous/schema_builder.py",
>   line 538, in validate_dict
>     return base_validate(path, iteritems(data), out)
>   File
>   "/usr/local/lib/python2.7/dist-packages/voluptuous/schema_builder.py",
>   line 370, in validate_mapping
>     raise er.MultipleInvalid(errors)
> MultipleInvalid: expected a list for dictionary value @
> data['pipelines'][0]['success']['gerrit']
> 
> 
> I have seen that Zuul 2.5.2 has updated its requirements.txt, but when
> still using 2.5.1 the issue can be fixed when the zuul requirements.txt
> is updated with the entry "voluptuous==0.9.3"
> 
> Best regards
> Sebastian Waldvogel

Yup, Zuul 2.5.2 was released to address this. It requires newer
voluptuous and has some small modifications to properly use the newer
releases of voluptuous. As an alternative you can downgrade voluptuous
to < 0.10.0 if using Zuul 2.5.1.

Note that 2.5.2 should be compatible with 2.5.1 and should be a safe
upgrade. Please let us know if you discover this isn't the case.

Clark



More information about the OpenStack-Infra mailing list