aankondigingen:2021:c2021d16-software-updates-202111

C2021D13: Software updates november 2021

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. Default PHP cli van versie 7.3 naar 7.4
  3. Tussentijdse apache update
  4. PowerDNS upgrade uitgesteld
  5. Uitfaseren download.omroep.nl en adaptive.npostreaming.nl
  6. Reguliere software updates

In de afgelopen periode heeft NPO Team Sites&Apps de radiostudio sites en de stem module omgezet naar CHP. Goed bezig, mensen!

Compatibiliteitslaag

Voor grotere sites is het verstandig deze zoveel mogelijk cloud-native te maken. Dat betekent met name dat static assets (plaatjes, javascript e.d.) niet meer op het filesysteem liggen maar als in de (S3 compatible) object store van het CDN.

Maar voor kleinere sites of CMS'en die nog niet om kunnen gaan met S3 storage is dit mogelijk onevenredig veel werk of eenvoudigweg geen optie. Voor die gevallen willen we een compatibiliteitslaag aanbieden. Een onderdeel daarvan is shared, persistent storage en het aanbieden van dezelfde type filesysteem paden als in het appcluster, zodat sites zoveel mogelijk 1-op-1 van het appcluster naar CHP over kunnen gaan.

De compatibiliteitslaag voor PHP applicaties is nog in ontwikkeling. We hebben hiervoor wel in middels een werkend proof-of-concept. Voordat we de compatibiliteitslaag beschikbaar kunnen stellen moeten we nog onderzoek doen naar de backup mogelijkheden hiervoor. Verder zullen we nog moeten testen met de performance en de betrouwbaarheid van de laag.

We hopen hier de komende weken verdere stappen in te kunnen maken.

Op het hosting platform bestaat de mogelijkheid om via het command line interface (“CLI”) php aan te roepen. Dit kan bijvoorbeeld gebruikt worden om vanuit cronjobs PHP acties uit te voeren. Het exacte pad dat gebruikt wordt bepaalt welke versie van PHP aangeroepen wordt. Voor een aantal paden zal de versie van PHP op maandag 8 november 2021 in de productieomgeving wijzigen van php-7.3 naar php-7.4 In de testomgeving is deze wijziging op vrijdag 29 oktober doorgevoerd. Hieronder een overzicht:

pad huidige versie versie vanaf 8 november
/local/bin/php 7.3 7.4
/local/php/bin/php 7.3 7.4
/local/php-cli/bin/php 7.3 7.4
/local/php7/bin/php 7.3 7.4
/local/php7-cli/bin/php 7.3 7.4
/local/php73-cli/bin/php 7.3 7.3
/local/php74-cli/bin/php 7.4 7.4
uit te faseren paden
pad versie status
/local/php73-cli/bin/php 7.3 vervalt per 6 december 2021

Wij adviseren om de paden als volgt te gebruiken:

  1. Zet /local/bin in de $PATH van je shell. Er staat dan altijd een gesupporte php versie in je zoekpad.
  2. Zorg voor crontabs dat de PHP versie die je daar gebruikt aansluit bij de php versie van je website.
    • Is je website php-7.3 gebruik dan /local/php73-cli/bin in de $PATH van je crontab
    • Is je website php-7.4 gebruik dan /local/php74-cli/bin in de $PATH van je crontab
    • Maakt de versie niet uit zolang het maar php-7 is, gebruik dan /local/php7-cli/bin/
    • Maakt de versie niet uit zolang het maar een willekeurige php is, gebruik dan /local/php-cli/bin

Een voorbeeld van gebruik van PATH in een crontab zou dit kunnen zijn:

PATH=/local/php74-cli/bin:/local/bin:/usr/bin:/bin
MAILTO=je.emailadres@je.domein
...
# Deze pakt dus /local/php74-cli/bin/php
*/15 * * *	php /een/script.php

# Deze zou /local/bin/perl pakken
*/15 * * *	perl /een/script.pl

# En deze zou de systeem /bin/sh pakken
*/15 * * *	sh /een/script.sh

Een gevoel van déjà vu op dit punt is begrijpelijk.

Soms komt het voor dat er bugs in een stuk software worden gevonden die dermate kritiek zijn dat het patchen daarvan niet kan wachten tot een volgende update ronde. Dit was afgelopen periode aan de hand bij apache. In apache-2.4.49 was een bug geïntroduceerd waar wij mogelijk vulnerable voor waren. Vanwege de ernst van die bug is dezelfde dag nog een update naar versie 2.4.50 uitgevoerd, alleen later bleek dat de fix in 2.4.50 nog niet goed genoeg was, waarna versie 2.4.51 uitgekomen is en we de dag daarop ook naar die versie ge-update hebben.

