aankondigingen:2022:c2022d06-software-updates-202205

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:

  1. Statusupdate migraties Appcluster → CHP
  2. Introductie Life Cycle Management van images in CHP
  3. Einde coulance periode php-7.3
  4. Rectificatie upgrade elasticsearch 7 naar 8
  5. Mariadb 10.2 EOL, upgrade naar 10.6
  6. NodeJS 12 EOL, upgrade naar 16
  7. OpenSSH 9.0 en scp
  8. Frequentie software updates naar 1 maal per 8 weken

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.

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:

  1. 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.
  2. 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.

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…

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.

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.

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.

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.

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.

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.

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:

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
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

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

Team Hosting&Streaming is gedurende al het onderhoud via de normale kanalen bereikbaar. Zie de contact pagina.

  • aankondigingen/2022/c2022d06-software-updates-202205.txt
  • Last modified: 2024/04/16 07:59
  • by 127.0.0.1