Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
aankondigingen:2019:c2019d10-software-updates-201904 [2019/03/21 21:06]
hugo
aankondigingen:2019:c2019d10-software-updates-201904 [2019/05/28 10:47] (current)
Line 1: Line 1:
 +~~META:
 +title = C2019D10: Software updates april 2019
 +~~
 +{{htmlmetatags>​
 +metatag-keywords=(software update)
 +metatag-og:​title=(Software updates april 2019)
 +metatag-og:​description=(
 + In de periode van 1--4 april worden er software updates in de
 + NPO hosting omgeving uitgevoerd. Het betreft icecast, nginx,
 + php, passenger, python, tomcat, newrelic-java,​ elastic search,
 + redis, postfix, goaccess, gzip, bind, unbound en dhcp.
 +
 + Verder zijn er mededelingen m.b.t. Elastic Search upgrades,
 + nieuwe tools, EOL van software componenten en is er een
 + rectificatie t.a.v. Couchdb.
 + )
 +}}
 +====== C2019D10: Software updates april 2019 ======
 +===== Aankondigingen ======
 +==== Aankondiging:​ Software onderhoud hosting omgeving ====
 +Beste Klant / collega
 +
 +(Is dit bericht niet goed leesbaar? Bekijk dan [[|hier]] de online versie.)
 +
 +Bij deze vragen we aandacht voor het volgende:
 +  - Elastic Search upgrades
 +  - Nieuwe tools
 +  - Einde van PHP-5.3, Oracle java-7 en tomcat 6
 +  - Rectificatie t.a.v. Couchdb
 +
 +=== Elastic Search upgrades ===
 +Op het hosting platorm worden meer dan 20(!) verschillende versies van
 +Elastic Search gebruikt, waarvan velen niet meer gesupport.
 +Ons streven is om dit uiteindelijk terug te brengen naar één, wél
 +gesupporte versie. Dat doen we door daar nu een tussenstap in te maken,
 +namelijk te standaardiseren op 4 versies: 1.7 en 2.4 (niet meer gesupport,
 +bedoeld voor de hele oude zaken), 5.6 (net uit support) en 6.6 voor moderne
 +instanties.
 +We zullen de upgrades uitvoeren volgens onderstaande matrix:
 +^ huidige versie ^ gaat naar ^ impact ^
 +| 0.9.x | 1.7.x | cluster herstart |
 +| 1.x | 1.7.x | rolling upgrade |
 +| 2.x | 2.4.x | rolling upgrade |
 +| 5.5.x | 5.6.x | rolling upgrade |
 +| 6.1.x | 6.6.x | rolling upgrade |
 +
 +Bij een "​cluster herstart"​ wordt het hele elastic search cluster even
 +stilgezet om de upgrade te doen en is ongeveer een minuut niet
 +beschikbaar. Bij een "​rolling upgrade"​ kunnen de cluster nodes stuk voor
 +stuk ge-upgrade worden en blijft het cluster als geheel beschikbaar.
 +De configuratie aan de client kant hoeft in principe niet gewijzigd te
 +worden, maar omdat de functionaliteit tussen met name versie 0.9.x/1.x
 +en 2.4.x niet 100% identiek is, is het aan te raden om na de upgrade
 +in de testomgeving te checken of alles nog werkt zoals verwacht.
 +
 +In een latere ronde gaan we kijken wat er nodig is om alle elastic
 +search clusters naar de nieuwste software versie te tillen. De
 +verwachting is dat daar aan de applicatiekant wijzigingen voor nodig
 +gaan zijn, omdat er tussen de resterende versie (1.7, 2.4, 5.6 en 6.6)
 +[[https://​www.elastic.co/​guide/​en/​elasticsearch/​reference/​2.4/​breaking_20_removed_features.html|een]]
 +[[https://​www.elastic.co/​guide/​en/​elasticsearch/​reference/​5.6/​breaking-changes-5.6.html|aantal]]
 +[[https://​www.elastic.co/​guide/​en/​elasticsearch/​reference/​current/​breaking-changes-6.0.html|"​breaking changes"​]]
 +hebben gezeten.
 +
 +===  Nieuwe tools ===
 +In deze ronde worden er twee nieuwe tools (of versies van tools)
 +beschikbaar gesteld:
 +  * [[https://​goaccess.io|goacces]]:​ real time web log analyzer
 +  * [[https://​www.gnu.org/​software/​gzip/​|gzip]]:​ data compression program
 +Gzip is natuurlijk al zo oud als de weg naar Rome, alleen staat
 +er nu een nieuwe versie op het platform die de ''​--keep''​ vlag
 +honoreert, welke handig is om van files zowel een compressed
 +als een non-compressed variant neer te zetten. Dit wordt gebruikt
 +bij het versturen precompressed bestanden, bijvoorbeeld in
 +[[http://​nginx.org/​en/​docs/​http/​ngx_http_gzip_static_module.html|nginx]].
 +
 +===  Einde van PHP-5.3, Oracle java-7 en tomcat-6 ===
 +Zoals in de [[:​eol-kalender]] te lezen valt houden we per 31 maart 2019
 +op met het aanbieden van php-5.3, java-7 en tomcat-6.
 +Er draaien inmiddels geen php-5.3 sites meer, dus de impact daarvan is
 +enkel dat de php-5.3 binaries van de systemen verwijderd worden.
 +Er is nog 1 [[http://​wiki.publiekeomroep.nl|site]] die op java-7/​tomcat-6 draait.
 +Als deze niet ge-upgrade is voor die datum zal de site op zwart gaan.
 +
 +=== Rectificatie t.a.v. Couchdb ===
 +In de [[c2019d08-software-updates-201903|vorige]] ronde gaven we aan
 +dat [[http://​couchdb.apache.org/​|couchdb]] en de onderliggende engine
 +daarvan ([[https://​www.erlang.org/​|erlang]]) ge-upgrade zou worden.
 +In de tussentijd is gebleken dat alleen POMS hier gebruik van maakt
 +én dat het gebruik van Couchdb door POMS later dit jaar afgebouwd wordt.
 +Daarom hebben wij ervoor gekozen geen Couchdb upgrade meer door te voeren
 +en te wachten tot dit uitgezet kan worden.
 +
 +=== Reguliere software updates ===
 +In de periode van 1--4 april worden de
 +volgende updates doorgevoerd:​
 +
 +/* Dingen die deze ronde niet meedoen zijn uit ge-comment */
 +^ wat ^ van ^ naar ^ changelog ^
 +/​*|keepalived |2.0.12 |2.0.13 |[[http://​www.keepalived.org/​changelog.html|1]]|*/​
 +|icecast |2.4.0-kh10 |2.4.0-kh11 |[[https://​github.com/​karlheyes/​icecast-kh|1]] |
 +/​*|apache |2.4.38 |2.4.38 |TLS1.3 support toegevoegd |*/
 +/​*|mod_smooth_streaming |1.7.6 |1.9.5 |[[https://​www.unified-streaming.com/​products/​unified-origin|1]] |*/
 +|nginx |1.15.8 |1.15.10((was in de oorspronkelijke aankondiging 1.15.9, maar een dag daarna is 1.15.10 uitgekomen, die nemen we nog even mee)) |[[http://​nginx.org/​en/​CHANGES|1]] |
 +|php 5.6 |5.6.40 |5.6.40 |updates op onderliggende componenten |
 +|php 7.1 |7.1.26 |7.1.27 |[[http://​php.net/​ChangeLog-7.php#​7.1.27|1]] |
 +|php 7.2 |7.2.15 |7.2.16 |[[http://​php.net/​ChangeLog-7.php#​7.2.16|1]] |
 +|passenger 6 |6.0.1 |6.0.2 |[[https://​github.com/​phusion/​passenger/​blob/​stable-6.0/​CHANGELOG|1]] |
 +/*|ruby 2.1 |2.1.8 |2.1.9 |[[https://​www.ruby-lang.org/​en/​news/​2016/​03/​30/​ruby-2-1-9-released/​|1]] |*/
 +/*|ruby 2.2 |2.2.4 |2.2.10 |[[https://​www.ruby-lang.org/​en/​news/​2018/​03/​28/​ruby-2-2-10-released/​|1]]|*/​
 +/*|ruby 2.3 |2.3.4 |2.3.8 |[[https://​www.ruby-lang.org/​en/​news/​2018/​10/​17/​ruby-2-3-8-released/​|1]] |*/
 +/*|ruby 2.4 |2.4.4 |2.4.5 |[[https://​www.ruby-lang.org/​en/​news/​2018/​10/​17/​ruby-2-4-5-released/​|1]] |*/
 +/​*|python |3.6.8 |3.7.2 |[[https://​docs.python.org/​3.7/​whatsnew/​changelog.html|1]] |*/
 +|python |2.7.15 |2.7.16 |[[https://​www.python.org/​downloads/​release/​python-2716/​|1]] |
 +/​*|OpenJDK8U-jre |8u192b12 |8u202b08 |vervanging van Oracle jre-1.8 ||*/
 +/​*|OpenJDK11U-jre |- |11.0.2_9 |nieuw! |*/
 +/​*|OpenJDK11U-jdk |11.0.1_13 |11.0.2_9 |vervanging van Oracle jdk-1.8 |*/
 +/*|tomcat 6 |6.0.35 |6.0.53 |[[http://​tomcat.apache.org/​tomcat-6.0-doc/​changelog.html|1]] |*/
 +/*|tomcat 8 |8.5.37 |8.5.38 |[[https://​tomcat.apache.org/​tomcat-8.5-doc/​changelog.html|1]] |*/
 +|tomcat 9 |9.0.14 |9.0.16 |[[https://​tomcat.apache.org/​tomcat-9.0-doc/​RELEASE-NOTES.txt|1]]((draait alleen in test, nog niet in productie)) |
 +/​*|mysql-connector-java |8.0.15 |8.0.15 |[[https://​dev.mysql.com/​doc/​relnotes/​connector-j/​8.0/​en/​|1]] |*/
 +|newrelic-java |4.1.0 |4.11.0 |[[https://​docs.newrelic.com/​docs/​agents/​java-agent|1]] |
 +/​*|tomcat-native |1.2.19 |1.2.21 |[[http://​tomcat.apache.org/​native-doc/​miscellaneous/​changelog.html|1]] |*/
 +/​*|ActiveMQ |5.15.4 |5.15.8 |[[http://​activemq.apache.org/​activemq-5158-release.html|1]] |*/
 +|Elastic Search 0.x |0.90.3 |1.7.6 |[[https://​www.elastic.co/​guide/​en/​elasticsearch/​reference/​1.7/​breaking-changes.html|1]] |
 +|Elastic Search 1.x |1.0.1/​1.1.0/​1.2.1/​1.3.2/​1.7.0/​1.7.5 |1.7.6 |[[https://​www.elastic.co/​guide/​en/​elasticsearch/​reference/​1.7/​breaking-changes.html|1]] |
 +|Elastic Search 5.x |5.5.3 |5.6.15 |[[https://​www.elastic.co/​downloads/​past-releases/​elasticsearch-5-6-15|1]] |*/
 +|Elastic Search 6.x |6.1.3 |6.6.2 |[[https://​www.elastic.co/​guide/​en/​elasticsearch/​reference/​current/​release-notes-6.6.2.html|1]] |
 +/​*|fcron |3.2.1 |3.2.1 |[[http://​fcron.free.fr/​doc/​en/​changes.html|1]] |*/
 +/​*|erlang |15 |21.2 |[[http://​erlang.org/​download/​otp_src_21.2.readme|1]] |*/
 +/​*|couchdb |1.x |2.3.0 |[[https://​blog.couchdb.org/​|1]] |*/
 +/​*|memcached |1.5.11 |1.5.12 |[[https://​github.com/​memcached/​memcached/​wiki/​ReleaseNotes1512|1]] |*/
 +/​*|mongodb |4.0.6 |4.0.6 |[[https://​jira.mongodb.org/​browse/​SERVER-39180?​jql=project%20%3D%20SERVER%20AND%20fixVersion%20%3D%20%224.0.6%22%20ORDER%20BY%20status%20DESC%2C%20priority%20DESC|1]] |*/
 +|redis |4.0.12 |4.0.14 |[[https://​raw.githubusercontent.com/​antirez/​redis/​4.0/​00-RELEASENOTES|1]] |
 +/​*|redis |- |5.0.3 |[[https://​raw.githubusercontent.com/​antirez/​redis/​5.0/​00-RELEASENOTES|1]] |*/
 +/*|mariadb 10.1 |10.1.37 |10.1.38 |[[https://​mariadb.com/​kb/​en/​library/​mariadb-10138-release-notes/​|1]] |*/
 +/*|mariadb 10.2 |10.2.21 |10.2.22 |[[https://​mariadb.com/​kb/​en/​library/​mariadb-10222-release-notes/​|1]] |*/
 +/​*|mysql |5.7.24 |5.7.25 |[[https://​dev.mysql.com/​doc/​relnotes/​mysql/​5.7/​en/​news-5-7-25.html|1]] |*/
 +/​*|postgresql 9.4 |9.4.20 |9.4.21 |[[https://​www.postgresql.org/​docs/​9.4/​static/​release.html|1]]|*/​
 +/​*|postgresql 9.6 |9.6.11 |9.6.12 |[[https://​www.postgresql.org/​docs/​9.6/​static/​release.html|1]]|*/​
 +/​*|ImageMagick 6 |6.9.10-25 |6.9.10-27 |[[https://​legacy.imagemagick.org/​script/​changelog.php|1]] |*/
 +/​*|ImageMagick 7 |7.0.8-25 |7.0.8-27 |[[https://​www.imagemagick.org/​script/​changelog.php|1]] |*/
 +/​*|curl |7.63.0 |7.64.0 |[[https://​curl.haxx.se/​changes.html|1]] |*/
 +|goaccess |- |1.3 |[[https://​goaccess.io/​release-notes|1]] |
 +|gzip |- |1.10 |[[https://​www.gnu.org/​software/​gzip/​|1]] |
 +/​*|ffmpeg |4.1 |4.1.1 |[[https://​www.ffmpeg.org/​download.html#​releases|1]] |*/*/
 +/​*|gearmand |1.1.11 |1.1.188 |[[https://​github.com/​gearman/​gearmand/​releases|1]] |*/
 +/​*|openssh |7.8p1 |7.9p1 |[[https://​www.openssh.com/​releasenotes.html|1]] |*/
 +|postfix |3.3.2 |3.4.4 |[[http://​www.postfix.org/​announcements/​postfix-3.4.0.html|1]] [[http://​www.postfix.org/​announcements/​postfix-3.4.2.html|2]] [[http://​www.postfix.org/​announcements/​postfix-3.4.3.html|3]] [[http://​www.postfix.org/​announcements/​postfix-3.4.4.html|4]] |
 +|bind |9.11.5-P4 |9.11.6 |[[https://​ftp.isc.org/​isc/​bind9/​9.11.6/​CHANGES|1]] |*/
 +|unbound |1.9.0 |1.9.1 |[[http://​www.unbound.net/​download.html|1]] |*/​
 +
 +De updates worden voor 25 maart op het testcluster doorgevoerd.
 +zodat er gelegenheid is om de nieuwe versies te testen.
 +
 +Het schema voor de productie clusters is als volgt:
 +/* Dingen die deze ronde niet meedoen zijn uit ge-comment */
 +^ wat ^ actie ^ impact ^ wanneer ^
 +/​*|apache |herstart webservers |geen |1 april 8:00 -- 12:00 |*/
 +/​*|mod_smooth_streaming |herstart origins |encoding sessies worden herstart |1 april 8:00 -- 12:00 |*/
 +|nginx |herstart webservers |geen |1 april 8:00 -- 12:00 |
 +|php |herstart applicatieservers |geen |1 april 8:00 -- 12:00 |
 +|passenger |herstart Ruby-on-Rails applicaties |geen |1 april 8:00 -- 12:00 |
 +/​*|ruby |herstart Ruby-on-Rails applicaties |geen |1 april 8:00 -- 12:00 |*/
 +|python |herstart applicatieservers |geen |1 april 8:00 -- 12:00 |
 +/​*|memcached |herstart Memcached instanties |memory caches worden gecleared |1 april 8:00 -- 12:00 |*/
 +|redis |herstart databases |1 korte onderbreking naar de database instanties |1 april 8:00 -- 12:00 |
 +/​*|gearmand |herstart gearman servers |bestaande verbindingen worden verbroken |1 april 8:00 -- 12:00 |*/
 +/​*|ImageMagick |nieuwe versie wordt actief |geen |1 april 8:00 -- 12:00 |*/
 +/​*|curl |nieuwe versie wordt actief |geen |1 april 8:00 -- 12:00 |*/
 +/​*|ffmpeg |nieuwe versie wordt actief |geen |1 april 8:00 -- 12:00 |*/
 +|goaccess |nieuwe versie wordt actief |geen |1 april 8:00 -- 12:00 |
 +|gzip |nieuwe versie wordt actief |geen |1 april 8:00 -- 12:00 |
 +/​*|openssh |herstart openssh |geen |2 april 8:00 -- 12:00 |*/
 +|postfix |herstart mailservers |geen |2 april 8:00 -- 12:00 |
 +|bind |herstart nameservers |geen |2 april 8:00 -- 12:00 |
 +|unbound |herstart dns-resolvers |geen |2 april 8:00 -- 12:00 |
 +/​*|tomcat |herstart java |ongeveer 1-5 min downtime per instantie |3 april 1:00 -- 6:00 |*/
 +|newrelic-java |herstart java |ongeveer 1-5 min downtime per instantie |3 april 1:00 -- 6:00 |
 +/​*|graylog |herstart java |1 korte onderbreking naar de Graylog instanties |3 april 1:00 -- 6:00 |*/
 +/​*|ActiveMQ |herstart java |1 korte onderbreking naar de ActiveMQ instanties |3 april 1:00 -- 6:00 |*/
 +|mariadb |herstart databases |2 korte onderbrekingen naar de database instanties |3 april 1:00 -- 6:00 |
 +/​*|mysql |herstart databases |2 korte onderbrekingen naar de database instanties |3 april 1:00 -- 6:00 |*/
 +/​*|postgresql |herstart databases |1 korte onderbreking naar de database instanties |3 april 1:00 -- 6:00 |*/
 +|mongodb |herstart databases |1 korte onderbreking naar de database instanties |3 april 1:00 -- 6:00 |
 +|Elastic Search |herstart java |geen |3 april 13:00 -- 17:00 |
 +/​*|erlang |herstart couchdb |geen |3 april 13:00 -- 17:00 |*/
 +/​*|couchdb |herstart databases |geen |3 april 13:00 -- 17:00 |*/
 +/​*|keepalived |herstart loadbalancers |geen |1--4 april 13:00 -- 17:00 |*/
 +|icecast |herstart streamservers |geen |1--4 april 13:00 -- 17:00 |