Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
aankondigingen:2019:c2019d10-software-updates-201904 [2019/03/21 21:06] hugo |
aankondigingen:2019:c2019d10-software-updates-201904 [2020/12/23 23:14] (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 | | ||