<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.E-MailFormatvorlage17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Hello,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I am currently faced with an issue in our CI environment caused by the updated python packages “voluptuous” used by the Zuul  server.<o:p></o:p></p>
<p class="MsoNormal">We are using zuul in version 2.5.1 an the requirements.txt defines “voluptuous>=0.7”.
<o:p></o:p></p>
<p class="MsoNormal">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<o:p></o:p></p>
<p class="MsoNormal">    success:<o:p></o:p></p>
<p class="MsoNormal">      gerrit:<o:p></o:p></p>
<p class="MsoNormal">        verified: 2<o:p></o:p></p>
<p class="MsoNormal">        submit: true<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">2017-04-19 08:14:35,450 ERROR zuul.Server: Reconfiguration failed:<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">Traceback (most recent call last):<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  File "/usr/local/lib/python2.7/dist-packages/zuul/cmd/server.py", line 67, in reconfigure_handler<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">    self.sched.reconfigure(self.config)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  File "/usr/local/lib/python2.7/dist-packages/zuul/scheduler.py", line 716, in reconfigure<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">    event.wait()<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  File "/usr/local/lib/python2.7/dist-packages/zuul/scheduler.py", line 141, in wait<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">    six.reraise(*self._exc_info)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  File "/usr/local/lib/python2.7/dist-packages/zuul/scheduler.py", line 1052, in process_management_queue<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">    self._doReconfigureEvent(event)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  File "/usr/local/lib/python2.7/dist-packages/zuul/scheduler.py", line 816, in _doReconfigureEvent<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">    self.config.get('zuul', 'layout_config'), self.connections)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  File "/usr/local/lib/python2.7/dist-packages/zuul/scheduler.py", line 407, in _parseConfig<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">    validator.validate(data, connections)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  File "/usr/local/lib/python2.7/dist-packages/zuul/layoutvalidator.py", line 329, in validate<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">    schema(data)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  File "/usr/local/lib/python2.7/dist-packages/voluptuous/schema_builder.py", line 221, in __call__<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">    return self._compiled([], data)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  File "/usr/local/lib/python2.7/dist-packages/voluptuous/schema_builder.py", line 538, in validate_dict<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">    return base_validate(path, iteritems(data), out)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">  File "/usr/local/lib/python2.7/dist-packages/voluptuous/schema_builder.py", line 370, in validate_mapping<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">    raise er.MultipleInvalid(errors)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:36.0pt">MultipleInvalid: expected a list for dictionary value @ data['pipelines'][0]['success']['gerrit']<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I have seen that Zuul 2.5.3 has updated its requirements.txt, but when still using 2.5.2 the issue can be fixed when the zuul requirements.txt is updated with the entry “voluptuous==0.9.3”<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Best regards<o:p></o:p></p>
<p class="MsoNormal">Sebastian Waldvogel<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>