Project

General

Profile

OS Upgrade » History » Version 8

Marc Dequènes, 2021-10-21 07:18

1 1 Marc Dequènes
h1. OS Upgrade
2
3
This is a list of steps as guidelines for OS upgrades.
4
5
* create a temporary _group_vars/<new-suite>/system.yml_ in a git branch:
6
7
<pre>
8
---
9
system:
10
  distribution:
11
    debian:
12
      codename: bullseye
13
    dc:
14
      codename: bullseye
15
16
</pre>
17
18 3 Marc Dequènes
* (I often choose Elwing first) ansible-playbook --diff -l Elwing -t apt playbooks/common.yml | tee /tmp/dc.log
19 1 Marc Dequènes
* apt upgrade
20
* apt dist-upgrade (check if removed packages are problematic)
21
** accept new version of /etc/services and copy-paste content of _local services_ from _/etc/services.dpkg-old_ to avoid having to redeploy all services
22 8 Marc Dequènes
** accept new version of /etc/grub.d/10_linux but see warning below
23 1 Marc Dequènes
** do not accept new versions for:
24
*** /etc/smartd.conf
25
*** /etc/snmp/snmp.conf
26
*** /etc/oidentd.conf
27
*** /etc/sudoers
28
*** /etc/rsyslog.conf
29 2 Marc Dequènes
*** /etc/apt-cacher-ng/acng.conf
30
*** /etc/zabbix/*
31 7 Marc Dequènes
*** /etc/logrotate.d/*
32 1 Marc Dequènes
** check the diff manually for other files
33 3 Marc Dequènes
* if PHP FPM: (to avoid having to redeploy all vhosts) (example for PHP 7.3->7.4)
34
** rm /etc/php/7.4/fpm/pool.d/www.conf
35
** cp /etc/php/7.3/fpm/pool.d/* /etc/php/7.4/fpm/pool.d/
36
** sed -i 's/7\.3/7.4/g' /etc/php/7.4/fpm/pool.d/*
37 4 Marc Dequènes
** systemctl restart php7.4-fpm.service
38 6 Marc Dequènes
** run common web playbook _playbooks/tenants/duckcorp/web.yml_ with _-t web-common_
39
* run the _playbooks/common.yml_ playbook
40 7 Marc Dequènes
41
It is critical that the common playbook is run successfully before rebooting. Especially _/etc/grub.d/10_linux_ must contain the _--unrestricted_ option and the GRUB config must be regenerated or the server will block at the GRUB screen waiting for a login.