~~META:
title = C2022D06: Software updates mei 2022
~~
{{htmlmetatags>
metatag-keywords=(software update)
metatag-og:title=(Software updates mei 2022)
metatag-og:description=(
In de periode van 9--12 mei worden er software updates in de
NPO hosting omgeving uitgevoerd. Het betreft:
ImageMagick, bind, cacti, elasticsearch, ffmpeg,
git, goaccess, grafana, gzip, keycloak, memcached
node, openssh, passenger, postfix, php,
ruby en tomcat.
Verder een statusupdate over de migratie van het Appcluster naar
CHP en aankondigingen betreffende einde coulance periode PHP-7.3,
rectificatie elasticsearch 8 upgrade,
aanstaande upgrades van mariadb en nodejs,
openssh icm scp
en het verlagen van de frequentie van deze software updates.
)
}}
====== C2022D06: Software updates mei 2022 ======
====== Aankondiging: Software onderhoud hosting omgeving ======
Beste klant/collega,
(Is dit bericht niet goed leesbaar? Bekijk dan de [[|online versie]].)
Wij vragen aandacht voor het volgende:
- Statusupdate migraties Appcluster -> CHP
- Introductie Life Cycle Management van images in CHP
- Einde coulance periode php-7.3
- Rectificatie upgrade elasticsearch 7 naar 8
- Mariadb 10.2 EOL, upgrade naar 10.6
- NodeJS 12 EOL, upgrade naar 16
- OpenSSH 9.0 en scp
- Frequentie software updates naar 1 maal per 8 weken
==== Statusupdate migraties Appcluster -> CHP ====
Het peloton lijkt uiteengevallen te zijn in twee delen, zij die de
eindstreep wel gaan halen voordat het donker is en zij die dat niet
doen.
Aan de gunstige kant zitten NOS nieuwe media en KRO-NCRV. Gefeliciteerd!
Aan de andere kant gaan we kijken of we de mensen die nog een stukje
door het donker moeten fietsen op de een of andere manier meer kunnen helpen.
Daar worden op dit moment gesprekken over gehouden met de CTO van de
NPO. De uitkomst daarvan hopen we snel te kunnen delen.
==== Introductie Life Cycle Management van images in CHP ====
In CHP bieden wij images aan voor o.a. php, nginx en ruby.
Elke maand komen daar wel een of meerdere nieuwe versies van uit en die
maken we dan beschikbaar in CHP.
Vanaf heden zullen we oude versies ook gaan opruimen. Dit hoort ons
inziens bij "huis op orde". Voordat je een nieuw kledingstuk in de kast
kan leggen moet er eerst een oude uit om plaats te maken.
Daarnaast zijn oude versies veelal niet supported meer en zullen bugs
die erin gevonden worden niet meer gefixed worden, met alle gevolgen
voor security van dien.
Het model dat we hiervoor gaan hanteren is heel vergelijkbaar met zoals
dat op het appcluster was. Namelijk, we ondersteunen enkel software die
niet End-Of-Life (EOL) is. Bijvoorbeeld voor PHP betekent dit dat we
PHP-7.4, 8.0 en 8.1 kunnen ondersteunen.
Van de patchlevels (b.v.
7.4.19) ondersteunen we alleen de laatste twee. In praktijk betekent dat dat
alleen het laatste en het een-na-laatste level op het platform aanwezig
zullen zijn. Als (zoals nu) dus php-7.4.19 beschikbaar komt dan zorgen
we ervoor dat dit patchlevel (7.4.19) en eentje eerder (7.4.18) in onze
registry aanwezig is. Eerdere versies worden verwijderd.
Dit alles betekent eigenlijk 2 dingen:
- Het is waarschijnlijk niet verstandig om in de deployments een expliciet patchlevel te vermelden. Geef inplaats daarvan alleen de major release aan. In geval van php is dat dan "7.4" en niet "7.4.19". Wij zorgen ervoor dat het label "7.4" altijd aan de meest recente "7.4.X" hangt.
- Doe regelmatige deployments om te voorkomen dat de code nog tijdenlang blijft draaien onder een oude versie, terwijl deze versie niet meer beschikbaar is in de registry.
Het verwijderen van de oude images zal deze keer plaatsvinden op maandag
16 mei. Merk op dat omdat ruby-2.6, php-7.2 en php-7.3 EOL zijn dit zal
inhouden dat **alle** ruby-2.6, php-7.2 en 7.3 images verwijderd zullen worden.
==== Einde coulance periode php-7.3 (laatste herinnering!) ====
PHP-7.3 was per 6 december 2021
[[https://www.php.net/supported-versions.php|End-Of-Life]].
Op zich was dat meer dan een jaar vantevoren
[[https://hosting.omroep.nl/eol-kalender#php|aangekondigd]],
maar sommige afnemers hebben zich daar toch door laten verrassen en
ons gevraagd deze versie wat langer beschikbaar te houden.
Bij deze kondigen we aan dat het definitieve einde van php-7.3 in het
appcluster op 6 mei 2022 is; dwz exact een half jaar na de officiele
End-Of-Life.
De reden hiervan is dat H&S maar een relatief klein team is en de extra effort
die wij moeten leveren om een oude unsupported versie in stand te houden
(bv het bijhouden van patches is lastiger)
ervoor zorgt dat we minder aandacht kunnen geven aan andere zaken die
ook nodig zijn.
Op maandag 9 mei 2022 zullen eventuele omgevingen die dan nog php-7.3 draaien
omgezet worden naar php-7.4 en stopt onze php-7.3 support definitief.
NB: php-7.4 is End-Of-Life op 28 november 2022...
==== Rectificatie upgrade elasticsearch 7 naar 8 ====
Vorige keer [[c2022d05-software-updates-202204#upgrade_elasticsearch_7_naar_8|kondigden]] we een aanstaande upgrade van Elasticsearch 7 naar 8 aan.
Dat was een vergissing; Elasticsearch 7 is nog in support tot
[[https://www.elastic.co/support/eol|augustus 2023]], dus er is in het
appcluster geen reden om een upgrade naar versie 8 in te gaan zetten.
Tot nader order blijft versie 7 actief in het appcluster.
==== Mariadb 10.2 EOL, upgrade naar 10.6 ====
Waar //wel// een probleem optreedt is bij MariaDB.
Oorspronkelijk was geprojecteerd dat het appcluster eind Q1 2022
uitgezet zou kunnen worden. Die deadline is niet gehaald, met als gevolg
dat een aantal software componenten in de knoop gaan komen met hun EOL
datum. MariaDB 10.2 is er zo een. Deze is EOL op
[[https://mariadb.org/about/maintenance-policy/|23 mei 2022]]. De policy
in het appcluster is dat als een component bij de leverancier EOL is, we
deze ook in het appcluster tot EOL verklaren. Maar omdat het aannemelijk
is dat nog niet alle afnemers over zullen zijn voor die datum zijn we
geforceerd om in het appcluster een MariaDB upgrade naar een nieuwere
versie door te voeren. Dat wordt versie 10.6. De komende tijd zullen we
een inventarisatie doen welke instances hier nog voor in aanmerking
komen en de afnemers daarvan zullen we individueel benaderen.
==== NodeJS 12 EOL, upgrade naar 16 ====
De situatie met NodeJS versie 12 is vergelijkbaar met die van MariaDB.
NodeJS-12 is per [[https://nodejs.org/en/about/releases/|30 april 2022]] EOL.
Deze vervangen we door NodeJS veris 16. De afnemers hiervan zullen we
individueel benaderen.
==== OpenSSH 9.0 en scp ====
In deze ronde zit een update van OpenSSH naar versie 9;
hier is de manier waarop ''scp'' werkt veranderd.
In het bijzonder worden aan de remote kant geen wildcard characters
(b.v. ''*'') meer ge-expandeerd. Gevolg daarvan is dat een constructie
als ''scp host:* .'' niet meer werkt in deze versie.
Lees meer details in de
[[https://www.openssh.com/txt/release-9.0|release notes]] of zie het
[[https://lwn.net/Articles/835962/|achtergrond artikel]] hierover.
==== Frequentie software updates naar 1 maal per 8 weken ====
De afgelopen twee jaar hebben deze software updates een frequentie van 1
maal per 4 weken gehad. Vanwege het verminderde belang van het
appcluster //en// het arbeidsintensieve karakter van de software updates
in dat gedeelte van de infrastructuur verlagen we de frequentie naar 1
maal per 8 weken. Mochten er gedurende die 8 weken urgente problemen
naar voren komen (denk aan log4j e.d.) dan zullen we nog steeds, net als nu het geval is,
deze acuut oplossen.
===== Software update rooster =====
Het software update rooster voor de komende tijd ziet er als volgt uit:
^Actie ^uitrol in test ^gelegenheid tot testen ^uitrol in productie ^
|software updates Mei |28--29 april |5--6 mei |9--12 mei |
|software updates Juni |26--27 mei |30 mei -- 3 juni |6--9 juni |
|software updates Juli |23--24 juni |27 juni -- 1 juli |4--7 juli |
Het schema hierboven is hoe de updates ingeplanned staan. Dat is geen garantie dat het appcluster tegen die tijd nog bestaat.
De uopdate ronde van juni vervalt vanwege het verlagen van de frequentie
naar 1 maal per 8 weken.
Vooralsnog zullen de nieuwe php/nginx/enz images voor CHP ook volgens bovenstaand schema aangeboden gaan worden.
Na de zomer zullen we evalueren of de CHP image updates weer 1x per 4 weken
worden en hoe dat samengaat met updates van de OpenShift component van
CHP zelf.
===== Reguliere software updates =====
De updates worden op 29 april op het testcluster doorgevoerd,
waarna de week van 2--6 mei gebruikt kan worden om te testen.
In de periode van 9-12 mei worden de updates op de
productie-omgevingen doorgevoerd volgens onderstaand schema:
==== CHP ====
**Vetgedrukte** items zijn geüpdate.
Merk op dat vanaf heden PHP-8.1 ook beschikbaar is.
De ''latest'' tag verhuist daarmee van php-8.0 naar php-8.1.
^image ^alpine versie ^tags ^wat is het ^
|**registry.npohosting.nl/npohosting/base** |**3.15.4** |**[[https://alpinelinux.org/releases/|3.15.4, 3.15, latest]]** |[[https://alpinelinux.org/|Alpine linux]] |
|**registry.npohosting.nl/npohosting/base-jre** |**3.15.4** |**[[https://alpinelinux.org/releases/|3.15.4, 3.15, latest]]** |[[https://alpinelinux.org/releases/|Alpine linux]] + openjdk8-jre |
|**registry.npohosting.nl/npohosting/nginx** |**3.15.4** |[[http://nginx.org/en/CHANGES|1.21.6, 1.21, latest]] |base + [[http://nginx.org/|nginx]] + nginx modules |
|**registry.npohosting.nl/npohosting/php-fpm** |**3.15.4** |**[[https://www.php.net/ChangeLog-7.php#7.4.29|7.4.29, 7.4]]** **[[https://www.php.net/ChangeLog-8.php#8.0.18|8.0.18, 8.0]]** **[[https://www.php.net/ChangeLog-8.php#8.1.5|8.1.5, 8.1, latest]]** |base + [[https://www.php.net/|php]] + extensies |
|**registry.npohosting.nl/npohosting/ruby** |**3.15.4** |**[[https://www.ruby-lang.org/en/news/2022/04/12/ruby-2-7-6-released/|2.7.6, 2.7, latest]]** |base + [[https://www.ruby-lang.org/en/|ruby]] |
==== Appcluster ====
/* Dingen die deze ronde niet meedoen zijn uit ge-comment */
^wat ^impact ^op ^van ^ naar ^
/*|keepalived |0 |W |2.2.4 |[[http://www.keepalived.org/changelog.html|2.2.7]]|*/
/*|icecast |0 |W |2.4.0-kh15 |[[https://github.com/karlheyes/icecast-kh|2.4.0-kh15]] |*/
/*^ ^^^^^*/
/*|dhcp |0 |D1 |4.4.3 |[[https://downloads.isc.org/isc/dhcp/4.4.3/dhcp-4.4.3-RELNOTES|4.4.3]] |*/
/*|freeipmi |0 |D1 |1.6.8 |[[https://www.gnu.org/software/freeipmi/NEWS|1.6.9]] |*/
/*|nrpe |0 |D1 |4.0.3 |[[https://github.com/NagiosEnterprises/nrpe/blob/master/CHANGELOG.md|4.0.3]] |*/
|cacti |0 |D1 |1.2.19 |[[https://www.cacti.net/changelog.php|1.2.20]] |
|cacti-spine |0 |D1 |1.2.19 |[[https://www.cacti.net/spine_changelog.php|1.2.20]] |
/*|phpmyadmin |0 |D1 |5.1.3 |[[https://www.phpmyadmin.net/files/5.1.3/|5.1.3]]|*/
/*|vsftpd |1 |D1 |3.0.5 |[[https://security.appspot.com/vsftpd/Changelog.txt|3.0.5]] |*/
|openssh |0 |D1 |8.9p1 |[[https://www.openssh.com/releasenotes.html|9.0p1]] |
/*|GeoIP |0 |D1 |1.6.12 |1.6.12 | */
/*|geoipupdate |0 |D1 |4.8.0 |[[https://github.com/maxmind/geoipupdate/blob/master/CHANGELOG.md|4.9.0]] |*/
/*|fcron |0 |D1 |3.2.1 |[[http://fcron.free.fr/doc/en/changes.html|3.2.1]] |*/
/*|chrony |0 |D1 |4.2 |[[https://chrony.tuxfamily.org/news.html|4.2]] |*/
/*|openldap |1 |D1 |2.6.0 |[[https://www.openldap.org/software/release/changes.html|2.6.1]] |*/
/*|dovecot |1 |D1 |2.3.17.1 |[[https://www.dovecot.org/|2.3.18]] |*/
/*|mailman |1 |D1 |2.1.37 |[[https://launchpad.net/mailman/2.1/2.1.39|2.1.39]] |*/
/*|influxdb |1 |D1 |1.8.9 |[[https://docs.influxdata.com/influxdb/v1.8/reference/release-notes/influxdb/|1.8.10]] |*/
/*|influxdb2 |1 |D1 |2.0.8 |[[https://docs.influxdata.com/influxdb/v2.0/reference/release-notes/influxdb/|2.0.9]] |*/*/
|grafana |1 |D1 |8.4.2 |[[https://github.com/grafana/grafana/blob/master/CHANGELOG.md|8.5.0]] |
/*|postgresql10 |1 |D1 |10.20 |[[https://www.postgresql.org/docs/10/static/release.html|10.20]]|*/
/*|postgresql13 |1 |D1 |13.6 |[[https://www.postgresql.org/docs/13/static/release.html|13.6]]|*/
/*|redis |1 |D1 |6.2.5 |[[https://raw.githubusercontent.com/antirez/redis/6.2/00-RELEASENOTES|6.2.6]] |*/
/*|alsa-utils |0 |D1 |1.2.5.1 |[[https://www.alsa-project.org/wiki/Main_Page|1.2.5.1]] |8/
/*|mp4split |0 |D1 |1.11.3 |[[https://docs.unified-streaming.com/installation/distributions.html|1.11.9]] |*/
/*|mod_smooth_streaming |0 |D1 |1.11.3 |[[https://docs.unified-streaming.com/installation/distributions.html|1.11.9]] |*/
/*|atop |0 |D1 |2.7.0 |[[https://www.atoptool.nl/downloadatop.php|2.7.1]] |*/
/*|sudo |0 |D1 |1.9.8p2 |[[https://www.sudo.ws/changes.html|1.9.9]] |*/
/*|apache |0 |D1 |2.4.52 |[[http://www.apache.org/dist/httpd/CHANGES_2.4.53|2.4.53]] |*/
|keycloak |1 |D1 |17.0.1 |[[https://www.keycloak.org/docs/latest/release_notes/index.html|18.0.0]] |
|Elastic Search |0 |D1 |7.16.3 |[[https://www.elastic.co/guide/en/elasticsearch/reference/7.17/es-release-notes.html|7.17.3]] |
|syslog-ng |0 |D1 |3.35.1 |[[https://github.com/balabit/syslog-ng/blob/master/NEWS.md|3.36.1]] |
/*|nginx |0 |D1 |1.21.6 |[[http://nginx.org/en/CHANGES|1.21.6]]|*/
/*|php 7.3 |0 |D1 |7.3.32 |[[https://www.php.net/ChangeLog-7.php#7.3.33|7.3.33]] |*/
|php 7.4 |0 |D1 |7.4.28 |[[https://www.php.net/ChangeLog-7.php#7.4.29|7.4.29]] |
|php 8.0 |0 |D1 |8.0.17 |[[https://www.php.net/ChangeLog-8.php#8.0.18|8.0.18]] |
|passenger |0 |D1 |6.0.12 |[[https://github.com/phusion/passenger/blob/stable-6.0/CHANGELOG|6.0.13]] |
|ruby 2.7 |0 |D1 |2.7.5 |[[https://www.ruby-lang.org/en/news/2022/04/12/ruby-2-7-6-released/|2.7.6]] |
/*|python |0 |D1 |2.7.17 |[[https://www.python.org/downloads/release/python-2717/|2.7.17]] |*/
/*|python |0 |D1 |3.8.12 |[[https://docs.python.org/3.8/whatsnew/changelog.html|3.8.13]] |*/
|node 12 |0 |D1 |12.22.11 |[[https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V12.md|12.22.12]] |
|node 16 |0 |D1 |- |[[https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md|16.14.2]] |
/*|yarn |0 |D1 |1.22.17 |[[https://github.com/yarnpkg/yarn/blob/master/CHANGELOG.md|1.22.18]]|*/
/*|perl |0 |D1 |5.34.0 |[[https://perldoc.perl.org/index-history.html|5.34.1]] |*/
/*|tomcat-native |0 |D1 |1.2.31 |[[http://tomcat.apache.org/native-doc/miscellaneous/changelog.html|1.2.32]] |*/
|memcached |1 |D1 |1.6.14 |[[https://github.com/memcached/memcached/wiki/ReleaseNotes1615|1.6.15]]|
|ImageMagick |0 |D1 |7.1.0-29 |[[https://www.imagemagick.org/script/changelog.php|7.1.0-30]] |
|goaccess |0 |D1 |1.5.5 |[[https://goaccess.io/release-notes|1.5.6]] |
|gzip |0 |D1 |1.11 |[[https://www.gnu.org/software/gzip/|1.12]] |
/*|rclone |0 |D1 |1.58.0 |[[https://rclone.org/changelog/|1.58.0]] |*/
/*|ts |0 |D1 |0.7.3 |[[http://freshmeat.sourceforge.net/projects/taskspooler|0.7.3]] |*/
|ffmpeg4 |0 |D1 |4.4.1 |[[https://www.ffmpeg.org/download.html#releases|4.4.2]] |
|ffmpeg5 |0 |D1 |5.0 |[[https://www.ffmpeg.org/download.html#releases|5.0.1]] |
/*|sox |0 |D1 |14.4.2 |[[http://sox.sourceforge.net/|14.4.2]] |*/
|git |0 |D1 |2.35.1 |[[https://git-scm.com/|2.36.0]] |
/*|netperf |0 |D1 |2.7.0 |[[https://github.com/HewlettPackard/netperf/blob/master/Release_Notes|2.7.0]] |*/
/*|id3v2 |0 |D1 |0.1.12 |[[https://sourceforge.net/projects/id3v2/|0.1.12]] |*/
/*|httperf |0 |D1 |2020-12-06 |[[https://github.com/httperf/httperf|2020-12-06]] |*/
/*|wkhtmltox |0 |D1 |0.12.6 |[[https://github.com/wkhtmltopdf/wkhtmltopdf/blob/master/CHANGELOG.md|0.12.6]] |*/
|postfix |0 |D1 |3.7.0 |[[http://www.postfix.org/announcements/postfix-3.7.1.html|3.7.1]] |
/*|amavisd |0 |D1 |2.11.1 |[[https://www.amavis.org/release-notes.txt|2.11.1]] |*/
/*|clamav |0 |D1 |0.104.2 |[[https://blog.clamav.net/|0.104.2]] |*/
/*|p0f |0 |D1 |3.09b |[[https://lcamtuf.coredump.cx/p0f3/|3.09b]] |*/
/*|postgrey |0 |D1 |1.37 |[[https://github.com/schweikert/postgrey/blob/master/Changes|1.37]] |*/
/*|spamassassin |0 |D1 |3.4.6 |[[https://spamassassin.apache.org/news.html|3.4.6]] |*/
/*|unrar |0 |D1 |6.1.6 |[[http://www.linuxfromscratch.org/blfs/view/svn/general/unrar.html|6.1.6]] |*/
|bind |0 |D1 |9.16.26 |[[https://ftp.isc.org/isc/bind9/9.16.28/CHANGES|9.16.28]] |
/*|unbound |0 |D1 |1.14.0 |[[http://www.unbound.net/download.html|1.15.0]] |*/
^ ^^^^^
/*|OpenJDK8U-jre |2 |N3 |8u322b06 |[[https://adoptopenjdk.net/release_notes.html|8u322b06]] |*/
/*|OpenJDK11U-jre |2 |N3 |11.0.14.1+1 |[[https://adoptopenjdk.net/release_notes.html|11.0.14.1+1]] |*/
/*|OpenJDK11U-jdk |2 |N3 |11.0.14.1+1 |[[https://adoptopenjdk.net/release_notes.html|11.0.14.1+1]] |*/
|tomcat 8 |2 |N3 |8.5.77 |[[https://tomcat.apache.org/tomcat-8.5-doc/changelog.html|8.5.78]] |
|tomcat 9 |1 |D1 |9.0.60 |[[https://tomcat.apache.org/tomcat-9.0-doc/RELEASE-NOTES.txt|9.0.62]] |
/*|mysql-connector-java |2 |N3 |8.0.27 |[[https://dev.mysql.com/doc/relnotes/connector-j/8.0/en/|8.0.28]] |*/
/*|ActiveMQ |2 |N3 |5.16.4 |[[https://activemq.apache.org/activemq-5016003-release|5.17.0]] |*/
/*|mariadb 10.2 |1 |N3 |10.2.43 |[[https://mariadb.com/kb/en/mariadb-10243-release-notes/|10.2.43]] |*/
/*|mariadb 10.6 |1 |N3 |10.6.6 |[[https://mariadb.com/kb/en/mariadb-1066-release-notes/|10.6.6]] |*/
/*|mysql |1 |N3 |5.7.36 |[[https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-37.html|5.7.37]] |*/
^ ^^^^^
==== Legenda ====
Veel software kan zonder, of met heel weinig impact ge-update worden.
Voor deze zaken
kiezen we ervoor om zo'n update overdag uit te voeren. Bij een aantal
andere componenten is er iets meer impact merkbaar. Die voeren we
uit in een nachtelijks change window. Hieronder is
de impact genummerd van 0 (geen impact) via 1 (korte onderbreking van
enkele seconden) tot 2 (onderbreking van enkele minuten op de
dienstverlening).
De tijdstippen zijn als volgt:
^code ^tijdstip ^
|D1 |maandag 9 mei 8:00--17:00 |
/*|D2 |dinsdag 10 mei 8:00--12:00 |*/
|N3 |woensdag 11 mei 1:00--6:00 AM |
/*|D3 |woensdag 11 mei 8:00--17:00 |*/
/*|W |11--14 mei 8:00--17:00 |*/
/*|tbd |te bepalen in overleg met de gebruikers |*/
==== Bereikbaarheid ====
Team Hosting&Streaming is gedurende al het onderhoud via de normale
kanalen bereikbaar. Zie de [[:contact|contact pagina]].