In de vorige ronde kondigden we een PowerDNS upgrade aan. Wegens ziekte is deze upgrade helaas tot nader orde uitgesteld.

In de vorige ronde kondigden we het uitfaseren van download.omroep.nl en adaptive.npostreaming.nl aan.

De status daarvan is op dit moment:

  • Er wordt binnen de NPO gewerkt aan het opstellen van beleid voor het aanbieden en bewaren van uitspeelbare content.
  • Er is een lijst van dubbele content (NEP en download.omroep.nl aan omroepen) aangeleverd. Deze is door de omroepen geëvalueerd, daar is een kleinere lijst uit gekomen van spullen die nog niet weg kunnen. De rest zal in de periode 3–24 november verwijderd worden door NPO team H&S.
  • Er lijkt behoefte te zijn aan een progressive download functionaliteit voor o.a. niet uitspeelbare bestanden (zipfiles e.d.) en bestanden die niet aan de criteria van NEP voldoen (te oud, te lage bitrate). NPO team H&S zal onderzoeken in hoeverre het mogelijk is dit aan te bieden binnen de CDN component van het nieuwe hosting platform (CHP).

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 November 28–29 oktober 1–5 november 8–11 november
software updates December 25–26 november 29 november – 3 december 6–9 december

Voor 2022 kunnen we nog geen data voor eventuele software updates afgeven, omdat dat voorbij de End-Of-Life datum van het appcluster is. In theorie is alles dan gemigreerd naar CHP, kan het appcluster uit en zijn er daar dus ook geen software updates meer nodig.

Echter, de verwachting is dat op 1 jan 2022 nog niet alles gemigreerd zal zijn en het huidige software update proces ook in 2022 nog even door zal lopen.

De updates worden op 29 november op het testcluster doorgevoerd, waarna de week van 1–5 november gebruikt kan worden om te testen. In de periode van 8–11 november 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.14.2 3.14 Alpine linux
registry.npohosting.nl/npohosting/base-jre 3.14.2 3.14 Alpine linux + openjdk8-jre
registry.npohosting.nl/npohosting/nginx 3.14.2 1.21.3 base + nginx + nginx modules
registry.npohosting.nl/npohosting/php-fpm 3.14.2 7.3.32 7.4.25 8.0.12 base + php + extensies
registry.npohosting.nl/npohosting/ruby 3.14.2 2.7.4 base + ruby
wat impact op van naar
openldap 1 D1 2.5.7 2.6.0
mailman 1 D1 2.1.34 2.1.35
influxdb 1 D1 1.8.9 1.8.10
influxdb2 1 D1 2.0.8 2.0.9
grafana 1 D1 8.1.5 8.2.2
redis 1 D1 6.2.5 6.2.6
php 7.3 0 D2 7.3.31 7.3.32
php 7.4 0 D2 7.4.24 7.4.25
passenger 0 D2 6.0.9 6.0.11
node 12 0 D2 12.22.6 12.22.7
yarn 0 D2 1.22.5 1.22.15
memcached 1 D2 1.6.10 1.6.12
ImageMagick 0 D2 7.1.0-8 7.1.0-12
goaccess 0 D2 1.5.1 1.5.2
rclone 0 D2 1.56.1 1.56.2
ffmpeg 0 D2 4.4 4.4.1
git 0 D2 2.33.0 2.33.1
bind 0 D2 9.16.21 9.16.22
OpenJDK8U-jre 2 N3 8u302b08 8u312b08
OpenJDK11U-jre 2 N3 11.0.12_7 11.0.13_8
OpenJDK11U-jdk 2 N3 11.0.12_7 11.0.13_8
tomcat 8 2 N3 8.5.71 8.5.72
tomcat 9 2 N3 9.0.53 9.0.54
mysql-connector-java 2 N3 8.0.26 8.0.27
mysql 1 N3 5.7.35 5.7.36
Elastic Search 7.x 0 D3 7.15.0 7.15.1

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 8 november 8:00–17:00
D2 dinsdag 9 november 8:00–12:00
N3 woensdag 10 november 1:00–6:00 AM
D3 woensdag 10 november 8:00–17:00

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

  • aankondigingen/2021/c2021d16-software-updates-202111.txt
  • Last modified: 2024/04/16 07:59
  • by 127.0.0.1