This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ~~META: title = C2021D01: Software updates januari 2021 ~~ {{htmlmetatags> metatag-keywords=(software update) metatag-og:title=(Software updates januari 2021) metatag-og:description=( In de periode van 18--21 januari worden er software updates in de NPO hosting omgeving uitgevoerd. Het betreft: nginx, php, python, node-js, tomcat, newrelic-java, elasticsearch, grafana keycloak, imagemagick, curl, goaccess, mp4split, cacti-spine, unrar, bind unbound, git, httperf, atop, cacti en phpmyadmin. Verder zijn er meldingen betreffende de aanstaande OS upgrade testcluster, Storage onderhoud en End-Of-Life van NodeJS-10. ) }} ====== C2021D01: Software updates januari 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: - Aankondiging OS upgrade testcluster - Storage onderhoud - NodeJS-10 End-Of-Life - Reguliere software updates ==== Aankondiging OS upgrade testcluster ==== In de week van 25--29 januari voeren wij OS upgrades in het testcluster uit. Dit doen we door alle diensten die op een host draaien tijdelijk naar andere hosts te migreren, vervolgens de OS upgrade uit te voeren op die host en na afloop de diensten weer terug te migreren. Voor redundant uitgevoerde diensten (webservers, loadbalancers, elastic search clusters) is de impact minimaal. Niet redundant uitgevoerde diensten (databases, diverse java/tomcat instances) gaan 2x een onderbreking merken van enkele seconden tot ongeveer een minuut. (het heen, en weer terug migreren van de dienst) Zowel de migraties van de diensten als de eigenlijke OS upgrades worden gedurende kantooruren uitgevoerd. Als het testcluster gedaan is en er geen showstoppers gevonden worden dan is daarna de productieomgeving (het appcluster) aan de beurt. Dat zal via een vergelijkbare procedure gedaan worden, met als meest in het oog springende verschil dat het heen&weer migreren van de niet-redundante diensten in een nachtelijks servicewindow plaats zal vinden. De planning voor het appcluster laten we op een later moment weten. Het ligt in de lijn der verwachtingen dat dat in de week van 8--12 februari gaat worden, maar dat zou kunnen schuiven op basis van bevindingen in het testcluster. === Achtergrond mbt OS upgrades === Het appcluster draait op een linux variant genaamd "[[https://scientificlinux.org/|Scientific Linux (SL)]]", wat weer een variant is op "[[https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux|Red Hat Enterprise Linux (RHEL)]]". Echter, de versie die we thans draaien, SL-6, is uit support en het is voor ons dus van belang om te migreren naar een nieuwere, wel gesupporte versie. Daarbij is de keuze gevallen op "[[https://www.centos.org/|CentOS]]", wat ook weer een variant op RHEL is. De versie die we zullen gaan draaien is [[https://wiki.centos.org/FAQ/CentOSStream|Centos-8 Stream]], oftewel de meest recente versie op dit moment. Het appcluster zit zodanig in elkaar dat een upgrade van het onderliggende OS op de gebruikers maar minimale impact heeft. Dat komt omdat alle zaken waar gebruikers mee te maken hebben (webservers, applicatieservers, databases e.d.) ontkoppeld zijn van het onderliggende OS. Het is dus zo dat ondanks dat het OS veranderd wordt, de versies van apache, php, java, tomcat, enz allemaal gelijk blijven. Op die manier zorgen we (vanuit klantperspectief) voor een eenvoudig upgrade pad. Als het goed is hoeft er in de meeste gevallen namelijk helemaal //niets// aangepast te worden. Slechts in een aantal gevallen kunnen we in het oude en het nieuwe OS niet dezelfde versie van een softwarecomponent leveren. In die gevallen nemen we contact op met de betrokken gebruikers om een zo glad mogelijke transitie te bewerkstelligen. ==== Storage onderhoud ==== In de nacht van 26 op 27 januari, tussen 1:00AM en 3:00AM vindt er onderhoud plaats aan de NPO storage omgeving. Het betreft een half-jaarlijkse firmware upgrade van de NAS fileservers. === Aanleiding/ achtergrond === De NPO storage omgeving bestaat uit twee functionele hoofdcomponenten, te weten een SAN((Storage Area Network)) en een NAS((Network Attached Storage)). Misschien heb je thuis wel een NAS systeempje staan om je foto's op te bewaren of om films of muziek mee af te spelen. De NAS systemen bij de NPO zijn de grote broertjes daarvan. In een NAS zit normaal een of meerdere harddisks waar de bestanden uiteindelijk opgeslagen worden. Het grote broertje van een losse harddisk is een SAN, dat is een hele verzameling van harddisks die via een storage netwerk aan b.v. een NAS beschikbaar gemaakt worden. Voor zowel SAN als NAS systemen geldt dat deze ingebakken software hebben (zogeheten “firmware”) en die firmware moet van tijd tot tijd bijgewerkt worden naar een nieuwere versie waarin bugs opgelost zijn. De firmware van de SAN componenten is in [[:aankondigingen:2020:c2020a05-storage-onderhoud-202012|november]] gedaan, de NAS component is nu aan de beurt. === Impact === Voor de NAS systemen geldt dat deze elk als clusters bestaande uit twee nodes draaien. Een firmware upgrade gebeurt node voor node. Tijdens de upgrade van de ene node wordt de gehele workload tijdelijk even door de andere node gedaan, waarna de workload weer eerlijk over beide nodes verdeeld kan worden. Het omschakelen van workload tussen de nodes duurt ongeveer 10 seconden tot een minuut. Tijdens zo'n omschakeling staat het ophalen en wegschrijven van bestanden even stil. In geval van websites en apps kan dat betekenen dat deze tijdelijk een timeout geven. Omdat er gedurende de nacht meerdere van dit soort overschakelmomenten nodig zijn kunnen dit soort timeouts een aantal malen gedurende de nacht plaatsvinden, maar ze zouden per keer nooit langer dan enige seconden tot een minuut mogen duren. ==== NodeJS-10 End-Of-Life ==== Per 30 april 2021 is [[https://nodejs.org/en/about/releases/|NodeJS-10]] [[:eol-kalender#chronologisch_overzicht|End-Of-Life]] gebruikers hiervan om tijdig over te stappen naar NodeJS-12. De NodeJS-10 gebruikers zullen we de komende periode persoonlijk gaan aanschrijven. ===== Software update rooster ===== Het software update rooster voor de komende tijd ziet er als volgt uit: ^software update ronde ^uitrol in test ^gelegenheid tot testen ^uitrol in productie ^ |Januari |7--8 januari |11--15 januari |18--21 januari | |25--29 Januari | OS upgrade testcluster ||| |26 op 27 Januari | Storage onderhoud NAS ||| |Februari |4--5 februari |8--12 februari |15--18 februari | |8--12 Februari | OS upgrade appcluster ||| |Maart |4--5 maart |8--12 maart |15--18 maart | |April |1 april |5--9 april |12--15 april | ===== Reguliere software updates ===== De updates worden op 8 januari op het testcluster doorgevoerd, waarna de week van 11--15 januari gebruikt kan worden om te testen. In de periode van 18--21 januari worden de updates op de productie-omgevingen doorgevoerd volgens onderstaand schema: /* Dingen die deze ronde niet meedoen zijn uit ge-comment */ ^wat ^impact ^op ^van ^ naar ^ /*|keepalived |0 |W |2.1.2 |[[http://www.keepalived.org/changelog.html|2.1.5]]|*/ /*|icecast |0 |W |2.4.0-kh14 |[[https://github.com/karlheyes/icecast-kh|2.4.0-kh15]] |*/ /*^ ^^^^^*/ /*|dhcp |0 |D1 |4.4.1 |[[https://ftp.isc.org/isc/dhcp/4.4.2/dhcp-4.4.2-RELNOTES|4.4.2]] |*/ /*|freeipmi |0 |D1 |1.6.5 |[[https://www.gnu.org/software/freeipmi/NEWS|1.6.6]] |*/ /*|nrpe |0 |D1 |4.0.3 |[[https://github.com/NagiosEnterprises/nrpe/blob/master/CHANGELOG.md|4.0.3]] |*/ |cacti |0 |D1 |1.2.14 |[[https://www.cacti.net/changelog.php|1.2.16]] | |cacti-spine |0 |D1 |1.2.15 |[[https://www.cacti.net/spine_changelog.php|1.2.16]] | |phpmyadmin |0 |D1 |4.9.7 |[[https://www.phpmyadmin.net/files/5.0.4/|5.0.4]] | /*|openssh |0 |D1 |8.3p1 |[[https://www.openssh.com/releasenotes.html|8.4p1]] |*/ /*|GeoIP |0 |D1 |1.6.12 |1.6.12 | */ /*|geoipupdate |0 |D1 |3.1.1 |[[https://github.com/maxmind/geoipupdate/blob/master/CHANGELOG.md|3.1.1]] |*/ /*|fcron |0 |D1 |3.2.1 |[[http://fcron.free.fr/doc/en/changes.html|3.2.1]] |*/ /*|chrony |0 |D1 |3.5 |[[https://chrony.tuxfamily.org/news.html|3.5.1]] |*/ /*|gearmand |1 |D1 |1.1.18 |[[https://github.com/gearman/gearmand/releases|1.1.19.1]] |*/*/ /*|openldap |1 |D1 |2.4.55 |[[https://www.openldap.org/software/release/changes.html|2.4.56]] |*/ /*|freeradius 3.x |1 |D1 |3.0.20 |[[https://freeradius.org/release_notes/?br=3.0.x&re=3.0.21|3.0.21]] |*/ /*|dovecot |1 |D1 |2.3.10.1 |[[https://www.dovecot.org/|2.3.11.3]] |*/ /*|mailman |1 |D1 |2.1.33 |[[https://launchpad.net/mailman/2.1/2.1.34|2.1.34]] |*/ /*|mongodb |1 |D1 |4.4.0 |[[https://docs.mongodb.com/manual/release-notes/4.4/|4.4.1]] |*/ /*|mongodb-database-tools |0 |D1 |100.1.1 |[[https://docs.mongodb.com/database-tools/release-notes/database-tools-changelog/|100.2.0]] |*/ /*|graylog |1 |D1 |3.3.5 |[[http://docs.graylog.org/en/3.3/pages/changelog.html|3.3.8]] |*/ /*|influxdb |1 |D1 |1.8.2 |[[https://docs.influxdata.com/influxdb/v1.8/about_the_project/releasenotes-changelog/|1.8.3]] |*/ |grafana |1 |D1 |7.3.3 |[[https://github.com/grafana/grafana/blob/master/CHANGELOG.md|7.3.6]] | /*|postgresql |1 |D1 |9.6.19 |[[https://www.postgresql.org/docs/9.6/static/release.html|9.6.20]]|*/ /*|alsa-utils |0 |D1 |1.2.3 |[[https://www.alsa-project.org/wiki/Main_Page|1.2.4]] |*/ |mp4split |0 |D1 |1.7.6 |[[https://docs.unified-streaming.com/installation/distributions.html|1.10.28]] | |atop |0 |D1 |2.5.0 |[[https://www.atoptool.nl/downloadatop.php|2.6.0]] | ^ ^^^^^ /*|syslog-ng |0 |D2 |3.29.1 |[[https://github.com/balabit/syslog-ng/blob/master/NEWS.md|3.30.1]] |*/ /*|apache |0 |D2 |2.4.43 |[[http://www.apache.org/dist/httpd/CHANGES_2.4.43|2.4.46]] |*/ /*|mod_smooth_streaming |0 |D2 |1.9.5 |[[https://www.unified-streaming.com/products/unified-origin|1.9.5]] |*/ |nginx |0 |D2 |1.19.5 |[[http://nginx.org/en/CHANGES|1.19.6]]| /*|php 7.2 |0 |D2 |7.2.34 |[[https://www.php.net/ChangeLog-7.php#7.2.34|7.2.34]] |*/ |php 7.3 |0 |D2 |7.3.25 |[[https://www.php.net/ChangeLog-7.php#7.3.26|7.3.26]] | |php 7.4 |0 |D2 |7.4.13 |[[https://www.php.net/ChangeLog-7.php#7.4.14|7.4.14]] | /*|passenger |0 |D2 |6.0.6 |[[https://github.com/phusion/passenger/blob/stable-6.0/CHANGELOG|6.0.7]] |*/ /*|ruby 2.6 |0 |D2 |2.6.6 |[[https://www.ruby-lang.org/en/news/2019/10/01/ruby-2-6-6-released/|2.6.6]] |*/ /*|python |0 |D2 |2.7.16 |[[https://www.python.org/downloads/release/python-2717/|2.7.17]] |*/ |python |0 |D2 |3.8.6 |[[https://docs.python.org/3.8/whatsnew/changelog.html|3.8.7]] | /*|node 10 |0 |D2 |10.22.1 |[[https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V10.md|10.23.0]] |*/ |node 12 |0 |D2 |12.19.1 |[[https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V12.md|12.20.0]] | /*|yarn |0 |D2 |1.22.4 |[[https://github.com/yarnpkg/yarn/blob/master/CHANGELOG.md|1.22.5]]|*/ /*|perl |0 |D2 |5.30.3 |[[https://perldoc.perl.org/index-history.html|5.32.0]] |*/ /*|tomcat-native |0 |D2 |1.2.24 |[[http://tomcat.apache.org/native-doc/miscellaneous/changelog.html|1.2.25]] |*/ |ImageMagick |0 |D2 |7.0.10-41 |[[https://www.imagemagick.org/script/changelog.php|7.0.10-55]] | |curl |0 |D2 |7.73.0 |[[https://curl.haxx.se/changes.html|7.74.0]] | |goaccess |0 |D2 |1.4.2 |[[https://goaccess.io/release-notes|1.4.3]] | /*|gzip |0 |D2 |1.10 |[[https://www.gnu.org/software/gzip/|1.10]] |*/ /*|rclone |0 |D2 |1.53.2 |[[https://rclone.org/changelog/|1.53.3]] |*/ /*|ts |0 |D2 |0.7.3 |[[http://freshmeat.sourceforge.net/projects/taskspooler|0.7.3]] |*/ /*|ffmpeg |0 |D2 |4.2.3 |[[https://www.ffmpeg.org/download.html#releases|4.3.1]] |*/ /*|sox |0 |D2 |14.0.0 |[[http://sox.sourceforge.net/|14.4.2]] |*/ |git |0 |D2 |2.29.2 |[[https://git-scm.com/|2.30.0]] | /*|netperf |0 |D2 |2.7.0 |[[https://github.com/HewlettPackard/netperf/blob/master/Release_Notes|2.7.0]] |*/ /*|id3v2 |0 |D2 |0.1.11 |[[https://sourceforge.net/projects/id3v2/|0.1.12]] |*/ |httperf |0 |D2 |2020-08-02 |[[https://github.com/httperf/httperf|2020-12-06]] | /*|wkhtmltox |0 |D2 |0.11.0 |[[https://github.com/wkhtmltopdf/wkhtmltopdf/blob/master/CHANGELOG.md|0.12.6]] |*/ /*|postfix |0 |D2 |3.5.7 |[[http://www.postfix.org/announcements/postfix-3.5.8.html|3.5.8]] |*/ /*|amavisd |0 |D2 |2.10.1 |[[https://www.amavis.org/release-notes.txt|2.11.1]] |*/ /*|clamav |0 |D2 |0.102.4 |[[https://blog.clamav.net/|0.103.0]] |*/ /*|p0f |0 |D2 |3.08b |[[https://lcamtuf.coredump.cx/p0f3/|3.09b]] |*/ /*|postgrey |0 |D2 |1.34 |[[https://github.com/schweikert/postgrey/blob/master/Changes|1.37]] |*/ /*|spamassassin |0 |D2 |3.4.1 |[[https://spamassassin.apache.org/news.html|3.4.4]] |*/ |unrar |0 |D2 |6.0.2 |[[http://www.linuxfromscratch.org/blfs/view/svn/general/unrar.html|6.0.3]] | |bind |0 |D2 |9.11.25 |[[https://ftp.isc.org/isc/bind9/9.11.26/CHANGES|9.11.26]] | |unbound |0 |D2 |1.12.0 |[[http://www.unbound.net/download.html|1.13.0]] | /*|redis |1 |D2 |6.0.8 |[[https://raw.githubusercontent.com/antirez/redis/6.0/00-RELEASENOTES|6.0.9]] |*/ ^ ^^^^^ /*|memcached |1--2 |N3 |1.6.8 |[[https://github.com/memcached/memcached/wiki/ReleaseNotes169|1.6.9]]|*/ /*|OpenJDK8U-jre |2 |N3 |8u272b10 |[[https://adoptopenjdk.net/release_notes.html|8u275b01]] |*/ /*|OpenJDK11U-jre |2 |N3 |11.0.8_10 |[[https://adoptopenjdk.net/release_notes.html|11.0.9_11 ]] |*/ /*|OpenJDK11U-jdk |2 |N3 |11.0.8_10 |[[https://adoptopenjdk.net/release_notes.html|11.0.9_11 ]] |*/ |tomcat 8 |2 |N3 |8.5.60 |[[https://tomcat.apache.org/tomcat-8.5-doc/changelog.html|8.5.61]] | |tomcat 9 |2 |N3 |9.0.40 |[[https://tomcat.apache.org/tomcat-9.0-doc/RELEASE-NOTES.txt|9.0.41]] | /*|mysql-connector-java |2 |N3 |8.0.21 |[[https://dev.mysql.com/doc/relnotes/connector-j/8.0/en/|8.0.22]] |*/ /*|mysql-connector-java5 |2 |N3 |5.1.49 |[[https://dev.mysql.com/doc/relnotes/connector-j/5.1/en/|5.1.49]] |*/ |newrelic-java |2 |N3 |6.2.1 |[[https://docs.newrelic.com/docs/agents/java-agent|6.3.0]] | /*|ActiveMQ |2 |N3 |5.15.13 |[[http://activemq.apache.org/activemq-51513-release.html|5.16.0]] |*/ |keycloak |2 |N3 |10.0.2 |[[https://www.keycloak.org/docs/latest/release_notes/index.html|12.0.1]] | /*|mariadb |1 |N3 |10.2.34 |[[https://mariadb.com/kb/en/library/mariadb-10234-release-notes/|10.2.36]] |*/ /*|mysql |1 |N3 |5.7.31 |[[https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-32.html|5.7.32]] |*/ ^ ^^^^^ /*|Elastic Search 5.x |0 |D3 |5.6.15 |[[https://www.elastic.co/guide/en/elasticsearch/reference/5.6/es-release-notes.html|5.6.16]] |*/ /*|Elastic Search 6.x |0 |D3 |6.8.12 |[[https://www.elastic.co/guide/en/elasticsearch/reference/6.8/es-release-notes.html|6.8.13]] |*/ |Elastic Search 7.x |0 |D3 |7.10.0 |[[https://www.elastic.co/guide/en/elasticsearch/reference/7.10/es-release-notes.html|7.10.1]] | ^ ^^^^^ ==== 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 11 januari 8:00--17:00 | |D2 |dinsdag 12 januari 8:00--12:00 | |N3 |woensdag 13 januari 1:00--6:00 AM | |D3 |woensdag 13 januari 8:00--17:00 | /*|W |11--14 januari 8:00--17:00 |*/ /*|tbd |te bepalen in overleg met de gebruikers |*/ ==== Bereikbaarheid ==== Team Hosting&Streaming is gedurende al het onderhoud via de normale kanalen bereikbaar. Zie de [[:contact|contact pagina]]. aankondigingen/2021/c2021d01-software-updates-202101.txt Last modified: 2025/03/21 11:39by 127.0.0.1 Log In