<div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div><div>Hi All!<br><br></div>Today we are going to update the 'fuel-devops' framework on our product CI to the version 2.9.22.<br></div>It's the FINAL version in 2.9 thread, new active development will be produced in 3.x thread only, and 3.0.1 is released as first of it's.<br><br></div>Changes sinse 2.9.21:<br></div>* For devops:<br><br></div>  - paramiko 2.0.1 is banned due to connection failures has been reproduced.  [1]<br></div>  - do not log keystoneauth1 debug info -- logs will be more readable.  [2]<br></div><div>  - fixed bug, when unexpected 'k e y s' header has been printed on 'dos.py list' request, if not any environments registered in database.  [3]<br></div><div><br></div>* For QA automation:<br><br></div>  - SSHClient().check_call() now receives <span class=""><span class="">error_info optional parameter as header for error log.  [4]<br></span></span></div><span class=""><span class="">  - ExecResult class is implemented as universal storage for execution results. R/W access for 'stdout', 'stderr' and 'exit_code'. R/O access to UNICODE 'stdout_str', 'stderr_str' and 'others'. On-demand decode stdout as JSON or YAML.  [5]<br></span></span></div><span class=""><span class="">  - Support for chrony NTP has been ported from fuel-devops 3.  [6]<br></span></span></div><span class=""><span class="">  - Implemented Subprocess helper class with SSHClient-like API for calling subprocess lock-free (buffers polled every 100 ms). [7]<br></span></span></div><span class=""><span class="">  - On SSHClient request from cache, catch all exceptions as a reason for reconnect. [8]<br></span></span><div><div><span class=""><span class=""><br><br></span></span><div><div><div><div><div><div><div><div><div>List of all changes is available on github [9].<br><br>[1] <a href="https://review.openstack.org/#/c/344746/">https://review.openstack.org/#/c/344746/</a><br>[2] <a href="https://review.openstack.org/#/c/345377/">https://review.openstack.org/#/c/345377/</a><br>[3] <a href="https://review.openstack.org/#/c/345991/">https://review.openstack.org/#/c/345991/</a><br></div><div>[4] <a href="https://review.openstack.org/#/c/340996/">https://review.openstack.org/#/c/340996/</a><br>[5] <a href="https://review.openstack.org/#/c/340997/">https://review.openstack.org/#/c/340997/</a><br>[6] <a href="https://review.openstack.org/#/c/342101/">https://review.openstack.org/#/c/342101/</a><br>[7] <a href="https://review.openstack.org/#/c/342712/">https://review.openstack.org/#/c/342712/</a><br>[8] <a href="https://review.openstack.org/#/c/344667/">https://review.openstack.org/#/c/344667/</a><br>[9] <a href="https://github.com/openstack/fuel-devops/compare/2.9.21...release/2.9">https://github.com/openstack/fuel-devops/compare/2.9.21...release/2.9</a><br><br clear="all"></div><div><div><div><div><div><br>-- <br></div><div>Best regards, <br></div><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>Alexey Stepanov<br></div></div></div>
</div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>