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:
-
Statusupdate migraties Appcluster → CHP
-
Introductie Life Cycle Management van images in CHP
-
Redis upgrade 6 naar 7
-
Mariadb 10.2 EOL, upgrade naar 10.6
-
NodeJS 12 EOL, upgrade naar 16
Statusupdate migraties Appcluster -> CHP
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)
Het moge duidelijk zijn dat er aan alle kanten gewerkt wordt aan deze migratie, maar dat we de eindstreep nog niet gehaald hebben.
Introductie Life Cycle Management van images in CHP
(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:
-
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 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.
Redis upgrade 6 naar 7
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.
Mariadb 10.2 EOL, upgrade naar 10.6
(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.
NodeJS 12 EOL, upgrade naar 16
(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.
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 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.
Reguliere software updates
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:
CHP
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 |
Appcluster
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 |
Overig
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.
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 4 juli 8:00–17:00 |
D2 | dinsdag 5 juli 8:00–12:00 |
N3 | woensdag 6 juli 1:00–6:00 AM |
Bereikbaarheid
Team Hosting&Streaming is gedurende al het onderhoud via de normale kanalen bereikbaar. Zie de contact pagina.