├── .fmf
└── version
├── .github
├── defaults.sh
├── dependabot.yml
└── workflows
│ ├── container-autoupdate.yml
│ ├── daily-boot-iso-rawhide.yml
│ ├── differential-shellcheck.yml
│ ├── scenarios-permian.yml
│ ├── scenarios.yml
│ ├── static-code-tests.yml
│ ├── test-os-variants.yml
│ ├── testingfarm.yml
│ └── weekly-summary.yml
├── .gitignore
├── .pylintrc
├── README.rst
├── WORKLIST
├── anabot-1.ks.in
├── anabot-1.sh
├── anabot-1.xml
├── anaconda-conf.ks.in
├── anaconda-conf.sh
├── anaconda-modules.ks.in
├── anaconda-modules.sh
├── authconfig.ks.in
├── authconfig.sh
├── authselect-not-set.ks.in
├── authselect-not-set.sh
├── authselect.ks.in
├── authselect.sh
├── autopart-encrypted-1.ks.in
├── autopart-encrypted-1.sh
├── autopart-encrypted-2.ks.in
├── autopart-encrypted-2.sh
├── autopart-encrypted-3.ks.in
├── autopart-encrypted-3.sh
├── autopart-fstype.ks.in
├── autopart-fstype.sh
├── autopart-hibernation.ks.in
├── autopart-hibernation.sh
├── autopart-luks-1.ks.in
├── autopart-luks-1.sh
├── autopart-luks-2.ks.in
├── autopart-luks-2.sh
├── autopart-luks-3.ks.in
├── autopart-luks-3.sh
├── autopart-luks-4.ks.in
├── autopart-luks-4.sh
├── autopart-luks-5.ks.in
├── autopart-luks-5.sh
├── autopart-nohome.ks.in
├── autopart-nohome.sh
├── basic-ftp.ks.in
├── basic-ftp.sh
├── basic-ostree.ks.in
├── basic-ostree.sh
├── bindtomac-bond-vlan-httpks.ks.in
├── bindtomac-bond-vlan-httpks.sh
├── bindtomac-bond2-httpks.ks.in
├── bindtomac-bond2-httpks.sh
├── bindtomac-bond2-pre.ks.in
├── bindtomac-bond2-pre.sh
├── bindtomac-bridge-2devs-httpks.ks.in
├── bindtomac-bridge-2devs-httpks.sh
├── bindtomac-bridge-2devs-pre.ks.in
├── bindtomac-bridge-2devs-pre.sh
├── bindtomac-bridge-httpks.ks.in
├── bindtomac-bridge-httpks.sh
├── bindtomac-bridge-no-bootopts-net.ks.in
├── bindtomac-bridge-no-bootopts-net.sh
├── bindtomac-bridged-bond-httpks.ks.in
├── bindtomac-bridged-bond-httpks.sh
├── bindtomac-ifname-httpks.ks.in
├── bindtomac-ifname-httpks.sh
├── bindtomac-network-device-default-httpks.ks.in
├── bindtomac-network-device-default-httpks.sh
├── bindtomac-network-device-mac-httpks.ks.in
├── bindtomac-network-device-mac-httpks.sh
├── bindtomac-network-device-mac-pre.ks.in
├── bindtomac-network-device-mac-pre.sh
├── bindtomac-network-device-mac.ks.in
├── bindtomac-network-device-mac.sh
├── bindtomac-network-static-2-httpks.ks.in
├── bindtomac-network-static-2-httpks.sh
├── bindtomac-network-static-to-dhcp-pre-single.ks.in
├── bindtomac-network-static-to-dhcp-pre-single.sh
├── bindtomac-onboot-activate-httpks.ks.in
├── bindtomac-onboot-activate-httpks.sh
├── bindtomac-onboot-bootopts-pre.ks.in
├── bindtomac-onboot-bootopts-pre.sh
├── bindtomac-team-httpks.ks.in
├── bindtomac-team-httpks.sh
├── bindtomac-team-pre.ks.in
├── bindtomac-team-pre.sh
├── bond-ks-initramfs.ks.in
├── bond-ks-initramfs.sh
├── bond-vlan-httpks.ks.in
├── bond-vlan-httpks.sh
├── bond-vlan-pre.ks.in
├── bond-vlan-pre.sh
├── bond2-httpks.ks.in
├── bond2-httpks.sh
├── bond2-pre.ks.in
├── bond2-pre.sh
├── bootloader-1.ks.in
├── bootloader-1.sh
├── bootloader-2.ks.in
├── bootloader-2.sh
├── bootloader-3.ks.in
├── bootloader-3.sh
├── bootloader-4.ks.in
├── bootloader-4.sh
├── bootloader-5.ks.in
├── bootloader-5.sh
├── bridge-2devs-httpks.ks.in
├── bridge-2devs-httpks.sh
├── bridge-2devs-pre.ks.in
├── bridge-2devs-pre.sh
├── bridge-2devs.ks.in
├── bridge-2devs.sh
├── bridge-httpks.ks.in
├── bridge-httpks.sh
├── bridge-no-bootopts-net.ks.in
├── bridge-no-bootopts-net.sh
├── bridged-bond-httpks.ks.in
├── bridged-bond-httpks.sh
├── bridged-bond-pre.ks.in
├── bridged-bond-pre.sh
├── btrfs-1.ks.in
├── btrfs-1.sh
├── btrfs-2.ks.in
├── btrfs-2.sh
├── certificate.ks.in
├── certificate.sh
├── check_for_disabled_modules.ks.in
├── check_for_disabled_modules.sh
├── clearpart-1.ks.in
├── clearpart-1.sh
├── clearpart-2.ks.in
├── clearpart-2.sh
├── clearpart-3.ks.in
├── clearpart-3.sh
├── clearpart-4.ks.in
├── clearpart-4.sh
├── container.ks.in
├── container.sh
├── containers
├── README.md
├── runner
│ ├── Dockerfile
│ ├── README.md
│ ├── fetch_daily_iso.sh
│ ├── launch
│ ├── roles
│ │ └── runner-host
│ │ │ ├── handlers
│ │ │ └── main.yml
│ │ │ └── tasks
│ │ │ └── main.yml
│ ├── run-kstest
│ ├── scenario
│ └── skip-testtypes
├── squid-cache.conf
├── squid-cache.nft
└── squid.sh
├── default-desktop.ks.in
├── default-desktop.sh
├── default-fstype.ks.in
├── default-fstype.sh
├── default-menu-auto-hide-fedora.ks.in
├── default-menu-auto-hide-fedora.sh
├── default-menu-auto-hide-rhel.ks.in
├── default-menu-auto-hide-rhel.sh
├── default-systemd-target-gui-graphical-provides.ks.in
├── default-systemd-target-gui-graphical-provides.sh
├── default-systemd-target-gui.ks.in
├── default-systemd-target-gui.sh
├── default-systemd-target-rdp-graphical-provides.ks.in
├── default-systemd-target-rdp-graphical-provides.sh
├── default-systemd-target-rdp.ks.in
├── default-systemd-target-rdp.sh
├── default-systemd-target-skipx.ks.in
├── default-systemd-target-skipx.sh
├── default-systemd-target-startxonboot.ks.in
├── default-systemd-target-startxonboot.sh
├── default-systemd-target-tui-graphical-provides.ks.in
├── default-systemd-target-tui-graphical-provides.sh
├── default-systemd-target-tui.ks.in
├── default-systemd-target-tui.sh
├── default-systemd-target-vnc-graphical-provides.ks.in
├── default-systemd-target-vnc-graphical-provides.sh
├── default-systemd-target-vnc.ks.in
├── default-systemd-target-vnc.sh
├── deprecated-rhel9-part1.ks.in
├── deprecated-rhel9-part1.sh
├── deprecated-rhel9-part2.ks.in
├── deprecated-rhel9-part2.sh
├── disklabel-default.ks.in
├── disklabel-default.sh
├── disklabel-gpt.ks.in
├── disklabel-gpt.sh
├── disklabel-mbr.ks.in
├── disklabel-mbr.sh
├── dns-global-bootopts.ks.in
├── dns-global-bootopts.sh
├── dns-global-exclusive-tls-2.ks.in
├── dns-global-exclusive-tls-2.sh
├── dns-global-exclusive-tls-httpks-2.sh
├── dns-global-exclusive-tls-httpks.sh
├── dns-global-exclusive-tls-initramfs.sh
├── dns-global-exclusive-tls-ksnet.ks.in
├── dns-global-exclusive-tls-ksnet.sh
├── dns-global-exclusive-tls.ks.in
├── dns-global-exclusive-tls.sh
├── dns.ks.in
├── dns.sh
├── docs
└── network.md
├── driverdisk-disk-kargs.ks.in
├── driverdisk-disk-kargs.sh
├── driverdisk-disk.ks.in
├── driverdisk-disk.sh
├── encrypt-device.ks.in
├── encrypt-device.sh
├── encrypt-swap.ks.in
├── encrypt-swap.sh
├── escrow-cert.ks.in
├── escrow-cert.sh
├── fedora-live-image-build.ks.in
├── fedora-live-image-build.sh
├── firewall-disable-with-options.ks.in
├── firewall-disable-with-options.sh
├── firewall-disable.ks.in
├── firewall-disable.sh
├── firewall-use-system-defaults-ignore-options.ks.in
├── firewall-use-system-defaults-ignore-options.sh
├── firewall-use-system-defaults.ks.in
├── firewall-use-system-defaults.sh
├── firewall.ks.in
├── firewall.sh
├── fragments
├── platform
│ ├── fedora_rawhide
│ │ ├── payload
│ │ │ ├── default_packages.ks
│ │ │ └── unified_packages.ks
│ │ ├── repos
│ │ │ ├── default.ks
│ │ │ ├── https.ks
│ │ │ ├── modular.ks
│ │ │ ├── unified-nfs.ks
│ │ │ └── unified.ks
│ │ ├── section-data
│ │ │ ├── hello-world.ks
│ │ │ ├── server-dvd-link.ks
│ │ │ └── unified-iso.ks
│ │ ├── storage
│ │ │ ├── ostreecontainer_autopart.ks
│ │ │ └── ostreecontainer_autopart_encrypted.ks
│ │ ├── timezone
│ │ │ ├── ntp_disabled.ks
│ │ │ └── ntp_enabled.ks
│ │ └── validation
│ │ │ └── unified.ks
│ ├── rhel10
│ │ ├── payload
│ │ │ ├── default_packages.ks
│ │ │ ├── python_crypt_packages.ks
│ │ │ └── unified_packages.ks
│ │ ├── repos
│ │ │ ├── default.ks
│ │ │ ├── unified-nfs.ks
│ │ │ └── unified.ks
│ │ ├── section-data
│ │ │ ├── hello-world.ks
│ │ │ ├── server-dvd-link.ks
│ │ │ └── unified-iso.ks
│ │ ├── timezone
│ │ │ ├── ntp_disabled.ks
│ │ │ └── ntp_enabled.ks
│ │ └── validation
│ │ │ └── unified.ks
│ ├── rhel8
│ │ ├── payload
│ │ │ ├── default_packages.ks
│ │ │ ├── packages_instlangs_1.ks
│ │ │ ├── packages_instlangs_2.ks
│ │ │ ├── packages_instlangs_3.ks
│ │ │ ├── packages_weakdeps.ks
│ │ │ ├── python_crypt_packages.ks
│ │ │ └── unified_packages.ks
│ │ ├── repos
│ │ │ ├── default.ks
│ │ │ ├── unified-nfs.ks
│ │ │ └── unified.ks
│ │ ├── section-data
│ │ │ ├── hello-world.ks
│ │ │ ├── server-dvd-link.ks
│ │ │ └── unified-iso.ks
│ │ ├── storage
│ │ │ └── raid_biosboot.ks
│ │ ├── timezone
│ │ │ ├── ntp_disabled.ks
│ │ │ └── ntp_enabled.ks
│ │ └── validation
│ │ │ └── unified.ks
│ └── rhel9
│ │ ├── payload
│ │ ├── default_packages.ks
│ │ ├── python_crypt_packages.ks
│ │ └── unified_packages.ks
│ │ ├── repos
│ │ ├── default.ks
│ │ ├── unified-nfs.ks
│ │ └── unified.ks
│ │ ├── section-data
│ │ ├── hello-world.ks
│ │ ├── server-dvd-link.ks
│ │ └── unified-iso.ks
│ │ ├── storage
│ │ └── raid_biosboot.ks
│ │ ├── timezone
│ │ ├── ntp_disabled.ks
│ │ └── ntp_enabled.ks
│ │ └── validation
│ │ └── unified.ks
└── shared
│ ├── bootloader
│ └── default.ks
│ ├── common
│ ├── common.ks
│ ├── common_no_payload.ks
│ └── common_no_storage_and_payload.ks
│ ├── data
│ └── edns-idmops.psi.redhat.com.crt
│ ├── l10n
│ └── default.ks
│ ├── network
│ └── default.ks
│ ├── payload
│ ├── default_packages.ks
│ ├── packages_instlangs_1.ks
│ ├── packages_instlangs_2.ks
│ ├── packages_instlangs_3.ks
│ ├── packages_weakdeps.ks
│ └── python_crypt_packages.ks
│ ├── storage
│ ├── default.ks
│ ├── ostreecontainer_autopart.ks
│ ├── ostreecontainer_autopart_encrypted.ks
│ └── raid_biosboot.ks
│ ├── users
│ ├── default.ks
│ ├── python3_check_root_locked.ks
│ └── user.ks
│ └── validation
│ ├── success_if_result_empty.ks
│ ├── success_if_result_empty_standalone.ks
│ └── success_on_first_boot.ks
├── functions-proxy.sh
├── functions.sh
├── geolocation-off-by-default-with-ks.ks.in
├── geolocation-off-by-default-with-ks.sh
├── groups-and-envs-1.ks.in
├── groups-and-envs-1.sh
├── groups-and-envs-2.ks.in
├── groups-and-envs-2.sh
├── groups-and-envs-3.ks.in
├── groups-and-envs-3.sh
├── groups-ignoremissing.ks.in
├── groups-ignoremissing.sh
├── harddrive-install-tree-relative.ks.in
├── harddrive-install-tree-relative.sh
├── harddrive-install-tree.ks.in
├── harddrive-install-tree.sh
├── harddrive-iso-single.ks.in
├── harddrive-iso-single.sh
├── harddrive-iso.ks.in
├── harddrive-iso.sh
├── hello-world.ks.in
├── hello-world.sh
├── hmc.ks.in
├── hmc.sh
├── hostname-bootopts.ks.in
├── hostname-bootopts.sh
├── hostname.ks.in
├── hostname.sh
├── https-repo.ks.in
├── https-repo.sh
├── ibft.ks.in
├── ibft.sh
├── ifname-httpks.ks.in
├── ifname-httpks.sh
├── ignoredisk-1.ks.in
├── ignoredisk-1.sh
├── ignoredisk-2.ks.in
├── ignoredisk-2.sh
├── image-deployment-1.ks.in
├── image-deployment-1.sh
├── image-deployment-2-rhel8.ks.in
├── image-deployment-2-rhel8.sh
├── image-deployment-2.ks.in
├── image-deployment-2.sh
├── initial-setup-default.ks.in
├── initial-setup-default.sh
├── initial-setup-disable.ks.in
├── initial-setup-disable.sh
├── initial-setup-enable.ks.in
├── initial-setup-enable.sh
├── initial-setup-gui.ks.in
├── initial-setup-gui.sh
├── initial-setup-reconfig.ks.in
├── initial-setup-reconfig.sh
├── iscsi-bind.ks.in
├── iscsi-bind.sh
├── iscsi.ks.in
├── iscsi.sh
├── keyboard-bootopt-only.ks.in
├── keyboard-bootopt-only.sh
├── keyboard-convert-vc.ks.in
├── keyboard-convert-vc.sh
├── keyboard-convert-x-override-bootopt.ks.in
├── keyboard-convert-x-override-bootopt.sh
├── keyboard-generic-argument.ks.in
├── keyboard-generic-argument.sh
├── keyboard.ks.in
├── keyboard.sh
├── ks-include-post.ks
├── ks-include.ks.in
├── ks-include.sh
├── lang.ks.in
├── lang.sh
├── lib
├── basic_squid_auth.py
└── mkdud.py
├── liveimg.ks.in
├── liveimg.sh
├── log-util-check.ks.in
├── log-util-check.sh
├── log-util-tests.sh
├── lvm-1.ks.in
├── lvm-1.sh
├── lvm-2.ks.in
├── lvm-2.sh
├── lvm-cache-1.ks.in
├── lvm-cache-1.sh
├── lvm-cache-2.ks.in
├── lvm-cache-2.sh
├── lvm-luks-1.ks.in
├── lvm-luks-1.sh
├── lvm-luks-2.ks.in
├── lvm-luks-2.sh
├── lvm-luks-3.ks.in
├── lvm-luks-3.sh
├── lvm-luks-4.ks.in
├── lvm-luks-4.sh
├── lvm-raid-1.ks.in
├── lvm-raid-1.sh
├── lvm-raid-2.ks.in
├── lvm-raid-2.sh
├── lvm-thinp-1.ks.in
├── lvm-thinp-1.sh
├── lvm-thinp-2.ks.in
├── lvm-thinp-2.sh
├── module-1.ks.in
├── module-1.sh
├── module-2.ks.in
├── module-2.sh
├── module-3.ks.in
├── module-3.sh
├── module-4.ks.in
├── module-4.sh
├── module-enable-one-module-multiple-streams.ks.in
├── module-enable-one-module-multiple-streams.sh
├── module-enable-one-stream-install-different-stream.ks.in
├── module-enable-one-stream-install-different-stream.sh
├── module-ignoremissing.ks.in
├── module-ignoremissing.sh
├── module-install-no-stream-no-profile.ks.in
├── module-install-no-stream-no-profile.sh
├── module-install-one-module-multiple-streams-and-profiles.ks.in
├── module-install-one-module-multiple-streams-and-profiles.sh
├── module-install-one-module-multiple-streams.ks.in
├── module-install-one-module-multiple-streams.sh
├── mountpoint-assignment-1.ks.in
├── mountpoint-assignment-1.sh
├── mountpoint-assignment-2.ks.in
├── mountpoint-assignment-2.sh
├── network-addr-gen-mode-dhcpall.ks.in
├── network-addr-gen-mode-dhcpall.sh
├── network-addr-gen-mode.ks.in
├── network-addr-gen-mode.sh
├── network-autoconnections-dhcpall-httpks.ks.in
├── network-autoconnections-dhcpall-httpks.sh
├── network-autoconnections-httpks.ks.in
├── network-autoconnections-httpks.sh
├── network-bootopts-bond-bootif.ks.in
├── network-bootopts-bond-bootif.sh
├── network-bootopts-bond-dhcp-httpks.ks.in
├── network-bootopts-bond-dhcp-httpks.sh
├── network-bootopts-bond-ks-override.ks.in
├── network-bootopts-bond-ks-override.sh
├── network-bootopts-bootif-httpks.ks.in
├── network-bootopts-bootif-httpks.sh
├── network-bootopts-bridge-dhcp-httpks.ks.in
├── network-bootopts-bridge-dhcp-httpks.sh
├── network-bootopts-noautodefault.ks.in
├── network-bootopts-noautodefault.sh
├── network-bootopts-static-legacy-httpks.ks.in
├── network-bootopts-static-legacy-httpks.sh
├── network-bootopts-static-mac.ks.in
├── network-bootopts-static-mac.sh
├── network-bootopts-static-unspec-bootif.ks.in
├── network-bootopts-static-unspec-bootif.sh
├── network-bootopts-static-unspec-single.ks.in
├── network-bootopts-static-unspec-single.sh
├── network-bootopts-static.ks.in
├── network-bootopts-static.sh
├── network-bootopts-team-dhcp-httpks.ks.in
├── network-bootopts-team-dhcp-httpks.sh
├── network-bootopts-vlan-static-httpks.ks.in
├── network-bootopts-vlan-static-httpks.sh
├── network-device-bootif-httpks.ks.in
├── network-device-bootif-httpks.sh
├── network-device-default-httpks.ks.in
├── network-device-default-httpks.sh
├── network-device-default-ksdevice-httpks.ks.in
├── network-device-default-ksdevice-httpks.sh
├── network-device-default-ksdevice-pre.ks.in
├── network-device-default-ksdevice-pre.sh
├── network-device-default-pre-hostname.ks.in
├── network-device-default-pre-hostname.sh
├── network-device-default.ks.in
├── network-device-default.sh
├── network-device-mac-httpks.ks.in
├── network-device-mac-httpks.sh
├── network-device-mac-pre.ks.in
├── network-device-mac-pre.sh
├── network-device-mac.ks.in
├── network-device-mac.sh
├── network-device-names.cfg
├── network-dns-search.ks.in
├── network-dns-search.sh
├── network-missing-ifcfg-httpks.ks.in
├── network-missing-ifcfg-httpks.sh
├── network-noipv4-httpks.ks.in
├── network-noipv4-httpks.sh
├── network-noipv4-pre.ks.in
├── network-noipv4-pre.sh
├── network-options-pre.ks.in
├── network-options-pre.sh
├── network-prefixdevname.ks.in
├── network-prefixdevname.sh
├── network-static-2-httpks.ks.in
├── network-static-2-httpks.sh
├── network-static-2-pre.ks.in
├── network-static-2-pre.sh
├── network-static-httpks.ks.in
├── network-static-httpks.sh
├── network-static-to-dhcp-pre-single.ks.in
├── network-static-to-dhcp-pre-single.sh
├── network-static-to-dhcp-pre.ks.in
├── network-static-to-dhcp-pre.sh
├── network-static.ks.in
├── network-static.sh
├── nfs.ks.in
├── nfs.sh
├── nosave-1.ks.in
├── nosave-1.sh
├── nosave-2.ks.in
├── nosave-2.sh
├── nosave-3.ks.in
├── nosave-3.sh
├── ntp-nontp-without-chrony-gui.ks.in
├── ntp-nontp-without-chrony-gui.sh
├── ntp-nontp-without-chrony.ks.in
├── ntp-nontp-without-chrony.sh
├── ntp-pools.ks.in
├── ntp-pools.sh
├── ntp-with-nontp-gui.ks.in
├── ntp-with-nontp-gui.sh
├── ntp-with-nontp.ks.in
├── ntp-with-nontp.sh
├── ntp-without-chrony-gui.ks.in
├── ntp-without-chrony-gui.sh
├── ntp-without-chrony.ks.in
├── ntp-without-chrony.sh
├── onboot-activate-httpks.ks.in
├── onboot-activate-httpks.sh
├── onboot-activate.ks.in
├── onboot-activate.sh
├── onboot-bootopts-pre.ks.in
├── onboot-bootopts-pre.sh
├── packages-and-groups-1.ks.in
├── packages-and-groups-1.sh
├── packages-and-groups-ignoremissing.ks.in
├── packages-and-groups-ignoremissing.sh
├── packages-default.ks.in
├── packages-default.sh
├── packages-excludedocs.ks.in
├── packages-excludedocs.sh
├── packages-ignorebroken.ks.in
├── packages-ignorebroken.sh
├── packages-ignoremissing.ks.in
├── packages-ignoremissing.sh
├── packages-instlangs-1.ks.in
├── packages-instlangs-1.sh
├── packages-instlangs-2.ks.in
├── packages-instlangs-2.sh
├── packages-instlangs-3.ks.in
├── packages-instlangs-3.sh
├── packages-multilib.ks.in
├── packages-multilib.sh
├── packages-weakdeps.ks.in
├── packages-weakdeps.sh
├── part-luks-1.ks.in
├── part-luks-1.sh
├── part-luks-2.ks.in
├── part-luks-2.sh
├── part-luks-3.ks.in
├── part-luks-3.sh
├── part-luks-4.ks.in
├── part-luks-4.sh
├── plans
└── testing-farm.fmf
├── post-lib-keyboard.sh
├── post-lib-network.sh
├── post-nochroot-lib-keyboard.sh
├── post-nochroot-lib-network.sh
├── post-nochroot-lib-ui.sh
├── pre-install.ks.in
├── pre-install.sh
├── pre-lib-harddrive.sh
├── preexisting-btrfs.ks.in
├── preexisting-btrfs.sh
├── preexisting-btrfs.tar.xz
├── proxy-auth.ks.in
├── proxy-auth.sh
├── proxy-cmdline.ks.in
├── proxy-cmdline.sh
├── proxy-kickstart.ks.in
├── proxy-kickstart.sh
├── raid-1-reqpart.ks.in
├── raid-1-reqpart.sh
├── raid-1.ks.in
├── raid-1.sh
├── raid-ddf.ks.in
├── raid-ddf.sh
├── raid-ddf.tar.xz
├── raid-luks-1.ks.in
├── raid-luks-1.sh
├── raid-luks-2.ks.in
├── raid-luks-2.sh
├── raid-luks-3.ks.in
├── raid-luks-3.sh
├── raid-luks-4.ks.in
├── raid-luks-4.sh
├── reboot-initial-setup-gui.ks.in
├── reboot-initial-setup-gui.sh
├── reboot-initial-setup-tui.ks.in
├── reboot-initial-setup-tui.sh
├── reboot-uefi.ks.in
├── reboot-uefi.sh
├── reboot.ks.in
├── reboot.sh
├── repo-addrepo-hd-iso.ks.in
├── repo-addrepo-hd-iso.sh
├── repo-addrepo-hd-tree.ks.in
├── repo-addrepo-hd-tree.sh
├── repo-addrepo.ks.in
├── repo-addrepo.sh
├── repo-baseurl.ks.in
├── repo-baseurl.sh
├── repo-enable.ks.in
├── repo-enable.sh
├── repo-exclude.ks.in
├── repo-exclude.sh
├── repo-include.ks.in
├── repo-include.sh
├── repo-install.ks.in
├── repo-install.sh
├── repo-metalink.ks.in
├── repo-metalink.sh
├── repo-mirrorlist.ks.in
├── repo-mirrorlist.sh
├── reqpart.ks.in
├── reqpart.sh
├── rootpw-allow-ssh.ks.in
├── rootpw-allow-ssh.sh
├── rootpw-basic.ks.in
├── rootpw-basic.sh
├── rootpw-crypted.ks.in
├── rootpw-crypted.sh
├── rootpw-lock-no-password.ks.in
├── rootpw-lock-no-password.sh
├── rootpw-lock.ks.in
├── rootpw-lock.sh
├── rpm-ostree-container-bootc.ks.in
├── rpm-ostree-container-bootc.sh
├── rpm-ostree-container-leavebootorder.ks.in
├── rpm-ostree-container-leavebootorder.sh
├── rpm-ostree-container-luks.ks.in
├── rpm-ostree-container-luks.sh
├── rpm-ostree-container-silverblue.ks.in
├── rpm-ostree-container-silverblue.sh
├── rpm-ostree-container-uefi.ks.in
├── rpm-ostree-container-uefi.sh
├── rpm-ostree.ks.in
├── rpm-ostree.sh
├── script-post.ks.in
├── script-post.sh
├── script-pre-install.ks.in
├── script-pre-install.sh
├── script-pre.ks.in
├── script-pre.sh
├── scripts-lib.sh
├── scripts
├── Makefile.prereqs
├── apply-ksappend.py
├── classify-failures
├── confs
│ ├── squid-pass.conf
│ └── squid.conf
├── defaults-fedora_rawhide.sh
├── defaults-rhel10.sh
├── defaults-rhel8.sh
├── defaults-rhel9.sh
├── defaults.sh
├── generate-launch-args.py
├── generate-permian-query.py
├── generate-repository.py
├── generate-testcases.py
├── generate-testplan.py
├── httpd.py
├── kstests-in-cloud.sh
├── launch_proxy.sh
├── launcher
│ ├── lib
│ │ ├── __init__.py
│ │ ├── conf
│ │ │ ├── __init__.py
│ │ │ ├── configuration.py
│ │ │ └── runner_parser.py
│ │ ├── launcher_interface.sh
│ │ ├── log_monitor
│ │ │ ├── __init__.py
│ │ │ └── log_handler.py
│ │ ├── shell_launcher.py
│ │ ├── test_logging.py
│ │ ├── utils
│ │ │ └── __init__.py
│ │ ├── validator.py
│ │ └── virtual_controller.py
│ └── run_one_test.py
├── log2json
├── probe_boot_iso.sh
├── run-ci.sh
├── run_kickstart_tests.sh
├── run_report.sh
├── test_manager.py
├── test_manager
│ ├── __init__.py
│ ├── collector.py
│ ├── configurator.py
│ ├── errors.py
│ └── kickstart_test.py
├── udev_escape.py
└── weekly-summary
├── selinux-contexts.ks.in
├── selinux-contexts.sh
├── selinux-disabled.ks.in
├── selinux-disabled.sh
├── selinux-enforcing.ks.in
├── selinux-enforcing.sh
├── selinux-permissive.ks.in
├── selinux-permissive.sh
├── services.ks.in
├── services.sh
├── snapshot-post.ks.in
├── snapshot-post.sh
├── snapshot-pre.ks.in
├── snapshot-pre.sh
├── stage2-from-ks.ks.in
├── stage2-from-ks.sh
├── storage-multipath-autopart.ks.in
├── storage-multipath-autopart.sh
├── team-httpks.ks.in
├── team-httpks.sh
├── team-pre.ks.in
├── team-pre.sh
├── team.ks.in
├── team.sh
├── test
└── static-code
├── testlib
├── test_cases
│ ├── README.md
│ └── kstest-template.tc.yaml.j2
└── test_plans
│ ├── daily-daily-iso.plan.yaml.j2
│ ├── daily-rhel10.plan.yaml.j2
│ ├── daily-rhel9.plan.yaml.j2
│ ├── minimal.plan.yaml
│ └── pull-request-permian-gating.plan.yaml
├── timezone-noncommon.ks.in
├── timezone-noncommon.sh
├── timezoneLOCAL.ks.in
├── timezoneLOCAL.sh
├── timezoneUTC.ks.in
├── timezoneUTC.sh
├── tmpfs-fixed_size.ks.in
├── tmpfs-fixed_size.sh
├── ui_cmdline.ks.in
├── ui_cmdline.sh
├── ui_graphical_interactive.ks.in
├── ui_graphical_interactive.sh
├── ui_graphical_noninteractive.ks.in
├── ui_graphical_noninteractive.sh
├── ui_rdp.ks.in
├── ui_rdp.sh
├── ui_text_interactive.ks.in
├── ui_text_interactive.sh
├── ui_text_noninteractive.ks.in
├── ui_text_noninteractive.sh
├── ui_vnc.ks.in
├── ui_vnc.sh
├── unified-cdrom.ks.in
├── unified-cdrom.sh
├── unified-cmdline.ks.in
├── unified-cmdline.sh
├── unified-harddrive.ks.in
├── unified-harddrive.sh
├── unified-nfs.ks.in
├── unified-nfs.sh
├── unified.ks.in
├── unified.sh
├── url-baseurl.ks.in
├── url-baseurl.sh
├── url-metalink.ks.in
├── url-metalink.sh
├── url-mirrorlist.ks.in
├── url-mirrorlist.sh
├── user-locked-root-locked-admin.ks.in
├── user-locked-root-locked-admin.sh
├── user-multiple-wheel-no-root.ks.in
├── user-multiple-wheel-no-root.sh
├── user-multiple.ks.in
├── user-multiple.sh
├── user-no-wheel-no-root.ks.in
├── user-no-wheel-no-root.sh
├── user-single.ks.in
├── user-single.sh
├── user-wheel-no-root.ks.in
├── user-wheel-no-root.sh
├── validate-lib-initial-setup.sh
├── validate-lib-services.sh
├── vlan-httpks.ks.in
├── vlan-httpks.sh
├── vlan-pre.ks.in
└── vlan-pre.sh
/.fmf/version:
--------------------------------------------------------------------------------
1 | 1
--------------------------------------------------------------------------------
/.github/defaults.sh:
--------------------------------------------------------------------------------
1 | # The download.fedoraproject.org automatic redirector often selects download-ib01.f.o. for GitHub's cloud, which is too unreliable; use mirror from default scripts/defaults.sh configuration
2 | #export KSTEST_URL='http://download.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/$basearch/os/'
3 | #export KSTEST_MODULAR_URL='http://download.fedoraproject.org/pub/fedora/linux/development/rawhide/Modular/$basearch/os/'
4 |
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | # Dependabot checks our dependencies and opens pull requests for new versions.
2 | # See the current status: https://github.com/rhinstaller/kickstart-tests/network/updates
3 |
4 | version: 2
5 | updates:
6 |
7 | # Set update schedule for GitHub actions.
8 | - package-ecosystem: "github-actions"
9 | directory: "/"
10 | schedule:
11 | interval: "daily"
12 | commit-message:
13 | prefix: "infra"
14 |
--------------------------------------------------------------------------------
/.github/workflows/container-autoupdate.yml:
--------------------------------------------------------------------------------
1 | # Build our container for running kickstart tests and push that to our quay.io repository
2 | # We cannot fully self-validate the new container, as running all kickstart tests just takes too long.
3 | # So tag the containers by build date, so that in the worst case we can always reset :latest to the previously working tag.
4 | name: Build and push containers
5 | on:
6 | schedule:
7 | - cron: 0 18 * * 6
8 | # be able to start this action manually from a actions tab when needed
9 | workflow_dispatch:
10 |
11 | jobs:
12 | runner:
13 | name: Build kstest-runner container
14 | runs-on: ubuntu-latest
15 | environment: quay.io
16 | steps:
17 | - name: Checkout repository
18 | uses: actions/checkout@v4
19 |
20 | - name: Login to container registry
21 | run: docker login -u ${{ secrets.QUAY_USERNAME }} -p ${{ secrets.QUAY_PASSWORD }} quay.io
22 |
23 | - name: Build and push container
24 | run: |
25 | TAG=$(date --iso-8601)
26 | NAME=quay.io/rhinstaller/kstest-runner
27 | docker build -t $NAME:$TAG containers/runner
28 | docker tag $NAME:$TAG $NAME:latest
29 |
30 | docker push $NAME:$TAG
31 | docker push $NAME:latest
32 |
--------------------------------------------------------------------------------
/.github/workflows/differential-shellcheck.yml:
--------------------------------------------------------------------------------
1 | # Doc: https://github.com/redhat-plumbers-in-action/differential-shellcheck#usage
2 | ---
3 |
4 | name: Differential ShellCheck
5 | on:
6 | pull_request:
7 | branches: [main]
8 |
9 | permissions:
10 | contents: read
11 |
12 | jobs:
13 | lint:
14 | runs-on: ubuntu-latest
15 |
16 | steps:
17 | - name: Repository checkout
18 | uses: actions/checkout@v4
19 | with:
20 | fetch-depth: 0
21 |
22 | - name: Differential ShellCheck
23 | uses: redhat-plumbers-in-action/differential-shellcheck@v5
24 | env:
25 | # The shell specification is missing in .sh test files
26 | SHELLCHECK_OPTS: -s bash
27 | with:
28 | severity: warning
29 | token: ${{ secrets.GITHUB_TOKEN }}
30 |
--------------------------------------------------------------------------------
/.github/workflows/static-code-tests.yml:
--------------------------------------------------------------------------------
1 | name: static-code-tests
2 | on: [pull_request]
3 | jobs:
4 | static-code-tests:
5 | runs-on: ubuntu-latest
6 | permissions: {}
7 | container:
8 | image: quay.io/rhinstaller/kstest-runner
9 | steps:
10 | - name: Set up dependencies
11 | run: |
12 | pip install pylint==3.1.0 ruff==0.3.7
13 |
14 | - name: Clone repository
15 | uses: actions/checkout@v4
16 | with:
17 | fetch-depth: 0
18 |
19 | - name: Run static code tests
20 | run: |
21 | export PATH="$HOME/.local/bin:$PATH"; ./test/static-code
22 |
--------------------------------------------------------------------------------
/.github/workflows/weekly-summary.yml:
--------------------------------------------------------------------------------
1 | # Generate a weekly summary of test failures
2 | name: Weekly Summary
3 | on:
4 | schedule:
5 | # Run Monday mornings, but long enough after daily test run for results
6 | - cron: 0 9 * * 1
7 | # be able to start this action manually from a actions tab when needed
8 | workflow_dispatch:
9 | permissions:
10 | contents: read
11 |
12 | jobs:
13 | weekly_summary:
14 | name: Create weekly summary of test runs
15 | runs-on: ubuntu-latest
16 | env:
17 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
18 | steps:
19 | - name: Clone repository
20 | uses: actions/checkout@v4
21 | - name: Install pycurl
22 | run: sudo apt-get install -y python3-pycurl
23 | - name: Run weekly-summary script
24 | run: |
25 | PATH=./scripts/:$PATH \
26 | ./scripts/weekly-summary --rebuild --flake-details \
27 | --artifacts=logs-daily-iso,logs-rhel9,logs-rhel10 \
28 | --archive-logs /var/tmp/kstest-archive/
29 |
30 | - name: Collect logs
31 | if: always()
32 | uses: actions/upload-artifact@v4
33 | with:
34 | name: 'weekly-logs-archive'
35 | path: /var/tmp/kstest-archive/*
36 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /*.ks
2 | fragments/runtime
3 | *.log
4 | *.retry
5 | __pycache__
6 |
7 | # these are temp directories for downloaded images and logs
8 | data/
9 |
--------------------------------------------------------------------------------
/.pylintrc:
--------------------------------------------------------------------------------
1 | [MESSAGES CONTROL]
2 |
3 | disable = empty-docstring,
4 | fixme,
5 | missing-docstring,
6 | missing-module-docstring,
7 | no-name-in-module,
8 | redefined-outer-name,
9 | unnecessary-pass,
10 | unspecified-encoding,
11 | C,
12 | R
13 |
14 | [FORMAT]
15 |
16 | disable = consider-using-f-string,
17 | line-too-long,
18 | logging-format-interpolation,
19 |
20 | [MASTER]
21 |
22 | # A comma-separated list of package or module names from where C extensions may
23 | # be loaded. Extensions are loading into the active Python interpreter and may
24 | # run arbitrary code.
25 | extension-pkg-whitelist= pycurl
26 |
27 | [IMPORTS]
28 |
29 | # List of module names for which member attributes should not be checked
30 | # (useful for modules/projects where namespaces are manipulated during runtime
31 | # and thus existing member attributes cannot be deduced by static analysis. It
32 | # supports qualified module names, as well as Unix pattern matching.
33 | ignored-modules=rpmfluff,jinja2,pycurl
34 |
--------------------------------------------------------------------------------
/anabot-1.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 |
3 | # NOTHING TO DO HERE! THIS FILE IS NOT USED!
4 |
--------------------------------------------------------------------------------
/anabot-1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/anaconda-modules.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2021 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
19 | # shellcheck disable=SC2034
20 | TESTTYPE="anaconda"
21 |
22 | . ${KSTESTDIR}/functions.sh
23 |
--------------------------------------------------------------------------------
/authconfig.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | %ksappend repos/default.ks
3 |
4 | %ksappend common/common_no_payload.ks
5 | %ksappend payload/default_packages.ks
6 |
7 | # Test deprecated command
8 | authconfig --passalgo=sha512 --useshadow
9 |
10 | %post
11 |
12 | authselect current | egrep -q "Profile ID: sssd"
13 | if [[ $? -ne 0 ]]; then
14 | echo "*** Failed check: Default authselect profile: sssd" >> /root/RESULT
15 | fi
16 |
17 | authselect current | egrep -q "Enabled features: None"
18 | if [[ $? -ne 0 ]]; then
19 | echo "*** Failed check: Enabled features: None" >> /root/RESULT
20 | fi
21 |
22 | if [[ ! -e /root/RESULT ]]; then
23 | echo SUCCESS > /root/RESULT
24 | fi
25 | %end
26 |
--------------------------------------------------------------------------------
/authselect-not-set.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | #Test that authselect default configuration if authselect is not set in kickstart
3 | %ksappend repos/default.ks
4 |
5 | %ksappend common/common_no_payload.ks
6 | %ksappend payload/default_packages.ks
7 |
8 | # Test authselect default profile
9 |
10 | %post
11 |
12 | @KSINCLUDE@ scripts-lib.sh
13 | platform="$(get_platform @KSTEST_OS_NAME@ @KSTEST_OS_VERSION@)"
14 |
15 | command -v authselect > /dev/null 2>&1
16 | if [[ $? -eq 0 ]]; then
17 | if [ "${platform}" == "rhel8" ] || [ "${platform}" == "rhel9" ]; then
18 | authselect current | grep -E "No existing configuration detected"
19 | else
20 | authselect current | grep -E "Profile ID: local"
21 | fi
22 | if [[ $? -ne 0 ]]; then
23 | echo "*** Failed check: default authselect configuration is detected" >> /root/RESULT
24 | fi
25 | else
26 | echo "*** Failed check: authselect is installed" >> /root/RESULT
27 | fi
28 |
29 | if [[ ! -e /root/RESULT ]]; then
30 | echo SUCCESS > /root/RESULT
31 | fi
32 | %end
33 |
--------------------------------------------------------------------------------
/authselect-not-set.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2020 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Radek Vykydal
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="security"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/authselect.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | %ksappend repos/default.ks
3 |
4 | %ksappend common/common_no_payload.ks
5 | %ksappend payload/default_packages.ks
6 |
7 | authselect select sssd with-mkhomedir
8 |
9 | %post
10 |
11 | authselect current | egrep -q "Profile ID: sssd"
12 | if [[ $? -ne 0 ]]; then
13 | echo "*** Failed check: Default authselect profile: sssd" >> /root/RESULT
14 | fi
15 |
16 | authselect current | egrep -q -- "- with-mkhomedir"
17 | if [[ $? -ne 0 ]]; then
18 | echo "*** Failed check: Enabled features: - with-mkhomedir" >> /root/RESULT
19 | fi
20 |
21 | if [[ ! -e /root/RESULT ]]; then
22 | echo SUCCESS > /root/RESULT
23 | fi
24 | %end
25 |
--------------------------------------------------------------------------------
/authselect.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2020 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Radek Vykydal
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="security"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/autopart-encrypted-1.ks.in:
--------------------------------------------------------------------------------
1 |
2 | %ksappend repos/default.ks
3 | network --bootproto=dhcp
4 |
5 | bootloader --timeout=1
6 | zerombr
7 | clearpart --all --initlabel
8 | autopart --type=lvm --encrypted --passphrase="passphrase"
9 |
10 | keyboard us
11 | lang en
12 | timezone America/New_York
13 | rootpw qweqwe
14 | shutdown
15 |
16 | %packages
17 | %end
18 |
19 | %post
20 | # Log the created partitioning.
21 | lsblk
22 |
23 | # Find the LUKS device.
24 | crypted="$(blkid --match-token TYPE="crypto_LUKS" --output device)"
25 |
26 | if [[ $? != 0 ]] ; then
27 | echo "*** couldn't find a LUKS device" > /root/RESULT
28 | exit 1
29 | fi
30 |
31 | # The LUKS device should be a parent of a root device.
32 | lsblk ${crypted} --output mountpoint | grep -x /
33 |
34 | if [[ $? != 0 ]] ; then
35 | echo "*** ${crypted} doesn't contain a root device" > /root/RESULT
36 | exit 1
37 | fi
38 |
39 | # Try to use the passphrase.
40 | echo "passphrase" | cryptsetup luksOpen --test-passphrase "${crypted}"
41 |
42 | if [[ $? != 0 ]] ; then
43 | echo "*** cannot open ${crypted} with the passphrase" > /root/RESULT
44 | exit 1
45 | fi
46 |
47 | echo 'SUCCESS' > /root/RESULT
48 | %end
49 |
--------------------------------------------------------------------------------
/autopart-encrypted-2.ks.in:
--------------------------------------------------------------------------------
1 |
2 | %ksappend repos/default.ks
3 | network --bootproto=dhcp
4 |
5 | bootloader --timeout=1
6 | zerombr
7 | clearpart --all --initlabel
8 | autopart --type=lvm --encrypted --passphrase="passphrase" --cipher="aes-xts-plain64"
9 |
10 | keyboard us
11 | lang en
12 | timezone America/New_York
13 | rootpw qweqwe
14 | shutdown
15 |
16 | %packages
17 | %end
18 |
19 | %post
20 | # Check the cipher name of the LUKS device.
21 | crypted="$(blkid --match-token TYPE="crypto_LUKS" --output device)"
22 | cipher="$(cryptsetup luksDump ${crypted} | awk '{ if ($1 == "Cipher:") print $2; }' )"
23 |
24 | if [[ "$cipher" != "aes-xts-plain64" ]] ; then
25 | echo "*** unexpected cipher ${cipher} of ${crypted}" > /root/RESULT
26 | exit 1
27 | fi
28 |
29 | echo 'SUCCESS' > /root/RESULT
30 | %end
31 |
--------------------------------------------------------------------------------
/autopart-fstype.ks.in:
--------------------------------------------------------------------------------
1 | %ksappend repos/default.ks
2 | network --bootproto=dhcp
3 |
4 | bootloader --timeout=1
5 | zerombr
6 | clearpart --all --initlabel
7 | autopart --type=plain --fstype="ext2"
8 |
9 | keyboard us
10 | lang en
11 | timezone America/New_York
12 | rootpw qweqwe
13 | shutdown
14 |
15 | %packages
16 | %end
17 |
18 | %post
19 | # Check the fstype of the root.
20 | root_fstype="$( \
21 | lsblk -o MOUNTPOINT,FSTYPE --noheadings \
22 | | awk '$1 ~ /^\/$/ { print $2; }' \
23 | )"
24 |
25 | if [ "$root_fstype" != "ext2" ]; then
26 | echo "fstype of root is incorrect: $root_fstype)" >> /root/RESULT
27 | fi
28 |
29 | if [ ! -e /root/RESULT ]; then
30 | echo SUCCESS > /root/RESULT
31 | fi
32 | %end
33 |
--------------------------------------------------------------------------------
/autopart-luks-1.ks.in:
--------------------------------------------------------------------------------
1 |
2 | %ksappend repos/default.ks
3 | network --bootproto=dhcp
4 |
5 | bootloader --timeout=1
6 | zerombr
7 | clearpart --all --initlabel
8 |
9 | # Test LUKS 1.
10 | autopart --type=lvm --encrypted --passphrase="passphrase" --luks-version=luks1
11 |
12 | keyboard us
13 | lang en
14 | timezone America/New_York
15 | rootpw qweqwe
16 | shutdown
17 |
18 | %packages
19 | %end
20 |
21 | %post
22 |
23 | # Find the LUKS device.
24 | crypted="$(blkid --match-token TYPE="crypto_LUKS" --output device)"
25 |
26 | if [[ $? != 0 ]] ; then
27 | echo "*** couldn't find a LUKS device" > /root/RESULT
28 | exit 1
29 | fi
30 |
31 | # Check if the LUKS version is luks1.
32 | result="$(cryptsetup luksDump ${crypted} | awk '{ if ($1 == "Version:") print $2; }' )"
33 |
34 | if [[ "$result" != "1" ]] ; then
35 | echo "*** unexpected LUKS version for ${crypted}: ${result}" > /root/RESULT
36 | exit 1
37 | fi
38 |
39 | # Try to use the passphrase.
40 | echo "passphrase" | cryptsetup luksOpen --test-passphrase "${crypted}"
41 |
42 | if [[ $? != 0 ]] ; then
43 | echo "*** cannot open ${crypted} with the passphrase" > /root/RESULT
44 | exit 1
45 | fi
46 |
47 | echo 'SUCCESS' > /root/RESULT
48 | %end
49 |
--------------------------------------------------------------------------------
/autopart-luks-3.ks.in:
--------------------------------------------------------------------------------
1 |
2 | %ksappend repos/default.ks
3 | network --bootproto=dhcp
4 |
5 | bootloader --timeout=1
6 | zerombr
7 | clearpart --all --initlabel
8 |
9 | # Test LUKS 2 with pbkdf2 and limited iterations.
10 | autopart --type=lvm --encrypted --passphrase="passphrase" --luks-version=luks2 --pbkdf=pbkdf2 --pbkdf-time=10
11 |
12 | keyboard us
13 | lang en
14 | timezone America/New_York
15 | rootpw qweqwe
16 | shutdown
17 |
18 | %packages
19 | %end
20 |
21 | %post
22 |
23 | # Find the LUKS device.
24 | crypted="$(blkid --match-token TYPE="crypto_LUKS" --output device)"
25 |
26 | if [[ $? != 0 ]] ; then
27 | echo "*** couldn't find a LUKS device" > /root/RESULT
28 | exit 1
29 | fi
30 |
31 | # Check the PBKDF of the LUKS device.
32 | result="$(cryptsetup luksDump ${crypted} | awk '{ if ($1 == "PBKDF:") print $2; }' )"
33 |
34 | if [[ "$result" != "pbkdf2" ]] ; then
35 | echo "*** unexpected PBKDF for ${crypted}: ${result}" >> /root/RESULT
36 | fi
37 |
38 | # The test was successful.
39 | if [ ! -e /root/RESULT ]; then
40 | echo SUCCESS > /root/RESULT
41 | fi
42 |
43 | %end
44 |
--------------------------------------------------------------------------------
/basic-ftp.ks.in:
--------------------------------------------------------------------------------
1 | url --url=@KSTEST_FTP_URL@
2 | network --bootproto=dhcp
3 |
4 | bootloader --timeout=1
5 | zerombr
6 | clearpart --all
7 | autopart
8 |
9 | keyboard us
10 | lang en
11 | timezone America/New_York
12 | rootpw qweqwe
13 | shutdown
14 |
15 | %packages
16 | %end
17 |
18 | %post
19 | # If we made it post, that's good enough
20 | echo SUCCESS > /root/RESULT
21 | %end
22 |
--------------------------------------------------------------------------------
/basic-ftp.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # Copyright (C) 2015 Red Hat, Inc.
4 | #
5 | # This copyrighted material is made available to anyone wishing to use,
6 | # modify, copy, or redistribute it subject to the terms and conditions of
7 | # the GNU General Public License v.2, or (at your option) any later version.
8 | # This program is distributed in the hope that it will be useful, but WITHOUT
9 | # ANY WARRANTY expressed or implied, including the implied warranties of
10 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
11 | # Public License for more details. You should have received a copy of the
12 | # GNU General Public License along with this program; if not, write to the
13 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
14 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
15 | # source code or documentation are not subject to the GNU General Public
16 | # License and may only be used or replicated with the express permission of
17 | # Red Hat, Inc.
18 | #
19 | # Red Hat Author(s): David Shea
20 |
21 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
22 | # shellcheck disable=SC2034
23 | TESTTYPE="payload"
24 |
25 | . ${KSTESTDIR}/functions.sh
26 |
--------------------------------------------------------------------------------
/basic-ostree.ks.in:
--------------------------------------------------------------------------------
1 | # Substitute something in for REPO or this will all come crashing down.
2 | ostreesetup --nogpg --osname=fedora-atomic --remote=fedora-atomic --url=@KSTEST_OSTREE_REPO@ --ref=fedora-atomic/rawhide/x86_64/base/core
3 | network --bootproto=dhcp
4 |
5 | bootloader --timeout=1
6 | zerombr
7 | clearpart --all
8 | autopart
9 |
10 | keyboard us
11 | lang en
12 | timezone America/New_York
13 | rootpw qweqwe
14 | shutdown
15 |
16 | %post --nochroot
17 | mkdir -p /mnt/sysimage/root/
18 | echo SUCCESS > /mnt/sysimage/root/RESULT
19 | %end
20 |
--------------------------------------------------------------------------------
/bindtomac-bond2-httpks.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2016 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Radek Vykydal
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="network"
23 |
24 | . ${KSTESTDIR}/bond2-httpks.sh
25 |
--------------------------------------------------------------------------------
/bindtomac-bond2-pre.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2016 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Radek Vykydal
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="network"
23 |
24 | . ${KSTESTDIR}/bond2-pre.sh
25 |
--------------------------------------------------------------------------------
/bindtomac-network-device-default-httpks.ks.in:
--------------------------------------------------------------------------------
1 | #NOTE: as this test is a "-httpks" the kickstart should be really applied
2 | # in initrafs (config files created by parse-kickstart). The parse-kickstart
3 | # code actually ignores the command without --device specified
4 | # (and no ksdevice set), so it will be applied in anaconda.
5 | %ksappend repos/default.ks
6 |
7 | network --bootproto=dhcp --ipv6=2001:cafe:cafe::1/64 --bindto=mac
8 |
9 | bootloader --timeout=1
10 | zerombr
11 | clearpart --all
12 | autopart
13 |
14 | keyboard us
15 | lang en
16 | timezone America/New_York
17 | rootpw qweqwe
18 | shutdown
19 |
20 | %packages
21 | %end
22 |
23 | %post --nochroot
24 |
25 | @KSINCLUDE@ post-nochroot-lib-network.sh
26 |
27 | check_gui_configurations @KSTEST_NETDEV1@
28 |
29 | %end
30 |
31 | %post
32 |
33 | @KSINCLUDE@ post-lib-network.sh
34 |
35 | check_device_config_value @KSTEST_NETDEV1@ IPV6ADDR 2001:cafe:cafe::1/64 ipv6 address1 2001:cafe:cafe::1/64
36 | check_device_config_bound_to_mac @KSTEST_NETDEV1@
37 |
38 | # No error was written to /root/RESULT file, everything is OK
39 | if [[ ! -e /root/RESULT ]]; then
40 | echo SUCCESS > /root/RESULT
41 | fi
42 | %end
43 |
--------------------------------------------------------------------------------
/bindtomac-network-device-mac-httpks.ks.in:
--------------------------------------------------------------------------------
1 | %ksappend repos/default.ks
2 |
3 | network --bootproto=dhcp --device=52:54:00:12:34:51 --bindto=mac
4 | network --bootproto=dhcp --device=52:54:00:12:34:52 --activate --bindto=mac
5 |
6 | bootloader --timeout=1
7 | zerombr
8 | clearpart --all
9 | autopart
10 |
11 | keyboard us
12 | lang en
13 | timezone America/New_York
14 | rootpw qweqwe
15 | shutdown
16 |
17 | %packages
18 | %end
19 |
20 | %post
21 |
22 | @KSINCLUDE@ post-lib-network.sh
23 |
24 | # --device= is used to specify the interface, not to bind the
25 | # connection to the MAC address
26 | check_device_config_bound_to_mac @KSTEST_NETDEV1@
27 | check_config_exists @KSTEST_NETDEV1@-1 no
28 | check_device_connected @KSTEST_NETDEV1@ yes
29 |
30 | check_device_config_bound_to_mac @KSTEST_NETDEV2@
31 | check_config_exists @KSTEST_NETDEV2@-1 no
32 | check_device_connected @KSTEST_NETDEV2@ yes
33 |
34 | # No error was written to /root/RESULT file, everything is OK
35 | if [[ ! -e /root/RESULT ]]; then
36 | echo SUCCESS > /root/RESULT
37 | fi
38 | %end
39 |
--------------------------------------------------------------------------------
/bindtomac-network-device-mac-pre.ks.in:
--------------------------------------------------------------------------------
1 | %ksappend repos/default.ks
2 |
3 | %include /tmp/ksinclude
4 | %pre
5 | echo "network --bootproto=dhcp --device=52:54:00:12:34:53 --bindto=mac" >> /tmp/ksinclude
6 | echo "network --bootproto=dhcp --device=52:54:00:12:34:54 --activate --bindto=mac" >> /tmp/ksinclude
7 | %end
8 |
9 | bootloader --timeout=1
10 | zerombr
11 | clearpart --all
12 | autopart
13 |
14 | keyboard us
15 | lang en
16 | timezone America/New_York
17 | rootpw qweqwe
18 | shutdown
19 |
20 | %packages
21 | %end
22 |
23 | %post
24 |
25 | @KSINCLUDE@ post-lib-network.sh
26 |
27 | check_config_key_exists @KSTEST_NETDEV1@ HWADDR __ANY ethernet mac-address __ANY
28 | check_config_exists @KSTEST_NETDEV1@-1 no
29 | check_device_connected @KSTEST_NETDEV1@ yes
30 |
31 | check_config_key_exists @KSTEST_NETDEV2@ HWADDR __ANY ethernet mac-address __ANY
32 | check_config_exists @KSTEST_NETDEV2@-1 no
33 | check_device_connected @KSTEST_NETDEV2@ yes
34 |
35 | # No error was written to /root/RESULT file, everything is OK
36 | if [[ ! -e /root/RESULT ]]; then
37 | echo SUCCESS > /root/RESULT
38 | fi
39 | %end
40 |
--------------------------------------------------------------------------------
/bindtomac-network-device-mac.ks.in:
--------------------------------------------------------------------------------
1 | %ksappend repos/default.ks
2 |
3 | network --bootproto=dhcp --device=52:54:00:12:34:50 --bindto=mac
4 |
5 | bootloader --timeout=1
6 | zerombr
7 | clearpart --all
8 | autopart
9 |
10 | keyboard us
11 | lang en
12 | timezone America/New_York
13 | rootpw qweqwe
14 | shutdown
15 |
16 | %packages
17 | %end
18 |
19 | %post
20 |
21 | @KSINCLUDE@ post-lib-network.sh
22 |
23 | check_device_config_value ksdev0 HWADDR 52:54:00:12:34:50 ethernet mac-address 52:54:00:12:34:50
24 | check_device_connected ksdev0 yes
25 |
26 | # No error was written to /root/RESULT file, everything is OK
27 | if [[ ! -e /root/RESULT ]]; then
28 | echo SUCCESS > /root/RESULT
29 | fi
30 | %end
31 |
--------------------------------------------------------------------------------
/bindtomac-onboot-bootopts-pre.ks.in:
--------------------------------------------------------------------------------
1 | %ksappend repos/default.ks
2 |
3 | %include /tmp/ksinclude
4 | %pre
5 | echo "network --device=@KSTEST_NETDEV2@ --bootproto dhcp --onboot=no --bindto=mac" >> /tmp/ksinclude
6 | %end
7 |
8 | bootloader --timeout=1
9 | zerombr
10 | clearpart --all
11 | autopart
12 |
13 | keyboard us
14 | lang en
15 | timezone America/New_York
16 | rootpw qweqwe
17 | shutdown
18 |
19 | %packages
20 | %end
21 |
22 | %post --nochroot
23 |
24 | @KSINCLUDE@ post-nochroot-lib-network.sh
25 |
26 | check_gui_configurations @KSTEST_NETDEV1@ @KSTEST_NETDEV2@
27 |
28 | %end
29 |
30 | %post
31 |
32 | @KSINCLUDE@ post-lib-network.sh
33 |
34 | check_device_config_value @KSTEST_NETDEV1@ ONBOOT yes connection autoconnect __NONE
35 | check_device_config_value @KSTEST_NETDEV2@ ONBOOT no connection autoconnect false
36 | check_device_connected @KSTEST_NETDEV1@ yes
37 | check_device_connected @KSTEST_NETDEV2@ yes
38 | check_device_config_bound_to_mac @KSTEST_NETDEV2@
39 |
40 | # No error was written to /root/RESULT file, everything is OK
41 | if [[ ! -e /root/RESULT ]]; then
42 | echo SUCCESS > /root/RESULT
43 | fi
44 | %end
45 |
--------------------------------------------------------------------------------
/bootloader-1.ks.in:
--------------------------------------------------------------------------------
1 | %ksappend repos/default.ks
2 | network --bootproto=dhcp
3 |
4 | bootloader --timeout=13 --append="anaconda_testing_option=1" --password="grub.pbkdf2.12345" --iscrypted
5 |
6 | autopart
7 | clearpart --all --initlabel
8 | zerombr
9 |
10 | keyboard us
11 | lang en
12 | timezone America/New_York
13 | rootpw qweqwe
14 | shutdown
15 |
16 | %packages
17 | %end
18 |
19 |
20 | %post
21 | # Check the timeout.
22 | grep "^GRUB_TIMEOUT=13$" /etc/default/grub
23 | if [[ $? -ne 0 ]]; then
24 | echo '*** Failed check: the timeout check' >> /root/RESULT
25 | fi
26 |
27 | # Check the extra args.
28 | grep "^GRUB_CMDLINE_LINUX=" /etc/default/grub | grep "anaconda_testing_option=1"
29 | if [[ $? -ne 0 ]]; then
30 | echo '*** Failed check: the extra options check' >> /root/RESULT
31 | fi
32 |
33 | # Check the password.
34 | grep "^GRUB2_PASSWORD=grub.pbkdf2.12345$" /boot/grub2/user.cfg
35 | if [[ $? -ne 0 ]]; then
36 | echo '*** Failed check: the password check' >> /root/RESULT
37 | fi
38 |
39 | # The test was successful.
40 | if [ ! -e /root/RESULT ]; then
41 | echo SUCCESS > /root/RESULT
42 | fi
43 | %end
44 |
--------------------------------------------------------------------------------
/bootloader-2.ks.in:
--------------------------------------------------------------------------------
1 | %ksappend repos/default.ks
2 | network --bootproto=dhcp
3 |
4 | bootloader --timeout=1 --boot-drive=vda
5 |
6 | autopart
7 | clearpart --all --initlabel
8 | zerombr
9 |
10 | keyboard us
11 | lang en
12 | timezone America/New_York
13 | rootpw qweqwe
14 | shutdown
15 |
16 | %packages
17 | %end
18 |
19 |
20 | %pre-install
21 | # Get the MBR after the partitioning.
22 | dd if=/dev/vda bs=512 count=1 of=/tmp/pre_install_mbr_content.bin
23 | %end
24 |
25 |
26 | %post --nochroot
27 | # Get the current MBR.
28 | dd if=/dev/vda bs=512 count=1 of=/tmp/current_mbr_content.bin
29 |
30 | # Check the MBR.
31 | cmp /tmp/pre_install_mbr_content.bin /tmp/current_mbr_content.bin
32 | if [[ $? -ne 1 ]]; then
33 | echo '*** Failed check: MBR was changed' >> /mnt/sysroot/root/RESULT
34 | else
35 | echo SUCCESS > /mnt/sysroot/root/RESULT
36 | fi
37 | %end
38 |
--------------------------------------------------------------------------------
/bootloader-2.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2018 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Vendula Poncova
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="bootloader storage"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/bootloader-3.ks.in:
--------------------------------------------------------------------------------
1 | %ksappend repos/default.ks
2 | network --bootproto=dhcp
3 |
4 | bootloader --timeout=1 --boot-drive=vda --nombr
5 |
6 | autopart
7 | clearpart --all
8 | zerombr
9 |
10 | keyboard us
11 | lang en
12 | timezone America/New_York
13 | rootpw qweqwe
14 | shutdown
15 |
16 | %packages
17 | %end
18 |
19 |
20 | %pre-install
21 | # Get the MBR after the partitioning.
22 | dd if=/dev/vda bs=512 count=1 of=/tmp/pre_install_mbr_content.bin
23 | %end
24 |
25 |
26 | %post --nochroot
27 | # Get the current MBR.
28 | dd if=/dev/vda bs=512 count=1 of=/tmp/current_mbr_content.bin
29 |
30 | # Check the MBR.
31 | cmp /tmp/pre_install_mbr_content.bin /tmp/current_mbr_content.bin
32 | if [[ $? -ne 0 ]]; then
33 | echo '*** Failed check: MBR was not changed' >> /mnt/sysroot/root/RESULT
34 | else
35 | echo SUCCESS > /mnt/sysroot/root/RESULT
36 | fi
37 | %end
38 |
--------------------------------------------------------------------------------
/certificate.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2025 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Radek Vykydal
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="security"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/check_for_disabled_modules.ks.in:
--------------------------------------------------------------------------------
1 | # test name: check_for_disabled_addons
2 |
3 | # Use defaults
4 | %ksappend repos/default.ks
5 | %ksappend common/common_no_payload.ks
6 | %ksappend payload/default_packages.ks
7 |
8 | %post --nochroot
9 | # Check the syslog for Addons, which should have been disabled
10 |
11 | errors=$( grep "Anaconda.Addons*" /tmp/syslog | grep -v forbidden )
12 |
13 | if [[ -n "${errors}" ]]; then
14 | echo "Addons are still enabled:" > /mnt/sysroot/root/RESULT
15 | echo "${errors}" >> /mnt/sysroot/root/RESULT
16 | else
17 | echo "SUCCESS" >> /mnt/sysroot/root/RESULT
18 | fi
19 |
20 | %end
21 |
--------------------------------------------------------------------------------
/clearpart-1.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | %ksappend repos/default.ks
3 | network --bootproto=dhcp
4 |
5 | bootloader --timeout=1
6 | clearpart --none --initlabel
7 | autopart --type lvm
8 |
9 | keyboard us
10 | lang en_US.UTF-8
11 | timezone America/New_York --utc
12 | rootpw testcase
13 | shutdown
14 |
15 | %packages
16 | %end
17 |
18 | %post
19 | echo SUCCESS > /root/RESULT
20 | %end
21 |
--------------------------------------------------------------------------------
/containers/README.md:
--------------------------------------------------------------------------------
1 | Containers for running kickstart tests.
2 |
3 | * runner - Run a kickstart test in a container.
4 | * squid.sh - Start/stop a transparent HTTP proxy. See [runner README](./runner/README.md) for details.
5 |
--------------------------------------------------------------------------------
/containers/runner/fetch_daily_iso.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | set -eux
3 |
4 | DAILY_ISO_TOKEN=$1
5 | OUTPUT_PATH=${2:-"boot.iso"}
6 |
7 | CURL="curl -u token:$(cat $DAILY_ISO_TOKEN) --show-error --fail"
8 | RESPONSE=$($CURL --silent https://api.github.com/repos/rhinstaller/kickstart-tests/actions/artifacts?name=images)
9 | ZIP=$(echo "$RESPONSE" | jq --raw-output '.artifacts[0].archive_download_url')
10 | echo "INFO: Downloading $ZIP ..."
11 | $CURL -L -o images.zip "$ZIP"
12 | unzip images.zip
13 | mv boot.iso ${OUTPUT_PATH}
14 |
--------------------------------------------------------------------------------
/containers/runner/roles/runner-host/handlers/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | - name: Reboot machine
4 | reboot:
5 | reboot_timeout: 300
6 | msg: "Reboot after kernel modules installation"
7 |
--------------------------------------------------------------------------------
/containers/runner/roles/runner-host/tasks/main.yml:
--------------------------------------------------------------------------------
1 | - name: Update all packages
2 | dnf:
3 | name: "*"
4 | state: latest
5 |
6 | - name: Install packages
7 | dnf:
8 | name: "{{ host_packages }}"
9 | state: latest
10 |
11 | - name: Install kernel-modules (reboot if updated)
12 | dnf:
13 | name: "kernel-modules"
14 | state: present
15 | notify:
16 | - Reboot machine
17 |
18 |
19 |
--------------------------------------------------------------------------------
/containers/squid-cache.conf:
--------------------------------------------------------------------------------
1 | http_port 3129 transparent
2 | cache_dir ufs /var/cache/squid 20000 16 256
3 | maximum_object_size 5 GB
4 |
--------------------------------------------------------------------------------
/containers/squid-cache.nft:
--------------------------------------------------------------------------------
1 | table ip squid-cache {
2 | chain prerouting {
3 | type nat hook prerouting priority dstnat; policy accept;
4 | tcp dport 80 redirect to :3129
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/default-desktop.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | #
3 | # Test default desktop configuration via the xconfig command.
4 | %ksappend repos/default.ks
5 |
6 | %ksappend common/common_no_payload.ks
7 | %ksappend payload/default_packages.ks
8 |
9 | xconfig --defaultdesktop GNOME
10 |
11 | %post
12 |
13 | cat /etc/sysconfig/desktop | grep GNOME
14 | if [[ $? -ne 0 ]]; then
15 | echo "*** Default desktop environment not set to GNOME" >> /root/RESULT
16 | fi
17 |
18 | %ksappend validation/success_if_result_empty.ks
19 | %end
20 |
--------------------------------------------------------------------------------
/default-fstype.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2015 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Chris Lumens
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="storage"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/default-menu-auto-hide-fedora.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | %ksappend repos/default.ks
3 |
4 | %ksappend common/common_no_payload.ks
5 | %ksappend payload/default_packages.ks
6 |
7 | %post
8 | # log grubenv file
9 | cat /boot/grub2/grubenv
10 |
11 | # check the menu_auto_hide is correctly set
12 | grep -q "menu_auto_hide=1" /boot/grub2/grubenv || \
13 | echo "*** Failed check: The menu_auto_hide is set to 1 in /boot/grub2/grubenv by default" >> /root/RESULT
14 |
15 | %ksappend validation/success_if_result_empty.ks
16 |
17 | %end
18 |
--------------------------------------------------------------------------------
/default-menu-auto-hide-rhel.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | %ksappend repos/default.ks
3 |
4 | %ksappend common/common_no_payload.ks
5 | %ksappend payload/default_packages.ks
6 |
7 | %post
8 | # log grubenv file
9 | cat /boot/grub2/grubenv
10 |
11 | # check the menu_auto_hide is correctly set
12 | grep -q "menu_auto_hide=1" /boot/grub2/grubenv || \
13 | echo "*** Failed check: The menu_auto_hide is set to 1 in /boot/grub2/grubenv by default" >> /root/RESULT
14 |
15 | %ksappend validation/success_if_result_empty.ks
16 |
17 | %end
18 |
--------------------------------------------------------------------------------
/default-systemd-target-gui-graphical-provides.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | #
3 | # Test graphical.target is set as the default systemd target if:
4 | # - the installation runs in GUI mode
5 | # - contains a package with provides == service(graphical-login).
6 |
7 | %ksappend repos/default.ks
8 |
9 | %ksappend common/common_no_payload.ks
10 |
11 | # run installation in GUI mode
12 | graphical
13 |
14 | # the gdm package provides service(graphical-login)
15 | %packages
16 | gdm
17 | %end
18 |
19 | %post
20 |
21 | systemctl get-default | grep graphical.target
22 | if [[ $? != 0 ]]; then
23 | echo "*** graphical.target should be set if package with provides == service(graphical-login) is installed" >> /root/RESULT
24 | fi
25 |
26 | %ksappend validation/success_if_result_empty.ks
27 | %end
28 |
--------------------------------------------------------------------------------
/default-systemd-target-gui.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | #
3 | # Test multi-user.target should be set by default as the default systemd target
4 | # when installation runs in GUI mode but not package with service(graphical-login)
5 | # will be installed.
6 |
7 | %ksappend repos/default.ks
8 |
9 | %ksappend common/common_no_payload.ks
10 | %ksappend payload/default_packages.ks
11 |
12 | %post
13 |
14 | systemctl get-default | grep multi-user.target
15 | if [[ $? != 0 ]]; then
16 | echo "*** multi-user.target should be set as the default systemd target" >> /root/RESULT
17 | fi
18 |
19 | %ksappend validation/success_if_result_empty.ks
20 | %end
21 |
--------------------------------------------------------------------------------
/default-systemd-target-rdp.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | #
3 | # Test multi-user.target should be set by default as the default systemd target
4 | # for remote desktop installs. While controlled remotely over RDP the installation itself runs
5 | # in text mode and should behave as such.
6 |
7 | %ksappend repos/default.ks
8 |
9 | %ksappend common/common_no_payload.ks
10 | %ksappend payload/default_packages.ks
11 |
12 | %post
13 |
14 | # the support script should run the installation in RDP mode via boot options
15 | cat /proc/cmdline | grep inst.rdp
16 | if [[ $? != 0 ]]; then
17 | echo "*** inst.rdp not used to enable remote desktop mode" >> /root/RESULT
18 | echo "*** /proc/cmdline:" >> /root/RESULT
19 | cat /proc/cmdline >> /root/RESULT
20 | fi
21 |
22 | systemctl get-default | grep multi-user.target
23 | if [[ $? != 0 ]]; then
24 | echo "*** multi-user.target should be set as the default systemd target for remote desktop (RDP) installs" >> /root/RESULT
25 | fi
26 |
27 | %ksappend validation/success_if_result_empty.ks
28 | %end
29 |
--------------------------------------------------------------------------------
/default-systemd-target-skipx.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | #
3 | # Test default systemd target is correctly set via the skipx command.
4 | %ksappend repos/default.ks
5 |
6 | %ksappend common/common_no_payload.ks
7 | %ksappend payload/default_packages.ks
8 |
9 | skipx
10 |
11 | %post
12 |
13 | systemctl get-default | grep multi-user.target
14 | if [[ $? != 0 ]]; then
15 | echo "*** multi-user.target should be set as the default systemd target" >> /root/RESULT
16 | fi
17 |
18 | %ksappend validation/success_if_result_empty.ks
19 | %end
20 |
--------------------------------------------------------------------------------
/default-systemd-target-startxonboot.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | #
3 | # Test default systemd target configuration via the xconfig --startxonboot command.
4 | %ksappend repos/default.ks
5 |
6 | %ksappend common/common_no_payload.ks
7 | %ksappend payload/default_packages.ks
8 |
9 | xconfig --startxonboot
10 |
11 | %post
12 |
13 | systemctl get-default | grep graphical.target
14 | if [[ $? != 0 ]]; then
15 | echo "*** graphical.target should be set as the default systemd target" >> /root/RESULT
16 | fi
17 |
18 | %ksappend validation/success_if_result_empty.ks
19 | %end
20 |
--------------------------------------------------------------------------------
/default-systemd-target-tui-graphical-provides.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | #
3 | # Test multi-user.target is set as the default systemd target if:
4 | # - the installation tuns in text mode
5 | # - the installation transaction contains a package which provides service(graphical-login)
6 | # Basically the text mode should override the provides.
7 |
8 | %ksappend repos/default.ks
9 |
10 | %ksappend common/common_no_payload.ks
11 |
12 | # run the installation in text mode
13 | text
14 |
15 | # the gdm package provides service(graphical-login)
16 | %packages
17 | gdm
18 | %end
19 |
20 | %post
21 |
22 | systemctl get-default | grep multi-user.target
23 | if [[ $? != 0 ]]; then
24 | echo "*** multi-user.target should be set for text installs even if package with service(graphical-login) is installed" >> /root/RESULT
25 | fi
26 |
27 | %ksappend validation/success_if_result_empty.ks
28 | %end
29 |
--------------------------------------------------------------------------------
/default-systemd-target-tui.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | #
3 | # Test multi-user.target should be set by default as the default systemd target when:
4 | # - the installation runs in text mode
5 | # - no package providing service(graphical-login) is installed
6 |
7 | %ksappend repos/default.ks
8 |
9 | %ksappend common/common_no_payload.ks
10 | %ksappend payload/default_packages.ks
11 |
12 | # run the installation in text mode
13 | text
14 |
15 | %post
16 |
17 | systemctl get-default | grep multi-user.target
18 | if [[ $? != 0 ]]; then
19 | echo "*** multi-user.target should be set as the default systemd target for text mode installations" >> /root/RESULT
20 | fi
21 |
22 | %ksappend validation/success_if_result_empty.ks
23 | %end
24 |
--------------------------------------------------------------------------------
/default-systemd-target-vnc-graphical-provides.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | #
3 | # Test multi-user.target is set as the default systemd target if:
4 | # - the installation runs in VNC mode
5 | # - the installation transaction contains a package providing service(graphical-login)
6 | # Text mode overrides the provides & for this VNC installation is considered to be
7 | # similar to textmode, as while controlled remotely over VNC, the installation run
8 | # itself runs in text mode.
9 |
10 | %ksappend repos/default.ks
11 |
12 | %ksappend common/common_no_payload.ks
13 |
14 | # run the installation in VNC mode
15 | vnc
16 |
17 | # the gdm package provides service(graphical-login)
18 | %packages
19 | gdm
20 | %end
21 |
22 | %post
23 |
24 | systemctl get-default | grep multi-user.target
25 | if [[ $? != 0 ]]; then
26 | echo "*** multi-user.target should be set for VNC installs even is package with service(graphical-login) is installed" >> /root/RESULT
27 | fi
28 |
29 | %ksappend validation/success_if_result_empty.ks
30 | %end
31 |
--------------------------------------------------------------------------------
/default-systemd-target-vnc.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | #
3 | # Test multi-user.target should be set by default as the default systemd target
4 | # for VNC installs. While controlled remotely over VNC the installation itslef runs
5 | # in text mode and should behave as such.
6 |
7 | %ksappend repos/default.ks
8 |
9 | %ksappend common/common_no_payload.ks
10 | %ksappend payload/default_packages.ks
11 |
12 | # run the installation in VNC mode
13 | vnc
14 |
15 | %post
16 |
17 | systemctl get-default | grep multi-user.target
18 | if [[ $? != 0 ]]; then
19 | echo "*** multi-user.target should be set as the default systemd target for VNC installs" >> /root/RESULT
20 | fi
21 |
22 | %ksappend validation/success_if_result_empty.ks
23 | %end
24 |
--------------------------------------------------------------------------------
/deprecated-rhel9-part2.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | %ksappend repos/default.ks
3 | network --bootproto=dhcp
4 |
5 | bootloader --timeout=1
6 | zerombr
7 | clearpart --all --initlabel
8 | autopart
9 |
10 | keyboard us
11 | lang en_US.UTF-8
12 | timezone --ntpservers ntp.example.com Europe/Prague
13 | rootpw testcase
14 | shutdown
15 |
16 | %packages
17 | %end
18 |
19 | %post --nochroot
20 | if ! $(grep -q "KickstartParseWarning: The option --ntpservers will be deprecated in future releases." /tmp/anaconda.log); then
21 | echo 'Deprecation warning is missing for timezone --ntpservers' > /mnt/sysroot/root/RESULT
22 | fi
23 | %end
24 |
25 | %post
26 | if ! $(ls -l /etc/localtime | grep -q "Europe/Prague"); then
27 | echo 'Command timezone ignored not deprecated options' > /root/RESULT
28 | fi
29 |
30 | # No error was written to /root/RESULT file, everything is OK
31 | if [[ ! -e /root/RESULT ]]; then
32 | echo SUCCESS > /root/RESULT
33 | fi
34 | %end
35 |
--------------------------------------------------------------------------------
/disklabel-default.ks.in:
--------------------------------------------------------------------------------
1 |
2 | # Use defaults.
3 | %ksappend repos/default.ks
4 | %ksappend common/common_no_payload.ks
5 | %ksappend payload/default_packages.ks
6 |
7 | %post
8 | # Log the created partitioning.
9 | lsblk
10 |
11 | # Check the partition table.
12 | dev_info="$( parted /dev/vda print )"
13 | echo "${dev_info}" | grep "Partition Table: gpt"
14 |
15 | if [[ $? != 0 ]]; then
16 | echo "*** unexpected partition table:\n${dev_info}" >> /root/RESULT
17 | fi
18 |
19 | %ksappend validation/success_if_result_empty.ks
20 | %end
21 |
--------------------------------------------------------------------------------
/disklabel-gpt.ks.in:
--------------------------------------------------------------------------------
1 |
2 | # Use defaults.
3 | %ksappend repos/default.ks
4 | %ksappend common/common_no_payload.ks
5 | %ksappend payload/default_packages.ks
6 |
7 | %post
8 | # Log the created partitioning.
9 | lsblk
10 |
11 | # Check the partition table.
12 | dev_info="$( parted /dev/vda print )"
13 | echo "${dev_info}" | grep "Partition Table: gpt"
14 |
15 | if [[ $? != 0 ]]; then
16 | echo "*** unexpected partition table:\n${dev_info}" >> /root/RESULT
17 | fi
18 |
19 | %ksappend validation/success_if_result_empty.ks
20 | %end
21 |
--------------------------------------------------------------------------------
/disklabel-mbr.ks.in:
--------------------------------------------------------------------------------
1 |
2 | # Use defaults.
3 | %ksappend repos/default.ks
4 | %ksappend common/common_no_payload.ks
5 | %ksappend payload/default_packages.ks
6 |
7 | %post
8 | # Log the created partitioning.
9 | lsblk
10 |
11 | # Check the partition table.
12 | dev_info="$( parted /dev/vda print )"
13 | echo "${dev_info}" | grep "Partition Table: msdos"
14 |
15 | if [[ $? != 0 ]]; then
16 | echo "*** unexpected partition table:\n${dev_info}" >> /root/RESULT
17 | fi
18 |
19 | %ksappend validation/success_if_result_empty.ks
20 | %end
21 |
--------------------------------------------------------------------------------
/dns.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2021 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Radek Vykydal
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="network dns"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/firewall-disable.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | #
3 | # Test that firewall can be properly disabled.
4 | %ksappend repos/default.ks
5 |
6 | %ksappend common/common_no_payload.ks
7 | %ksappend payload/default_packages.ks
8 |
9 | # disable firewall
10 | firewall --disable
11 |
12 | %post
13 | # firewalld package should be installed as long as the firewall command is present
14 | # in the input kickstart, regardless of its options
15 | rpm -q firewalld
16 | if [[ $? != 0 ]]; then
17 | echo '*** firewalld package should have been installed' >> /root/RESULT
18 | fi
19 |
20 | # The firewall --disable kickstart command gets translated into firewall-offline-cmd --disable,
21 | # which simply disables the firewalld systemd unit. So by checking if the unit is disabled,
22 | # we can check if the kickstart command works correctly.
23 | systemctl is-enabled firewalld
24 | if [[ $? -eq 0 ]]; then
25 | echo "*** firewalld.service should be disabled" >> /root/RESULT
26 | fi
27 |
28 | %ksappend validation/success_if_result_empty.ks
29 | %end
30 |
--------------------------------------------------------------------------------
/firewall-use-system-defaults.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | #
3 | # Test that firewall can be properly configured to use
4 | # system defaults. This basically means avoiding any
5 | # firewall-offline-cmd --enable/--disable calls and
6 | # simply leaving default distro provided firewall
7 | # configuration in place.
8 | %ksappend repos/default.ks
9 |
10 | %ksappend common/common_no_payload.ks
11 | %ksappend payload/default_packages.ks
12 |
13 | # disable firewall
14 | firewall --use-system-defaults
15 |
16 | %post
17 | # firewalld package should be installed as long as the firewall command is present
18 | # in the input kickstart, regardless of its options
19 | rpm -q firewalld
20 | if [[ $? != 0 ]]; then
21 | echo '*** firewalld package should have been installed' >> /root/RESULT
22 | fi
23 |
24 | # On Fedora firewall is enabled by default.
25 | systemctl is-enabled firewall
26 | if [[ $? -eq 0 ]]; then
27 | echo "*** firewall should be enabled" >> /root/RESULT
28 | fi
29 |
30 | %ksappend validation/success_if_result_empty.ks
31 | %end
32 |
--------------------------------------------------------------------------------
/fragments/platform/fedora_rawhide/payload/default_packages.ks:
--------------------------------------------------------------------------------
1 | # Default Fedora packages section (empty)
2 | %packages
3 | %end
4 |
--------------------------------------------------------------------------------
/fragments/platform/fedora_rawhide/payload/unified_packages.ks:
--------------------------------------------------------------------------------
1 | # Fedora Rawhide unified ISO created by create_dvd script [1] should contain test-rpm rpm
2 | # [1]: https://github.com/rhinstaller/devel-tools/tree/main/modify_install_iso
3 |
4 | %packages
5 | test-rpm
6 | %end
7 |
--------------------------------------------------------------------------------
/fragments/platform/fedora_rawhide/repos/default.ks:
--------------------------------------------------------------------------------
1 | # Default Fedora Rawhide repositories
2 | url --url @KSTEST_URL@
3 |
--------------------------------------------------------------------------------
/fragments/platform/fedora_rawhide/repos/https.ks:
--------------------------------------------------------------------------------
1 | # Default Fedora Rawhide repositories with https
2 | url --url=https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/$basearch/os/
3 |
--------------------------------------------------------------------------------
/fragments/platform/fedora_rawhide/repos/modular.ks:
--------------------------------------------------------------------------------
1 | # The Fedora rawhide repository with modules.
2 | # Install the repo, so DNF can use it in %post scripts.
3 | repo --name=modular --baseurl @KSTEST_MODULAR_URL@ --install --cost 0
4 |
--------------------------------------------------------------------------------
/fragments/platform/fedora_rawhide/repos/unified-nfs.ks:
--------------------------------------------------------------------------------
1 | # Unified ISO for Rawhide served on NFS server
2 | nfs --server NFS_SERVER --dir NFS_DIR
3 |
--------------------------------------------------------------------------------
/fragments/platform/fedora_rawhide/repos/unified.ks:
--------------------------------------------------------------------------------
1 | # Unified ISO for Rawhide served on http server
2 | url UNIFIED_ISO_URL_GOES_HERE
3 |
--------------------------------------------------------------------------------
/fragments/platform/fedora_rawhide/section-data/hello-world.ks:
--------------------------------------------------------------------------------
1 | # Create a variable in the %pre section with a link to the archived repository of Hello Word.
2 | # The curl tool will download this archive and unpack it in the system.
3 | ADDON_SOURCE="https://github.com/rhinstaller/hello-world-anaconda-addon/archive/main.tar.gz"
4 |
--------------------------------------------------------------------------------
/fragments/platform/fedora_rawhide/section-data/server-dvd-link.ks:
--------------------------------------------------------------------------------
1 | # Create a variable in the pre/post section with link to a Fedora rawhide server DVD.
2 | # The curl tool will download this ISO and it will be processed later in the section.
3 | #_LINK="http://ftp.tu-chemnitz.de/pub/linux/fedora/linux/development/rawhide/Server/x86_64/iso"
4 | REPO_URL=@KSTEST_URL@
5 | _LINK=${REPO_URL%Everything/x86_64/os/}Server/x86_64/iso/
6 | ISO_LOCATION="$(curl -L $_LINK | grep -Po "Fedora-Server-dvd-x86_64-.*?.iso" | head -n 1)"
7 | ISO_LOCATION="${_LINK}/${ISO_LOCATION}"
8 |
9 | echo $ISO_LOCATION
10 |
--------------------------------------------------------------------------------
/fragments/platform/fedora_rawhide/section-data/unified-iso.ks:
--------------------------------------------------------------------------------
1 | # Create a variable in the pre/post section with link to a Rawhide unified ISO
2 | # The curl tool will download this ISO and it will be processed later in the section.
3 | ISO_LOCATION=
4 |
--------------------------------------------------------------------------------
/fragments/platform/fedora_rawhide/storage/ostreecontainer_autopart.ks:
--------------------------------------------------------------------------------
1 | # Default storage configuration with lvm type enforced for Fedora
2 | zerombr
3 | clearpart --all
4 | autopart --type=lvm
5 |
--------------------------------------------------------------------------------
/fragments/platform/fedora_rawhide/storage/ostreecontainer_autopart_encrypted.ks:
--------------------------------------------------------------------------------
1 | # Default storage configuration with LUKS and lvm type enforced
2 | zerombr
3 | clearpart --all
4 | autopart --encrypted --passphrase=passphrase --type=lvm
5 |
--------------------------------------------------------------------------------
/fragments/platform/fedora_rawhide/timezone/ntp_disabled.ks:
--------------------------------------------------------------------------------
1 | # Set up the timezone.
2 | timezone --utc Europe/Prague
3 |
4 | # Disable NTP.
5 | timesource --ntp-disable
6 |
--------------------------------------------------------------------------------
/fragments/platform/fedora_rawhide/timezone/ntp_enabled.ks:
--------------------------------------------------------------------------------
1 | # Set up the timezone.
2 | timezone --utc Europe/Prague
3 |
4 | # Enable NTP.
5 | timesource --ntp-server ntp.cesnet.cz
6 |
--------------------------------------------------------------------------------
/fragments/platform/fedora_rawhide/validation/unified.ks:
--------------------------------------------------------------------------------
1 | # Validate installed packages on Fedora rawhide system.
2 |
3 | # Check that the test package was correctly installed.
4 | if ! rpm -q test-rpm ; then
5 | echo '*** test-rpm package was not installed!' >> /root/RESULT
6 | fi
7 |
--------------------------------------------------------------------------------
/fragments/platform/rhel10/payload/default_packages.ks:
--------------------------------------------------------------------------------
1 | # Default RHEL10 packages section (empty)
2 | %packages
3 | %end
4 |
--------------------------------------------------------------------------------
/fragments/platform/rhel10/payload/python_crypt_packages.ks:
--------------------------------------------------------------------------------
1 | %packages
2 | python3
3 | %end
4 |
--------------------------------------------------------------------------------
/fragments/platform/rhel10/payload/unified_packages.ks:
--------------------------------------------------------------------------------
1 | # RHEL 10 packages section from unified DVD.
2 | # The unified DVD should contain under one link both BaseOS and AppStream so install AppStream specific package.
3 |
4 | %packages
5 | # Anaconda package is part of the AppStream repository. It is not contained in the BaseOS.
6 | anaconda
7 | %end
8 |
--------------------------------------------------------------------------------
/fragments/platform/rhel10/repos/default.ks:
--------------------------------------------------------------------------------
1 | # Default RHEL10 repositories - BeseOS + AppStream or unified repo can be used
2 | url --url @KSTEST_URL@
3 | repo --name=appstream --baseurl @KSTEST_MODULAR_URL@
4 |
--------------------------------------------------------------------------------
/fragments/platform/rhel10/repos/unified-nfs.ks:
--------------------------------------------------------------------------------
1 | # Unified ISO for RHEL-10 served on NFS server
2 | nfs --server NFS_SERVER --dir NFS_DIR
3 |
--------------------------------------------------------------------------------
/fragments/platform/rhel10/repos/unified.ks:
--------------------------------------------------------------------------------
1 | # Unified ISO for RHEL 10 served on http server
2 | # BaseOS and AppStream repositories should be loaded automatically from the unified repo
3 | url RHEL10_UNIFIED_REPO_URL_GOES_HERE
4 |
--------------------------------------------------------------------------------
/fragments/platform/rhel10/section-data/hello-world.ks:
--------------------------------------------------------------------------------
1 | # Create a variable in the %pre section with a link to the archived repository of Hello Word.
2 | # The curl tool will download this archive and unpack it in the system.
3 | ADDON_SOURCE="https://github.com/rhinstaller/hello-world-anaconda-addon/archive/main.tar.gz"
4 |
--------------------------------------------------------------------------------
/fragments/platform/rhel10/section-data/server-dvd-link.ks:
--------------------------------------------------------------------------------
1 | # Create a variable in the pre/post section with link to a RHEL DVD.
2 | # The curl tool will download this ISO and it will be processed later in the section.
3 | #_LINK=
4 | REPO_URL=@KSTEST_URL@
5 | _LINK=${REPO_URL%os/}iso/
6 | ISO_LOCATION="$(curl -L $_LINK | grep -Po "RHEL-10.*?-x86_64-dvd1.iso" | head -n 1)"
7 | ISO_LOCATION="${_LINK}/${ISO_LOCATION}"
8 |
9 | echo $ISO_LOCATION
10 |
--------------------------------------------------------------------------------
/fragments/platform/rhel10/section-data/unified-iso.ks:
--------------------------------------------------------------------------------
1 | # Create a variable in the pre/post section with link to a RHEL-10 unified ISO
2 | # The curl tool will download this ISO and it will be processed later in the section.
3 | ISO_LOCATION=
4 |
--------------------------------------------------------------------------------
/fragments/platform/rhel10/timezone/ntp_disabled.ks:
--------------------------------------------------------------------------------
1 | # Set up the timezone.
2 | timezone --utc Europe/Prague
3 |
4 | # Disable NTP.
5 | timesource --ntp-disable
6 |
--------------------------------------------------------------------------------
/fragments/platform/rhel10/timezone/ntp_enabled.ks:
--------------------------------------------------------------------------------
1 | # Set up the timezone.
2 | timezone --utc Europe/Prague
3 |
4 | # Enable NTP.
5 | timesource --ntp-server ntp.cesnet.cz
6 |
--------------------------------------------------------------------------------
/fragments/platform/rhel10/validation/unified.ks:
--------------------------------------------------------------------------------
1 | # Validate installed packages on RHEL 10 system.
2 |
3 | # Check that the anaconda package was correctly installed.
4 | if ! rpm -q anaconda ; then
5 | echo '*** anaconda package was not installed!' >> /root/RESULT
6 | fi
7 |
--------------------------------------------------------------------------------
/fragments/platform/rhel8/payload/default_packages.ks:
--------------------------------------------------------------------------------
1 | # Default RHEL8 packages section (empty)
2 | %packages
3 | %end
4 |
--------------------------------------------------------------------------------
/fragments/platform/rhel8/payload/packages_instlangs_1.ks:
--------------------------------------------------------------------------------
1 | # Only install the en_US locale
2 | %packages --instLangs=en_US
3 | %end
4 |
--------------------------------------------------------------------------------
/fragments/platform/rhel8/payload/packages_instlangs_2.ks:
--------------------------------------------------------------------------------
1 | # Install no locales
2 | %packages --instLangs=
3 | %end
4 |
--------------------------------------------------------------------------------
/fragments/platform/rhel8/payload/packages_instlangs_3.ks:
--------------------------------------------------------------------------------
1 | # Install a short list of languages
2 | # Use ones with translations in blivet to make them easy to find.
3 | # Add glibc-all-langpacks to install locale data separately from
4 | # lang --addsupport.
5 | %packages --instLangs=es:fr:it
6 | python3-blivet
7 | glibc-all-langpacks
8 | %end
9 |
--------------------------------------------------------------------------------
/fragments/platform/rhel8/payload/packages_weakdeps.ks:
--------------------------------------------------------------------------------
1 | # Install gnupg2 and make sure the packages it recommends are skipped
2 | %packages --excludeWeakdeps
3 | gnupg2
4 | %end
5 |
--------------------------------------------------------------------------------
/fragments/platform/rhel8/payload/python_crypt_packages.ks:
--------------------------------------------------------------------------------
1 | %packages
2 | python3
3 | %end
4 |
--------------------------------------------------------------------------------
/fragments/platform/rhel8/payload/unified_packages.ks:
--------------------------------------------------------------------------------
1 | # RHEL 8 packages section from unified DVD.
2 | # The unified DVD should contain under one link both BaseOS and AppStream so install AppStream specific package.
3 |
4 | %packages
5 | # Anaconda package is part of the AppStream repository. It is not contained in the BaseOS.
6 | anaconda
7 | %end
8 |
--------------------------------------------------------------------------------
/fragments/platform/rhel8/repos/default.ks:
--------------------------------------------------------------------------------
1 | # Default RHEL8 repositories - BeseOS + AppStream or unified repo can be used
2 | url --url @KSTEST_URL@
3 | repo --name=appstream --baseurl @KSTEST_MODULAR_URL@
4 |
--------------------------------------------------------------------------------
/fragments/platform/rhel8/repos/unified-nfs.ks:
--------------------------------------------------------------------------------
1 | # Unified ISO for RHEL-8 served on NFS server
2 | nfs --server NFS_SERVER --dir NFS_DIR
3 |
--------------------------------------------------------------------------------
/fragments/platform/rhel8/repos/unified.ks:
--------------------------------------------------------------------------------
1 | # Unified ISO for RHEL 8 served on http server
2 | # BaseOS and AppStream repositories should be loaded automatically from the unified repo
3 | url RHEL8_UNIFIED_REPO_URL_GOES_HERE
4 |
--------------------------------------------------------------------------------
/fragments/platform/rhel8/section-data/hello-world.ks:
--------------------------------------------------------------------------------
1 | # Create a variable in the %pre section with a link to the archived repository of Hello Word.
2 | # The curl tool will download this archive and unpack it in the system.
3 | ADDON_SOURCE="https://github.com/rhinstaller/hello-world-anaconda-addon/archive/rhel-8.tar.gz"
4 |
--------------------------------------------------------------------------------
/fragments/platform/rhel8/section-data/server-dvd-link.ks:
--------------------------------------------------------------------------------
1 | # Create a variable in the pre/post section with link to a RHEL DVD.
2 | # The curl tool will download this ISO and it will be processed later in the section.
3 | #_LINK=
4 | REPO_URL=@KSTEST_URL@
5 | _LINK=${REPO_URL%os/}iso/
6 | ISO_LOCATION="$(curl -L $_LINK | grep -Po "RHEL-8.*?-x86_64-dvd1.iso" | head -n 1)"
7 | ISO_LOCATION="${_LINK}/${ISO_LOCATION}"
8 |
9 | echo $ISO_LOCATION
10 |
--------------------------------------------------------------------------------
/fragments/platform/rhel8/section-data/unified-iso.ks:
--------------------------------------------------------------------------------
1 | # Create a variable in the pre/post section with link to a RHEL-8 unified ISO
2 | # The curl tool will download this ISO and it will be processed later in the section.
3 | ISO_LOCATION=
4 |
--------------------------------------------------------------------------------
/fragments/platform/rhel8/storage/raid_biosboot.ks:
--------------------------------------------------------------------------------
1 | # biosboot partition not required as RHEL 8 uses MBR by default
2 |
--------------------------------------------------------------------------------
/fragments/platform/rhel8/timezone/ntp_disabled.ks:
--------------------------------------------------------------------------------
1 | # Set up the timezone and disable NTP.
2 | timezone --utc --nontp Europe/Prague
3 |
--------------------------------------------------------------------------------
/fragments/platform/rhel8/timezone/ntp_enabled.ks:
--------------------------------------------------------------------------------
1 | # Set up the timezone and enable NTP.
2 | timezone --utc --ntpservers=ntp.cesnet.cz Europe/Prague
3 |
--------------------------------------------------------------------------------
/fragments/platform/rhel8/validation/unified.ks:
--------------------------------------------------------------------------------
1 | # Validate installed packages on RHEL 8 system.
2 |
3 | # Check that the anaconda package was correctly installed.
4 | if ! rpm -q anaconda ; then
5 | echo '*** anaconda package was not installed!' >> /root/RESULT
6 | fi
7 |
--------------------------------------------------------------------------------
/fragments/platform/rhel9/payload/default_packages.ks:
--------------------------------------------------------------------------------
1 | # Default RHEL9 packages section (empty)
2 | %packages
3 | %end
4 |
--------------------------------------------------------------------------------
/fragments/platform/rhel9/payload/python_crypt_packages.ks:
--------------------------------------------------------------------------------
1 | %packages
2 | python3
3 | %end
4 |
--------------------------------------------------------------------------------
/fragments/platform/rhel9/payload/unified_packages.ks:
--------------------------------------------------------------------------------
1 | # RHEL 9 packages section from unified DVD.
2 | # The unified DVD should contain under one link both BaseOS and AppStream so install AppStream specific package.
3 |
4 | %packages
5 | # Anaconda package is part of the AppStream repository. It is not contained in the BaseOS.
6 | anaconda
7 | %end
8 |
--------------------------------------------------------------------------------
/fragments/platform/rhel9/repos/default.ks:
--------------------------------------------------------------------------------
1 | # Default RHEL9 repositories - BeseOS + AppStream or unified repo can be used
2 | url --url @KSTEST_URL@
3 | repo --name=appstream --baseurl @KSTEST_MODULAR_URL@
4 |
--------------------------------------------------------------------------------
/fragments/platform/rhel9/repos/unified-nfs.ks:
--------------------------------------------------------------------------------
1 | # Unified ISO for RHEL-9 served on NFS server
2 | nfs --server NFS_SERVER --dir NFS_DIR
3 |
--------------------------------------------------------------------------------
/fragments/platform/rhel9/repos/unified.ks:
--------------------------------------------------------------------------------
1 | # Unified ISO for RHEL 9 served on http server
2 | # BaseOS and AppStream repositories should be loaded automatically from the unified repo
3 | url RHEL9_UNIFIED_REPO_URL_GOES_HERE
4 |
--------------------------------------------------------------------------------
/fragments/platform/rhel9/section-data/hello-world.ks:
--------------------------------------------------------------------------------
1 | # Create a variable in the %pre section with a link to the archived repository of Hello Word.
2 | # The curl tool will download this archive and unpack it in the system.
3 | ADDON_SOURCE="https://github.com/rhinstaller/hello-world-anaconda-addon/archive/main.tar.gz"
4 |
--------------------------------------------------------------------------------
/fragments/platform/rhel9/section-data/server-dvd-link.ks:
--------------------------------------------------------------------------------
1 | # Create a variable in the pre/post section with link to a RHEL DVD.
2 | # The curl tool will download this ISO and it will be processed later in the section.
3 | #_LINK=
4 | REPO_URL=@KSTEST_URL@
5 | _LINK=${REPO_URL%os/}iso/
6 | ISO_LOCATION="$(curl -L $_LINK | grep -Po "RHEL-9.*?-x86_64-dvd1.iso" | head -n 1)"
7 | ISO_LOCATION="${_LINK}/${ISO_LOCATION}"
8 |
9 | echo $ISO_LOCATION
10 |
--------------------------------------------------------------------------------
/fragments/platform/rhel9/section-data/unified-iso.ks:
--------------------------------------------------------------------------------
1 | # Create a variable in the pre/post section with link to a RHEL-9 unified ISO
2 | # The curl tool will download this ISO and it will be processed later in the section.
3 | ISO_LOCATION=
4 |
--------------------------------------------------------------------------------
/fragments/platform/rhel9/storage/raid_biosboot.ks:
--------------------------------------------------------------------------------
1 | # biosboot partition not required as RHEL 9 uses MBR by default
2 |
--------------------------------------------------------------------------------
/fragments/platform/rhel9/timezone/ntp_disabled.ks:
--------------------------------------------------------------------------------
1 | # Set up the timezone.
2 | timezone --utc Europe/Prague
3 |
4 | # Disable NTP.
5 | timesource --ntp-disable
6 |
--------------------------------------------------------------------------------
/fragments/platform/rhel9/timezone/ntp_enabled.ks:
--------------------------------------------------------------------------------
1 | # Set up the timezone.
2 | timezone --utc Europe/Prague
3 |
4 | # Enable NTP.
5 | timesource --ntp-server ntp.cesnet.cz
6 |
--------------------------------------------------------------------------------
/fragments/platform/rhel9/validation/unified.ks:
--------------------------------------------------------------------------------
1 | # Validate installed packages on RHEL 9 system.
2 |
3 | # Check that the anaconda package was correctly installed.
4 | if ! rpm -q anaconda ; then
5 | echo '*** anaconda package was not installed!' >> /root/RESULT
6 | fi
7 |
--------------------------------------------------------------------------------
/fragments/shared/bootloader/default.ks:
--------------------------------------------------------------------------------
1 | # Default bootloader configuration
2 | bootloader --timeout=1
3 |
--------------------------------------------------------------------------------
/fragments/shared/common/common.ks:
--------------------------------------------------------------------------------
1 | # Commands needed by most kickstart tests to run correctly
2 | shutdown
3 |
--------------------------------------------------------------------------------
/fragments/shared/common/common_no_payload.ks:
--------------------------------------------------------------------------------
1 | ## common commands without payload configuration ##
2 | shutdown
3 | # network
4 | network --bootproto=dhcp
5 | # storage & bootloader
6 | bootloader --timeout=1
7 | zerombr
8 | clearpart --all
9 | autopart
10 | # l10n
11 | keyboard us
12 | lang en
13 | timezone America/New_York
14 | # user confguration
15 | rootpw testcase
16 | ## common commands without payload configuration - end ##
17 |
--------------------------------------------------------------------------------
/fragments/shared/common/common_no_storage_and_payload.ks:
--------------------------------------------------------------------------------
1 | ## common commands without payload and storage configuration ##
2 | shutdown
3 | # network
4 | network --bootproto=dhcp
5 | # bootloader
6 | bootloader --timeout=1
7 | # l10n
8 | keyboard us
9 | lang en
10 | timezone America/New_York
11 | # user confguration
12 | rootpw testcase
13 | ## common commands without payload and storage configuration - end ##
14 |
--------------------------------------------------------------------------------
/fragments/shared/l10n/default.ks:
--------------------------------------------------------------------------------
1 | # Default l10n configuration
2 | keyboard us
3 | lang en_US.UTF-8
4 | timezone America/New_York --utc
5 |
--------------------------------------------------------------------------------
/fragments/shared/network/default.ks:
--------------------------------------------------------------------------------
1 | # Default network configuration
2 | network --bootproto=dhcp
3 |
--------------------------------------------------------------------------------
/fragments/shared/payload/default_packages.ks:
--------------------------------------------------------------------------------
1 | # Default package selection
2 | %packages
3 | %end
4 |
--------------------------------------------------------------------------------
/fragments/shared/payload/packages_instlangs_1.ks:
--------------------------------------------------------------------------------
1 | # Only install the en_US locale
2 | %packages --inst-langs=en_US
3 | %end
4 |
--------------------------------------------------------------------------------
/fragments/shared/payload/packages_instlangs_2.ks:
--------------------------------------------------------------------------------
1 | # Install no locales
2 | %packages --inst-langs=
3 | %end
4 |
--------------------------------------------------------------------------------
/fragments/shared/payload/packages_instlangs_3.ks:
--------------------------------------------------------------------------------
1 | # Install a short list of languages
2 | # Use ones with translations in blivet to make them easy to find.
3 | # Add glibc-all-langpacks to install locale data separately from
4 | # lang --addsupport.
5 | %packages --inst-langs=es:fr:it
6 | python3-blivet
7 | glibc-all-langpacks
8 | %end
9 |
--------------------------------------------------------------------------------
/fragments/shared/payload/packages_weakdeps.ks:
--------------------------------------------------------------------------------
1 | # Install gnupg2 and make sure the packages it recommends are skipped
2 | %packages --exclude-weakdeps
3 | gnupg2
4 | %end
5 |
--------------------------------------------------------------------------------
/fragments/shared/payload/python_crypt_packages.ks:
--------------------------------------------------------------------------------
1 | %packages
2 | python3
3 | python3-crypt-r
4 | %end
5 |
--------------------------------------------------------------------------------
/fragments/shared/storage/default.ks:
--------------------------------------------------------------------------------
1 | # Default storage configuration
2 | zerombr
3 | clearpart --all
4 | autopart
5 |
--------------------------------------------------------------------------------
/fragments/shared/storage/ostreecontainer_autopart.ks:
--------------------------------------------------------------------------------
1 | # Default storage configuration
2 | zerombr
3 | clearpart --all
4 | autopart
5 |
--------------------------------------------------------------------------------
/fragments/shared/storage/ostreecontainer_autopart_encrypted.ks:
--------------------------------------------------------------------------------
1 | # Default storage configuration with LUKS
2 | zerombr
3 | clearpart --all
4 | autopart --encrypted --passphrase=passphrase
5 |
--------------------------------------------------------------------------------
/fragments/shared/storage/raid_biosboot.ks:
--------------------------------------------------------------------------------
1 | # Required for GPT scheme
2 | part biosboot --fstype=biosboot --size=1 --ondisk=vda
3 | part biosboot --fstype=biosboot --size=1 --ondisk=vdb
4 |
--------------------------------------------------------------------------------
/fragments/shared/users/default.ks:
--------------------------------------------------------------------------------
1 | # Default user configuration
2 | rootpw testcase
3 |
--------------------------------------------------------------------------------
/fragments/shared/users/python3_check_root_locked.ks:
--------------------------------------------------------------------------------
1 | # check root account is locked
2 | %post --interpreter=/usr/bin/python3
3 |
4 | errors = []
5 |
6 | # Test that the root password is what we expect it to be
7 | with open("/etc/shadow", "r") as f:
8 | for line in f:
9 | if line.startswith("root:"):
10 | shadow_fields = line.strip().split(":")
11 | break
12 | else:
13 | errors.append("Unable to find root password")
14 |
15 | if shadow_fields[1][0] != "!":
16 | error.append("Root password is not locked: %s" % shadow_fields[1])
17 |
18 | # write errors, if any, to RESULT file
19 | if errors:
20 | with open("/root/RESULT", "wt") as result:
21 | for e in errors:
22 | result.write(e + "\n")
23 | %end
24 |
25 |
--------------------------------------------------------------------------------
/fragments/shared/users/user.ks:
--------------------------------------------------------------------------------
1 | # Simple user configuration
2 | user --name=user1 --homedir=/home/user1 --password="user1_password" --plaintext
3 |
--------------------------------------------------------------------------------
/fragments/shared/validation/success_if_result_empty.ks:
--------------------------------------------------------------------------------
1 | # Report success if no errors have been reported to /root/RESULT
2 | if [ ! -f /root/RESULT ]
3 | then
4 | # no result file (no errors) -> success
5 | echo SUCCESS > /root/RESULT
6 | else
7 | # some errors happened
8 | exit 1
9 | fi
10 |
--------------------------------------------------------------------------------
/fragments/shared/validation/success_if_result_empty_standalone.ks:
--------------------------------------------------------------------------------
1 | # Report success if no errors have been reported to /root/RESULT
2 | %post
3 | if [ ! -f /root/RESULT ]
4 | then
5 | # no result file (no errors) -> success
6 | echo SUCCESS > /root/RESULT
7 | else
8 | # some errors happened
9 | exit 1
10 | fi
11 | %end
12 |
--------------------------------------------------------------------------------
/groups-and-envs-1.ks.in:
--------------------------------------------------------------------------------
1 | #
2 | # Check that groups and an environment can both be installed.
3 |
4 | %ksappend repos/default.ks
5 | %ksappend common/common_no_payload.ks
6 |
7 | %packages
8 | @core
9 | @c-development
10 | @^cloud-server-environment
11 | %end
12 |
13 | %post
14 | # We don't have a way of determining if a group/env is installed or not.
15 | # These sentinel packages will have to do.
16 | rpm -q fedora-release-cloud
17 | if [[ $? != 0 ]]; then
18 | echo '*** cloud-server-environment was not installed' > /root/RESULT
19 | else
20 | rpm -q gcc
21 | if [[ $? != 0 ]]; then
22 | echo '*** c-development was not installed' > /root/RESULT
23 | else
24 | echo SUCCESS > /root/RESULT
25 | fi
26 | fi
27 | %end
28 |
--------------------------------------------------------------------------------
/groups-and-envs-3.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | #
3 | # Check that default environment is installed correctly.
4 |
5 | %ksappend repos/default.ks
6 | %ksappend common/common_no_payload.ks
7 |
8 | %packages
9 | @container-management
10 | @core
11 | @domain-client
12 | @hardware-support
13 | @headless-management
14 | @server-product
15 | @standard
16 | %end
17 |
18 | %post
19 | rpm -q fedora-release-server
20 | if [ $? -eq 0 ]; then
21 | echo SUCCESS > /root/RESULT
22 | else
23 | echo '*** Fedora Server default environment was not installed' > /root/RESULT
24 | fi
25 | %end
26 |
--------------------------------------------------------------------------------
/groups-ignoremissing.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | #
3 | # what we are testing there:
4 | # - that missing groups are ignored if --ignoremissing is used
5 | # - that such an installation finishes successfully
6 |
7 | %ksappend repos/default.ks
8 | %ksappend common/common_no_payload.ks
9 |
10 | %packages --ignoremissing
11 | @fake-group-name
12 | %end
13 |
14 | %post
15 | # If we made it this far, assume it's a success
16 | echo SUCCESS > /root/RESULT
17 | %end
18 |
--------------------------------------------------------------------------------
/harddrive-iso-single.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 |
3 | # This test is for testing the install from an harddrive ks command with ISO
4 | # using single disk (RHEL-35701).
5 | #
6 | # Server dvd is downloaded during the test execution. This test can be resource demanding!
7 | #
8 | %ksappend common/common_no_storage_and_payload.ks
9 |
10 | zerombr
11 | clearpart --all --initlabel --drives=/dev/vda
12 | autopart
13 |
14 | harddrive --partition=/dev/vda1 --dir=/
15 |
16 | %ksappend payload/default_packages.ks
17 |
18 | %pre
19 | # Include helpful functions.
20 | @KSINCLUDE@ pre-lib-harddrive.sh
21 |
22 | # This will add ISO_LOCATION with link to an ISO
23 | %ksappend section-data/server-dvd-link.ks
24 |
25 | # Where we want to download the ISO?
26 | DISK="/dev/vda"
27 |
28 | # Prepare storage for the source
29 | format_single_partition "${DISK}" 12GiB
30 |
31 | # Download and mount the ISO.
32 | prepare_iso "${ISO_LOCATION}" "${DISK}1"
33 | %end
34 |
35 | %post
36 | %ksappend validation/success_if_result_empty.ks
37 | %end
38 |
--------------------------------------------------------------------------------
/hmc.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 |
3 | # This test is for testing the install method hmc.
4 | #
5 | # This install method can be used only on s390x with SE/HMC, so to be able
6 | # to test it, we use fake scripts, that will mount DVD the usual way instead.
7 | # This test requires a full DVD ISO, so it is marked as a known failure.
8 |
9 | # Enable hmc in a kickstart file or use inst.repo=hmc.
10 | hmc
11 |
12 | network --bootproto=dhcp
13 |
14 | bootloader --timeout=1
15 | zerombr
16 | clearpart --all --initlabel
17 | autopart
18 |
19 | keyboard us
20 | lang en
21 | timezone America/New_York
22 | rootpw qweqwe
23 | shutdown
24 |
25 | %packages
26 | @core
27 | %end
28 |
29 | %pre
30 |
31 | # Create the fake /usr/sbin/lshmc
32 | cat > /usr/sbin/lshmc <<__EOT__
33 | #!/bin/bash
34 | # This is a fake script for testing HMC.
35 | exit 0
36 | __EOT__
37 |
38 | chmod +x /usr/sbin/lshmc
39 |
40 | # Create the fake /usr/bin/hmcdrvfs $repodir
41 | cat > /usr/bin/hmcdrvfs <<__EOT__
42 | #!/bin/bash
43 | # This is a fake script for testing HMC.
44 | mount /dev/cdrom \$1
45 | exit 0
46 | __EOT__
47 |
48 | chmod +x /usr/bin/hmcdrvfs
49 |
50 | %end
51 |
52 | %post
53 | echo SUCCESS > /root/RESULT
54 | %end
55 |
--------------------------------------------------------------------------------
/hostname-bootopts.ks.in:
--------------------------------------------------------------------------------
1 | # rhbz#1441337
2 | %ksappend repos/default.ks
3 |
4 | bootloader --timeout=1
5 | zerombr
6 | clearpart --all
7 | autopart
8 |
9 | keyboard us
10 | lang en
11 | timezone America/New_York
12 | rootpw qweqwe
13 | shutdown
14 |
15 | %packages
16 | %end
17 |
18 | %post
19 |
20 | @KSINCLUDE@ post-lib-network.sh
21 |
22 | check_hostname testhostname.example.com
23 |
24 | # No error was written to /root/RESULT file, everything is OK
25 | if [[ ! -e /root/RESULT ]]; then
26 | echo SUCCESS > /root/RESULT
27 | fi
28 | %end
29 |
--------------------------------------------------------------------------------
/hostname.ks.in:
--------------------------------------------------------------------------------
1 | %ksappend repos/default.ks
2 | network --bootproto=dhcp
3 | # Set hostname for testing
4 | network --hostname=testhostname.example.com
5 |
6 | bootloader --timeout=1
7 | zerombr
8 | clearpart --all
9 | autopart
10 |
11 | keyboard us
12 | lang en
13 | timezone America/New_York
14 | rootpw qweqwe
15 | shutdown
16 |
17 | %packages
18 | %end
19 |
20 | %post
21 |
22 | @KSINCLUDE@ post-lib-network.sh
23 |
24 | check_hostname testhostname.example.com
25 |
26 | # No error was written to /root/RESULT file, everything is OK
27 | if [[ ! -e /root/RESULT ]]; then
28 | echo SUCCESS > /root/RESULT
29 | fi
30 | %end
31 |
--------------------------------------------------------------------------------
/hostname.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2015 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Chris Lumens
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="network coverage"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/https-repo.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | #
3 | # Test that https:// repositories work as expected. Most tests run with http to
4 | # be able to squid-cache the downloads.
5 |
6 | # Use defaults.
7 | %ksappend repos/default.ks
8 | %ksappend common/common_no_payload.ks
9 | %ksappend payload/default_packages.ks
10 |
11 | %post
12 | # (1) No http:// Fedora repo sources
13 | if out=$(grep -r 'http://.*\.fedoraproject' /etc/yum.repos.d/); then
14 | echo "*** Found Fedora http repo: $out" > /root/RESULT
15 | exit 1
16 | fi
17 |
18 | # (2) Should have at least the default https:// repo source
19 | if ! grep -r 'https://.*\.fedoraproject' /etc/yum.repos.d/; then
20 | echo '*** Did not find https default Fedora repo' > /root/RESULT
21 | exit 1
22 | fi
23 |
24 | %ksappend validation/success_if_result_empty.ks
25 |
26 | %end
27 |
--------------------------------------------------------------------------------
/ibft.ks.in:
--------------------------------------------------------------------------------
1 |
2 | %ksappend repos/default.ks
3 |
4 | bootloader --timeout=1
5 | zerombr
6 | clearpart --all
7 | autopart
8 |
9 | keyboard us
10 | lang en
11 | timezone America/New_York
12 | rootpw qweqwe
13 | shutdown
14 |
15 | %packages
16 | %end
17 |
18 | %post
19 | # No error was written to /root/RESULT file, everything is OK
20 | if [[ ! -e /root/RESULT ]]; then
21 | echo SUCCESS > /root/RESULT
22 | fi
23 | %end
24 |
--------------------------------------------------------------------------------
/iscsi.ks.in:
--------------------------------------------------------------------------------
1 |
2 | %ksappend repos/default.ks
3 |
4 | iscsiname @KSTEST_ISCSINAME@
5 | iscsi --ipaddr @KSTEST_ISCSI_IP@ --port @KSTEST_ISCSI_PORT@ --target @KSTEST_ISCSI_TARGET@
6 |
7 | bootloader --timeout=1
8 | zerombr
9 | clearpart --all
10 | autopart
11 |
12 | # for non-offload iSCSI /boot can be on iSCSI only when using iBFT,
13 | # so put it to local disk
14 | #reqpart
15 | #part /boot --size=500 --ondisk=vda
16 | #part / --size=5000 --ondisk=vdb --grow
17 | #part swap --size=1000 --ondisk=vdb
18 |
19 | keyboard us
20 | lang en
21 | timezone America/New_York
22 | rootpw qweqwe
23 | shutdown
24 |
25 | %packages
26 | %end
27 |
28 | %post --nochroot
29 |
30 | SYSROOT=/mnt/sysroot
31 |
32 | function check_iscsi_session_nochroot() {
33 | local transport="$1"
34 | local target="$2"
35 |
36 | iscsiadm -m session | egrep -q '^'${transport}':.*'${target}
37 | if [[ $? -ne 0 ]]; then
38 | echo "*** Failed check: ${target} session using ${transport} exists" >> $SYSROOT/root/RESULT
39 | fi
40 | }
41 |
42 | check_iscsi_session_nochroot tcp @KSTEST_ISCSI_TARGET@
43 |
44 | %end
45 |
46 | %post
47 | # No error was written to /root/RESULT file, everything is OK
48 | if [[ ! -e /root/RESULT ]]; then
49 | echo SUCCESS > /root/RESULT
50 | fi
51 | %end
52 |
--------------------------------------------------------------------------------
/keyboard-bootopt-only.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | # Test setting keyboard from boot options (no kickstart command)
3 | %ksappend repos/default.ks
4 | network --bootproto=dhcp
5 |
6 | bootloader --timeout=1
7 | zerombr
8 | clearpart --all --initlabel
9 | autopart
10 |
11 | lang cs_CZ.UTF-8
12 | timezone America/New_York --utc
13 | rootpw testcase
14 | shutdown
15 |
16 | %packages
17 | @core
18 | %end
19 |
20 | %post --nochroot
21 |
22 | @KSINCLUDE@ post-nochroot-lib-keyboard.sh
23 |
24 | check_current_vc_keymap fr yes
25 | check_current_x11_layouts fr yes
26 |
27 | %end
28 |
29 | %post
30 |
31 | @KSINCLUDE@ post-lib-keyboard.sh
32 |
33 | check_vc_keymap_config fr yes
34 | check_x11_layouts_config fr yes
35 |
36 | # No error was written to /root/RESULT file, everything is OK
37 | if [[ ! -e /root/RESULT ]]; then
38 | echo SUCCESS > /root/RESULT
39 | fi
40 | %end
41 |
--------------------------------------------------------------------------------
/keyboard-convert-vc.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | # Test that conversion from --vckeymap option to x layouts is performed correctly
3 | %ksappend repos/default.ks
4 | network --bootproto=dhcp
5 |
6 | bootloader --timeout=1
7 | zerombr
8 | clearpart --all --initlabel
9 | autopart
10 |
11 | keyboard --vckeymap=fr
12 | lang cs_CZ.UTF-8
13 | timezone America/New_York --utc
14 | rootpw testcase
15 | shutdown
16 |
17 | %packages
18 | @core
19 | %end
20 |
21 | %post --nochroot
22 |
23 | @KSINCLUDE@ post-nochroot-lib-keyboard.sh
24 |
25 | check_current_vc_keymap fr yes
26 | check_current_x11_layouts fr yes
27 |
28 | %end
29 |
30 | %post
31 |
32 | @KSINCLUDE@ post-lib-keyboard.sh
33 |
34 | check_vc_keymap_config fr yes
35 | check_x11_layouts_config fr yes
36 |
37 | # No error was written to /root/RESULT file, everything is OK
38 | if [[ ! -e /root/RESULT ]]; then
39 | echo SUCCESS > /root/RESULT
40 | fi
41 | %end
42 |
--------------------------------------------------------------------------------
/keyboard-convert-x-override-bootopt.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | # Test conversion from x layouts to vc keymap and overriding of boot option by
3 | # kickstart command
4 | %ksappend repos/default.ks
5 | network --bootproto=dhcp
6 |
7 | bootloader --timeout=1
8 | zerombr
9 | clearpart --all --initlabel
10 | autopart
11 |
12 | keyboard --xlayouts='cz (qwerty)' --switch=grp:alt_shift_toggle
13 | lang cs_CZ.UTF-8
14 | timezone America/New_York --utc
15 | rootpw testcase
16 | shutdown
17 |
18 | %packages
19 | @core
20 | %end
21 |
22 | %post --nochroot
23 |
24 | @KSINCLUDE@ post-nochroot-lib-keyboard.sh
25 |
26 | check_current_vc_keymap cz-qwerty yes
27 | check_current_x11_layouts cz yes
28 | check_current_x11_variants qwerty yes
29 | check_current_x11_options grp:alt_shift_toggle yes
30 |
31 | %end
32 |
33 | %post
34 |
35 | @KSINCLUDE@ post-lib-keyboard.sh
36 |
37 | check_vc_keymap_config cz-qwerty yes
38 | check_x11_layouts_config cz yes
39 | check_x11_variants_config qwerty yes
40 | check_x11_options_config grp:alt_shift_toggle yes
41 |
42 | # No error was written to /root/RESULT file, everything is OK
43 | if [[ ! -e /root/RESULT ]]; then
44 | echo SUCCESS > /root/RESULT
45 | fi
46 | %end
47 |
--------------------------------------------------------------------------------
/keyboard-generic-argument.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | # Test handling of keyboard command generid argument (conversion to vc keymap
3 | # and x layouts)
4 | %ksappend repos/default.ks
5 | network --bootproto=dhcp
6 |
7 | bootloader --timeout=1
8 | zerombr
9 | clearpart --all --initlabel
10 | autopart
11 |
12 | keyboard fr
13 | lang cs_CZ.UTF-8
14 | timezone America/New_York --utc
15 | rootpw testcase
16 | shutdown
17 |
18 | %packages
19 | @core
20 | %end
21 |
22 | %post --nochroot
23 |
24 | @KSINCLUDE@ post-nochroot-lib-keyboard.sh
25 |
26 | check_current_vc_keymap fr yes
27 | check_current_x11_layouts fr yes
28 |
29 | %end
30 |
31 | %post
32 |
33 | @KSINCLUDE@ post-lib-keyboard.sh
34 |
35 | check_vc_keymap_config fr yes
36 | check_x11_layouts_config fr yes
37 |
38 | # No error was written to /root/RESULT file, everything is OK
39 | if [[ ! -e /root/RESULT ]]; then
40 | echo SUCCESS > /root/RESULT
41 | fi
42 | %end
43 |
--------------------------------------------------------------------------------
/keyboard.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | %ksappend repos/default.ks
3 | network --bootproto=dhcp
4 |
5 | bootloader --timeout=1
6 | zerombr
7 | clearpart --all --initlabel
8 | autopart
9 |
10 | keyboard --xlayouts='cz (qwerty),us (euro)' --vckeymap=us --switch=grp:alt_shift_toggle
11 | lang cs_CZ.UTF-8
12 | timezone America/New_York --utc
13 | rootpw testcase
14 | shutdown
15 |
16 | %packages
17 | @core
18 | %end
19 |
20 | %post --nochroot
21 |
22 | @KSINCLUDE@ post-nochroot-lib-keyboard.sh
23 |
24 | check_current_vc_keymap us yes
25 | check_current_x11_layouts cz,us yes
26 | check_current_x11_variants qwerty,euro yes
27 | check_current_x11_options grp:alt_shift_toggle yes
28 |
29 | %end
30 |
31 | %post
32 |
33 | @KSINCLUDE@ post-lib-keyboard.sh
34 |
35 | check_vc_keymap_config us yes
36 | check_x11_layouts_config cz,us yes
37 | check_x11_variants_config qwerty,euro yes
38 | check_x11_options_config grp:alt_shift_toggle yes
39 |
40 | # No error was written to /root/RESULT file, everything is OK
41 | if [[ ! -e /root/RESULT ]]; then
42 | echo SUCCESS > /root/RESULT
43 | fi
44 | %end
45 |
--------------------------------------------------------------------------------
/ks-include-post.ks:
--------------------------------------------------------------------------------
1 | %post
2 | # If this is being run, it's a success
3 | echo SUCCESS > /root/RESULT
4 | %end
5 |
--------------------------------------------------------------------------------
/ks-include.ks.in:
--------------------------------------------------------------------------------
1 | %ksappend repos/default.ks
2 | network --bootproto=dhcp
3 |
4 | bootloader --timeout=1
5 | zerombr
6 | clearpart --all
7 | autopart
8 |
9 | keyboard us
10 | lang en
11 | timezone America/New_York
12 | rootpw qweqwe
13 | shutdown
14 |
15 | %packages
16 | %end
17 |
18 | # Include a kickstart that contains %post
19 | %include KS-TEST-INCLUDE
20 |
--------------------------------------------------------------------------------
/lang.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | %ksappend repos/default.ks
3 | network --bootproto=dhcp
4 |
5 | bootloader --timeout=1
6 | zerombr
7 | clearpart --all --initlabel
8 | autopart
9 |
10 | keyboard us
11 | lang cs_CZ.UTF-8 --addsupport=ru_RU
12 | timezone America/New_York --utc
13 | rootpw testcase
14 | shutdown
15 |
16 | %packages
17 | @core
18 | %end
19 |
20 | %post
21 | LANG="cs_CZ.UTF-8"
22 |
23 | INSTLANG=`cat /etc/locale.conf | awk -F\" '{ print $2 }'`
24 |
25 | if [[ "$INSTLANG" != "$LANG" ]]; then
26 | echo '*** specified language was not set' >> /root/RESULT
27 | fi
28 |
29 | # Check that the langpacks metapackages were installed
30 | if ! rpm -q langpacks-cs langpacks-ru ; then
31 | echo '*** langpacks packages were not installed' >> /root/RESULT
32 | fi
33 |
34 | if [[ ! -e /root/RESULT ]]; then
35 | echo SUCCESS > /root/RESULT
36 | fi
37 | %end
38 |
--------------------------------------------------------------------------------
/lang.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2015 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Chris Lumens
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="language i18n coverage"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/liveimg.ks.in:
--------------------------------------------------------------------------------
1 | liveimg --url=@KSTEST_LIVEIMG_URL@ --checksum=@KSTEST_LIVEIMG_CHECKSUM@
2 |
3 | network --bootproto=dhcp
4 |
5 | bootloader --timeout=1
6 | zerombr
7 |
8 | clearpart --all --initlabel
9 | autopart
10 |
11 | keyboard us
12 | lang en
13 | timezone America/New_York
14 |
15 | rootpw qweqwe
16 | shutdown
17 |
18 | %post
19 | if [[ ! -e /etc/passwd ]]; then
20 | echo "*** liveimg installation failed ***" > /root/RESULT
21 | fi
22 |
23 | # Final check
24 | if [[ ! -e /root/RESULT ]]; then
25 | echo SUCCESS > /root/RESULT
26 | fi
27 | %end
28 |
--------------------------------------------------------------------------------
/log-util-check.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | #test name: efi-log
3 | %ksappend repos/default.ks
4 |
5 | %ksappend common/common_no_payload.ks
6 |
7 | %packages
8 | @core
9 | %end
10 |
11 | %post --nochroot
12 |
13 | @KSINCLUDE@ log-util-tests.sh
14 |
15 | check_log_util_exist
16 | check_log_util_runs
17 | check_log_util_produces_log_archive
18 |
19 | %end
20 |
21 | # No error was written to /root/RESULT file, everything is OK
22 | %ksappend validation/success_if_result_empty_standalone.ks
23 |
24 |
--------------------------------------------------------------------------------
/log-util-check.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2024 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Paweł Poławski
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="logs"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/log-util-tests.sh:
--------------------------------------------------------------------------------
1 | SYSROOT=/mnt/sysroot
2 | RESULT_FILE=${SYSROOT}/root/RESULT
3 |
4 | # Check if log util can be called
5 | function check_log_util_exist() {
6 | if [ ! -f /usr/libexec/anaconda/log-capture ]; then
7 | echo "*** log-capture util does not exist" >> ${RESULT_FILE}
8 | fi
9 | }
10 |
11 | # Check if log utils runs without failure
12 | function check_log_util_runs() {
13 | local exit_code=0
14 | local ret_code=0
15 |
16 | # Trigger the log util
17 | /usr/libexec/anaconda/log-capture
18 | ret_code=$?
19 |
20 | if [[ ${ret_code} -ne ${exit_code} ]]; then
21 | echo "*** log-capture util failed with code: ${ret_code}" >> ${RESULT_FILE}
22 | fi
23 | }
24 |
25 | # Check if log utils produces log tarbal
26 | function check_log_util_produces_log_archive() {
27 | # Trigger the log util
28 | /usr/libexec/anaconda/log-capture
29 |
30 | if [ ! -f /tmp/log-capture.tar.bz2 ]; then
31 | echo "*** log-capture util does not produced log archive" >> ${RESULT_FILE}
32 | fi
33 | }
34 |
--------------------------------------------------------------------------------
/lvm-1.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2015 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Chris Lumens
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="lvm storage coverage"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/lvm-2.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2015 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Chris Lumens
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="lvm storage"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/lvm-luks-3.ks.in:
--------------------------------------------------------------------------------
1 |
2 | %ksappend repos/default.ks
3 | network --bootproto=dhcp
4 |
5 | bootloader --timeout=1
6 | zerombr
7 | clearpart --all --initlabel
8 |
9 | # Test LUKS 2 with pbkdf2 and the --pbkdf-time option.
10 |
11 | reqpart
12 | part /boot --fstype="ext4" --size=1024
13 | part pv.1 --fstype="lvmpv" --size=8915
14 |
15 | volgroup fedora pv.1
16 |
17 | logvol / --name=root --vgname=fedora --fstype="ext4" --grow --size=1024 --encrypted --passphrase="passphrase" --luks-version=luks2 --pbkdf=pbkdf2 --pbkdf-time=10
18 | logvol swap --name=swap --vgname=fedora --fstype="swap" --size=1023
19 |
20 | keyboard us
21 | lang en
22 | timezone America/New_York
23 | rootpw qweqwe
24 | shutdown
25 |
26 | %packages
27 | %end
28 |
29 | %post
30 |
31 | # Set the crypted device.
32 | crypted="/dev/mapper/fedora-root"
33 |
34 | # Check the PBKDF of the LUKS device.
35 | result="$(cryptsetup luksDump ${crypted} | awk '{ if ($1 == "PBKDF:") print $2; }' )"
36 |
37 | if [[ "$result" != "pbkdf2" ]] ; then
38 | echo "*** unexpected PBKDF for ${crypted}: ${result}" >> /root/RESULT
39 | fi
40 |
41 | # The test was successful.
42 | if [ ! -e /root/RESULT ]; then
43 | echo SUCCESS > /root/RESULT
44 | fi
45 |
46 | %end
47 |
--------------------------------------------------------------------------------
/lvm-thinp-2.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2015 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Chris Lumens
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="lvm storage"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/module-ignoremissing.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | #
3 | # what we are testing there:
4 | # - that missing modules are ignored if --ignoremissing is used
5 | # - that such an installation finishes successfully
6 |
7 | %ksappend repos/default.ks
8 | %ksappend common/common_no_payload.ks
9 |
10 | %packages --ignoremissing
11 | @fake-module:fakestream/fakeprofile
12 | %end
13 |
14 | %post
15 | # If we made it this far, assume it's a success
16 | echo SUCCESS > /root/RESULT
17 | %end
18 |
--------------------------------------------------------------------------------
/network-bootopts-noautodefault.ks.in:
--------------------------------------------------------------------------------
1 | #Test option to disable default autoconnections
2 |
3 | # Use defaults, but no network that could activate the other device
4 | # because of device --link
5 | %ksappend common/common.ks
6 | %ksappend repos/default.ks
7 | %ksappend l10n/default.ks
8 | %ksappend users/default.ks
9 | %ksappend storage/default.ks
10 | %ksappend payload/default_packages.ks
11 |
12 | %post
13 |
14 | @KSINCLUDE@ post-lib-network.sh
15 |
16 | check_device_connected @KSTEST_NETDEV1@ yes
17 | check_device_connected @KSTEST_NETDEV2@ no
18 |
19 | %ksappend validation/success_if_result_empty.ks
20 | %end
21 |
22 |
--------------------------------------------------------------------------------
/network-bootopts-static-legacy-httpks.ks.in:
--------------------------------------------------------------------------------
1 | # Testing legacy boot options (rhel6). Works on RHEL 7, doesn't work on Fedora 26
2 | %ksappend repos/default.ks
3 |
4 | # We need a device with dns configured for repo
5 | network --device=@KSTEST_NETDEV2@ --bootproto dhcp
6 |
7 | bootloader --timeout=1
8 | zerombr
9 | clearpart --all
10 | autopart
11 |
12 | keyboard us
13 | lang en
14 | timezone America/New_York
15 | rootpw qweqwe
16 | shutdown
17 |
18 | %packages
19 | %end
20 |
21 | %post --nochroot
22 |
23 | @KSINCLUDE@ post-nochroot-lib-network.sh
24 |
25 | check_gui_configurations @KSTEST_NETDEV1@ @KSTEST_NETDEV2@
26 |
27 | %end
28 |
29 | %post
30 |
31 | @KSINCLUDE@ post-lib-network.sh
32 |
33 | check_device_connected @KSTEST_NETDEV1@ yes
34 | check_device_config_value @KSTEST_NETDEV1@ IPADDR @KSTEST_STATIC_IP@ ipv4 address1 @KSTEST_STATIC_IP@/24,@KSTEST_STATIC_GATEWAY@
35 | check_device_ipv4_address @KSTEST_NETDEV1@ @KSTEST_STATIC_IP@
36 | check_device_connected @KSTEST_NETDEV2@ yes
37 |
38 | # No error was written to /root/RESULT file, everything is OK
39 | if [[ ! -e /root/RESULT ]]; then
40 | echo SUCCESS > /root/RESULT
41 | fi
42 | %end
43 |
--------------------------------------------------------------------------------
/network-device-bootif-httpks.ks.in:
--------------------------------------------------------------------------------
1 | %ksappend repos/default.ks
2 |
3 | network --device=bootif --bootproto=dhcp --ipv6=2001:cafe:cafe::1/64
4 |
5 | bootloader --timeout=1
6 | zerombr
7 | clearpart --all
8 | autopart
9 |
10 | keyboard us
11 | lang en
12 | timezone America/New_York
13 | rootpw qweqwe
14 | shutdown
15 |
16 | %packages
17 | %end
18 |
19 | %post
20 |
21 | @KSINCLUDE@ post-lib-network.sh
22 |
23 | check_device_connected @KSTEST_NETDEV1@ yes
24 | check_device_connected @KSTEST_NETDEV2@ yes
25 | check_device_config_value @KSTEST_NETDEV2@ IPV6ADDR 2001:cafe:cafe::1/64 ipv6 address1 2001:cafe:cafe::1/64
26 |
27 | # No error was written to /root/RESULT file, everything is OK
28 | if [[ ! -e /root/RESULT ]]; then
29 | echo SUCCESS > /root/RESULT
30 | fi
31 | %end
32 |
--------------------------------------------------------------------------------
/network-device-default-httpks.ks.in:
--------------------------------------------------------------------------------
1 | %ksappend repos/default.ks
2 |
3 | network --bootproto=dhcp --ipv6=2001:cafe:cafe::1/64
4 |
5 | bootloader --timeout=1
6 | zerombr
7 | clearpart --all
8 | autopart
9 |
10 | keyboard us
11 | lang en
12 | timezone America/New_York
13 | rootpw qweqwe
14 | shutdown
15 |
16 | %packages
17 | %end
18 |
19 | %post --nochroot
20 |
21 | @KSINCLUDE@ post-nochroot-lib-network.sh
22 |
23 | check_gui_configurations @KSTEST_NETDEV1@
24 |
25 | %end
26 |
27 | %post
28 |
29 | @KSINCLUDE@ post-lib-network.sh
30 |
31 | check_device_config_value @KSTEST_NETDEV1@ IPV6ADDR 2001:cafe:cafe::1/64 ipv6 address1 2001:cafe:cafe::1/64
32 |
33 | # No error was written to /root/RESULT file, everything is OK
34 | if [[ ! -e /root/RESULT ]]; then
35 | echo SUCCESS > /root/RESULT
36 | fi
37 | %end
38 |
--------------------------------------------------------------------------------
/network-device-default-ksdevice-httpks.ks.in:
--------------------------------------------------------------------------------
1 | #NOTE: as this test is a "-httpks" the kickstart should be really applied
2 | # in initrafs (config files created by parse-kickstart). The code actually
3 | # ignores the command without --device specified (and no ksdevice set),
4 | # but it will be applied in anaconda.
5 | %ksappend repos/default.ks
6 |
7 | network --bootproto=dhcp --ipv6=2001:cafe:cafe::1/64
8 |
9 | bootloader --timeout=1
10 | zerombr
11 | clearpart --all
12 | autopart
13 |
14 | keyboard us
15 | lang en
16 | timezone America/New_York
17 | rootpw qweqwe
18 | shutdown
19 |
20 | %packages
21 | %end
22 |
23 | %post --nochroot
24 |
25 | @KSINCLUDE@ post-nochroot-lib-network.sh
26 |
27 | check_gui_configurations @KSTEST_NETDEV1@ @KSTEST_NETDEV2@
28 |
29 | %end
30 |
31 | %post
32 |
33 | @KSINCLUDE@ post-lib-network.sh
34 |
35 | check_device_config_value @KSTEST_NETDEV2@ IPV6ADDR 2001:cafe:cafe::1/64 ipv6 address1 2001:cafe:cafe::1/64
36 |
37 | # No error was written to /root/RESULT file, everything is OK
38 | if [[ ! -e /root/RESULT ]]; then
39 | echo SUCCESS > /root/RESULT
40 | fi
41 | %end
42 |
--------------------------------------------------------------------------------
/network-device-default-ksdevice-pre.ks.in:
--------------------------------------------------------------------------------
1 | #NOTE: as this test is a "-httpks" the kickstart should be really applied
2 | # in initrafs (config files created by parse-kickstart). The code actually
3 | # ignores the command without --device specified (and no ksdevice set),
4 | # but it will be applied in anaconda.
5 | %ksappend repos/default.ks
6 |
7 | %include /tmp/ksinclude
8 | %pre
9 | echo "network --ipv6=2001:cafe:cafe::1/64" >> /tmp/ksinclude
10 | %end
11 |
12 | bootloader --timeout=1
13 | zerombr
14 | clearpart --all
15 | autopart
16 |
17 | keyboard us
18 | lang en
19 | timezone America/New_York
20 | rootpw qweqwe
21 | shutdown
22 |
23 | %packages
24 | %end
25 |
26 | %post --nochroot
27 |
28 | @KSINCLUDE@ post-nochroot-lib-network.sh
29 |
30 | check_gui_configurations @KSTEST_NETDEV1@ @KSTEST_NETDEV2@
31 |
32 | %end
33 |
34 | %post
35 |
36 | @KSINCLUDE@ post-lib-network.sh
37 |
38 | check_device_config_value @KSTEST_NETDEV2@ IPV6ADDR 2001:cafe:cafe::1/64 ipv6 address1 2001:cafe:cafe::1/64
39 |
40 | # No error was written to /root/RESULT file, everything is OK
41 | if [[ ! -e /root/RESULT ]]; then
42 | echo SUCCESS > /root/RESULT
43 | fi
44 | %end
45 |
--------------------------------------------------------------------------------
/network-device-default-pre-hostname.ks.in:
--------------------------------------------------------------------------------
1 | # rhbz#1272274
2 | %ksappend repos/default.ks
3 |
4 | %include /tmp/ksinclude
5 | %pre
6 | echo "network --ipv6=2001:cafe:cafe::1" >> /tmp/ksinclude
7 | # Following command should not reconfigure default --device with defaults for network
8 | # device configuration (--ipv6=auto in this case). It should just configure the hostname.
9 | echo "network --hostname=dont.apply.to.default.device" >> /tmp/ksinclude
10 | %end
11 |
12 |
13 | bootloader --timeout=1
14 | zerombr
15 | clearpart --all
16 | autopart
17 |
18 | keyboard us
19 | lang en
20 | timezone America/New_York
21 | rootpw qweqwe
22 | shutdown
23 |
24 | %packages
25 | %end
26 |
27 | %post --nochroot
28 |
29 | @KSINCLUDE@ post-nochroot-lib-network.sh
30 |
31 | check_gui_configurations @KSTEST_NETDEV1@
32 |
33 | %end
34 |
35 | %post
36 |
37 | @KSINCLUDE@ post-lib-network.sh
38 |
39 | check_device_config_value @KSTEST_NETDEV1@ IPV6_AUTOCONF no ipv6 method manual
40 |
41 | # No error was written to /root/RESULT file, everything is OK
42 | if [[ ! -e /root/RESULT ]]; then
43 | echo SUCCESS > /root/RESULT
44 | fi
45 | %end
46 |
--------------------------------------------------------------------------------
/network-device-default.ks.in:
--------------------------------------------------------------------------------
1 | %ksappend repos/default.ks
2 |
3 | network --bootproto=dhcp --ipv6=2001:cafe:cafe::1/64
4 |
5 | bootloader --timeout=1
6 | zerombr
7 | clearpart --all
8 | autopart
9 |
10 | keyboard us
11 | lang en
12 | timezone America/New_York
13 | rootpw qweqwe
14 | shutdown
15 |
16 | %packages
17 | %end
18 |
19 | %post --nochroot
20 |
21 | @KSINCLUDE@ post-nochroot-lib-network.sh
22 |
23 | check_gui_configurations @KSTEST_NETDEV1@
24 |
25 | %end
26 |
27 | %post
28 |
29 | @KSINCLUDE@ post-lib-network.sh
30 |
31 | check_device_config_value @KSTEST_NETDEV1@ IPV6ADDR 2001:cafe:cafe::1/64 ipv6 address1 2001:cafe:cafe::1/64
32 |
33 | # No error was written to /root/RESULT file, everything is OK
34 | if [[ ! -e /root/RESULT ]]; then
35 | echo SUCCESS > /root/RESULT
36 | fi
37 | %end
38 |
--------------------------------------------------------------------------------
/network-device-mac-httpks.ks.in:
--------------------------------------------------------------------------------
1 | %ksappend repos/default.ks
2 |
3 | network --bootproto=dhcp --device=52:54:00:12:34:57
4 | network --bootproto=dhcp --device=52:54:00:12:34:58 --activate
5 |
6 | bootloader --timeout=1
7 | zerombr
8 | clearpart --all
9 | autopart
10 |
11 | keyboard us
12 | lang en
13 | timezone America/New_York
14 | rootpw qweqwe
15 | shutdown
16 |
17 | %packages
18 | %end
19 |
20 | %post
21 |
22 | @KSINCLUDE@ post-lib-network.sh
23 |
24 | # --device= is used to specify the interface, not to bind the
25 | # connection to the MAC address
26 | check_device_config_value @KSTEST_NETDEV1@ HWADDR __NONE ethernet mac-address __NONE
27 | check_config_exists @KSTEST_NETDEV1@-1 no
28 | check_device_connected @KSTEST_NETDEV1@ yes
29 |
30 | check_device_config_value @KSTEST_NETDEV2@ HWADDR __NONE ethernet mac-address __NONE
31 | check_config_exists @KSTEST_NETDEV2@-1 no
32 | check_device_connected @KSTEST_NETDEV2@ yes
33 |
34 | # No error was written to /root/RESULT file, everything is OK
35 | if [[ ! -e /root/RESULT ]]; then
36 | echo SUCCESS > /root/RESULT
37 | fi
38 | %end
39 |
--------------------------------------------------------------------------------
/network-device-mac-pre.ks.in:
--------------------------------------------------------------------------------
1 | %ksappend repos/default.ks
2 |
3 | %include /tmp/ksinclude
4 | %pre
5 | echo "network --bootproto=dhcp --device=52:54:00:12:34:59" >> /tmp/ksinclude
6 | echo "network --bootproto=dhcp --device=52:54:00:12:34:44 --activate" >> /tmp/ksinclude
7 | %end
8 |
9 | bootloader --timeout=1
10 | zerombr
11 | clearpart --all
12 | autopart
13 |
14 | keyboard us
15 | lang en
16 | timezone America/New_York
17 | rootpw qweqwe
18 | shutdown
19 |
20 | %packages
21 | %end
22 |
23 | %post
24 |
25 | @KSINCLUDE@ post-lib-network.sh
26 |
27 | # --device= is used to specify the interface, not to bind the
28 | # connection to the MAC address
29 | check_device_config_value @KSTEST_NETDEV1@ HWADDR __NONE ethernet mac-address __NONE
30 | check_config_exists @KSTEST_NETDEV1@-1 no
31 | check_device_connected @KSTEST_NETDEV1@ yes
32 |
33 | check_device_config_value @KSTEST_NETDEV2@ HWADDR __NONE ethernet mac-address __NONE
34 | check_config_exists @KSTEST_NETDEV2@-1 no
35 | check_device_connected @KSTEST_NETDEV2@ yes
36 |
37 | # No error was written to /root/RESULT file, everything is OK
38 | if [[ ! -e /root/RESULT ]]; then
39 | echo SUCCESS > /root/RESULT
40 | fi
41 | %end
42 |
--------------------------------------------------------------------------------
/network-device-names.cfg:
--------------------------------------------------------------------------------
1 | # This file defines the expected network device names.
2 | # The naming scheme used in the testing VM (slot vs path based) can depend on
3 | # what os detects the virt-install based on the volume id of the installer boot
4 | # iso.
5 |
6 | NETDEV_PREFIX="enp"
7 | NETDEV_SUFFIX="s0"
8 | export KSTEST_NETDEV1=${NETDEV_PREFIX}1${NETDEV_SUFFIX}
9 | export KSTEST_NETDEV2=${NETDEV_PREFIX}2${NETDEV_SUFFIX}
10 | export KSTEST_NETDEV3=${NETDEV_PREFIX}3${NETDEV_SUFFIX}
11 | export KSTEST_NETDEV4=${NETDEV_PREFIX}4${NETDEV_SUFFIX}
12 | export KSTEST_NETDEV5=${NETDEV_PREFIX}5${NETDEV_SUFFIX}
13 | export KSTEST_NETDEV6=${NETDEV_PREFIX}6${NETDEV_SUFFIX}
14 |
--------------------------------------------------------------------------------
/network-static-httpks.ks.in:
--------------------------------------------------------------------------------
1 | %ksappend repos/default.ks
2 | network --device=@KSTEST_NETDEV2@ --bootproto static --ip @KSTEST_STATIC_IP@ --netmask @KSTEST_STATIC_NETMASK@ --gateway @KSTEST_STATIC_GATEWAY@ --onboot=no
3 |
4 | bootloader --timeout=1
5 | zerombr
6 | clearpart --all
7 | autopart
8 |
9 | keyboard us
10 | lang en
11 | timezone America/New_York
12 | rootpw qweqwe
13 | shutdown
14 |
15 | %packages
16 | %end
17 |
18 | %post --nochroot
19 |
20 | @KSINCLUDE@ post-nochroot-lib-network.sh
21 |
22 | check_gui_configurations @KSTEST_NETDEV1@ @KSTEST_NETDEV2@
23 |
24 | %end
25 |
26 | %post
27 |
28 | @KSINCLUDE@ post-lib-network.sh
29 |
30 | check_device_config_value @KSTEST_NETDEV2@ IPADDR @KSTEST_STATIC_IP@ ipv4 address1 @KSTEST_STATIC_IP@/24
31 | check_device_config_value @KSTEST_NETDEV2@ GATEWAY @KSTEST_STATIC_GATEWAY@ ipv4 gateway @KSTEST_STATIC_GATEWAY@
32 | check_device_config_value @KSTEST_NETDEV2@ ONBOOT no connection autoconnect false
33 | check_device_connected @KSTEST_NETDEV1@ yes
34 | check_device_connected @KSTEST_NETDEV2@ yes
35 | check_device_ipv4_address @KSTEST_NETDEV2@ @KSTEST_STATIC_IP@
36 |
37 | # No error was written to /root/RESULT file, everything is OK
38 | if [[ ! -e /root/RESULT ]]; then
39 | echo SUCCESS > /root/RESULT
40 | fi
41 | %end
42 |
--------------------------------------------------------------------------------
/network-static-to-dhcp-pre-single.ks.in:
--------------------------------------------------------------------------------
1 | # rhbz#1432886
2 | %ksappend repos/default.ks
3 | %include /tmp/ksinclude
4 | %pre
5 | echo "network --device=@KSTEST_NETDEV1@ --bootproto dhcp --activate" >> /tmp/ksinclude
6 | %end
7 |
8 |
9 | bootloader --timeout=1
10 | zerombr
11 | clearpart --all
12 | autopart
13 |
14 | keyboard us
15 | lang en
16 | timezone America/New_York
17 | rootpw qweqwe
18 | shutdown
19 |
20 | %packages
21 | %end
22 |
23 | %post --nochroot
24 |
25 | @KSINCLUDE@ post-nochroot-lib-network.sh
26 |
27 | check_gui_configurations @KSTEST_NETDEV1@
28 |
29 | %end
30 |
31 | %post
32 |
33 | @KSINCLUDE@ post-lib-network.sh
34 |
35 | check_device_connected @KSTEST_NETDEV1@ yes
36 | check_device_config_value @KSTEST_NETDEV1@ IPADDR __NONE ipv4 method auto
37 | check_device_config_value @KSTEST_NETDEV1@ PREFIX __NONE ipv4 method auto
38 | check_device_config_value @KSTEST_NETDEV1@ NETMASK __NONE ipv4 method auto
39 | check_device_config_value @KSTEST_NETDEV1@ GATEWAY __NONE ipv4 method auto
40 | check_device_connected @KSTEST_NETDEV1@ yes
41 | check_number_of_device_ipv4_addresses @KSTEST_NETDEV1@ 1
42 |
43 | # No error was written to /root/RESULT file, everything is OK
44 | if [[ ! -e /root/RESULT ]]; then
45 | echo SUCCESS > /root/RESULT
46 | fi
47 | %end
48 |
--------------------------------------------------------------------------------
/network-static.ks.in:
--------------------------------------------------------------------------------
1 | %ksappend repos/default.ks
2 | network --device=@KSTEST_NETDEV2@ --bootproto static --ip @KSTEST_STATIC_IP@ --netmask @KSTEST_STATIC_NETMASK@ --gateway @KSTEST_STATIC_GATEWAY@ --onboot=no
3 |
4 | bootloader --timeout=1
5 | zerombr
6 | clearpart --all
7 | autopart
8 |
9 | keyboard us
10 | lang en
11 | timezone America/New_York
12 | rootpw qweqwe
13 | shutdown
14 |
15 | %packages
16 | %end
17 |
18 | %post --nochroot
19 |
20 | @KSINCLUDE@ post-nochroot-lib-network.sh
21 |
22 | check_gui_configurations @KSTEST_NETDEV1@ @KSTEST_NETDEV2@
23 |
24 | %end
25 |
26 | %post
27 |
28 | @KSINCLUDE@ post-lib-network.sh
29 |
30 | check_device_config_value @KSTEST_NETDEV2@ IPADDR @KSTEST_STATIC_IP@ ipv4 address1 @KSTEST_STATIC_IP@/24
31 | check_device_config_value @KSTEST_NETDEV2@ GATEWAY @KSTEST_STATIC_GATEWAY@ ipv4 gateway @KSTEST_STATIC_GATEWAY@
32 | check_device_config_value @KSTEST_NETDEV2@ ONBOOT no connection autoconnect false
33 | check_device_connected @KSTEST_NETDEV1@ yes
34 | check_device_connected @KSTEST_NETDEV2@ yes
35 | check_device_ipv4_address @KSTEST_NETDEV2@ @KSTEST_STATIC_IP@
36 |
37 | # No error was written to /root/RESULT file, everything is OK
38 | if [[ ! -e /root/RESULT ]]; then
39 | echo SUCCESS > /root/RESULT
40 | fi
41 | %end
42 |
--------------------------------------------------------------------------------
/nfs.ks.in:
--------------------------------------------------------------------------------
1 | nfs --server=@KSTEST_NFS_SERVER@ --dir=@KSTEST_NFS_PATH@
2 | network --bootproto=dhcp
3 |
4 | bootloader --timeout=1
5 | zerombr
6 | clearpart --all
7 | autopart
8 |
9 | keyboard us
10 | lang en
11 | timezone America/New_York
12 | rootpw qweqwe
13 | shutdown
14 |
15 | %packages
16 | %end
17 |
18 | %post
19 | if [[ ! -e /root/RESULT ]]; then
20 | echo SUCCESS > /root/RESULT
21 | fi
22 | %end
23 |
--------------------------------------------------------------------------------
/nosave-1.ks.in:
--------------------------------------------------------------------------------
1 | %ksappend repos/default.ks
2 | network --bootproto=dhcp
3 |
4 | bootloader --timeout=1
5 | zerombr
6 | clearpart --all --initlabel
7 | autopart
8 |
9 | keyboard us
10 | lang en
11 | timezone America/New_York
12 | rootpw qweqwe
13 | shutdown
14 |
15 | %packages
16 | %end
17 |
18 | %post
19 | echo SUCCESS > /root/RESULT
20 | %end
21 |
--------------------------------------------------------------------------------
/nosave-2.ks.in:
--------------------------------------------------------------------------------
1 | %ksappend repos/default.ks
2 | network --bootproto=dhcp
3 |
4 | bootloader --timeout=1
5 | zerombr
6 | clearpart --all --initlabel
7 | autopart
8 |
9 | keyboard us
10 | lang en
11 | timezone America/New_York
12 | rootpw qweqwe
13 | shutdown
14 |
15 | %packages
16 | %end
17 |
18 | %post
19 | echo SUCCESS > /root/RESULT
20 | %end
21 |
--------------------------------------------------------------------------------
/nosave-3.ks.in:
--------------------------------------------------------------------------------
1 | %ksappend repos/default.ks
2 | network --bootproto=dhcp
3 |
4 | bootloader --timeout=1
5 | zerombr
6 | clearpart --all --initlabel
7 | autopart
8 |
9 | keyboard us
10 | lang en
11 | timezone America/New_York
12 | rootpw qweqwe
13 | shutdown
14 |
15 | %packages
16 | %end
17 |
18 | %post
19 | echo SUCCESS > /root/RESULT
20 | %end
21 |
--------------------------------------------------------------------------------
/ntp-nontp-without-chrony-gui.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | %ksappend repos/default.ks
3 | network --bootproto=dhcp
4 |
5 | # test timezone in GUI mode with NTP disabled and no chrony
6 | %ksappend timezone/ntp_disabled.ks
7 | graphical
8 |
9 | bootloader --timeout=1
10 | zerombr
11 | clearpart --all --initlabel
12 | autopart
13 |
14 | keyboard us
15 | lang en_US.UTF-8
16 | rootpw testcase
17 | shutdown
18 |
19 | %packages
20 | -chrony
21 | %end
22 |
23 | %post
24 | if [ -e /usr/bin/chronyc ]; then
25 | echo '*** Chrony should not be installed but it is!' >> /root/RESULT
26 | fi
27 |
28 | if [ -e /etc/chrony.conf ]; then
29 | echo '*** Chrony configuration file is installed!' >> /root/RESULT
30 | fi
31 |
32 | if [ ! -e /root/RESULT ]; then
33 | echo SUCCESS > /root/RESULT
34 | fi
35 | %end
36 |
--------------------------------------------------------------------------------
/ntp-nontp-without-chrony.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | %ksappend repos/default.ks
3 | network --bootproto=dhcp
4 |
5 | # test timezone in text mode with NTP disabled and no chrony
6 | %ksappend timezone/ntp_disabled.ks
7 | text
8 |
9 | bootloader --timeout=1
10 | zerombr
11 | clearpart --all --initlabel
12 | autopart
13 |
14 | keyboard us
15 | lang en_US.UTF-8
16 | rootpw testcase
17 | shutdown
18 |
19 | %packages
20 | -chrony
21 | %end
22 |
23 | %post
24 | if [ -e /usr/bin/chronyc ]; then
25 | echo '*** Chrony should not be installed but it is!' >> /root/RESULT
26 | fi
27 |
28 | if [ -e /etc/chrony.conf ]; then
29 | echo '*** Chrony configuration file is installed!' >> /root/RESULT
30 | fi
31 |
32 | if [ ! -e /root/RESULT ]; then
33 | echo SUCCESS > /root/RESULT
34 | fi
35 | %end
36 |
--------------------------------------------------------------------------------
/ntp-nontp-without-chrony.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2015 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Chris Lumens
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="time"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/ntp-with-nontp-gui.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | %ksappend repos/default.ks
3 | network --bootproto=dhcp
4 |
5 | # test timezone in GUI mode with NTP disabled
6 | %ksappend timezone/ntp_disabled.ks
7 | graphical
8 |
9 | bootloader --timeout=1
10 | zerombr
11 | clearpart --all --initlabel
12 | autopart
13 |
14 | keyboard us
15 | lang en_US.UTF-8
16 | rootpw testcase
17 | shutdown
18 |
19 | %ksappend payload/default_packages.ks
20 |
21 | %post
22 | if [ -e /usr/bin/chronyc ]; then
23 | echo '*** Chrony should not be installed but it is!' >> /root/RESULT
24 | fi
25 |
26 | if [ -e /etc/chrony.conf ]; then
27 | echo '*** Chrony configuration file is installed!' >> /root/RESULT
28 | fi
29 |
30 | if [ ! -e /root/RESULT ]; then
31 | echo SUCCESS > /root/RESULT
32 | fi
33 | %end
34 |
--------------------------------------------------------------------------------
/ntp-with-nontp-gui.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2015 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Chris Lumens
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="time"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/ntp-with-nontp.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | %ksappend repos/default.ks
3 | network --bootproto=dhcp
4 |
5 | # test timezone in text mode with NTP disabled
6 | %ksappend timezone/ntp_disabled.ks
7 | text
8 |
9 | bootloader --timeout=1
10 | zerombr
11 | clearpart --all --initlabel
12 | autopart
13 |
14 | keyboard us
15 | lang en_US.UTF-8
16 | rootpw testcase
17 | shutdown
18 |
19 | %ksappend payload/default_packages.ks
20 |
21 | %post
22 | if [ -e /usr/bin/chronyc ]; then
23 | echo '*** Chrony should not be installed but it is!' >> /root/RESULT
24 | fi
25 |
26 | if [ -e /etc/chrony.conf ]; then
27 | echo '*** Chrony configuration file is installed!' >> /root/RESULT
28 | fi
29 |
30 | if [ ! -e /root/RESULT ]; then
31 | echo SUCCESS > /root/RESULT
32 | fi
33 | %end
34 |
--------------------------------------------------------------------------------
/ntp-with-nontp.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2015 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Chris Lumens
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="time"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/ntp-without-chrony-gui.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | %ksappend repos/default.ks
3 | network --bootproto=dhcp
4 |
5 | # test timezone in GUI mode without chrony
6 | %ksappend timezone/ntp_enabled.ks
7 | graphical
8 |
9 | bootloader --timeout=1
10 | zerombr
11 | clearpart --all --initlabel
12 | autopart
13 |
14 | keyboard us
15 | lang en_US.UTF-8
16 | rootpw testcase
17 | shutdown
18 |
19 | %packages
20 | -chrony
21 | %end
22 |
23 | %post
24 | if [ -e /usr/bin/chronyc ]; then
25 | echo '*** Chrony should not be installed but it is!' >> /root/RESULT
26 | fi
27 |
28 | if [ ! -e /etc/chrony.conf ]; then
29 | echo '*** Chrony configuration file was not installed!' >> /root/RESULT
30 | fi
31 |
32 | if [ ! -e /root/RESULT ]; then
33 | echo SUCCESS > /root/RESULT
34 | fi
35 | %end
36 |
--------------------------------------------------------------------------------
/ntp-without-chrony-gui.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2015 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Chris Lumens
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="time"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/ntp-without-chrony.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | %ksappend repos/default.ks
3 | network --bootproto=dhcp
4 |
5 | # test timezone in TUI mode without chrony
6 | %ksappend timezone/ntp_enabled.ks
7 | text
8 |
9 | bootloader --timeout=1
10 | zerombr
11 | clearpart --all --initlabel
12 | autopart
13 |
14 | keyboard us
15 | lang en_US.UTF-8
16 | rootpw testcase
17 | shutdown
18 |
19 | %packages
20 | -chrony
21 | %end
22 |
23 | %post
24 | if [ -e /usr/bin/chronyc ]; then
25 | echo '*** Chrony should not be installed but it is!' >> /root/RESULT
26 | fi
27 |
28 | if [ ! -e /etc/chrony.conf ]; then
29 | echo '*** Chrony configuration file was not installed!' >> /root/RESULT
30 | fi
31 |
32 | if [ ! -e /root/RESULT ]; then
33 | echo SUCCESS > /root/RESULT
34 | fi
35 | %end
36 |
--------------------------------------------------------------------------------
/ntp-without-chrony.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2015 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Chris Lumens
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="time"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/onboot-bootopts-pre.ks.in:
--------------------------------------------------------------------------------
1 | %ksappend repos/default.ks
2 |
3 | %include /tmp/ksinclude
4 | %pre
5 | echo "network --device=@KSTEST_NETDEV2@ --bootproto dhcp --onboot=no" >> /tmp/ksinclude
6 | %end
7 |
8 | bootloader --timeout=1
9 | zerombr
10 | clearpart --all
11 | autopart
12 |
13 | keyboard us
14 | lang en
15 | timezone America/New_York
16 | rootpw qweqwe
17 | shutdown
18 |
19 | %packages
20 | %end
21 |
22 | %post --nochroot
23 |
24 | @KSINCLUDE@ post-nochroot-lib-network.sh
25 |
26 | check_gui_configurations @KSTEST_NETDEV1@ @KSTEST_NETDEV2@
27 |
28 | %end
29 |
30 | %post
31 |
32 | @KSINCLUDE@ post-lib-network.sh
33 |
34 | check_device_config_value @KSTEST_NETDEV1@ ONBOOT yes connection autoconnect __NONE
35 | check_device_config_value @KSTEST_NETDEV2@ ONBOOT no connection autoconnect false
36 | check_device_connected @KSTEST_NETDEV1@ yes
37 | check_device_connected @KSTEST_NETDEV2@ yes
38 |
39 | # No error was written to /root/RESULT file, everything is OK
40 | if [[ ! -e /root/RESULT ]]; then
41 | echo SUCCESS > /root/RESULT
42 | fi
43 | %end
44 |
--------------------------------------------------------------------------------
/packages-and-groups-ignoremissing.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | #
3 | # what we are testing there:
4 | # - that multiple missing packages & groups (at the same time) are ignored
5 | # if --ignoremissing is used
6 | # - that regular packages and groups requested at the same time
7 | # are installed correctly
8 | # - that such an installation finishes successfully
9 |
10 | %ksappend repos/default.ks
11 | %ksappend common/common_no_payload.ks
12 |
13 | %packages --ignoremissing
14 | fake-package-name-1
15 | fake-package-name-2
16 | @fake-group-name-1
17 | @fake-group-name-2
18 | vim
19 |
20 | # Another group that is common for Fedora and RHEL could be @anaconda-tools
21 | # (checking eg presence of cryptsetup package). The number of packages would
22 | # grow from 432 to 702 though.
23 | @dial-up
24 | %end
25 |
26 | %post
27 | rpm -q vim-minimal
28 | if [[ $? != 0 ]]; then
29 | echo '*** vim package was not installed' >> /root/RESULT
30 | fi
31 |
32 | rpm -q ppp
33 | if [[ $? != 0 ]]; then
34 | echo '*** ppp should have been installed via the dial-up package group' >> /root/RESULT
35 | fi
36 |
37 | %ksappend validation/success_if_result_empty.ks
38 |
39 | %end
40 |
--------------------------------------------------------------------------------
/packages-default.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | #
3 | # Check the %packages --default flag works.
4 |
5 | %ksappend repos/default.ks
6 | %ksappend common/common_no_payload.ks
7 |
8 | %packages --default
9 | %end
10 |
11 | %post
12 |
13 | # Check that there is any environment installed
14 | dnf group list --installed | egrep -q "Installed Environment Groups"
15 | if [ $? -eq 0 ]; then
16 | echo SUCCESS > /root/RESULT
17 | else
18 | echo '*** Failed check: there is any environment installed.' > /root/RESULT
19 | fi
20 | %end
21 |
--------------------------------------------------------------------------------
/packages-ignoremissing.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | #
3 | # what we are testing there:
4 | # - that missing packages are ignored if --ignoremissing is used
5 | # - that such an installation finishes
6 |
7 | %ksappend repos/default.ks
8 | %ksappend common/common_no_payload.ks
9 |
10 | %packages --ignoremissing
11 | fake-package-name
12 | %end
13 |
14 | %post
15 | # If we made it this far, assume it's a success
16 | echo SUCCESS > /root/RESULT
17 | %end
18 |
--------------------------------------------------------------------------------
/packages-instlangs-1.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | #
3 | # Check that only english locales are installed for
4 | # %packages --instlangs=en_US.
5 |
6 | %ksappend repos/default.ks
7 | %ksappend common/common_no_payload.ks
8 |
9 | %ksappend payload/packages_instlangs_1.ks
10 |
11 | %post
12 | # Make sure no non-english .mo files were installed
13 | molist="$(find /usr/share/locale \( -name 'en' -type d -prune \) -o \( -name 'en[@_]*' -type d -prune \) -o \( -name '*.mo' -print \) )"
14 | if [ -n "$molist" ]; then
15 | echo "*** non-en .mo files were installed: $molist" >> /root/RESULT
16 | fi
17 |
18 | # Check that the en_US locale was installed
19 | locale -a | grep -a -q '^en_US$'
20 | if [ $? != 0 ]; then
21 | echo "*** en_US was not installed" >> /root/RESULT
22 | fi
23 |
24 | # Check that the only locales available are the en_ ones, along with C (and
25 | # C.UTF-8) and POSIX.
26 | # Use grep -a to force text mode, since sometimes a character will end up in the
27 | # output that makes grep think it's binary
28 | other_locales="$(locale -a | egrep -a -v '^(POSIX|C(.*)?|en_.*)$')"
29 | if [ -n "$other_locales" ]; then
30 | echo "*** non-en locales were installed" >> /root/RESULT
31 | fi
32 |
33 | %ksappend validation/success_if_result_empty.ks
34 |
35 | %end
36 |
--------------------------------------------------------------------------------
/packages-instlangs-2.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | #
3 | # Check that no locales get installed for
4 | # %packages --instlangs=.
5 |
6 | %ksappend repos/default.ks
7 | %ksappend common/common_no_payload.ks
8 |
9 | %ksappend payload/packages_instlangs_2.ks
10 |
11 | %post
12 | # Make sure no .mo files were installed
13 | molist="$(find /usr/share/locale -name '*.mo')"
14 | if [ -n "$molist" ]; then
15 | echo "*** .mo files were installed: $molist" >> /root/RESULT
16 | fi
17 |
18 | %ksappend validation/success_if_result_empty.ks
19 |
20 | %end
21 |
--------------------------------------------------------------------------------
/packages-multilib.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | #
3 | # Run a multilib installation.
4 |
5 | %ksappend repos/default.ks
6 | %ksappend common/common_no_payload.ks
7 |
8 | %packages --multilib
9 | %end
10 |
11 | %post
12 | # Check the installed glibc packages.
13 | if [[ ! -e /usr/lib/libc.so.6 ]]; then
14 | echo "*** No 32-bit glibc package installed!" >> /root/RESULT
15 | rpm -q glibc >> /root/RESULT
16 | fi
17 |
18 | if [[ ! -e /usr/lib64/libc.so.6 ]]; then
19 | echo "*** No 64-bit glibc package installed!" >> /root/RESULT
20 | rpm -q glibc >> /root/RESULT
21 | fi
22 |
23 | # Check the DNF configuration.
24 | cat /etc/dnf/dnf.conf | grep -q multilib_policy=all
25 |
26 | if [[ $? != 0 ]]; then
27 | echo "*** multilib_policy=all is not set in /etc/dnf/dnf.conf: " >> /root/RESULT
28 | cat /etc/dnf/dnf.conf >> /root/RESULT
29 | fi
30 |
31 | %ksappend validation/success_if_result_empty.ks
32 | %end
33 |
--------------------------------------------------------------------------------
/packages-weakdeps.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | #
3 | # Check the --excludeWeakdeps flag works correctly.
4 | # Using this flag should effectively turn off weak
5 | # depondencies during the RPM installation transaction.
6 |
7 | %ksappend repos/default.ks
8 | %ksappend common/common_no_payload.ks
9 |
10 | %ksappend payload/packages_weakdeps.ks
11 |
12 | %post
13 | # Make sure the --recommends packages from gnupg2 are not installed
14 | if rpm -q pinentry ; then
15 | echo "pinentry was installed" >> /root/RESULT
16 | fi
17 |
18 | # Check that gnupg2's --recommends did not change unexpectedly
19 | if ! ( rpm -q --recommends gnupg2 | grep -q pinentry ) ; then
20 | echo "gnupg2 --recommends has changed, test needs to be updated" >> /root/RESULT
21 | fi
22 |
23 | %ksappend validation/success_if_result_empty.ks
24 |
25 | %end
26 |
--------------------------------------------------------------------------------
/part-luks-3.ks.in:
--------------------------------------------------------------------------------
1 |
2 | %ksappend repos/default.ks
3 | network --bootproto=dhcp
4 |
5 | bootloader --timeout=1
6 | zerombr
7 | clearpart --all --initlabel
8 |
9 | # Test LUKS 2 with pbkdf2 and the --pbkdf-time option.
10 |
11 | reqpart
12 | part / --fstype="ext4" --size=7891 --encrypted --passphrase="passphrase" --luks-version=luks2 --pbkdf=pbkdf2 --pbkdf-time=10
13 | part /boot --fstype="ext4" --size=1024
14 | part swap --fstype="swap" --size=1024
15 |
16 | keyboard us
17 | lang en
18 | timezone America/New_York
19 | rootpw qweqwe
20 | shutdown
21 |
22 | %packages
23 | %end
24 |
25 | %post
26 |
27 | # Find the LUKS device.
28 | crypted="$(blkid --match-token TYPE="crypto_LUKS" --output device)"
29 |
30 | if [[ $? != 0 ]] ; then
31 | echo "*** couldn't find a LUKS device" > /root/RESULT
32 | exit 1
33 | fi
34 |
35 | # Check the PBKDF of the LUKS device.
36 | result="$(cryptsetup luksDump ${crypted} | awk '{ if ($1 == "PBKDF:") print $2; }' )"
37 |
38 | if [[ "$result" != "pbkdf2" ]] ; then
39 | echo "*** unexpected PBKDF for ${crypted}: ${result}" >> /root/RESULT
40 | fi
41 |
42 | # The test was successful.
43 | if [ ! -e /root/RESULT ]; then
44 | echo SUCCESS > /root/RESULT
45 | fi
46 |
47 | %end
48 |
--------------------------------------------------------------------------------
/post-nochroot-lib-ui.sh:
--------------------------------------------------------------------------------
1 | # The library for nochroot post scripts of the UI kickstart tests.
2 |
3 | # Specify the result file.
4 | SYSROOT=/mnt/sysroot
5 | RESULT_FILE=${SYSROOT}/root/RESULT
6 |
7 | # Check that the current display mode is set to the expected value.
8 | function check_display_mode() {
9 | local expected_mode="$1"
10 | local display_mode
11 |
12 | display_mode="$(grep 'Display mode is set to ' /tmp/anaconda.log | cut -d \' -f2)"
13 |
14 | if [ "$display_mode" != "$expected_mode" ]; then
15 | echo "*** incorrect display mode (got $display_mode; expected $expected_mode)" >> ${RESULT_FILE}
16 | fi
17 | }
18 |
19 | # Check that the VNC server is running.
20 | function check_vnc_server_is_running() {
21 | grep -q "The VNC server is now running." /tmp/anaconda.log
22 |
23 | if [[ $? -ne 0 ]]; then
24 | echo "*** the VNC server is not running" >> ${RESULT_FILE}
25 | fi
26 | }
27 |
28 | # Check that the RDP server is running.
29 | function check_rdp_server_is_running() {
30 | grep -q "GNOME remote desktop is now running." /tmp/anaconda.log
31 |
32 | if [[ $? -ne 0 ]]; then
33 | echo "*** the RDP server is not running" >> ${RESULT_FILE}
34 | fi
35 | }
36 |
--------------------------------------------------------------------------------
/pre-install.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2015 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Chris Lumens
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="kickstart"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/preexisting-btrfs.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 |
3 | # Use defaults.
4 | %ksappend repos/default.ks
5 | %ksappend common/common_no_payload.ks
6 | %ksappend payload/default_packages.ks
7 |
8 | # Report success if no errors have been reported to /root/RESULT
9 | %ksappend validation/success_if_result_empty_standalone.ks
10 |
--------------------------------------------------------------------------------
/preexisting-btrfs.tar.xz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhinstaller/kickstart-tests/5fa2d9562954de1dcf332f6cd0cfff1e4cdf045d/preexisting-btrfs.tar.xz
--------------------------------------------------------------------------------
/proxy-cmdline.ks.in:
--------------------------------------------------------------------------------
1 | %ksappend repos/default.ks
2 | network --bootproto=dhcp
3 |
4 | bootloader --timeout=1
5 | zerombr
6 | clearpart --all
7 | autopart
8 |
9 | keyboard us
10 | lang en
11 | timezone America/New_York
12 | rootpw qweqwe
13 | shutdown
14 |
15 | # Just install @core
16 | %packages
17 | %end
18 |
19 | %post
20 | echo 'SUCCESS' > /root/RESULT
21 | %end
22 |
--------------------------------------------------------------------------------
/raid-ddf.tar.xz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhinstaller/kickstart-tests/5fa2d9562954de1dcf332f6cd0cfff1e4cdf045d/raid-ddf.tar.xz
--------------------------------------------------------------------------------
/raid-luks-3.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 |
3 | %ksappend repos/default.ks
4 | network --bootproto=dhcp
5 |
6 | bootloader --timeout=1
7 | clearpart --all --initlabel
8 |
9 | # Test LUKS 2 with pbkdf2 and the --pbkdf-time option.
10 |
11 | reqpart
12 | part /boot --fstype="ext4" --size=1024
13 | part swap --fstype="swap" --size=2048
14 | part raid.1 --fstype="mdmember" --ondisk=vda --size=6867
15 | part raid.2 --fstype="mdmember" --ondisk=vdb --size=6867
16 |
17 |
18 | raid / --device=root --fstype="ext4" --level=RAID1 --encrypted --passphrase="passphrase" --luks-version=luks2 --pbkdf=pbkdf2 --pbkdf-time=10 raid.1 raid.2
19 |
20 | keyboard us
21 | lang en_US.UTF-8
22 | timezone America/New_York --utc
23 | rootpw testcase
24 | shutdown
25 |
26 | %packages
27 | %end
28 |
29 | %post
30 |
31 | # Set the crypted device.
32 | crypted="/dev/md/root"
33 |
34 | # Check the PBKDF of the root device.
35 | result="$(cryptsetup luksDump ${crypted} | awk '{ if ($1 == "PBKDF:") print $2; }' )"
36 |
37 | if [[ "$result" != "pbkdf2" ]] ; then
38 | echo "*** unexpected PBKDF for ${crypted}: ${result}" >> /root/RESULT
39 | fi
40 |
41 | # The test was successful.
42 | if [ ! -e /root/RESULT ]; then
43 | echo SUCCESS > /root/RESULT
44 | fi
45 |
46 | %end
47 |
--------------------------------------------------------------------------------
/reboot-initial-setup-tui.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 |
3 | # Make sure that there is nothing else to configure.
4 | %ksappend users/user.ks
5 | %ksappend repos/default.ks
6 | %ksappend common/common_no_payload.ks
7 |
8 | # Reboot the installed system.
9 | reboot
10 |
11 | # Enable the initial setup.
12 | firstboot --enable
13 |
14 | %packages
15 |
16 | # Install the initial setup.
17 | initial-setup
18 |
19 | %end
20 |
21 | # Validate on the first boot.
22 | %ksappend validation/success_on_first_boot.ks
23 |
24 | %post
25 |
26 | # Remove EULA if any.
27 | rm /usr/share/redhat-release/EULA
28 |
29 | # Disable EULA for the initial setup.
30 | # FIXME: This is a temporary workaround for RHEL 9.
31 | cat > /etc/initial-setup/conf.d/90-no-eula.conf << EOF
32 | [License]
33 | eula =
34 | EOF
35 |
36 | # Create a script with the first boot test.
37 | # Print errors to stdout.
38 | cat > /usr/libexec/kickstart-test.sh << EOF
39 |
40 | journalctl | grep -q "Starting Initial Setup TUI" \
41 | || echo "Failed to start Initial Setup TUI."
42 |
43 | journalctl | grep -q "Initial Setup finished successfully" \
44 | || echo "Initial Setup has failed."
45 |
46 | journalctl -u initial-setup -g "Traceback" --quiet
47 |
48 | EOF
49 |
50 | %end
51 |
--------------------------------------------------------------------------------
/reboot-uefi.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 |
3 | # Use defaults.
4 | %ksappend repos/default.ks
5 | %ksappend common/common_no_payload.ks
6 | %ksappend payload/default_packages.ks
7 |
8 | # Reboot the installed system.
9 | reboot
10 |
11 | # Validate on the first boot.
12 | %ksappend validation/success_on_first_boot.ks
13 |
14 | # Set up the actual test.
15 | %post
16 |
17 | efibootmgr
18 | rc=$?
19 |
20 | if [ $rc -ne 0 ]; then
21 | echo "*** efibootmgr call failed." | tee -a /root/RESULT
22 | fi
23 |
24 | %end
25 |
--------------------------------------------------------------------------------
/reboot.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 |
3 | # Use defaults.
4 | %ksappend repos/default.ks
5 | %ksappend common/common_no_payload.ks
6 | %ksappend payload/default_packages.ks
7 |
8 | # Reboot the installed system.
9 | reboot
10 |
11 | # Validate on the first boot.
12 | %ksappend validation/success_on_first_boot.ks
13 |
--------------------------------------------------------------------------------
/repo-addrepo.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 |
3 | # This test will check the installation with addrepo kernel parameter functionality.
4 | # The inst.addrepo boot option will add additional software repository,
5 | # which will be used for the installation.
6 | #
7 |
8 | %ksappend common/common_no_payload.ks
9 | %ksappend repos/default.ks
10 |
11 | %packages
12 | mandatory-package-from-addon
13 | package-1
14 | %end
15 |
16 | %post
17 |
18 | rpm -q mandatory-package-from-addon
19 | if [[ $? != 0 ]]; then
20 | echo '*** mandatory-package-from-addon was not installed' >> /root/RESULT
21 | fi
22 |
23 | rpm -q package-1
24 | if [[ $? != 0 ]]; then
25 | echo '*** package-1 was not installed' >> /root/RESULT
26 | fi
27 |
28 | if [[ -e /etc/ADDON.repo ]]; then
29 | echo '*** ADDON.repo should not be installed to the system' >> /root/RESULT
30 | fi
31 |
32 | %ksappend validation/success_if_result_empty.ks
33 | %end
34 |
--------------------------------------------------------------------------------
/repo-baseurl.ks.in:
--------------------------------------------------------------------------------
1 |
2 | ## Simple test for repo --baseurl.
3 |
4 | %ksappend common/common_no_payload.ks
5 | %ksappend payload/default_packages.ks
6 |
7 | # Specify the mandatory base repo, but keep it empty.
8 | url --url=EMPTY_REPO_URL
9 |
10 | # Everything should be provided by the additional repos.
11 | repo --name=test01 --baseurl=@KSTEST_URL@
12 |
13 | %post
14 | %ksappend validation/success_if_result_empty.ks
15 | %end
16 |
--------------------------------------------------------------------------------
/repo-metalink.ks.in:
--------------------------------------------------------------------------------
1 |
2 | ## Simple test for repo --metalink.
3 |
4 | %ksappend common/common_no_payload.ks
5 | %ksappend payload/default_packages.ks
6 |
7 | # Specify the mandatory base repo, but keep it empty.
8 | url --url=EMPTY_REPO_URL
9 |
10 | # Everything should be provided by the additional repos.
11 | repo --name=test01 --metalink=@KSTEST_METALINK@
12 |
13 | %post
14 | %ksappend validation/success_if_result_empty.ks
15 | %end
16 |
--------------------------------------------------------------------------------
/repo-mirrorlist.ks.in:
--------------------------------------------------------------------------------
1 |
2 | ## Simple test for repo --mirrorlist.
3 |
4 | %ksappend common/common_no_payload.ks
5 | %ksappend payload/default_packages.ks
6 |
7 | # Specify the mandatory base repo, but keep it empty.
8 | url --url=EMPTY_REPO_URL
9 |
10 | # Everything should be provided by the additional repos.
11 | repo --name=test01 --mirrorlist=@KSTEST_MIRRORLIST@
12 |
13 | %post
14 | %ksappend validation/success_if_result_empty.ks
15 | %end
16 |
--------------------------------------------------------------------------------
/reqpart.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2015 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Chris Lumens
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="storage coverage"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/rootpw-basic.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2015 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Chris Lumens
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="users coverage"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/rootpw-crypted.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2019 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Martin Kolman
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="users"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/rootpw-lock-no-password.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2015 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Chris Lumens
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="users"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/rootpw-lock.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2015 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Chris Lumens
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="users coverage"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/rpm-ostree-container-leavebootorder.ks.in:
--------------------------------------------------------------------------------
1 | # https://github.com/rhinstaller/anaconda/pull/5399
2 | #
3 | # Test that ostree container installation works with leavebootorder.
4 | # In this test bootupd should be able to do dualboot. For sanity
5 | # of this test just check if bootupd is invoked with the correct
6 | # arguments.
7 | #
8 |
9 | # Use the default settings.
10 | %ksappend common/common.ks
11 |
12 | # network
13 | network --bootproto=dhcp
14 | # l10n
15 | keyboard us
16 | lang en
17 | timezone America/New_York
18 | # user confguration
19 | rootpw testcase
20 |
21 | # On Fedora enforce lvm scheme (overriding btrfs default)
22 | %ksappend storage/ostreecontainer_autopart.ks
23 |
24 | # Test if UEFI entry is not created!
25 | bootloader --leavebootorder --timeout 1
26 |
27 | ostreecontainer --no-signature-verification --remote=test-remote --stateroot=test-stateroot --url=@KSTEST_OSTREECONTAINER_URL@
28 |
29 |
30 | %post
31 | # check if efibootmgr don't have entry to boot from a disk
32 | efibootmgr | grep "HD("
33 | if [ $? -eq 0 ]; then
34 | echo "EFI boot entry was created with leavebootorder: $(efibootmgr)" >> /root/RESULT
35 | fi
36 |
37 | %ksappend validation/success_if_result_empty.ks
38 |
39 | %end
40 |
--------------------------------------------------------------------------------
/rpm-ostree-container-silverblue.ks.in:
--------------------------------------------------------------------------------
1 | # https://github.com/rhinstaller/anaconda/pull/4617
2 |
3 | # Test that ostreecontainer ks command works on Silverblue.
4 | # Tests only installation of the palyload.
5 | # Does not test that the installation is bootable.
6 |
7 | # Use the default settings.
8 | %ksappend common/common_no_payload.ks
9 |
10 | # Set up the RPM OSTree source.
11 | ostreecontainer --no-signature-verification --transport=registry --stateroot=fedora-silverblue --remote=fedora-silverblue --url=quay.io/fedora/fedora-silverblue:rawhide
12 |
13 | %post
14 |
15 | if ! ostree remote list | grep -q "fedora-silverblue"; then
16 | echo "Unexpected name fedora-silverblue in \"$(ostree remote list)\"" >> /root/RESULT
17 | fi
18 |
19 | # Check the url of the remote.
20 | url="$(ostree remote show-url fedora-silverblue)"
21 |
22 | if [ "${url}" != "quay.io/fedora/fedora-silverblue:rawhide" ]; then
23 | echo "Unexpected URL: ${url}" >> /root/RESULT
24 | fi
25 |
26 | if [ ! -e /root/RESULT ]; then
27 | echo SUCCESS > /root/RESULT
28 | fi
29 |
30 | # Write the result into logs.
31 | cat /root/RESULT
32 | %end
33 |
--------------------------------------------------------------------------------
/rpm-ostree.ks.in:
--------------------------------------------------------------------------------
1 |
2 | # Use the default settings.
3 | %ksappend common/common_no_payload.ks
4 |
5 | # Set up the RPM OSTree source.
6 | ostreesetup --nogpg --osname=fedora-iot --remote=fedora-iot --url=https://kojipkgs.fedoraproject.org/compose/iot/repo/ --ref=fedora/rawhide/${basearch}/iot
7 |
8 | # Disable the bootloader (gh#667).
9 | bootloader --location=none
10 |
11 | %post
12 | # Check the name of the remote.
13 | name="$(ostree remote list)"
14 |
15 | if [ "${name}" != "fedora-iot" ]; then
16 | echo "Unexpected name: ${name}" >> /root/RESULT
17 | fi
18 |
19 | # Check the url of the remote.
20 | url="$(ostree remote show-url fedora-iot)"
21 |
22 | if [ "${url}" != "https://kojipkgs.fedoraproject.org/compose/iot/repo/" ]; then
23 | echo "Unexpected URL: ${url}" >> /root/RESULT
24 | fi
25 |
26 | if [ ! -e /root/RESULT ]; then
27 | echo SUCCESS > /root/RESULT
28 | fi
29 |
30 | # Write the result into logs.
31 | cat /root/RESULT
32 | %end
33 |
--------------------------------------------------------------------------------
/script-post.ks.in:
--------------------------------------------------------------------------------
1 | # Test name: post_install_with_logging_test
2 | %ksappend repos/default.ks
3 | %ksappend common/common_no_payload.ks
4 | %ksappend payload/default_packages.ks
5 |
6 | # System configuration for automatic installation
7 | text
8 |
9 | # Post-install script (nochroot)
10 | %post --nochroot --log=/mnt/sysroot/root/post-nochroot.log
11 | # Log to the nochroot log file
12 | echo "Post-install (nochroot) script started"
13 | # Write 'SUCCESS' to the RESULT file
14 | echo "SUCCESS" > /mnt/sysroot/root/RESULT
15 | # Log completion
16 | echo "Post-install (nochroot) script finished"
17 | %end
18 |
19 | # Post-install script (chroot)
20 | %post --log=/root/post-chroot.log
21 | # Log to the chroot log file
22 | echo "Post-install (chroot) script started"
23 | # Check if the RESULT file contains 'SUCCESS'
24 | if grep -q "SUCCESS" /root/RESULT; then
25 | echo "SUCCESS found in /root/RESULT, everything is good!"
26 | else
27 | echo "ERROR: SUCCESS not found in /root/RESULT" > /root/RESULT
28 | echo "ERROR: SUCCESS not found in /root/RESULT"
29 | fi
30 | # Log completion
31 | echo "Post-install (chroot) script finished"
32 | %end
33 |
--------------------------------------------------------------------------------
/script-pre-install.ks.in:
--------------------------------------------------------------------------------
1 | # Test name: pre_install_interpreter_and_error_test
2 |
3 | %ksappend repos/default.ks
4 | %ksappend common/common_no_payload.ks
5 | %ksappend payload/default_packages.ks
6 |
7 | # First pre-install script using Python interpreter
8 | %pre-install --interpreter=/usr/bin/python3 --log=/mnt/sysroot/root/preinstall_python.log
9 | print("SUCCESS")
10 | with open("/mnt/sysroot/root/preinstall_python.log", "a") as log_file:
11 | log_file.write("Pre-install script running with Python\n")
12 | %end
13 |
14 | # Second pre-install script with intentional error
15 | %pre-install --log=/mnt/sysroot/root/preinstall_error.log
16 | echo "SUCCESS"
17 | echo "Logging from bash pre-install script" >> /mnt/sysroot/root/preinstall_error.log
18 | exit 1
19 | %end
20 |
21 | text
22 |
--------------------------------------------------------------------------------
/script-pre.ks.in:
--------------------------------------------------------------------------------
1 |
2 | %ksappend repos/default.ks
3 |
4 | # Pre-install script using Bash interpreter
5 | %pre --interpreter=/bin/bash
6 | echo "SUCCESS from Bash"
7 | %end
8 |
9 | # Pre-install script using Python interpreter
10 | %pre --interpreter=/usr/bin/python3
11 | print("SUCCESS from Python")
12 | %end
13 |
14 | # Pre script just for confirmation
15 | %pre
16 | echo "SUCCESS Pre"
17 | poweroff
18 | %end
19 |
--------------------------------------------------------------------------------
/scripts-lib.sh:
--------------------------------------------------------------------------------
1 | # Common functions for %post or %pre kickstart section
2 |
3 | # get_platform KSTEST_OS_NAME KSTEST_OS_VERSION
4 | # Get the platform (fragments platform / --platform launch script option).
5 | # For fedora return only "fedora" prefix (only fedora_rawhide platform is supported currently).
6 | function get_platform {
7 | local os_name=$1
8 | local os_version=$2
9 | local platform=""
10 |
11 | if [ ${os_name} == "rhel" ] || [ ${os_name} == "centos" ] ; then
12 | platform=rhel
13 | os_major=$(echo "${os_version}" | grep -oE "^[[:digit:]]+")
14 | if [ -n "${os_major}" ] ; then
15 | platform="rhel${os_major}"
16 | fi
17 | fi
18 | if [ ${os_name} == "fedora" ] ; then
19 | platform=fedora
20 | fi
21 |
22 | echo ${platform}
23 | }
24 |
--------------------------------------------------------------------------------
/scripts/Makefile.prereqs:
--------------------------------------------------------------------------------
1 | # Use this Makefile and the prereqs() function to define any objects that need
2 | # to be built for a particular kickstart test that could be shared by multiple
3 | # tests. The Makefile is run with PWD = .../scripts. The following environment
4 | # variables are available:
5 | #
6 | # IMAGE - the boot.iso
7 | # KSTESTDIR - the absolute path to the kickstart-tests directory, sans scripts/
8 | #
9 | # This is a regular Makefile without any automake weirdness, so just keep it
10 | # friendly.
11 |
12 | install.img: ${IMAGE}
13 | @# Extract the install.img from a boot.iso
14 | isoinfo -i $${IMAGE} -R -x /images/install.img > $@
15 |
--------------------------------------------------------------------------------
/scripts/defaults-fedora_rawhide.sh:
--------------------------------------------------------------------------------
1 | defaults.sh
--------------------------------------------------------------------------------
/scripts/defaults-rhel10.sh:
--------------------------------------------------------------------------------
1 | # Default settings for testing RHEL 10. This requires being inside the Red Hat VPN.
2 |
3 | # This is a reasonable default used until the new release is detected by osinfo library.
4 | export KSTEST_OSINFO_NAME=fedora-eln
5 | source ./network-device-names.cfg
6 | export KSTEST_URL='http://download.devel.redhat.com/rhel-10/nightly/RHEL-10/latest-RHEL-10.1/compose/BaseOS/x86_64/os/'
7 | export KSTEST_MODULAR_URL='http://download.devel.redhat.com/rhel-10/nightly/RHEL-10/latest-RHEL-10.1/compose/AppStream/x86_64/os/'
8 | export KSTEST_FTP_URL='ftp://download.devel.redhat.com/mnt/redhat/rhel-10/nightly/RHEL-10/latest-RHEL-10.1/compose/BaseOS/x86_64/os/'
9 | export KSTEST_OSTREECONTAINER_URL='quay.io/centos-bootc/centos-bootc:stream10'
10 |
--------------------------------------------------------------------------------
/scripts/defaults-rhel8.sh:
--------------------------------------------------------------------------------
1 | # Default settings for testing RHEL 8. This requires being inside the Red Hat VPN.
2 |
3 | source ./network-device-names.cfg
4 | export KSTEST_URL='http://download.devel.redhat.com/rhel-8/nightly/RHEL-8/latest-RHEL-8.10.0/compose/BaseOS/x86_64/os/'
5 | export KSTEST_MODULAR_URL='http://download.devel.redhat.com/rhel-8/nightly/RHEL-8/latest-RHEL-8.10.0/compose/AppStream/x86_64/os/'
6 | export KSTEST_FTP_URL='ftp://download.devel.redhat.com/mnt/redhat/rhel-8/nightly/RHEL-8/latest-RHEL-8.10.0/compose/BaseOS/x86_64/os/'
7 |
--------------------------------------------------------------------------------
/scripts/defaults-rhel9.sh:
--------------------------------------------------------------------------------
1 | # Default settings for testing RHEL 9. This requires being inside the Red Hat VPN.
2 |
3 | source ./network-device-names.cfg
4 | export KSTEST_URL='http://download.devel.redhat.com/rhel-9/nightly/RHEL-9/latest-RHEL-9.7.0/compose/BaseOS/x86_64/os/'
5 | export KSTEST_MODULAR_URL='http://download.devel.redhat.com/rhel-9/nightly/RHEL-9/latest-RHEL-9.7.0/compose/AppStream/x86_64/os/'
6 | export KSTEST_FTP_URL='ftp://download.devel.redhat.com/mnt/redhat/rhel-9/nightly/RHEL-9/latest-RHEL-9.7.0/compose/BaseOS/x86_64/os/'
7 | export KSTEST_OSTREECONTAINER_URL='quay.io/centos-bootc/centos-bootc:stream9'
8 |
--------------------------------------------------------------------------------
/scripts/defaults.sh:
--------------------------------------------------------------------------------
1 | # Default settings that work for everyone, but may not be optimal.
2 |
3 | # Where's the package repo for tests that don't care about testing the package
4 | # source. This may be slow (especially for large numbers of tests) and you may
5 | # want to define your own.
6 | #
7 | # CAUTION: the sed expression we currently use does not like white-space in the strings
8 |
9 | source ./network-device-names.cfg
10 | export KSTEST_URL='http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/'
11 | export KSTEST_METALINK='https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=x86_64'
12 | export KSTEST_MIRRORLIST='https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=x86_64'
13 | export KSTEST_MODULAR_URL='http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Modular/x86_64/os/'
14 | export KSTEST_FTP_URL='ftp://ftp.halifax.rwth-aachen.de/fedora/linux/development/rawhide/Everything/x86_64/os/'
15 | export KSTEST_OSTREECONTAINER_URL='quay.io/fedora/fedora-bootc:rawhide'
16 |
--------------------------------------------------------------------------------
/scripts/launcher/lib/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhinstaller/kickstart-tests/5fa2d9562954de1dcf332f6cd0cfff1e4cdf045d/scripts/launcher/lib/__init__.py
--------------------------------------------------------------------------------
/scripts/launcher/lib/conf/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rhinstaller/kickstart-tests/5fa2d9562954de1dcf332f6cd0cfff1e4cdf045d/scripts/launcher/lib/conf/__init__.py
--------------------------------------------------------------------------------
/scripts/udev_escape.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/python3
2 |
3 | import sys
4 | from pylorax.treebuilder import udev_escape
5 |
6 | if len(sys.argv) != 2:
7 | print("Usage: %s " % sys.argv[0], file=sys.stderr)
8 | sys.exit(1)
9 |
10 | print(udev_escape(sys.argv[1]))
11 |
--------------------------------------------------------------------------------
/selinux-contexts.ks.in:
--------------------------------------------------------------------------------
1 |
2 | %ksappend repos/default.ks
3 | %ksappend common/common_no_payload.ks
4 | %ksappend payload/default_packages.ks
5 |
6 | # Reboot the installed system.
7 | reboot
8 |
9 | # Validate on the first boot.
10 | %ksappend validation/success_on_first_boot.ks
11 |
12 | # Set up the actual test.
13 | %post
14 |
15 | # Make sure something doesn't fix the labels before we can check them.
16 | systemctl disable selinux-autorelabel.service
17 |
18 | # Write the code to run after reboot. It lists files with wrong SELinux contexts.
19 | cat > /usr/libexec/kickstart-test.sh << 'EOF'
20 |
21 | restorecon -rvn / -e /dev -e /mnt -e /proc -e /run -e /sys
22 |
23 | EOF
24 |
25 | %end
26 |
--------------------------------------------------------------------------------
/selinux-disabled.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | %ksappend repos/default.ks
3 | network --bootproto=dhcp
4 |
5 | bootloader --timeout=1
6 | zerombr
7 | clearpart --all --initlabel
8 | autopart
9 |
10 | keyboard --vckeymap cz --xlayouts=cz
11 | lang cs_CZ.UTF-8
12 | timezone America/New_York --utc
13 | rootpw testcase
14 |
15 | # SeLinux test
16 | selinux --disabled
17 |
18 | shutdown
19 |
20 | %packages
21 | %end
22 |
23 | %post
24 |
25 | # Test disabled
26 | cat /etc/selinux/config | grep SELINUX=disabled
27 | if [[ $? -ne 0 ]]; then
28 | echo "*** SELinux not disabled" >> /root/RESULT
29 | fi
30 |
31 | if [[ ! -e /root/RESULT ]]; then
32 | echo SUCCESS > /root/RESULT
33 | fi
34 | %end
35 |
--------------------------------------------------------------------------------
/selinux-disabled.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2015 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Chris Lumens
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="selinux"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/selinux-enforcing.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | %ksappend repos/default.ks
3 | network --bootproto=dhcp
4 |
5 | bootloader --timeout=1
6 | zerombr
7 | clearpart --all --initlabel
8 | autopart
9 |
10 | keyboard --vckeymap cz --xlayouts=cz
11 | lang cs_CZ.UTF-8
12 | timezone America/New_York --utc
13 | rootpw testcase
14 |
15 | # SeLinux test
16 | selinux --enforcing
17 |
18 | shutdown
19 |
20 | %packages
21 | %end
22 |
23 | %post
24 |
25 | # Test enforcing
26 | cat /etc/selinux/config | grep SELINUX=enforcing
27 | if [[ $? -ne 0 ]]; then
28 | echo "*** SELinux not in enforcing mode" >> /root/RESULT
29 | fi
30 |
31 | if [[ ! -e /root/RESULT ]]; then
32 | echo SUCCESS > /root/RESULT
33 | fi
34 | %end
35 |
--------------------------------------------------------------------------------
/selinux-permissive.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | %ksappend repos/default.ks
3 | network --bootproto=dhcp
4 |
5 | bootloader --timeout=1
6 | zerombr
7 | clearpart --all --initlabel
8 | autopart
9 |
10 | keyboard --vckeymap cz --xlayouts=cz
11 | lang cs_CZ.UTF-8
12 | timezone America/New_York --utc
13 | rootpw testcase
14 |
15 | # SeLinux test
16 | selinux --permissive
17 |
18 | shutdown
19 |
20 | %packages
21 | %end
22 |
23 | %post
24 |
25 | # Test permissive
26 | cat /etc/selinux/config | grep SELINUX=permissive
27 | if [[ $? -ne 0 ]]; then
28 | echo "*** SELinux not in permissive mode" >> /root/RESULT
29 | fi
30 |
31 | if [[ ! -e /root/RESULT ]]; then
32 | echo SUCCESS > /root/RESULT
33 | fi
34 | %end
35 |
--------------------------------------------------------------------------------
/selinux-permissive.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2015 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Chris Lumens
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="selinux"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/services.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | %ksappend repos/default.ks
3 | network --bootproto=dhcp
4 |
5 | bootloader --timeout=1
6 | zerombr
7 | clearpart --all --initlabel
8 | autopart
9 |
10 | keyboard us
11 | lang en
12 | timezone America/New_York --utc
13 | rootpw testcase
14 |
15 | # Test services
16 | services --disabled=sshd --enabled=radvd
17 |
18 | # Test SELinux
19 | selinux --enforcing
20 |
21 | shutdown
22 |
23 | %packages
24 | radvd
25 | %end
26 |
27 | %post
28 |
29 | # Test enabled
30 | systemctl is-enabled radvd
31 | if [[ $? -ne 0 ]]; then
32 | echo "*** radvd is disabled, not enabled" >> /root/RESULT
33 | fi
34 |
35 | # Test disabled
36 | systemctl is-enabled sshd
37 | if [[ $? -eq 0 ]]; then
38 | echo "*** sshd is enabled, not disabled" >> /root/RESULT
39 | fi
40 |
41 | # Test disabled - W/out change
42 | systemctl is-enabled rdisc
43 | if [[ $? -eq 0 ]]; then
44 | echo "*** rdisc is enabled, should be disabled" >> /root/RESULT
45 | fi
46 |
47 | # SELinux test
48 | grep 'SELINUX=enforcing' /etc/selinux/config
49 | if [[ $? -ne 0 ]]; then
50 | echo "*** SELinux not in enforcing mode" >> /root/RESULT
51 | fi
52 |
53 | if [[ ! -e /root/RESULT ]]; then
54 | echo SUCCESS > /root/RESULT
55 | fi
56 | %end
57 |
--------------------------------------------------------------------------------
/services.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2015 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Chris Lumens
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="services coverage"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/stage2-from-ks.ks.in:
--------------------------------------------------------------------------------
1 | #
2 | # Test configuration of stage2 location via kickstart url command
3 | # and activation of network in initramfs from kickstart configuration.
4 | # rhbz#2153361
5 |
6 | %ksappend repos/default.ks
7 | %ksappend common/common_no_payload.ks
8 | %ksappend payload/default_packages.ks
9 |
10 | %post
11 | %ksappend validation/success_if_result_empty.ks
12 | %end
13 |
--------------------------------------------------------------------------------
/testlib/test_cases/README.md:
--------------------------------------------------------------------------------
1 | This directory should contain test cases generated from kickstart test repository using scripts/generate-testcases.py script.
2 |
--------------------------------------------------------------------------------
/testlib/test_cases/kstest-template.tc.yaml.j2:
--------------------------------------------------------------------------------
1 | name: {{ kstest.name }}
2 | description: See the source
3 | author: rvykydal@redhat.com
4 | execution:
5 | type: kickstart-test
6 | automation_data:
7 | test: {{ kstest.name }}
8 | tags:
9 | {% for tag in kstest.tags %}
10 | - {{ tag }}
11 | {% endfor %}
12 | priority: 1
13 | instructions:
14 | setup:
15 | - Download iso
16 | - Check out repo
17 | steps:
18 | - Run test
19 | teardown:
20 | - Clean up
21 |
--------------------------------------------------------------------------------
/testlib/test_plans/daily-daily-iso.plan.yaml.j2:
--------------------------------------------------------------------------------
1 | name: daily daily-iso
2 | description: Daily run on current rawhide with anaconda dnf and python-blivet daily builds
3 | point_person: rvykydal@redhat.com
4 | artifact_type: github.scheduled.daily.kstest.daily-iso
5 | verified_by:
6 | test_cases:
7 | query: '
8 | {% for tag in skiptags %}
9 | "{{ tag }}" not in tc.tags and
10 | {% endfor %}
11 | True'
12 | configurations:
13 | - architecture: x86_64
14 | reporting:
15 | - type: xunit
16 |
--------------------------------------------------------------------------------
/testlib/test_plans/daily-rhel10.plan.yaml.j2:
--------------------------------------------------------------------------------
1 | name: daily rhel10
2 | description: Daily run on a RHEL 10 compose
3 | point_person: rvykydal@redhat.com
4 | artifact_type: github.scheduled.daily.kstest.rhel10
5 | verified_by:
6 | test_cases:
7 | query: '
8 | {% for tag in skiptags %}
9 | "{{ tag }}" not in tc.tags and
10 | {% endfor %}
11 | True'
12 | configurations:
13 | - architecture: x86_64
14 | reporting:
15 | - type: xunit
16 |
--------------------------------------------------------------------------------
/testlib/test_plans/daily-rhel9.plan.yaml.j2:
--------------------------------------------------------------------------------
1 | name: daily rhel9
2 | description: Daily run on a RHEL 9 compose
3 | point_person: rvykydal@redhat.com
4 | artifact_type: github.scheduled.daily.kstest.rhel9
5 | verified_by:
6 | test_cases:
7 | query: '
8 | {% for tag in skiptags %}
9 | "{{ tag }}" not in tc.tags and
10 | {% endfor %}
11 | True'
12 | configurations:
13 | - architecture: x86_64
14 | reporting:
15 | - type: xunit
16 |
--------------------------------------------------------------------------------
/testlib/test_plans/minimal.plan.yaml:
--------------------------------------------------------------------------------
1 | name: minimal
2 | description: Run minimal plan with single fast test
3 | point_person: rvykydal@redhat.com
4 | artifact_type: github.scheduled.daily.kstest.minimal
5 | verified_by:
6 | test_cases:
7 | direct_list:
8 | - container
9 | configurations:
10 | - architecture: x86_64
11 | reporting:
12 | - type: xunit
13 |
--------------------------------------------------------------------------------
/testlib/test_plans/pull-request-permian-gating.plan.yaml:
--------------------------------------------------------------------------------
1 | name: pull request permian
2 | description: Kickstart tests run on GitHub Permian pull requests
3 | point_person: rvykydal@redhat.com
4 | artifact_type: github.pr.permian
5 | verified_by:
6 | test_cases:
7 | # Smoke tests on Fedora
8 | query: '"smoke" in tc.tags and "knownfailure" not in tc.tags and "skip-on-fedora" not in tc.tags'
9 | configurations:
10 | - architecture: x86_64
11 | reporting:
12 | - type: github-pr
13 | data:
14 | pr-check-name: "Kickstart tests"
15 | pr-check-summary: "Kickstart tests run on a pull request comment"
16 |
--------------------------------------------------------------------------------
/timezone-noncommon.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | # Test that timezones that are in pytz.all_timezones but not in
3 | # pytz.common_timezones can be used in kickstart
4 | # (jira#RHEL-13150, jira#RHEL-13151, rhbz#1452873)
5 | %ksappend repos/default.ks
6 | network --bootproto=dhcp
7 |
8 | bootloader --timeout=1
9 | zerombr
10 | clearpart --all --initlabel
11 | autopart
12 |
13 | keyboard us
14 | lang en
15 | timezone Japan
16 | rootpw testcase
17 |
18 | shutdown
19 |
20 | %packages
21 | %end
22 |
23 | %post
24 |
25 | link=$(readlink /etc/localtime)
26 | if [[ ${link#*zoneinfo/} != "Japan" ]]; then
27 | echo "*** /etc/localtime does not point to the configured timezone" >> /root/RESULT
28 | fi
29 |
30 | # everything passes
31 | if [[ ! -e /root/RESULT ]]; then
32 | echo SUCCESS > /root/RESULT
33 | fi
34 | %end
35 |
--------------------------------------------------------------------------------
/timezone-noncommon.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2023 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Radek Vykydal
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="time"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/timezoneLOCAL.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | %ksappend repos/default.ks
3 | network --bootproto=dhcp
4 |
5 | bootloader --timeout=1
6 | zerombr
7 | clearpart --all --initlabel
8 | autopart
9 |
10 | keyboard us
11 | lang en
12 | timezone Europe/Prague
13 | rootpw testcase
14 |
15 | shutdown
16 |
17 | %packages
18 | %end
19 |
20 | %post
21 | ## UTC ZONE TEST
22 | # hwclock LOCAL test
23 | # check with both old and new (exclusive) cmdline options
24 | hwclock -D | grep "Assuming hardware clock is kept in local time."
25 | old_hwclock_rc=$?
26 | hwclock --verbose | grep "Assuming hardware clock is kept in local time."
27 | hwclock_rc=$?
28 | if [[ $old_hwclock_rc -ne 0 && $hwclock_rc -ne 0 ]]; then
29 | echo "*** hwclock not set to LOCAL time." >> /root/RESULT
30 | fi
31 |
32 | # cat adjtime LOCAL test
33 | cat /etc/adjtime | grep LOCAL
34 | if [[ $? -ne 0 ]]; then
35 | echo "*** Time in /etc/adjtime is not set to LOCAL." >> /root/RESULT
36 | fi
37 |
38 | # everything passes
39 | if [[ ! -e /root/RESULT ]]; then
40 | echo SUCCESS > /root/RESULT
41 | fi
42 | %end
43 |
--------------------------------------------------------------------------------
/timezoneLOCAL.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2015 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Chris Lumens
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="time"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/timezoneUTC.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 | %ksappend repos/default.ks
3 | network --bootproto=dhcp
4 |
5 | bootloader --timeout=1
6 | zerombr
7 | clearpart --all --initlabel
8 | autopart
9 |
10 | keyboard us
11 | lang en
12 | timezone Europe/Prague --utc
13 | rootpw testcase
14 |
15 | shutdown
16 |
17 | %packages
18 | %end
19 |
20 | %post
21 | ## UTC ZONE TEST
22 | # hwclock UTC test
23 | # check with both old and new (exclusive) cmdline options
24 | hwclock -D | grep "Assuming hardware clock is kept in UTC time."
25 | old_hwclock_rc=$?
26 | hwclock --verbose | grep "Assuming hardware clock is kept in UTC time."
27 | hwclock_rc=$?
28 | if [[ $old_hwclock_rc -ne 0 && $hwclock_rc -ne 0 ]]; then
29 | echo "*** hwclock not set to UTC.." >> /root/RESULT
30 | fi
31 |
32 | # cat adjtime UTC test
33 | cat /etc/adjtime | grep UTC
34 | if [[ $? -ne 0 ]]; then
35 | echo "*** Time in /etc/adjtime not set to UTC." >> /root/RESULT
36 | fi
37 |
38 | # everything passes
39 | if [[ ! -e /root/RESULT ]]; then
40 | echo SUCCESS > /root/RESULT
41 | fi
42 | %end
43 |
--------------------------------------------------------------------------------
/timezoneUTC.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2015 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Chris Lumens
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="time"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/ui_cmdline.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 |
3 | # Use defaults.
4 | %ksappend repos/default.ks
5 | %ksappend common/common_no_payload.ks
6 | %ksappend payload/default_packages.ks
7 |
8 | # Run the installation in the cmdline mode.
9 | cmdline
10 |
11 | %post --nochroot
12 | @KSINCLUDE@ post-nochroot-lib-ui.sh
13 |
14 | # Check the installation mode.
15 | check_display_mode "noninteractive text mode"
16 | %end
17 |
18 | %ksappend validation/success_if_result_empty_standalone.ks
19 |
--------------------------------------------------------------------------------
/ui_cmdline.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2021 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
19 | # shellcheck disable=SC2034
20 | TESTTYPE="ui"
21 |
22 | . ${KSTESTDIR}/functions.sh
23 |
--------------------------------------------------------------------------------
/ui_graphical_interactive.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 |
3 | # Use defaults.
4 | %ksappend repos/default.ks
5 | %ksappend common/common_no_payload.ks
6 | %ksappend payload/default_packages.ks
7 |
8 | # Run the installation in the graphical mode.
9 | graphical
10 |
11 | %post --nochroot
12 | @KSINCLUDE@ post-nochroot-lib-ui.sh
13 |
14 | # Check the installation mode.
15 | check_display_mode "interactive graphical mode"
16 | %end
17 |
18 | %ksappend validation/success_if_result_empty_standalone.ks
19 |
--------------------------------------------------------------------------------
/ui_graphical_interactive.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2021 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
19 | # shellcheck disable=SC2034
20 | TESTTYPE="ui smoke"
21 |
22 | . ${KSTESTDIR}/functions.sh
23 |
--------------------------------------------------------------------------------
/ui_graphical_noninteractive.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 |
3 | # Use defaults.
4 | %ksappend repos/default.ks
5 | %ksappend common/common_no_payload.ks
6 | %ksappend payload/default_packages.ks
7 |
8 | # Run the installation in the graphical mode.
9 | graphical --non-interactive
10 |
11 | %post --nochroot
12 | @KSINCLUDE@ post-nochroot-lib-ui.sh
13 |
14 | # Check the installation mode.
15 | check_display_mode "noninteractive graphical mode"
16 | %end
17 |
18 | %ksappend validation/success_if_result_empty_standalone.ks
19 |
--------------------------------------------------------------------------------
/ui_rdp.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 |
3 | # Use defaults.
4 | %ksappend repos/default.ks
5 | %ksappend common/common_no_payload.ks
6 | %ksappend payload/default_packages.ks
7 |
8 | %post --nochroot
9 |
10 | # the support script should run the installation in RDP mode via boot options
11 | cat /proc/cmdline | grep inst.rdp
12 | if [[ $? != 0 ]]; then
13 | echo "*** inst.rdp not used to enable remote desktop mode" >> /mnt/sysroot/root/RESULT
14 | echo "*** /proc/cmdline:" >> /mnt/sysroot/root/RESULT
15 | cat /proc/cmdline >> /mnt/sysroot/root/RESULT
16 | fi
17 |
18 | @KSINCLUDE@ post-nochroot-lib-ui.sh
19 |
20 | # Check the installation mode.
21 | check_display_mode "interactive graphical mode"
22 |
23 | # Check the RDP server.
24 | check_rdp_server_is_running
25 |
26 | %end
27 |
28 | # this needs to be separate so that checking /root/RESULT works as
29 | # expected due to the main %post section using --nochroot
30 | %ksappend validation/success_if_result_empty_standalone.ks
31 |
32 |
--------------------------------------------------------------------------------
/ui_text_interactive.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 |
3 | # Use defaults.
4 | %ksappend repos/default.ks
5 | %ksappend common/common_no_payload.ks
6 | %ksappend payload/default_packages.ks
7 |
8 | # Run the installation in the text mode.
9 | text
10 |
11 | %post --nochroot
12 | @KSINCLUDE@ post-nochroot-lib-ui.sh
13 |
14 | # Check the installation mode.
15 | check_display_mode "interactive text mode"
16 | %end
17 |
18 | %ksappend validation/success_if_result_empty_standalone.ks
19 |
--------------------------------------------------------------------------------
/ui_text_interactive.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2021 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
19 | # shellcheck disable=SC2034
20 | TESTTYPE="ui smoke"
21 |
22 | . ${KSTESTDIR}/functions.sh
23 |
--------------------------------------------------------------------------------
/ui_text_noninteractive.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 |
3 | # Use defaults.
4 | %ksappend repos/default.ks
5 | %ksappend common/common_no_payload.ks
6 | %ksappend payload/default_packages.ks
7 |
8 | # Run the installation in the text mode.
9 | text --non-interactive
10 |
11 | %post --nochroot
12 | @KSINCLUDE@ post-nochroot-lib-ui.sh
13 |
14 | # Check the installation mode.
15 | check_display_mode "noninteractive text mode"
16 | %end
17 |
18 | %ksappend validation/success_if_result_empty_standalone.ks
19 |
--------------------------------------------------------------------------------
/ui_text_noninteractive.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2021 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
19 | # shellcheck disable=SC2034
20 | TESTTYPE="ui"
21 |
22 | . ${KSTESTDIR}/functions.sh
23 |
--------------------------------------------------------------------------------
/ui_vnc.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 |
3 | # Use defaults.
4 | %ksappend repos/default.ks
5 | %ksappend common/common_no_payload.ks
6 | %ksappend payload/default_packages.ks
7 |
8 | # Run the installation in the VNC mode.
9 | vnc --password anaconda
10 |
11 | %post --nochroot
12 | @KSINCLUDE@ post-nochroot-lib-ui.sh
13 |
14 | # Check the installation mode.
15 | check_display_mode "interactive graphical mode"
16 |
17 | # Check the VNC server.
18 | check_vnc_server_is_running
19 | %end
20 |
21 | %ksappend validation/success_if_result_empty_standalone.ks
22 |
--------------------------------------------------------------------------------
/ui_vnc.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2021 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
19 | # shellcheck disable=SC2034
20 | TESTTYPE="ui gh1060 skip-on-rhel-10"
21 |
22 | . ${KSTESTDIR}/functions.sh
23 |
--------------------------------------------------------------------------------
/unified-cdrom.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 |
3 | # This test is for testing the install from an unified repository.
4 | #
5 | # You have to have unified ISO as a source mounted on the HTTP server.
6 | # To create unified ISO for Fedora you can use this tool:
7 | # https://github.com/rhinstaller/devel-tools/tree/main/modify_install_iso
8 | #
9 |
10 | #
11 | # This installation has to be booted by the unified ISO instead of boot ISO.
12 | #
13 |
14 | %ksappend common/common_no_payload.ks
15 |
16 | cdrom
17 |
18 | %ksappend payload/unified_packages.ks
19 |
20 | %post
21 | %ksappend validation/unified.ks
22 |
23 | %ksappend validation/success_if_result_empty.ks
24 | %end
25 |
--------------------------------------------------------------------------------
/unified-cmdline.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 |
3 | # This test is for testing the install from an unified repository.
4 | #
5 | # You have to have unified ISO as a source mounted on the HTTP server.
6 | # To create unified ISO for Fedora you can use this tool:
7 | # https://github.com/rhinstaller/devel-tools/tree/main/modify_install_iso
8 | #
9 |
10 | %ksappend common/common_no_payload.ks
11 |
12 | %ksappend payload/unified_packages.ks
13 |
14 | %post
15 | %ksappend validation/unified.ks
16 |
17 | %ksappend validation/success_if_result_empty.ks
18 | %end
19 |
--------------------------------------------------------------------------------
/unified-nfs.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 |
3 | # This test is for testing the install from an unified repository.
4 | #
5 | # You have to have unified ISO as a source mounted on the NFS server.
6 | # To create unified ISO for Fedora you can use this tool:
7 | # https://github.com/rhinstaller/devel-tools/tree/main/modify_install_iso
8 | #
9 | # This test has to have access to the NFS server. However NFS won't mount
10 | # if the VM is behind a NAT (NFS problem). So this test won't work on our setup
11 | # right now.
12 | #
13 |
14 | %ksappend common/common_no_payload.ks
15 |
16 | %ksappend repos/unified-nfs.ks
17 |
18 | %ksappend payload/unified_packages.ks
19 |
20 | %post
21 | %ksappend validation/unified.ks
22 |
23 | %ksappend validation/success_if_result_empty.ks
24 | %end
25 |
--------------------------------------------------------------------------------
/unified.ks.in:
--------------------------------------------------------------------------------
1 | #version=DEVEL
2 |
3 | # This test is for testing the install from an unified repository.
4 | #
5 | # You have to have unified ISO as a source mounted on the HTTP server.
6 | # To create unified ISO for Fedora you can use this tool:
7 | # https://github.com/rhinstaller/devel-tools/tree/main/modify_install_iso
8 | #
9 |
10 | %ksappend common/common_no_payload.ks
11 |
12 | %ksappend repos/unified.ks
13 |
14 | %ksappend payload/unified_packages.ks
15 |
16 | %post
17 | %ksappend validation/unified.ks
18 |
19 | %ksappend validation/success_if_result_empty.ks
20 | %end
21 |
--------------------------------------------------------------------------------
/url-baseurl.ks.in:
--------------------------------------------------------------------------------
1 |
2 | ## Simple test for url --url.
3 |
4 | %ksappend common/common_no_payload.ks
5 | %ksappend payload/default_packages.ks
6 |
7 | url --url=@KSTEST_URL@
8 |
9 | %post
10 | %ksappend validation/success_if_result_empty.ks
11 | %end
12 |
--------------------------------------------------------------------------------
/url-baseurl.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2022 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 |
19 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
20 | # shellcheck disable=SC2034
21 | TESTTYPE="packaging payload url"
22 |
23 | . ${KSTESTDIR}/functions.sh
24 |
--------------------------------------------------------------------------------
/url-metalink.ks.in:
--------------------------------------------------------------------------------
1 |
2 | ## Simple test for url --metalink.
3 |
4 | %ksappend common/common_no_payload.ks
5 | %ksappend payload/default_packages.ks
6 |
7 | url --metalink=@KSTEST_METALINK@
8 |
9 | %post
10 | %ksappend validation/success_if_result_empty.ks
11 | %end
12 |
--------------------------------------------------------------------------------
/url-metalink.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2022 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 |
19 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
20 | # shellcheck disable=SC2034
21 | TESTTYPE="packaging payload url skip-on-rhel"
22 |
23 | . ${KSTESTDIR}/functions.sh
24 |
--------------------------------------------------------------------------------
/url-mirrorlist.ks.in:
--------------------------------------------------------------------------------
1 |
2 | ## Simple test for url --mirrorlist.
3 |
4 | %ksappend common/common_no_payload.ks
5 | %ksappend payload/default_packages.ks
6 |
7 | url --mirrorlist=@KSTEST_MIRRORLIST@
8 |
9 | %post
10 | %ksappend validation/success_if_result_empty.ks
11 | %end
12 |
--------------------------------------------------------------------------------
/url-mirrorlist.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2022 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 |
19 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
20 | # shellcheck disable=SC2034
21 | TESTTYPE="packaging payload url skip-on-rhel"
22 |
23 | . ${KSTESTDIR}/functions.sh
24 |
--------------------------------------------------------------------------------
/user-single.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2015 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Chris Lumens
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="users"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------
/user-wheel-no-root.sh:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2019 Red Hat, Inc.
3 | #
4 | # This copyrighted material is made available to anyone wishing to use,
5 | # modify, copy, or redistribute it subject to the terms and conditions of
6 | # the GNU General Public License v.2, or (at your option) any later version.
7 | # This program is distributed in the hope that it will be useful, but WITHOUT
8 | # ANY WARRANTY expressed or implied, including the implied warranties of
9 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
10 | # Public License for more details. You should have received a copy of the
11 | # GNU General Public License along with this program; if not, write to the
12 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
13 | # 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
14 | # source code or documentation are not subject to the GNU General Public
15 | # License and may only be used or replicated with the express permission of
16 | # Red Hat, Inc.
17 | #
18 | # Red Hat Author(s): Martin Kolman
19 |
20 | # Ignore unused variable parsed out by tooling scripts as test tags metadata
21 | # shellcheck disable=SC2034
22 | TESTTYPE="users"
23 |
24 | . ${KSTESTDIR}/functions.sh
25 |
--------------------------------------------------------------------------------