<div dir="ltr"><pre style="margin:0em">Hello everyone,

We are pleased to announce the release of the 2.6.0 version of Software
Factory. Please find the changelog, digests and packages diff
below.

Best regards,
The Software Factory Team<br><br>Release Notes<br>=============<br><br>2.6.0<br>=====<br><br>New Features<br>------------<br><br>- New options in sfconfig.yaml to configure external log servers.<br>- A new --disable-external-resources and a sfconfig.yaml option enables to<br>  deploy and/or recover a backup without gerrit replication or nodepool<br>  providers.<br>- A new koji_host option in sfconfig.yaml enable to configure access to a<br>  Koji instance through the gateway at <a href="https://fqdn/koji">https://fqdn/koji</a>.<br>- A new logserver role configure <a href="https://fqdn/logs">https://fqdn/logs</a> endpoint for zuul-launcher<br>  scp publisher. It uses os-loganalyze to prettify console logs.<br>- Nodepool version is updated, dropping support for snapshot based image<br>  and enabling zookeeper service.<br>- Add new Software Factory service called SF pages. Raw or Pelican WEB contents<br>  can be easily published on a Software Factory host using a CI/CD workflow.<br>- A new zuul-launcher service is available to execute job without Jenkins.<br>  When activated, this service manage jobs from the jobs-zuul config<br>  repository directory.<br>- The zuul-merger role can now be deployed on multiple hosts. Additional hosts<br>  need a public ip or dns to be used in the 'public_url' setting.<br>- A new SQL database is configured for Zuul reporter to store build event and<br>  enable a jenkins-like dashboard for all Zuul job executions.<br>- New roles are available to deploy zuulV3, zuul3-scheduler, zuul3-merger and<br>  zuul3-executor. Similarly for nodepool, new roles are nodepool3-launcher and<br>  nodepool3-builder.<br>- A new Software Factory service called "Hydrant". Hydrant is an MQTT listener<br>  service intended to work with the firehose and store events in a backend<br>  (currently, only ElasticSearch as a backend is supported) for retrieval and<br>  auditing.<br>- A new manageSF REST API version. It is still incomplete and unstable for now.<br>  The root endpoint is available at <a href="https://fqdn/manage/v2/">https://fqdn/manage/v2/</a> and the API is documented<br>  at <a href="https://app.swaggerhub.com/apis/mhuin/manageSFv2.0/2.0">https://app.swaggerhub.com/apis/mhuin/manageSFv2.0/2.0</a><br>- A new system status around Grafana, Influxdb and Telegraf can be activated.<br>- A retention policy is configurable for Elasticsearch's Logstash indexes.<br><br>New Packages<br>------------<br><br>- bubblewrap<br>- elasticsearch-curator<br>- hydrant<br>- python-grafyaml<br>- python-pelican<br>- rh-python35-zuul<br>- zookeeper-lite<br><br><br>Updated Packages<br>----------------<br><br>- nodepool-0.4.0-9.20170515.1cb82d6 (dropped snapshot based image support)<br>- zuul-2.5.1-14.20170407.1713ee6<br>- python-gear-0.9.1-1<br>- python-os-client-config-1.26.0-1<br>- shade-1.22.2-1<br>- storyboard-0.0.1-11 (uses gunicorn instead of uwsgi)<br><br>Upgrade Notes<br>-------------<br><br>- A new node.comment column is added to support nodepool hold reason.<br>- The Zuul sql reporter is added to check/gate/post/periodic/tag and<br>  experimental pipelines.<br><br><br>Critical Issues<br>---------------<br><br>- The sso http password could be used to impersonate other users.<br>  Reported by Gabriele Cerami.<br><br>Bug Fixes<br>---------<br><br>- Jenkins secrets decryption keys were missing from the backup and they<br>  are now included.<br>- The Gerrit API key is now properly displayed on the settings page.<br>- The zuul ssh known_hosts file is now properly set with all gerrit sources<br>  host keys, which simplify third-party-CI setup.<br><br><br>The release 2.6.0 image and HEAT templates:<br><br>* Qcow2 image: <a href="http://46.231.132.68:8080/v1/AUTH_b50e80d3969f441a8b7b1fe831003e0a/sf-images/sf-2.6.qcow2">http://46.231.132.68:8080/v1/AUTH_b50e80d3969f441a8b7b1fe831003e0a/sf-images/sf-2.6.qcow2</a><br>* Heat deployment: <a href="http://46.231.132.68:8080/v1/AUTH_b50e80d3969f441a8b7b1fe831003e0a/sf-images/sf-2.6-allinone.hot">http://46.231.132.68:8080/v1/AUTH_b50e80d3969f441a8b7b1fe831003e0a/sf-images/sf-2.6-allinone.hot</a><br>* Heat deployment: <a href="http://46.231.132.68:8080/v1/AUTH_b50e80d3969f441a8b7b1fe831003e0a/sf-images/sf-2.6-minimal.hot">http://46.231.132.68:8080/v1/AUTH_b50e80d3969f441a8b7b1fe831003e0a/sf-images/sf-2.6-minimal.hot</a><br>* Heat deployment: <a href="http://46.231.132.68:8080/v1/AUTH_b50e80d3969f441a8b7b1fe831003e0a/sf-images/sf-2.6-distributed.hot">http://46.231.132.68:8080/v1/AUTH_b50e80d3969f441a8b7b1fe831003e0a/sf-images/sf-2.6-distributed.hot</a><br>* Signed digest: <a href="http://46.231.132.68:8080/v1/AUTH_b50e80d3969f441a8b7b1fe831003e0a/sf-images/sf-2.6.digest">http://46.231.132.68:8080/v1/AUTH_b50e80d3969f441a8b7b1fe831003e0a/sf-images/sf-2.6.digest</a><br><br></pre><pre style="margin:0em">Digest<br>------<br></pre><pre style="margin:0em"><br>-----BEGIN PGP SIGNED MESSAGE-----<br>Hash: SHA1<br><br>4242321a0c5a87a8d431f623962a0568441bb7c4ff37922d4b326b67b8d5f010  sf-2.6-allinone-fixed-ip.hot<br>98d4f9e46698c243e4506c8993d2442a1875dee0d73a526d4ce0bef204e180ce  sf-2.6-allinone.hot<br>83431063aa6e34f38976ca2687cd77e82d3f65df9a04a96d0adde52f10d42130  sf-2.6.digest<br>25fcdaa32787dd1679877b7f52dfa711b6d386a1c0f62b99082ca33c8a02a9c9  sf-2.6-distributed-fixed-ip.hot<br>71448cb5abce3ac4ee4d29c10f2fe18a723ef504e266a786794af716f6ca30d8  sf-2.6-distributed.hot<br>70920b69f7c893ddfbf56e78e8b83b214aba18823ca0686c3c68dbc85ed1f5a8  sf-2.6-minimal-fixed-ip.hot<br>a7860ee0eae1d7038ec0c0d55c9e639e380f6fea7323a89f9c30a889961fe8a8  sf-2.6-minimal.hot<br>1f5306e43e3f9a9886efece98d414f4fac99e43a588e68bad6fa2aef5252d05d  sf-2.6.qcow2<br>-----BEGIN PGP SIGNATURE-----<br><br>iQIcBAEBAgAGBQJZbk/JAAoJEOjCA6ccO65LUYwP/1J6TvfomVHAG7PEfeeez8qO<br>RZYr0bJjh0cjop+IESbvhR4YfSlWYlR/FrLWjekW/gHKh+SXPBUig2gYOUVd9+W6<br>zDdIxiv6074sLrl4ZKgB/Y5uerzwsOpocd80RDA+Z24YeYTmfPI5OMN1CMkDDOl+<br>RLc41/rA3qbgHDcr3URRExblXnFoquhHMg4NMwHcBXi/z0eRW2vHig24xQrgWWeR<br>c8ZEkYmPweUZ/MFX4LdbvkK03Vz3Enp8ryyrJk47T6DHVzNQB1cimaYT3goW/iCd<br>lFQoTCFo2/baWMMKcPAnrp8eTgHc4VUksCJ1swFENSncVAMR1DJhSf+pHepREmkh<br>g8JPdSBxz6zgEXwuiAa5yn7FsgkoPvMHXtIDkpEm2D4tabck6p52pieGi72gSEqQ<br>XrhuC3cj2lFRulEIrpkGJChbEPMDxBaCh7YHUIbYKBWIC81Bl3zJUwwdoxDHdytP<br>mH/DL/MMHslowCY0KSpSPOP1C0JUXqn0HqD9WnWoaG1funjdeymI0mjVQkpnWyGj<br>4aoX107vzYsQMqGRQFPJIedTyRoL74Kw518aPLd3vCpQd903kU/VxyLUIsZ/21Qs<br>fIpGbuuGPV9/kFDHz80KvcGUfSi8n/mdE0sP/rJjmeWwiYdPo2KcskCf/Pm0M8Bf<br>V6ZW1aRl8E93eJKYsYXS<br>=JgMV<br>-----END PGP SIGNATURE-----<br></pre></div>