aankondigingen:2019:c2019d10-software-updates-201904

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] hugoaankondigingen:2019:c2019d10-software-updates-201904 [2024/04/16 07:59] (current) – external edit 127.0.0.1
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 |