diff --git a/tests/kola/files/alternatives b/tests/kola/files/alternatives new file mode 100755 index 0000000000..7fd1cd2162 --- /dev/null +++ b/tests/kola/files/alternatives @@ -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