@skip_if_github_validation
@sle_minion
@scope_salt
Feature: 0059 - Verify that Salt mgrcompat state works when the new module.run syntax is enabled
File name: min_salt_mgrcompat_state.feature
Relative path: secondary/min_salt_mgrcompat_state.feature
@skip_if_github_validation
@sle_minion
@scope_salt
Scenario: Remove mgrcompat module from minion synced modules and schedule Hardware Refresh
Given
I remove "minion/extmods/states/mgrcompat.py" from salt cache on "sle_minion"
00:00:00.815
And
I remove "minion/extmods/states/__pycache__/mgrcompat*" from salt cache on "sle_minion"
00:00:00.432
And
I am on the Systems overview page of this "sle_minion"
00:00:01.606
When
I follow "Hardware"
00:00:00.609
And
I click on "Schedule Hardware Refresh"
00:00:01.477
Then
I should see a "You have successfully scheduled a hardware profile refresh" text
00:00:00.126
When
I wait until event "Hardware List Refresh scheduled" is completed
00:00:23.302
And
I wait until there is no Salt job calling the module "hardware.profileupdate" on "sle_minion"
00:00:02.525
@skip_if_github_validation
@sle_minion
@scope_salt
Scenario: Remove saltutil grain and mgrcompat module from minion and schedule Hardware Refresh
Given
I remove "minion/extmods/states/mgrcompat.py" from salt cache on "sle_minion"
00:00:00.470
And
I remove "minion/extmods/states/__pycache__/mgrcompat*" from salt cache on "sle_minion"
00:00:00.469
And
I store "grains: {__suse_reserved_saltutil_states_support: False}" into file "custom_grains.conf" in salt minion config directory on "sle_minion"
00:00:00.459
And
I refresh salt-minion grains on "sle_minion"
00:00:02.151
And
I am on the Systems overview page of this "sle_minion"
00:00:01.978
When
I follow "Hardware"
00:00:00.621
And
I click on "Schedule Hardware Refresh"
00:00:00.943
Then
I should see a "You have successfully scheduled a hardware profile refresh" text
00:00:00.127
When
I wait until event "Hardware List Refresh scheduled" is completed
00:00:22.356
And
I wait until there is no Salt job calling the module "hardware.profileupdate" on "sle_minion"
00:00:02.389
@skip_if_github_validation
@sle_minion
@scope_salt
Scenario: Delete SLES minion system profile before mgrcompat test
When
I delete "sle_minion" system using the api
00:00:04.657
And
I perform a full salt minion cleanup on "sle_minion"
00:01:36.687
And
I wait until Salt client is inactive on "sle_minion"
00:00:00.467
Then
"sle_minion" should not be registered
00:00:00.987
@skip_if_github_validation
@sle_minion
@scope_salt
Scenario: Enable new module.run syntax on the minion and perform registration
Given
I store "use_superseded: [module.run]" into file "custom_modulerun.conf" in salt minion config directory on "sle_minion"
00:00:00.434
+ Show Error
+ Screenshot
FAIL: echo "use_superseded: [module.run]" ) /etc/venv-salt-minion/minion.d/custom_modulerun.conf returned status code = 1. Output: (ScriptError) ./features/support/remote_node.rb:172:in `run_local' ./features/support/remote_node.rb:120:in `run' ./features/step_definitions/file_management_steps.rb:47:in `/^I store "([^"]*)" into file "([^"]*)" on "([^"]*)"$/' ./features/step_definitions/salt_steps.rb:300:in `/^I store "([^"]*)" into file "([^"]*)" in salt minion config directory on "([^"]*)"$/' features/secondary/min_salt_mgrcompat_state.feature:52:in `I store "use_superseded: [module.run]" into file "custom_modulerun.conf" in salt minion config directory on "sle_minion"'
When
I follow the left menu "Systems > Bootstrapping"
0s
Then
I should see a "Bootstrap Minions" text
0s
When
I enter the hostname of "sle_minion" as "hostname"
0s
And
I enter "22" as "port"
0s
And
I enter "root" as "user"
0s
And
I enter "linux" as "password"
0s
And
I select the hostname of "proxy" from "proxies" if present
0s
And
I click on "Bootstrap"
0s
And
I wait until I see "Bootstrap process initiated." text
0s
And
I wait until onboarding is completed for "sle_minion"
0s
@skip_if_github_validation
@sle_minion
@scope_salt
Scenario: Check if onboarding for the minion with the new module.run syntax was successful
When
I follow the left menu "Systems > System List > All"
00:00:00.178
execution expired (Timeout::Error) ./features/support/commonlib.rb:89:in `repeat_until_timeout' ./features/step_definitions/navigation_steps.rb:70:in `/^I wait until I see "([^"]*)" (text|regex), refreshing the page$/' ./features/step_definitions/navigation_steps.rb:133:in `/^I wait until I see the "([^"]*)" system, refreshing the page$/' ./features/step_definitions/navigation_steps.rb:129:in `/^I wait until I see the name of "([^"]*)", refreshing the page$/' features/secondary/min_salt_mgrcompat_state.feature:66:in `I wait until I see the name of "sle_minion", refreshing the page'
And
I wait until onboarding is completed for "sle_minion"
0s
@skip_if_github_validation
@sle_minion
@scope_salt
Scenario: Check that installed packages are visible with the new module.run syntax
No system found for hostname: uyuni-master-suse-minion.sumaci.aws (RuntimeError) ./features/support/commonlib.rb:444:in `get_system_id' ./features/step_definitions/navigation_steps.rb:502:in `/^I am on the Systems overview page of this "([^"]*)"$/' features/secondary/min_salt_mgrcompat_state.feature:70:in `I am on the Systems overview page of this "sle_minion"'
When
I follow "Software" in the content area
0s
And
I follow "List / Remove"
0s
Then
I should see a "aaa_base" text
0s
@skip_if_github_validation
@sle_minion
@scope_salt
Scenario: Check that Hardware Refresh button works on a SLE minion with new module.run syntax
No system found for hostname: uyuni-master-suse-minion.sumaci.aws (RuntimeError) ./features/support/commonlib.rb:444:in `get_system_id' ./features/step_definitions/navigation_steps.rb:502:in `/^I am on the Systems overview page of this "([^"]*)"$/' features/secondary/min_salt_mgrcompat_state.feature:76:in `I am on the Systems overview page of this "sle_minion"'
And
I follow "Hardware"
0s
And
I click on "Schedule Hardware Refresh"
0s
Then
I should see a "You have successfully scheduled a hardware profile refresh" text
0s
When
I wait until event "Hardware List Refresh scheduled" is completed
0s
And
I wait until there is no Salt job calling the module "hardware.profileupdate" on "sle_minion"
0s
@skip_if_github_validation
@sle_minion
@scope_salt
Scenario: Cleanup: Delete profile of the minion and disable new module.run syntax
When
I remove "custom_modulerun.conf" from salt minion config directory on "sle_minion"
00:00:00.754
And
I remove "custom_grains.conf" from salt minion config directory on "sle_minion"
00:00:00.429
And
I delete "sle_minion" system using the api
00:00:00.999
And
I perform a full salt minion cleanup on "sle_minion"
00:00:04.443
And
I wait until Salt client is inactive on "sle_minion"
00:00:00.448
Then
"sle_minion" should not be registered
00:00:00.966
@skip_if_github_validation
@sle_minion
@scope_salt
Scenario: Cleanup: bootstrap again the minion after mgrcompat tests
When
I perform a full salt minion cleanup on "sle_minion"
00:00:04.446
And
I follow the left menu "Systems > Bootstrapping"
00:00:00.086
Then
I should see a "Bootstrap Minions" text
00:00:00.067
The hostname of sle_minion is uyuni-master-suse-minion.sumaci.aws
And
I enter "22" as "port"
00:00:00.062
And
I enter "root" as "user"
00:00:00.061
And
I enter "linux" as "password"
00:00:00.072
And
I select "1-SUSE-KEY-x86_64" from "activationKeys"
00:00:00.081
And
I select the hostname of "proxy" from "proxies" if present
00:00:00.069
And
I click on "Bootstrap"
00:00:00.075
And
I wait until I see "Bootstrap process initiated." text
00:00:39.919
And
I wait until onboarding is completed for "sle_minion"
00:01:24.224