@scope_ansible
@sle_minion
@bug_reported
@susemanager
@skip_if_github_validation
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
@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
@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.627
When
I follow "Properties" in the content area
00:00:00.089
And
I check "ansible_control_node"
00:00:00.095
And
I click on "Update Properties"
00:00:02.105
Then
I wait until I see "Ansible Control Node type has been applied." text
00:00:00.103
@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.601
When
I follow "States" in the content area
00:00:00.080
And
I click on "Apply Highstate"
00:00:00.111
And
I wait until event "Apply highstate scheduled" is completed
00:00:39.371
FAIL: rpm -q ansible returned status code = 1. Output: package ansible is not installed (ScriptError) ./features/support/remote_node.rb:172:in `run_local' ./features/support/remote_node.rb:120:in `run' ./features/step_definitions/command_steps.rb:217:in `/^"([^"]*)" should be installed on "([^"]*)"$/' features/secondary/min_ansible_control_node.feature:40:in `"ansible" should be installed on "sle_minion"'
@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.586
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.064
@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.616
When
I follow "Ansible" in the content area
00:00:00.069
Then
I should see a "Ansible Control Node Configuration" text
00:00:00.065
And
I enter "/srv/playbooks/" as "new_playbook_path_input"
00:00:00.169
And
I click on "new_playbook_path_save"
00:00:00.068
And
I enter "/srv/playbooks/orion_dummy/hosts" as "new_inventory_path_input"
00:00:00.108
And
I click on "new_inventory_path_save"
00:00:00.064
@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:02.106
When
I follow "Ansible" in the content area
00:00:00.069
And
I follow "Inventories" in the content area
00:00:00.076
And
I wait until I see "/srv/playbooks/orion_dummy/hosts" text
00:00:00.274
And
I click on the inventory accordion for "/srv/playbooks/orion_dummy/hosts"
00:00:00.052
Then
I wait until I see "myself" text
00:00:02.958
@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.589
When
I follow "Ansible" in the content area
00:00:00.067
And
I follow "Playbooks" in the content area
00:00:00.069
And
I wait until I see "/srv/playbooks" text
00:00:00.258
And
I click on "/srv/playbooks"
00:00:00.056
Then
I wait until I see "/srv/playbooks/orion_dummy/playbook_orion_dummy.yml" text
00:00:02.002
And
I wait until I see "/srv/playbooks/basic_tests.yml" text
00:00:00.069
@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.531
When
I follow "Ansible" in the content area
00:00:00.066
And
I follow "Playbooks" in the content area
00:00:00.061
And
I wait until I see "/srv/playbooks" text
00:00:00.163
And
I click on "/srv/playbooks"
00:00:00.054
And
I wait until I see "/srv/playbooks/orion_dummy/playbook_orion_dummy.yml" text
00:00:02.094
And
I click on "orion_dummy/playbook_orion_dummy.yml"
00:00:00.063
And
I wait until I see "Playbook Content" text
00:00:01.054
And
I select "/srv/playbooks/orion_dummy/hosts" from "inventory-path-select"
00:00:01.129
And
I click on "Schedule"
00:00:00.077
Then
I should see a "Playbook execution has been scheduled" text
00:00:00.396
And
I wait until event "Execute playbook 'playbook_orion_dummy.yml' scheduled" is completed
00:00:26.374
+ Show Error
+ Show Info
+ Screenshot
unknown error - Event failed (SystemCallError) ./features/step_definitions/navigation_steps.rb:107:in `block (2 levels) in (top (required))' ./features/support/commonlib.rb:100:in `block in repeat_until_timeout' ./features/support/commonlib.rb:89:in `repeat_until_timeout' ./features/step_definitions/navigation_steps.rb:99:in `/^I wait at most (\d+) seconds until the event is completed, refreshing the page$/' ./features/step_definitions/common_steps.rb:157:in `/^I wait (\d+) seconds until the event is picked up and (\d+) seconds until the event "([^"]*)" is completed$/' ./features/step_definitions/common_steps.rb:174:in `/^I wait at most (\d+) seconds until event "([^"]*)" is completed$/' ./features/step_definitions/common_steps.rb:151:in `/^I wait until event "([^"]*)" is completed$/' features/secondary/min_ansible_control_node.feature:86:in `I wait until event "Execute playbook 'playbook_orion_dummy.yml' scheduled" is completed'
Event Details:
module_|-run_ansible_playbook_|-ansible.playbooks_|-run:
name: ansible.playbooks
changes:
ret:
pid: 11914.0
retcode: 4.0
stdout: ''
stderr: |-
[WARNING]: Error loading plugin 'community.general.zypper': No module named 'ansible_collections.community'
[ERROR]: couldn't resolve module/action 'zypper'. This often indicates a misspelling, missing collection, or incorrect module path.
Origin: /srv/playbooks/orion_dummy/playbook_orion_dummy.yml:5:5
3
4 tasks:
5 - name: Install Orion dummy package
^ column 5
comment: Module function ansible.playbooks executed
result: false
__sls__: ansible.runplaybook
__run_num__: 0.0
start_time: '23:40:35.940933'
duration: 2465.618
__id__: run_ansible_playbook
And
file "/tmp/file.txt" should exist on "sle_minion"
0s
@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.550
When
I follow "Ansible" in the content area
00:00:00.086
And
I follow "Playbooks" in the content area
00:00:00.072
And
I wait until I see "/srv/playbooks" text
00:00:00.269
And
I click on "/srv/playbooks"
00:00:00.087
And
I wait until I see "/srv/playbooks/basic_tests.yml" text
00:00:02.071
And
I click on "basic_tests.yml"
00:00:00.067
And
I wait until I see "Playbook Content" text
00:00:01.047
And
I click on "Schedule"
00:00:00.097
And
I wait until I see "Playbook execution has been scheduled" text
00:00:00.319
And
I wait for "2" seconds
00:00:02.000
And
I follow "scheduled" in the content area
00:00:00.081
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:43.588
When
I follow "1 system"
00:00:00.311
And
I wait until I see the system name of "sle_minion"
00:00:00.073
And
I follow this "sle_minion" link
00:00:00.467
Text '42' not found (ScriptError) ./features/step_definitions/navigation_steps.rb:691:in `/^I should see a "([^"]*)" text$/' features/secondary/min_ansible_control_node.feature:106:in `I should see a "42" text'
And
I should see a "101010" text
0s
And
I should see a "(code 0)" text
0s
@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:01.905
When
I follow "Ansible" in the content area
00:00:00.087
And
I follow "Playbooks" in the content area
00:00:00.070
And
I wait until I see "/srv/playbooks" text
00:00:00.373
And
I click on "/srv/playbooks"
00:00:00.062
And
I wait until I see "/srv/playbooks/basic_tests.yml" text
00:00:01.892
And
I click on "basic_tests.yml"
00:00:00.064
And
I wait until I see "Playbook Content" text
00:00:01.070
And
I click on "Edit variables"
00:00:00.099
And
I enter data from table with value as field name
00:00:00.923
And
I click on "Save"
00:00:00.105
And
I click on "Schedule"
00:00:00.079
And
I wait until I see "Playbook execution has been scheduled" text
00:00:00.498
And
I wait for "2" seconds
00:00:02.000
And
I follow "scheduled" in the content area
00:00:00.078
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:43.580
When
I follow "1 system"
00:00:00.302
And
I wait until I see the system name of "sle_minion"
00:00:00.078
And
I follow this "sle_minion" link
00:00:00.391
Text '4200' not found (ScriptError) ./features/step_definitions/navigation_steps.rb:691:in `/^I should see a "([^"]*)" text$/' features/secondary/min_ansible_control_node.feature:135:in `I should see a "4200" text'
And
I should see a "(code 0)" text
0s
@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.549
When
I follow "Ansible" in the content area
00:00:00.085
And
I follow "Playbooks" in the content area
00:00:00.069
And
I wait until I see "/srv/playbooks" text
00:00:00.269
And
I click on "/srv/playbooks"
00:00:00.087
And
I wait until I see "/srv/playbooks/basic_tests.yml" text
00:00:02.057
And
I click on "basic_tests.yml"
00:00:00.063
And
I wait until I see "Playbook Content" text
00:00:01.170
And
I click on "Edit variables"
00:00:00.116
And
I enter data from table with value as field name
00:00:01.099
And
I click on "Save"
00:00:00.107
And
I click on "Schedule"
00:00:00.076
And
I wait until I see "Playbook execution has been scheduled" text
00:00:00.311
And
I wait for "2" seconds
00:00:02.000
And
I follow "scheduled" in the content area
00:00:00.076
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:43.534
When
I follow "1 system"
00:00:00.373
And
I wait until I see the system name of "sle_minion"
00:00:00.076
And
I follow this "sle_minion" link
00:00:00.556
Text '42000' not found (ScriptError) ./features/step_definitions/navigation_steps.rb:691:in `/^I should see a "([^"]*)" text$/' features/secondary/min_ansible_control_node.feature:165:in `I should see a "42000" text'
And
I should see a "4242" text
0s
And
I should see a "(code 0)" text
0s
@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.585
When
I follow "Ansible" in the content area
00:00:00.086
And
I follow "Playbooks" in the content area
00:00:00.073
And
I wait until I see "/srv/playbooks" text
00:00:00.268
And
I click on "/srv/playbooks"
00:00:00.086
And
I wait until I see "/srv/playbooks/basic_tests.yml" text
00:00:01.971
And
I click on "basic_tests.yml"
00:00:00.065
And
I wait until I see "Playbook Content" text
00:00:01.066
And
I click on "Edit variables"
00:00:00.121
And
I enter data from table with value as field name
00:00:01.075
And
I click on "Save"
00:00:00.105
And
I click on "Schedule"
00:00:00.077
And
I wait until I see "Playbook execution has been scheduled" text
00:00:00.323
And
I wait for "2" seconds
00:00:02.000
And
I follow "scheduled" in the content area
00:00:00.078
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:43.631
When
I follow "1 system"
00:00:00.308
And
I wait until I see the system name of "sle_minion"
00:00:00.071
And
I follow this "sle_minion" link
00:00:00.397
Text '65536' not found (ScriptError) ./features/step_definitions/navigation_steps.rb:691:in `/^I should see a "([^"]*)" text$/' features/secondary/min_ansible_control_node.feature:198:in `I should see a "65536" text'
And
I should see a "(code 0)" text
0s
@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.608
When
I follow "Ansible" in the content area
00:00:00.087
And
I follow "Playbooks" in the content area
00:00:00.071
And
I wait until I see "/srv/playbooks" text
00:00:00.370
And
I click on "/srv/playbooks"
00:00:00.062
And
I wait until I see "/srv/playbooks/basic_tests.yml" text
00:00:02.128
And
I click on "basic_tests.yml"
00:00:00.063
And
I wait until I see "Playbook Content" text
00:00:01.220
And
I click on "Edit variables"
00:00:00.093
And
I click on "Edit YAML"
00:00:00.084
And
I click on "Save"
00:00:00.103
And
I click on "Schedule"
00:00:00.077
And
I wait until I see "Playbook execution has been scheduled" text
00:00:00.326
And
I wait for "2" seconds
00:00:02.000
And
I follow "scheduled" in the content area
00:00:00.079
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:43.517
When
I follow "1 system"
00:00:00.306
And
I wait until I see the system name of "sle_minion"
00:00:00.070
And
I follow this "sle_minion" link
00:00:00.400
Text '42' not found (ScriptError) ./features/step_definitions/navigation_steps.rb:691:in `/^I should see a "([^"]*)" text$/' features/secondary/min_ansible_control_node.feature:222:in `I should see a "42" text'
And
I should see a "101010" text
0s
And
I should see a "(code 0)" text
0s
@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:01.525
When
I follow "Ansible" in the content area
00:00:00.085
And
I follow "Playbooks" in the content area
00:00:00.067
And
I wait until I see "/srv/playbooks" text
00:00:00.269
And
I click on "/srv/playbooks"
00:00:00.061
And
I wait until I see "/srv/playbooks/basic_tests.yml" text
00:00:01.900
And
I click on "basic_tests.yml"
00:00:00.063
And
I wait until I see "Playbook Content" text
00:00:01.003
And
I click on "Edit variables"
00:00:00.095
And
I enter data from table with value as field name
00:00:00.927
And
I click on "Edit YAML"
00:00:00.075
And
I click on "Save"
00:00:00.108
And
I click on "Schedule"
00:00:00.076
And
I wait until I see "Playbook execution has been scheduled" text
00:00:00.315
And
I wait for "2" seconds
00:00:02.000
And
I follow "scheduled" in the content area
00:00:00.076
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:43.564
When
I follow "1 system"
00:00:00.304
And
I wait until I see the system name of "sle_minion"
00:00:00.070
And
I follow this "sle_minion" link
00:00:00.403
Text 'abc' not found (ScriptError) ./features/step_definitions/navigation_steps.rb:691:in `/^I should see a "([^"]*)" text$/' features/secondary/min_ansible_control_node.feature:252:in `I should see a "abc" text'
And
I should see a "def" text
0s
And
I should see a "ghi" text
0s
And
I should see a "jkl" text
0s
And
I should see a "4096" text
0s
And
I should see a "(code 0)" text
0s
@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.558
When
I follow "Properties" in the content area
00:00:00.082
And
I uncheck "ansible_control_node"
00:00:10.093
And
I click on "Update Properties"
00:00:01.667
Then
I should see a "System properties changed" text
00:00:00.101
And
I remove package "orion-dummy" from this "sle_minion" without error control
00:00:01.394
And
I remove "/tmp/file.txt" from "sle_minion"
00:00:00.441
@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
@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.709
When
I follow "States" in the content area
00:00:00.082
And
I click on "Apply Highstate"
00:00:00.072
And
I wait until event "Apply highstate scheduled" is completed
00:00:23.003