aankondigingen:2022:c2022d07-software-updates-202207

C2022D07: Software updates juli 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. Redis upgrade 6 naar 7
  4. Mariadb 10.2 EOL, upgrade naar 10.6
  5. NodeJS 12 EOL, upgrade naar 16

Op dit vlak valt niets nieuws te melden!

Hooguit wat ouds: de afgelopen tijd is er focus geweest op het opruimen van oude omgevingen in het appcluster. Op de hoogtijdagen van het appcluster waren er zo'n 1000 docroots (zeg maar projecten in CHP termen) en daarvoor draaiden bij elkaar ruim meer dan 1000 instances (pods in CHP termen). Inmiddels zijn we terug naar 126 docroots en zo'n 300 instances. Dus er is vooruitgang, maar we zijn er nog niet. In de grafiek hieronder valt de opkomst en ondergang van het appcluster tussen 2006 en 2022 te zien. Bovenaan de docroots, daaronder de instances, uitgepsplitst naar webservers (e-fp (apache) en e-wb (nginx)), applicatieservers (php, java, ruby-on-rails enz, samengenomen als e-as) en database servers (e-db). Helemaal rechts zie je alle lijntjes scherp naar beneden bijbuigen. Datis het opruimen van een aantal grote omgevingen (NOS, NPO Audio, NPO Video) opkomst en ondergang appcluster

Het moge duidelijk zijn dat er aan alle kanten gewerkt wordt aan deze migratie, maar dat we de eindstreep nog niet gehaald hebben.

(Dit was al eerder aangekondigd, maar is daarna niet uitgevoerd)

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 4 juli. 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.

Sinds enige tijd is Redis-7 beschikbaar. Onze ervaring is dat redis heel goed backwards compatible is. Er zijn een aantal Potentially Breaking Changes tussen beide versies, maar wij verwachten niet dat dat tot problemen zal leiden. Daarom zullen we alle redis 6 instances upgraden naar redis 7. In het verleden hebben we vergelijkbare redis 4→ 5 → 6 upgrades gedaan, welke voor zover wij weten probleemloos verlopen zijn.

(ook dit was al eerder aangekondigd, maar is op de plank blijven liggen)

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.

(Ook deze actie was al eerder aangekondigd, maar is ook nog niet uitgevoerd)

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.

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 Juli 23–24 juni 27 juni – 1 juli 4–7 juli
software updates Augustus 4–5 augustus 8–12 augustus 15–18 augustus
software updates Oktober 28–29 september 3–7 oktober 10–13 oktober
software updates December 24–25 november 28 november – 2 december 5–8 december

Het schema hierboven is hoe de updates ingeplanned staan. Dat is geen garantie dat het appcluster tegen die tijd nog bestaat.

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 23–24 juni op het testcluster doorgevoerd, waarna de week van 27 juni – 1 juli gebruikt kan worden om te testen. In de periode van 4–7 juli worden de updates op de productie-omgevingen doorgevoerd volgens onderstaand schema:

Vetgedrukte items zijn geüpdate.

image alpine versie tags wat is het
registry.npohosting.nl/npohosting/base 3.16.0 3.16.0, 3.16, latest Alpine linux
registry.npohosting.nl/npohosting/base-jre 3.16.0 3.16.0, 3.16, latest Alpine linux + openjdk8-jre
registry.npohosting.nl/npohosting/nginx 3.16.0 1.21.6, 1.21, latest base + nginx + nginx modules
registry.npohosting.nl/npohosting/php-fpm 3.16.0 7.4.30, 7.4 8.0.20, 8.0 8.1.7, 8.1, latest base + php + extensies
registry.npohosting.nl/npohosting/ruby 3.16.0 2.7.6, 2.7, latest base + ruby
wat impact op van naar
cacti 0 D1 1.2.20 1.2.21
cacti-spine 0 D1 1.2.20 1.2.21
phpmyadmin 0 D1 5.1.3 5.2.0
openldap 1 D1 2.6.1 2.6.2
dovecot 1 D1 2.3.18 2.3.19.1
grafana 1 D1 8.5.0 9.0.0
postgresql10 1 D1 10.20 10.21
postgresql13 1 D1 13.6 13.7
redis6 1 D1 6.2.5 6.2.7
redis7 1 D1 - 7.0.2
alsa-utils 0 D1 1.2.5.1 1.2.7
iptables 0 D1 1.8.7 1.8.8
sudo 0 D1 1.9.9 1.9.11p2
apache 0 D1 2.4.53 2.4.54
keycloak 1 D1 18.0.0 18.0.1
Elastic Search 0 D1 7.17.3 7.17.4
syslog-ng 0 D1 3.36.1 3.37.1
php 7.4 0 D1 7.4.29 7.4.30
php 8.0 0 D1 8.0.18 8.0.20
passenger 0 D1 6.0.13 6.0.14
node 16 0 D1 16.14.2 16.15.1
yarn 0 D1 1.22.18 1.22.19
perl 0 D1 5.34.1 5.36.0
tomcat-native 0 D1 1.2.32 1.2.34
ImageMagick 0 D1 7.1.0-30 7.1.0-37
goaccess 0 D1 1.5.6 1.6
rclone 0 D1 1.58.0 1.58.1
git 0 D1 2.36.0 2.36.1
postfix 0 D1 3.7.1 3.7.2
clamav 0 D1 0.104.2 0.105.0
unrar 0 D1 6.1.6 6.1.7
bind 0 D1 9.16.28 9.16.30
unbound 0 D1 1.15.0 1.16.0
OpenJDK8U-jre 2 N3 8u322b06 8u332b09
OpenJDK11U-jre 2 N3 11.0.14.1+1 11.0.15+10
OpenJDK11U-jdk 2 N3 11.0.14.1+1 11.0.15+10
tomcat 8 2 N3 8.5.78 8.5.81
tomcat 9 1 D1 9.0.6r2 9.0.64
mysql-connector-java 2 N3 8.0.28 8.0.29
ActiveMQ 2 N3 5.17.0 5.17.1
mariadb 10.2 1 N3 10.2.43 10.2.44
mariadb 10.6 1 N3 10.6.6 10.6.8
mysql 1 N3 5.7.37 5.7.38

De software van de PowerDNS systemen (ns1.npohosting.nl, ns2.npohosting.eu, ns3.npohosting.nl, jim.npodns.nl, june.npodns.net) zal bijgewerkt worden naar de laatste beschikbare versies:

wat impact op van naar
PowerDNS 0 D1/D2 4.6.0 4.6.2
dnsdist 0 D1/D2 1.7.0 1.7.2

De systemen zullen verspreid over 2 dagen geüpdate worden en geen impact op de dienstverlening hebben.

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 4 juli 8:00–17:00
D2 dinsdag 5 juli 8:00–12:00
N3 woensdag 6 juli 1:00–6:00 AM

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

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