@skip_if_github_validation
@scope_ansible
@sle_minion
@bug_reported
@susemanager
Feature: 0075 - Operate an Ansible control node in a normal minion
Description: * Related GitHub Card: https://github.com/SUSE/spacewalk/issues/30427
File name: min_ansible_control_node.feature
Relative path: secondary/min_ansible_control_node.feature
@skip_if_github_validation
@scope_ansible
@sle_minion
@bug_reported
@susemanager
Scenario: Pre-requisite: Subscribe SUSE minions to SLE-Module-Python3-15-SP7-Pool for x86_64
Given
I am on the Systems overview page of this "sle_minion"
0s
When
I follow "Software" in the content area
0s
And
I follow "Software Channels" in the content area
0s
And
I check "SLE-Module-Python3-15-SP7-Pool for x86_64" by label
0s
And
I click on "Next"
0s
And
I click on "Confirm"
0s
And
I wait until I see "Changing the channels has been scheduled." text
0s
And
I follow "scheduled"
0s
And
I wait until I see "1 system successfully completed this action" text, refreshing the page
0s
@skip_if_github_validation
@scope_ansible
@sle_minion
@bug_reported
Scenario: Enable "Ansible control node" system type
Given
I am on the Systems overview page of this "sle_minion"
00:00:01.600
When
I store the current last event id for "sle_minion"
00:00:02.195
And
I follow "Properties" in the content area
00:00:00.102
And
I check "ansible_control_node"
00:00:00.114
And
I click on "Update Properties"
00:00:02.462
Then
I wait until I see "Ansible Control Node type has been applied." text
00:00:00.107
@skip_if_github_validation
@scope_ansible
@sle_minion
@bug_reported
Scenario: Check that the automatic Ansible inventory refresh succeeds
Given
I am on the Systems overview page of this "sle_minion"
00:00:01.818
When
I wait until a new "Refresh Ansible inventories scheduled by (system)" event is completed for "sle_minion"
00:00:04.057
+ Show Error
+ Screenshot
Action 283 failed: uyuni-master-suse-minion.sumaci.aws: 'ansible.targets' is not available. (RuntimeError) ./features/support/commonlib.rb:951:in `block in wait_action_complete' ./features/support/commonlib.rb:100:in `block in repeat_until_timeout' ./features/support/commonlib.rb:89:in `repeat_until_timeout' ./features/support/commonlib.rb:946:in `wait_action_complete' ./features/step_definitions/command_steps.rb:1873:in `/^I wait until a new "([^"]*)" event is completed for "([^"]*)"$/' features/secondary/min_ansible_control_node.feature:39:in `I wait until a new "Refresh Ansible inventories scheduled by (system)" event is completed for "sle_minion"'
@skip_if_github_validation
@scope_ansible
@sle_minion
@bug_reported
Scenario: Apply highstate and check that Ansible is installed
Given
I am on the Systems overview page of this "sle_minion"
00:00:01.706
When
I follow "States" in the content area
00:00:00.109
And
I click on "Apply Highstate"
00:00:00.103
And
I wait until event "Apply highstate scheduled" is completed
00:00:56.521
Then
"ansible" should be installed on "sle_minion"
00:00:00.934
@skip_if_github_validation
@scope_ansible
@sle_minion
@bug_reported
Scenario: The Ansible tab appears in the system overview page
Given
I am on the Systems overview page of this "sle_minion"
00:00:01.810
When
I follow "Ansible" in the content area
00:00:00.109
Then
I should see a "Ansible Control Node Configuration" text
00:00:00.071
@skip_if_github_validation
@scope_ansible
@sle_minion
@bug_reported
Scenario: Configure some inventory and playbooks path
Given
I am on the Systems overview page of this "sle_minion"
00:00:01.724
When
I follow "Ansible" in the content area
00:00:00.084
Then
I should see a "Ansible Control Node Configuration" text
00:00:00.088
And
I enter "/srv/playbooks/" as "new_playbook_path_input"
00:00:00.329
And
I click on "new_playbook_path_save"
00:00:00.081
And
I enter "/srv/playbooks/orion_dummy/hosts" as "new_inventory_path_input"
00:00:00.143
And
I click on "new_inventory_path_save"
00:00:00.078
@skip_if_github_validation
@scope_ansible
@sle_minion
@bug_reported
@bug_reported
Scenario: Display inventories
Given
I am on the Systems overview page of this "sle_minion"
00:00:01.994
When
I follow "Ansible" in the content area
00:00:00.091
And
I follow "Inventories" in the content area
00:00:00.101
And
I wait until I see "/srv/playbooks/orion_dummy/hosts" text
00:00:00.185
And
I click on the inventory accordion for "/srv/playbooks/orion_dummy/hosts"
00:00:00.070
Then
I wait until I see "myself" text
00:00:07.542
@skip_if_github_validation
@scope_ansible
@sle_minion
@bug_reported
Scenario: Discover playbooks and display them
Given
I am on the Systems overview page of this "sle_minion"
00:00:01.656
When
I follow "Ansible" in the content area
00:00:00.088
And
I follow "Playbooks" in the content area
00:00:00.094
And
I wait until I see "/srv/playbooks" text
00:00:00.283
And
I click on "/srv/playbooks"
00:00:00.097
Then
I wait until I see "/srv/playbooks/orion_dummy/playbook_orion_dummy.yml" text
00:00:05.489
And
I wait until I see "/srv/playbooks/basic_tests.yml" text
00:00:00.071
@skip_if_github_validation
@scope_ansible
@sle_minion
@bug_reported
Scenario: Run a playbook using custom inventory
Given
I am on the Systems overview page of this "sle_minion"
00:00:01.804
When
I follow "Ansible" in the content area
00:00:00.084
And
I follow "Playbooks" in the content area
00:00:00.113
And
I wait until I see "/srv/playbooks" text
00:00:00.288
And
I click on "/srv/playbooks"
00:00:00.069
And
I wait until I see "/srv/playbooks/orion_dummy/playbook_orion_dummy.yml" text
00:00:05.293
And
I click on "orion_dummy/playbook_orion_dummy.yml"
00:00:00.080
And
I wait until I see "Playbook Content" text
00:00:00.997
And
I select "/srv/playbooks/orion_dummy/hosts" from "inventory-path-select"
00:00:01.173
And
I click on "Schedule"
00:00:00.102
Then
I should see a "Playbook execution has been scheduled" text
00:00:00.397
And
I wait until event "Execute playbook 'playbook_orion_dummy.yml' scheduled" is completed
00:00:40.305
And
file "/tmp/file.txt" should exist on "sle_minion"
00:00:00.824
@skip_if_github_validation
@scope_ansible
@sle_minion
@bug_reported
Scenario: Run the basic tests playbook
Given
I am on the Systems overview page of this "sle_minion"
00:00:01.774
When
I follow "Ansible" in the content area
00:00:00.105
And
I follow "Playbooks" in the content area
00:00:00.092
And
I wait until I see "/srv/playbooks" text
00:00:00.184
And
I click on "/srv/playbooks"
00:00:00.081
And
I wait until I see "/srv/playbooks/basic_tests.yml" text
00:00:05.484
And
I click on "basic_tests.yml"
00:00:00.094
And
I wait until I see "Playbook Content" text
00:00:01.070
And
I click on "Schedule"
00:00:00.096
And
I wait until I see "Playbook execution has been scheduled" text
00:00:00.344
And
I wait for "2" seconds
00:00:02.000
And
I follow "scheduled" in the content area
00:00:00.115
Then
I wait until I see "1 system successfully completed this action" text or "1 system failed to complete this action" text, refreshing the page
00:00:33.539
When
I follow "1 system"
00:00:00.356
And
I wait until I see the system name of "sle_minion"
00:00:00.081
And
I follow this "sle_minion" link
00:00:00.429
Then
I should see a "42" text
00:00:00.085
And
I should see a "101010" text
00:00:00.080
And
I should see a "(code 0)" text
00:00:00.075
@skip_if_github_validation
@scope_ansible
@sle_minion
@bug_reported
Scenario: Run the basic tests playbook while editing variables and changing their values
Given
I am on the Systems overview page of this "sle_minion"
00:00:02.261
When
I follow "Ansible" in the content area
00:00:00.139
And
I follow "Playbooks" in the content area
00:00:00.089
And
I wait until I see "/srv/playbooks" text
00:00:00.287
And
I click on "/srv/playbooks"
00:00:00.076
And
I wait until I see "/srv/playbooks/basic_tests.yml" text
00:00:05.598
And
I click on "basic_tests.yml"
00:00:00.075
And
I wait until I see "Playbook Content" text
00:00:01.007
And
I click on "Edit variables"
00:00:00.104
And
I enter data from table with value as field name
00:00:01.112
And
I click on "Save"
00:00:00.128
And
I click on "Schedule"
00:00:00.093
And
I wait until I see "Playbook execution has been scheduled" text
00:00:00.333
And
I wait for "2" seconds
00:00:02.000
And
I follow "scheduled" in the content area
00:00:00.099
Then
I wait until I see "1 system successfully completed this action" text or "1 system failed to complete this action" text, refreshing the page
00:00:33.614
When
I follow "1 system"
00:00:00.345
And
I wait until I see the system name of "sle_minion"
00:00:00.080
And
I follow this "sle_minion" link
00:00:00.441
Then
I should see a "4200" text
00:00:00.078
And
I should see a "(code 0)" text
00:00:00.075
@skip_if_github_validation
@scope_ansible
@sle_minion
@bug_reported
Scenario: Run the basic tests playbook while editing the EMPTY variables and changing their values
Given
I am on the Systems overview page of this "sle_minion"
00:00:01.629
When
I follow "Ansible" in the content area
00:00:00.111
And
I follow "Playbooks" in the content area
00:00:00.080
And
I wait until I see "/srv/playbooks" text
00:00:00.279
And
I click on "/srv/playbooks"
00:00:00.071
And
I wait until I see "/srv/playbooks/basic_tests.yml" text
00:00:05.492
And
I click on "basic_tests.yml"
00:00:00.088
And
I wait until I see "Playbook Content" text
00:00:01.043
And
I click on "Edit variables"
00:00:00.114
And
I enter data from table with value as field name
00:00:01.501
And
I click on "Save"
00:00:00.135
And
I click on "Schedule"
00:00:00.091
And
I wait until I see "Playbook execution has been scheduled" text
00:00:00.331
And
I wait for "2" seconds
00:00:02.000
And
I follow "scheduled" in the content area
00:00:00.098
Then
I wait until I see "1 system successfully completed this action" text or "1 system failed to complete this action" text, refreshing the page
00:00:33.592
When
I follow "1 system"
00:00:00.350
And
I wait until I see the system name of "sle_minion"
00:00:00.088
And
I follow this "sle_minion" link
00:00:00.452
Then
I should see a "42000" text
00:00:00.089
And
I should see a "4242" text
00:00:00.083
And
I should see a "(code 0)" text
00:00:00.084
@skip_if_github_validation
@scope_ansible
@sle_minion
@bug_reported
@skip_if_github_validation
Scenario: Run the basic tests playbook while editing the NULL variable and changing its value
Given
I am on the Systems overview page of this "sle_minion"
00:00:01.615
When
I follow "Ansible" in the content area
00:00:00.106
And
I follow "Playbooks" in the content area
00:00:00.095
And
I wait until I see "/srv/playbooks" text
00:00:00.194
And
I click on "/srv/playbooks"
00:00:00.085
And
I wait until I see "/srv/playbooks/basic_tests.yml" text
00:00:05.443
And
I click on "basic_tests.yml"
00:00:00.080
And
I wait until I see "Playbook Content" text
00:00:01.036
And
I click on "Edit variables"
00:00:00.120
And
I enter data from table with value as field name
00:00:01.514
And
I click on "Save"
00:00:00.139
And
I click on "Schedule"
00:00:00.097
And
I wait until I see "Playbook execution has been scheduled" text
00:00:00.341
And
I wait for "2" seconds
00:00:02.000
And
I follow "scheduled" in the content area
00:00:00.092
Then
I wait until I see "1 system successfully completed this action" text or "1 system failed to complete this action" text, refreshing the page
00:00:33.669
When
I follow "1 system"
00:00:00.393
And
I wait until I see the system name of "sle_minion"
00:00:00.080
And
I follow this "sle_minion" link
00:00:00.423
Then
I should see a "65536" text
00:00:00.091
And
I should see a "(code 0)" text
00:00:00.074
@skip_if_github_validation
@scope_ansible
@sle_minion
@bug_reported
@skip_if_github_validation
Scenario: Run the basic tests playbook on SAVE operation of YAML editor with pre-crafted strings
Given
I am on the Systems overview page of this "sle_minion"
00:00:01.693
When
I follow "Ansible" in the content area
00:00:00.103
And
I follow "Playbooks" in the content area
00:00:00.093
And
I wait until I see "/srv/playbooks" text
00:00:00.286
And
I click on "/srv/playbooks"
00:00:00.079
And
I wait until I see "/srv/playbooks/basic_tests.yml" text
00:00:05.534
And
I click on "basic_tests.yml"
00:00:00.081
And
I wait until I see "Playbook Content" text
00:00:01.025
And
I click on "Edit variables"
00:00:00.115
And
I click on "Edit YAML"
00:00:00.117
And
I click on "Save"
00:00:00.120
And
I click on "Schedule"
00:00:00.094
And
I wait until I see "Playbook execution has been scheduled" text
00:00:00.352
And
I wait for "2" seconds
00:00:02.000
And
I follow "scheduled" in the content area
00:00:00.117
Then
I wait until I see "1 system successfully completed this action" text or "1 system failed to complete this action" text, refreshing the page
00:00:33.611
When
I follow "1 system"
00:00:00.369
And
I wait until I see the system name of "sle_minion"
00:00:00.084
And
I follow this "sle_minion" link
00:00:00.527
Then
I should see a "42" text
00:00:00.082
And
I should see a "101010" text
00:00:00.078
And
I should see a "(code 0)" text
00:00:00.081
@skip_if_github_validation
@scope_ansible
@sle_minion
@bug_reported
Scenario: Run the basic tests playbook on SAVE operation of YAML editor with safe values
Given
I am on the Systems overview page of this "sle_minion"
00:00:02.184
When
I follow "Ansible" in the content area
00:00:00.136
And
I follow "Playbooks" in the content area
00:00:00.098
And
I wait until I see "/srv/playbooks" text
00:00:00.191
And
I click on "/srv/playbooks"
00:00:00.087
And
I wait until I see "/srv/playbooks/basic_tests.yml" text
00:00:05.521
And
I click on "basic_tests.yml"
00:00:00.087
And
I wait until I see "Playbook Content" text
00:00:01.082
And
I click on "Edit variables"
00:00:00.114
And
I enter data from table with value as field name
00:00:01.273
And
I click on "Edit YAML"
00:00:00.120
And
I click on "Save"
00:00:00.127
And
I click on "Schedule"
00:00:00.136
And
I wait until I see "Playbook execution has been scheduled" text
00:00:00.340
And
I wait for "2" seconds
00:00:02.000
And
I follow "scheduled" in the content area
00:00:00.104
Then
I wait until I see "1 system successfully completed this action" text or "1 system failed to complete this action" text, refreshing the page
00:00:33.623
When
I follow "1 system"
00:00:00.327
And
I wait until I see the system name of "sle_minion"
00:00:00.072
And
I follow this "sle_minion" link
00:00:00.438
Then
I should see a "abc" text
00:00:00.080
And
I should see a "def" text
00:00:00.072
And
I should see a "ghi" text
00:00:00.075
And
I should see a "jkl" text
00:00:00.074
And
I should see a "4096" text
00:00:00.085
And
I should see a "(code 0)" text
00:00:00.070
@skip_if_github_validation
@scope_ansible
@sle_minion
@bug_reported
Scenario: Cleanup: Disable Ansible and remove test playbooks and inventory file
Given
I am on the Systems overview page of this "sle_minion"
00:00:01.650
When
I follow "Properties" in the content area
00:00:00.094
And
I uncheck "ansible_control_node"
00:00:10.116
And
I click on "Update Properties"
00:00:01.753
Then
I should see a "System properties changed" text
00:00:00.096
And
I remove package "orion-dummy" from this "sle_minion" without error control
00:00:02.811
And
I remove "/tmp/file.txt" from "sle_minion"
00:00:00.468
@skip_if_github_validation
@scope_ansible
@sle_minion
@bug_reported
@susemanager
Scenario: Cleanup: Unsubscribe SUSE minions from SLE-Module-Python3-15-SP7-Pool for x86_64
Given
I am on the Systems overview page of this "sle_minion"
0s
When
I follow "Software" in the content area
0s
And
I follow "Software Channels" in the content area
0s
And
I uncheck "SLE-Module-Python3-15-SP7-Pool for x86_64" by label
0s
And
I click on "Next"
0s
And
I click on "Confirm"
0s
And
I wait until I see "Changing the channels has been scheduled." text
0s
And
I follow "scheduled"
0s
And
I wait until I see "1 system successfully completed this action" text, refreshing the page
0s
@skip_if_github_validation
@scope_ansible
@sle_minion
@bug_reported
Scenario: Cleanup: Apply highstate to disable the minion as an "Ansible control node"
Given
I am on the Systems overview page of this "sle_minion"
00:00:01.553
When
I follow "States" in the content area
00:00:00.103
And
I click on "Apply Highstate"
00:00:00.088
And
I wait until event "Apply highstate scheduled" is completed
00:00:39.638