Update IAM appliance
Tento update návod použijte pouze v případě, že dokumentace neobsahuje specifický postup pro update na konkrétní verzi IAM appliance. |
IAM appliance sestává z operačního systému CentOS jako základu a dodatečných softwarových balíčků dodávaných v rámci appliance. Tyto skupiny balíčků lze aktualizovat odděleně.
Ověřte, zda jsou dostupné aktualizace pro IAM appliance. Pokud má appliance přístup do internetu nebo do lokálního repozitáře, sama si občerstvuje seznam nových verzí software. Pokud přístup do internetu nemá, je nutné jí ho povolit a vyvolat občerstvení seznamu software.
[root@localhost ~]# dnf makecache ... zkráceno ... Metadata cache created.
Zjistěte, zda je k dispozici nějaká aktualizace IAM balíčků. Pokud ano, zobrazí se vám seznam dostupných aktualizací.
[root@localhost ~]# dnf list updates | grep iam- Last metadata expiration check: 0:01:03 ago on Thu 28 Jan 2021 11:34:45 AM UTC. Available Upgrades iam-appliance.noarch 0.5-1.el8 iam-centos8 ... zkráceno ...
-
Vypnutí appliance.
-
Vytvoření snapshotu disku appliance, aby bylo možné provést návrat v případě chyby.
-
Spuštění appliance.
-
Zastavení služeb.
-
Provedení update.
-
Vyřešení konfiguračních konfliktů.
-
Kontrolovaný start služeb.
-
Kontrola.
Vypnutí appliance
Appliance vypněte běžným způsobem, například zadáním příkazu poweroff
na konzoli, nebo přes ACPI shutdown.
Spuštění appliance
Spusťte appliance standardním způsobem. Po nastartování zkontrolujte, že všechny služby běží.
Zastavení služeb
Appliance sestává z několika samostatných služeb, které je nutné před instalací aktualizací zastavit.
[root@localhost ~]# systemctl stop czechidm iam-cas [root@localhost ~]# systemctl stop iam-czechidm-db iam-web-proxy iam-directory-server
Provedení update
Update se provádí s explicitně vybranými balíčky appliance, aby nedošlo k aktualizaci celého operačního systému. Díky závislostem appliance na některých komponentách OS může dojít i k aktualizaci těchto komponent, z pohledu update IAM appliance je to očekávané.
[root@localhost ~]# dnf update iam-*
Utilita dnf
vypisuje svůj progress na terminál. Prověřte případná chybová hlášení, pokud se v průběhu aktualizace nějaká objeví.
Vyřešení konfiguračních konfliktů
Softwarové balíčky s sebou nesou několik konfiguračních souborů, které je nutné na konkrétním nasazeném prostředí lokálně editovat. Protože je nežádoucí, aby se lokální konfigurace ztratila, proces aktualizace s tím počítá.
Pokud dochází k aktualizaci souboru, který byl lokálně změněn, ve výstupu dnf
se objeví hlášení, že soubor byl vyroben s příponou .rpmnew
nebo .rpmsave
. Toto je konfigurační konflikt, který je nutné vyřešit ručně.
Konflikt 1 - soubor .rpmnew
Předpokládejme soubor docker-compose-czechidm.yml
. Tento soubor byl lokálně změněn, aby služba využívala více systémových prostředků. Při aktualizaci se ve stejném adresáři objeví také soubor docker-compose-czechidm.yml.rpmnew
.
-
Soubor
docker-compose-czechidm.yml.rpmnew
je novou verzí souboru ze softwarového balíčku. -
Soubor
docker-compose-czechidm.yml
je původní soubor, stejný jako před aktualizacemi. Tedy služba by v tuto chvíli používala původní konfiguraci.
V tomto případě je potřeba zkontrolovat, že v novém konfiguračním souboru docker-compose-czechidm.yml.rpmnew
nepřibyla žádná nová konfigurace nebo nebyla změněna konfigurace, ve které nebyly dělány lokální úpravy.
Případné rozdíly je potřeba zapracovat do souboru docker-compose-czechidm.yml
, soubor docker-compose-czechidm.yml.rpmnew
je následně možné (a žádoucí) odstranit.
Konflikt 2 - soubor .rpmsave
Předpokládejme soubor 10_czechidm.conf
, který byl lokálně změněn. V průběhu update se ve stejném adresáři objeví soubor 10_czechidm.conf.rpmsave
.
-
Soubor
10_czechidm.conf
je autoritativně aktualizován ze softwarového balíčku. -
Soubor
10_czechidm.conf.rpmsave
je původním lokálně změněným souborem. Tedy služba by v tuto chvíli používala změněnou konfiguraci - z balíčku.
Obdobně jako v případě předchozí situace, je nutné ručně konflik vyřešit a změny zapracovat do souboru 10_czechidm.conf
. Soubor 10_czechidm.conf.rpmsave
je vhodné potom smazat.
Existence tohoto typu konfliktu poukazuje na pravděpodobně nestandardní konfiguraci appliance. |
Soubory |
Kontrolovaný start služeb
V rámci aktualizací mohou konfigurace služeb odkazovat na nové Docker image - ty systém musí v tuto chvíli stáhnout.
Protože není možné předem říci, jak dlouho bude stahování Docker image trvat, mohlo by dojít k předběhnutí startu jednotlivých služeb. Proto provedeme jejich kontrolovaný start.
[root@localhost ~]# systemctl start iam-czechidm-db iam-web-proxy iam-directory-server
Pokud dochází ke stažení nového Docker image, objeví se v logu /var/log/messages
záznam podobný následujícímu.
Jan 28 09:42:32 localhost docker-compose[5967]: 12-r1: Pulling from bcv-postgres
Po stažení image dojde k automatického vytvoření kontejneru a startu služby. Potom je možné spustit i služby, které na ní zavisí.
Úspěšný start služby je možné sledovat v jejím logu - /var/log/messages
nebo (od verze appliance 0.5
výše) v logách uložených ve struktuře /data/logs/…
.
[root@localhost ~]# systemctl start iam-czechidm iam-cas
V této verzi appliance exituje pět služeb :
|
Kontrola
Otestujte fungování služeb appliance a projděte uživatelskými testy.
Logy služeb je možné nalézt v adresářové struktuře /data/logs/…
.
Rollback
Pokud v průběhu kontroly narazíte na neodstranitelný problém, seberte diagnostický výstup:
-
Obsah
/var/log/messages
a výstup příkazudmesg
. -
Obsah
/var/log/dnf.log
. -
Výstupy příkazu
systemctl status SLUŽBA
kde SLUŽBA jsou výše uvedené služby. -
Výstup příkazu
systemctl list-unit-files
. -
Logy služeb z
/data/logs/…
z doby od započetí prací na serveru.
Po sebrání diagnostiky server vypněte a navraťte jeho stav ze snapshotu.