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 End-Of-Life. Op zich was dat meer dan een jaar vantevoren 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 kondigden we een aanstaande upgrade van Elasticsearch 7 naar 8 aan. Dat was een vergissing; Elasticsearch 7 is nog in support tot 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 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 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
release notes of zie het
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 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 | 3.15.4, 3.15, latest | Alpine linux |
registry.npohosting.nl/npohosting/base-jre | 3.15.4 | 3.15.4, 3.15, latest | Alpine linux + openjdk8-jre |
registry.npohosting.nl/npohosting/nginx | 3.15.4 | 1.21.6, 1.21, latest | base + nginx + nginx modules |
registry.npohosting.nl/npohosting/php-fpm | 3.15.4 | 7.4.29, 7.4 8.0.18, 8.0 8.1.5, 8.1, latest | base + php + extensies |
registry.npohosting.nl/npohosting/ruby | 3.15.4 | 2.7.6, 2.7, latest | base + ruby |
Appcluster
wat | impact | op | van | naar |
---|---|---|---|---|
cacti | 0 | D1 | 1.2.19 | 1.2.20 |
cacti-spine | 0 | D1 | 1.2.19 | 1.2.20 |
openssh | 0 | D1 | 8.9p1 | 9.0p1 |
grafana | 1 | D1 | 8.4.2 | 8.5.0 |
keycloak | 1 | D1 | 17.0.1 | 18.0.0 |
Elastic Search | 0 | D1 | 7.16.3 | 7.17.3 |
syslog-ng | 0 | D1 | 3.35.1 | 3.36.1 |
php 7.4 | 0 | D1 | 7.4.28 | 7.4.29 |
php 8.0 | 0 | D1 | 8.0.17 | 8.0.18 |
passenger | 0 | D1 | 6.0.12 | 6.0.13 |
ruby 2.7 | 0 | D1 | 2.7.5 | 2.7.6 |
node 12 | 0 | D1 | 12.22.11 | 12.22.12 |
node 16 | 0 | D1 | - | 16.14.2 |
memcached | 1 | D1 | 1.6.14 | 1.6.15 |
ImageMagick | 0 | D1 | 7.1.0-29 | 7.1.0-30 |
goaccess | 0 | D1 | 1.5.5 | 1.5.6 |
gzip | 0 | D1 | 1.11 | 1.12 |
ffmpeg4 | 0 | D1 | 4.4.1 | 4.4.2 |
ffmpeg5 | 0 | D1 | 5.0 | 5.0.1 |
git | 0 | D1 | 2.35.1 | 2.36.0 |
postfix | 0 | D1 | 3.7.0 | 3.7.1 |
bind | 0 | D1 | 9.16.26 | 9.16.28 |
tomcat 8 | 2 | N3 | 8.5.77 | 8.5.78 |
tomcat 9 | 1 | D1 | 9.0.60 | 9.0.62 |
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 |
N3 | woensdag 11 mei 1:00–6:00 AM |
Bereikbaarheid
Team Hosting&Streaming is gedurende al het onderhoud via de normale kanalen bereikbaar. Zie de contact pagina.