@skip_if_github_validation
@containerized_server
@proxy
@build_host
@private_net
@pxeboot_minion
@scope_cobbler
@susemanager
@uyuni
@flaky
Feature: 0070 - PXE boot a terminal with Cobbler and containerized proxy
Description: In order to automate client system installations with a containerized proxy
As the system administrator
I want to PXE boot one host with Cobbler
File name: proxy_container_cobbler_pxeboot.feature
Relative path: secondary/proxy_container_cobbler_pxeboot.feature
@skip_if_github_validation
@containerized_server
@proxy
@build_host
@private_net
@pxeboot_minion
@scope_cobbler
Scenario: Prepare the autoinstallation files on the server
When
I install packages "tftpboot-installation-SLE-15-SP7-x86_64 expect" on this "build_host"
0s
And
I copy "/usr/share/tftpboot-installation" from "build_host" to "server" via scp in the path "/tmp"
0s
And
I copy the distribution inside the container on the server
0s
@skip_if_github_validation
@containerized_server
@proxy
@build_host
@private_net
@pxeboot_minion
@scope_cobbler
Scenario: Create auto installation distribution
When
I follow the left menu "Systems > Autoinstallation > Distributions"
0s
And
I follow "Create Distribution"
0s
And
I enter "SLE-15-SP7-TFTP" as "label"
0s
And
I enter "/srv/www/distributions/SLE-15-SP7-TFTP/" as "basepath"
0s
And
I select "SLE-Product-SLES15-SP7-Pool for x86_64" from "channelid"
0s
And
I select "SUSE Linux Enterprise 15" from "installtype"
0s
And
I click on "Create Autoinstallable Distribution"
0s
Then
I should see a "Autoinstallable Distributions" text
0s
And
I should see a "SLE-15-SP7-TFTP" link
0s
@skip_if_github_validation
@containerized_server
@proxy
@build_host
@private_net
@pxeboot_minion
@scope_cobbler
Scenario: Fix kernel parameters
When
I follow the left menu "Systems > Autoinstallation > Distributions"
0s
And
I follow "SLE-15-SP7-TFTP"
0s
And
I enter "useonlinerepo insecure=1 install=http://proxy.example.org/ks/dist/SLE-15-SP7-TFTP self_update=http://proxy.example.org/ks/dist/child/sle15-sp7-installer-updates-x86_64/SLE-15-SP7-TFTP" as "kernelopts"
0s
And
I click on "Update Autoinstallable Distribution"
0s
Then
I should see a "Autoinstallable Distribution Updated" text
0s
@skip_if_github_validation
@containerized_server
@proxy
@build_host
@private_net
@pxeboot_minion
@scope_cobbler
@susemanager
Scenario: Create auto installation profile
When
I follow the left menu "Systems > Autoinstallation > Profiles"
0s
And
I follow "Upload Kickstart/AutoYaST File"
0s
And
I enter "15-sp7-cobbler" as "kickstartLabel"
0s
And
I select "SLE-15-SP7-TFTP" from "kstreeId"
0s
And
I attach the file "/sle-15-sp7-autoyast.xml" to "fileUpload"
0s
And
I click on "Create"
0s
Then
I should see a "Autoinstallation: 15-sp7-cobbler" text
0s
And
I should see a "Autoinstallation Details" text
0s
@skip_if_github_validation
@containerized_server
@proxy
@build_host
@private_net
@pxeboot_minion
@scope_cobbler
@uyuni
Scenario: Create auto installation profile
When
I follow the left menu "Systems > Autoinstallation > Profiles"
0s
And
I follow "Upload Kickstart/AutoYaST File"
0s
And
I enter "15-sp7-cobbler" as "kickstartLabel"
0s
And
I select "SLE-15-SP7-TFTP" from "kstreeId"
0s
And
I attach the file "/sle-15-sp7-autoyast-uyuni.xml" to "fileUpload"
0s
And
I click on "Create"
0s
Then
I should see a "Autoinstallation: 15-sp7-cobbler" text
0s
And
I should see a "Autoinstallation Details" text
0s
@skip_if_github_validation
@containerized_server
@proxy
@build_host
@private_net
@pxeboot_minion
@scope_cobbler
Scenario: Configure auto installation profile
When
I enter "self_update=0" as "kernel_options"
0s
And
I click on "Update"
0s
And
I follow "Variables"
0s
And
I enter "distrotree=SLE-15-SP7-TFTP\nregistration_key=1-TERMINAL-KEY-x86_64\nredhat_management_server=proxy.example.org" as "variables" text area
0s
And
I click on "Update Variables"
0s
And
I follow "Autoinstallation File"
0s
Then
I should see a "SLE-15-SP7-TFTP" text
0s
@skip_if_github_validation
@containerized_server
@proxy
@build_host
@private_net
@pxeboot_minion
@scope_cobbler
Scenario: Migration of Cobbler settings
Given
cobblerd is running
0s
And
cobbler settings are successfully migrated
0s
When
I restart cobbler on the server
0s
Then
service "cobblerd" is active on "server"
0s
@skip_if_github_validation
@containerized_server
@proxy
@build_host
@private_net
@pxeboot_minion
@scope_cobbler
Scenario: PXE boot the PXE boot minion
When
I set the default PXE menu entry to the target profile on the "server"
0s
And
I reboot the Cobbler terminal "pxeboot_minion"
0s
And
I wait for "60" seconds
0s
And
I set the default PXE menu entry to the local boot on the "server"
0s
And
I wait at most 1200 seconds until Salt master sees "pxeboot_minion" as "unaccepted"
0s
And
I accept "pxeboot_minion" key in the Salt master
0s
@skip_if_github_validation
@containerized_server
@proxy
@build_host
@private_net
@pxeboot_minion
@scope_cobbler
Scenario: Assure the PXE boot minion is onboarded
Given
I am on the Systems page
0s
When
I wait until I see the name of "pxeboot_minion", refreshing the page
0s
And
I wait until onboarding is completed for "pxeboot_minion"
0s
Then
"pxeboot_minion" should have been reformatted
0s
@skip_if_github_validation
@containerized_server
@proxy
@build_host
@private_net
@pxeboot_minion
@scope_cobbler
Scenario: Check connection from PXE boot minion to the proxy
When
I follow "Details" in the content area
0s
And
I follow "Connection" in the content area
0s
Then
I should see a "proxy.example.org" text
0s
@skip_if_github_validation
@containerized_server
@proxy
@build_host
@private_net
@pxeboot_minion
@scope_cobbler
Scenario: Install a package on the PXE boot minion
When
I install the GPG key of the test packages repository on the PXE boot minion
0s
And
I follow "Software" in the content area
0s
And
I follow "Install"
0s
And
I enter "virgo-dummy-2.0-1.1" as the filtered package name
0s
And
I click on the filter button
0s
And
I check "virgo-dummy-2.0-1.1" in the list
0s
And
I click on "Install Packages"
0s
And
I click on "Confirm"
0s
Then
I should see a "1 package install has been scheduled" text
0s
When
I wait until event "Package Install/Upgrade scheduled by admin" is completed
0s
@skip_if_github_validation
@containerized_server
@proxy
@build_host
@private_net
@pxeboot_minion
@scope_cobbler
Scenario: Download the profile from the UI
When
I follow the left menu "Systems > Autoinstallation > Profiles"
0s
And
I follow "15-sp7-cobbler"
0s
And
I follow "Autoinstallation File" in the content area
0s
And
I follow "Download Autoinstallation File"
0s
Then
I should see a "<profile " text
0s
@skip_if_github_validation
@containerized_server
@proxy
@build_host
@private_net
@pxeboot_minion
@scope_cobbler
Scenario: Cleanup: remove the auto installation profile
When
I follow the left menu "Systems > Autoinstallation > Profiles"
0s
And
I follow "15-sp7-cobbler"
0s
And
I follow "Delete Autoinstallation"
0s
And
I click on "Delete Autoinstallation"
0s
And
I wait until I do not see "15-sp7-cobbler" text
0s
And
I wait up to 5 minutes to see "TASK COMPLETE" in the last lines of "var/log/cobbler/cobbler.log" on "server"
0s
@skip_if_github_validation
@containerized_server
@proxy
@build_host
@private_net
@pxeboot_minion
@scope_cobbler
Scenario: Cleanup: remove the auto installation distribution
When
I follow the left menu "Systems > Autoinstallation > Distributions"
0s
And
I follow "SLE-15-SP7-TFTP"
0s
And
I follow "Delete Distribution"
0s
And
I click on "Delete Distribution"
0s
And
I wait until I do not see "SLE-15-SP7-TFTP" text
0s
And
I wait up to 5 minutes to see "TASK COMPLETE" in the last lines of "var/log/cobbler/cobbler.log" on "server"
0s
@skip_if_github_validation
@containerized_server
@proxy
@build_host
@private_net
@pxeboot_minion
@scope_cobbler
Scenario: Cleanup: remove the auto installation files
When
I remove packages "tftpboot-installation-SLE-15-SP7-x86_64 expect" from this "build_host"
0s
And
I remove the autoinstallation files from the server
0s
@skip_if_github_validation
@containerized_server
@proxy
@build_host
@private_net
@pxeboot_minion
@scope_cobbler
Scenario: Cleanup: delete the PXE boot minion
When
I delete "pxeboot_minion" system using the api
0s
And
I wait until Salt client is inactive on the PXE boot minion
0s
Then
"pxeboot_minion" should not be registered
0s