diff --git a/network-bootopts-bond-bootif.ks.in b/network-bootopts-bond-bootif.ks.in new file mode 100644 index 00000000..bc7983ac --- /dev/null +++ b/network-bootopts-bond-bootif.ks.in @@ -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 diff --git a/network-bootopts-bond-bootif.sh b/network-bootopts-bond-bootif.sh new file mode 100755 index 00000000..5e164dcd --- /dev/null +++ b/network-bootopts-bond-bootif.sh @@ -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 + +# Ignore unused variable parsed out by tooling scripts as test tags metadata +# shellcheck disable=SC2034 +TESTTYPE=${TESTTYPE:-"network"} + +. ${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 +}