Skip to content

Commit

Permalink
tests: Add initial alternatives test
Browse files Browse the repository at this point in the history
This makes sure that the system is setup properly and that the migration
script will do the right thing on older systems.

See: coreos/fedora-coreos-tracker#1818
See: coreos/fedora-coreos-tracker#677
See: https://docs.fedoraproject.org/en-US/fedora-coreos/alternatives/
  • Loading branch information
travier committed Nov 13, 2024
1 parent d48bc03 commit 484d98b
Showing 1 changed file with 40 additions and 0 deletions.
40 changes: 40 additions & 0 deletions tests/kola/files/alternatives
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#!/bin/bash
## kola:
## exclusive: true
## description: Verify that the alternatives config is properly migrated and test the migration

# See
# - https://github.com/coreos/fedora-coreos-tracker/issues/1818

set -xeuo pipefail

# shellcheck disable=SC1091
. "$KOLA_EXT_DATA/commonlib.sh"

if test -e "/var/lib/alternatives"; then
ls -al "/var/lib/alternatives"
fatal "Error: Found '/var/lib/alternatives' which should not exists"
fi
if ! test -d "/etc/alternatives"; then
fatal "Error: '/etc/alternatives' is missing"
fi
if ! test -d "/etc/alternatives-admindir"; then
fatal "Error: '/etc/alternatives-admindir' is missing"
fi

# Re-create the setup form an older FCOS node
alternatives --admindir /etc/alternatives-admindir --set iptables /usr/sbin/iptables-legacy
if [[ $(alternatives --admindir /etc/alternatives-admindir --display iptables | grep -c "link currently points to /usr/sbin/iptables-legacy") != "1" ]]; then
fatal "Could not set iptables to legacy backend for testing"
fi
if [[ $(iptables --version | grep -c "legacy") != "1" ]]; then
fatal "Could not set iptables to legacy backend for testing"
fi
install -dm0755 /var/lib/alternatives
alternatives --admindir /etc/alternatives-admindir --set iptables /usr/sbin/iptables-nft
if [[ $(alternatives --admindir /etc/alternatives-admindir --display iptables | grep -c "link currently points to /usr/sbin/iptables-nft") != "1" ]]; then
fatal "Could not set iptables to nft backend for migration"
fi
if [[ $(iptables --version | grep -c "nf_tables") != "1" ]]; then
fatal "Error: iptables not reset to nftables backend"
fi

0 comments on commit 484d98b

Please sign in to comment.