49 lines
1.4 KiB
YAML
49 lines
1.4 KiB
YAML
|
name: Upgrade to debian bullseye
|
||
|
systems:
|
||
|
node: foonode
|
||
|
|
||
|
always:
|
||
|
- has_zfs=python: NODES.node.has_bundle('zfs')
|
||
|
|
||
|
pipeline:
|
||
|
- manual: "set icinga2 downtime: https://icinga.kunsmann.eu/monitoring/host/schedule-downtime?host={SYSTEMS.node}"
|
||
|
|
||
|
# apply first so we only see the upgrade changes later
|
||
|
- local: bw apply {SYSTEMS.node}
|
||
|
- manual: update debian version in node groups
|
||
|
- local: "bw apply -o bundle:apt -s symlink:/usr/bin/python pkg_apt: -- {SYSTEMS.node}"
|
||
|
|
||
|
# double time!
|
||
|
- remote@node: DEBIAN_FRONTEND=noninteractive apt-get -y -q -o Dpkg::Options::=--force-confold dist-upgrade
|
||
|
- remote@node: DEBIAN_FRONTEND=noninteractive apt-get -y -q -o Dpkg::Options::=--force-confold dist-upgrade
|
||
|
|
||
|
# export zpool so we can import it later
|
||
|
- has_zfs?remote@node: zpool export tank
|
||
|
|
||
|
# reboot into bullseye
|
||
|
- remote@node: systemctl reboot
|
||
|
- local: |
|
||
|
exit=1
|
||
|
while [[ $exit -ne 0 ]];
|
||
|
do
|
||
|
sleep 1
|
||
|
ssh {SYSTEMS.node} true
|
||
|
exit=$?
|
||
|
done
|
||
|
|
||
|
# fix zfs and reboot again
|
||
|
- has_zfs?remote@node: zpool import tank
|
||
|
- has_zfs?remote@node: zpool upgrade -a
|
||
|
- has_zfs?remote@node: systemctl reboot
|
||
|
- has_zfs?local: |
|
||
|
exit=1
|
||
|
while [[ $exit -ne 0 ]];
|
||
|
do
|
||
|
sleep 1
|
||
|
ssh {SYSTEMS.node} true
|
||
|
exit=$?
|
||
|
done
|
||
|
|
||
|
# final apply
|
||
|
- local: bw apply {SYSTEMS.node}
|