Skip to content

Commit

Permalink
Merge pull request #1036 from rvykydal/add-test-for-bond-boot-options…
Browse files Browse the repository at this point in the history
…-with-bootif

Add test for bond configuered by boot options with BOOTIF
  • Loading branch information
rvykydal authored Jan 3, 2024
2 parents 52c5d55 + 8df4587 commit 8f4ae4c
Show file tree
Hide file tree
Showing 3 changed files with 113 additions and 0 deletions.
1 change: 1 addition & 0 deletions containers/runner/skip-testtypes
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ rhel9_skip_array=(
gh969 # raid-ddf failing
gh970 # selinux-contexts failing
jiraRHEL-13150 # timezone-noncommon failing
RHEL-4766 # network-bootopts-bond-bootif should be fixed in RHEL 9.4
)

# used in workflows/daily-boot-iso-rhel8.yml
Expand Down
50 changes: 50 additions & 0 deletions network-bootopts-bond-bootif.ks.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
#test name: network-bootopts-bond-bootif
# Test bond configured via boot options with BOOTIF present.
# The slave ifaces configuration files are correct slave files.
# rhbz#2175664, RHEL-4766

%ksappend repos/default.ks

shutdown
# network
# no network configuration
# storage & bootloader
bootloader --timeout=1
zerombr
clearpart --all
autopart
# l10n
keyboard us
lang en
timezone America/New_York
# user confguration
rootpw testcase

%ksappend payload/default_packages.ks

%post --nochroot

@KSINCLUDE@ post-nochroot-lib-network.sh

check_gui_configurations @KSTEST_NETDEV1@ @KSTEST_NETDEV2@ bond0

%end

%post

@KSINCLUDE@ post-lib-network.sh

# config files are not named bond0_slave_1 as opposed to kickstart config
check_device_config_value @KSTEST_NETDEV1@ ONBOOT yes connection autoconnect __NONE
check_device_config_value @KSTEST_NETDEV1@ SLAVE yes connection slave-type bond
check_device_config_value @KSTEST_NETDEV2@ ONBOOT yes connection autoconnect __NONE
check_device_config_value @KSTEST_NETDEV2@ SLAVE yes connection slave-type bond
check_device_connected bond0 yes
check_bond_has_slave bond0 @KSTEST_NETDEV1@ yes
check_bond_has_slave bond0 @KSTEST_NETDEV2@ yes

# No error was written to /root/RESULT file, everything is OK
if [[ ! -e /root/RESULT ]]; then
echo SUCCESS > /root/RESULT
fi
%end
62 changes: 62 additions & 0 deletions network-bootopts-bond-bootif.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
#
# Copyright (C) 2023 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
# Public License for more details. You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#
# Red Hat Author(s): Radek Vykydal <[email protected]>

# Ignore unused variable parsed out by tooling scripts as test tags metadata
# shellcheck disable=SC2034
TESTTYPE=${TESTTYPE:-"network skip-on-rhel-8 RHEL-4766"}

. ${KSTESTDIR}/functions.sh

kernel_args() {
. ${tmpdir}/ks_url
echo ${DEFAULT_BOOTOPTS} ip=bond0:dhcp bond=bond0:${KSTEST_NETDEV1},${KSTEST_NETDEV2}:mode=active-backup inst.ks=${ks_url} BOOTIF=01-52-54-00-12-34-63
}

# Arguments for virt-install --network options
prepare_network() {
echo "user,mac=52:54:00:12:34:63"
echo "user"
}

prepare() {
ks=$1
tmpdir=$2

# Copy the kickstart to a directory in tmpdir
mkdir ${tmpdir}/http
cp $ks ${tmpdir}/http/ks.cfg

# Start a http server to serve the included file
start_httpd ${tmpdir}/http $tmpdir

echo ks_url=${httpd_url}ks.cfg > ${tmpdir}/ks_url
echo "${ks}"
}

inject_ks_to_initrd() {
echo "false"
}

cleanup() {
tmpdir=$1

if [ -f ${tmpdir}/httpd-pid ]; then
kill $(cat ${tmpdir}/httpd-pid)
fi
}

0 comments on commit 8f4ae4c

Please sign in to comment.