@scope_ansible
@sle_minion
@susemanager
@skip_if_github_validation
Feature: 0075 - Operate an Ansible control node in a normal minion
File name: min_ansible_control_node.feature
Relative path: secondary/min_ansible_control_node.feature
@scope_ansible
@sle_minion
@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
Scenario: Enable "Ansible control node" system type
Given
I am on the Systems overview page of this "sle_minion"
00:00:01.519
When
I follow "Properties" in the content area
00:00:00.071
And
I check "ansible_control_node"
00:00:00.081
And
I click on "Update Properties"
00:00:02.761
Then
I wait until I see "Ansible Control Node type has been applied." text
00:00:00.092
@scope_ansible
@sle_minion
Scenario: Apply highstate and check that Ansible is installed
Given
I am on the Systems overview page of this "sle_minion"
00:00:02.371
When
I follow "States" in the content area
00:00:00.070
And
I click on "Apply Highstate"
00:00:00.063
And
I wait until event "Apply highstate scheduled" is completed
00:00:42.306
+ 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:37:in `I wait until event "Apply highstate scheduled" is completed'
Event Details:
Failed to apply state(s): highstate
----------
ID: sync_states
Function: saltutil.sync_states
Name: sync_states
Result: true
Comment: No updates to sync
Started: 19:43:16.408308
Duration: 398.506
SLS: util.syncstates
Changed: {}
----------
ID: mgr_absent_ca_package
Function: pkg.removed
Name: rhn-org-trusted-ssl-cert
Result: true
Comment: All specified packages are already absent
Started: 19:43:18.238406
Duration: 11.502
SLS: certs
Changed: {}
----------
ID: mgr_ca_cert
Function: file.managed
Name: /etc/pki/trust/anchors/RHN-ORG-TRUSTED-SSL-CERT
Result: true
Comment: File /etc/pki/trust/anchors/RHN-ORG-TRUSTED-SSL-CERT is in the correct state
Started: 19:43:18.252850
Duration: 42.777
SLS: certs
Changed: {}
----------
ID: update-ca-certificates
Function: cmd.run
Name: /usr/sbin/update-ca-certificates
Result: true
Comment: State was not run because none of the onchanges reqs changed
Started: 19:43:18.297462
Duration: 0.008
SLS: certs
Changed: {}
----------
ID: mgr_proxy_ca_cert_symlink
Function: file.symlink
Name: /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT
Result: true
Comment: onlyif condition is false
Started: 19:43:18.297603
Duration: 699.818
SLS: certs
Changed: {}
----------
ID: mgr_deploy_tools_uyuni_key
Function: file.managed
Name: /etc/pki/rpm-gpg/uyuni-tools-gpg-pubkey-0d20833e.key
Result: true
Comment: File /etc/pki/rpm-gpg/uyuni-tools-gpg-pubkey-0d20833e.key is in the correct state
Started: 19:43:18.997737
Duration: 48.023
SLS: channels.gpg-keys
Changed: {}
----------
ID: mgr_deploy_suse_addon_key
Function: file.managed
Name: /etc/pki/rpm-gpg/suse-addon-97a636db0bad8ecc.key
Result: true
Comment: File /etc/pki/rpm-gpg/suse-addon-97a636db0bad8ecc.key is in the correct state
Started: 19:43:19.045902
Duration: 42.917
SLS: channels.gpg-keys
Changed: {}
----------
ID: mgr_deploy_suse16_gpg_key
Function: file.managed
Name: /etc/pki/rpm-gpg/suse16-gpg-pubkey-09d9ea69.key
Result: true
Comment: File /etc/pki/rpm-gpg/suse16-gpg-pubkey-09d9ea69.key is in the correct state
Started: 19:43:19.088977
Duration: 42.28
SLS: channels.gpg-keys
Changed: {}
----------
ID: file_///etc/pki/rpm-gpg/uyuni-tools-gpg-pubkey-0d20833e.key
Function: module.run
Name: pkg.add_repo_key
Result: true
Comment: Module function pkg.add_repo_key executed
Started: 19:43:19.131419
Duration: 41.284
SLS: channels.gpg-keys
Changed: ret: true
----------
ID: file_///usr/lib/rpm/gnupg/keys/gpg-pubkey-29b700a4-62b07e22.asc
Function: module.run
Name: pkg.add_repo_key
Result: true
Comment: Module function pkg.add_repo_key executed
Started: 19:43:19.172853
Duration: 38.901
SLS: channels.gpg-keys
Changed: ret: true
----------
ID: mgrchannels_repo
Function: file.managed
Name: /etc/zypp/repos.d/susemanager:channels.repo
Result: true
Comment: File /etc/zypp/repos.d/susemanager:channels.repo is in the correct state
Started: 19:43:19.212019
Duration: 155.574
SLS: channels
Changed: {}
----------
ID: pkg_installed
Function: pkg.installed
Name: pkg_installed
Result: true
Comment: No packages to install provided
Started: 19:43:19.368271
Duration: 0.845
SLS: packages.packages_36a60688e7a6b74d93d380a76a0ef62c
Changed: {}
----------
ID: pkg_removed
Function: pkg.removed
Name: pkg_removed
Result: true
Comment: All specified packages are already absent
Started: 19:43:19.369395
Duration: 11.83
SLS: packages.packages_36a60688e7a6b74d93d380a76a0ef62c
Changed: {}
----------
ID: pkg_latest
Function: pkg.latest
Name: pkg_latest
Result: true
Comment: No packages to install provided
Started: 19:43:19.381479
Duration: 0.638
SLS: packages.packages_36a60688e7a6b74d93d380a76a0ef62c
Changed: {}
----------
ID: disable_spacewalksd
Function: service.dead
Name: rhnsd
Result: true
Comment: The named service rhnsd is not available
Started: 19:43:19.382235
Duration: 17.883
SLS: services.salt-minion
Changed: {}
----------
ID: disable_spacewalk-update-status
Function: service.dead
Name: spacewalk-update-status
Result: true
Comment: The named service spacewalk-update-status is not available
Started: 19:43:19.400429
Duration: 12.976
SLS: services.salt-minion
Changed: {}
----------
ID: disable_osad
Function: service.dead
Name: osad
Result: true
Comment: The named service osad is not available
Started: 19:43:19.413564
Duration: 12.266
SLS: services.salt-minion
Changed: {}
----------
ID: remove_traditional_stack_all
Function: pkg.removed
Name: remove_traditional_stack_all
Result: true
Comment: All specified packages are already absent
Started: 19:43:19.425995
Duration: 12.692
SLS: services.salt-minion
Changed: {}
----------
ID: remove_traditional_stack
Function: pkg.removed
Name: remove_traditional_stack
Result: true
Comment: All specified packages are already absent
Started: 19:43:19.438818
Duration: 47.267
SLS: services.salt-minion
Changed: {}
----------
ID: /etc/sysconfig/rhn/systemid
Function: file.managed
Name: /etc/sysconfig/rhn/systemid
Result: true
Comment: File /etc/sysconfig/rhn/systemid exists with proper permissions. No changes made.
Started: 19:43:19.486258
Duration: 1.677
SLS: services.salt-minion
Changed: {}
----------
ID: mgr_ansible_installed
Function: pkg.installed
Name: mgr_ansible_installed
Result: false
Comment: An error was encountered while installing package(s): Zypper command failure: Running as unit: run-p11463-i9943.scope; invocation ID: fe96fbaee1384917b25f2e728014eccd
Package 'ansible' not found.Loading repository data...
Reading installed packages...
Started: 19:43:19.488030
Duration: 1775.062
SLS: ansible
Changed: {}
----------
ID: mgr_salt_minion_inst
Function: pkg.installed
Name: venv-salt-minion
Result: true
Comment: All specified packages are already installed
Started: 19:43:21.263750
Duration: 12.83
SLS: services.salt-minion
Changed: {}
----------
ID: /etc/venv-salt-minion/minion.d/susemanager.conf
Function: file.managed
Name: /etc/venv-salt-minion/minion.d/susemanager.conf
Result: true
Comment: File /etc/venv-salt-minion/minion.d/susemanager.conf is in the correct state
Started: 19:43:21.276782
Duration: 107.037
SLS: services.salt-minion
Changed: {}
----------
ID: mgr_salt_minion_run
Function: service.running
Name: venv-salt-minion
Result: true
Comment: The service venv-salt-minion is already running
Started: 19:43:21.383965
Duration: 38.817
SLS: services.salt-minion
Changed: {}
Then
"ansible" should be installed on "sle_minion"
0s
@scope_ansible
@sle_minion
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.557
When
I follow "Ansible" in the content area
00:00:00.080
Then
I should see a "Ansible Control Node Configuration" text
00:00:00.063
@scope_ansible
@sle_minion
Scenario: Configure some inventory and playbooks path
Given
I am on the Systems overview page of this "sle_minion"
00:00:01.537
When
I follow "Ansible" in the content area
00:00:00.061
Then
I should see a "Ansible Control Node Configuration" text
00:00:00.060
And
I enter "/srv/playbooks/" as "new_playbook_path_input"
00:00:00.130
And
I click on "new_playbook_path_save"
00:00:00.060
And
I enter "/srv/playbooks/orion_dummy/hosts" as "new_inventory_path_input"
00:00:00.099
And
I click on "new_inventory_path_save"
00:00:00.068
Given
I am on the Systems overview page of this "sle_minion"
00:00:01.664
When
I follow "Ansible" in the content area
00:00:00.063
And
I follow "Inventories" in the content area
00:00:00.085
And
I wait until I see "/srv/playbooks/orion_dummy/hosts" text
00:00:00.158
And
I click on the inventory accordion for "/srv/playbooks/orion_dummy/hosts"
00:00:00.050
Text 'myself' not found (ScriptError) ./features/step_definitions/navigation_steps.rb:40:in `/^I wait until I see "([^"]*)" text$/' features/secondary/min_ansible_control_node.feature:60:in `I wait until I see "myself" text'
@scope_ansible
@sle_minion
Scenario: Discover playbooks and display them
Given
I am on the Systems overview page of this "sle_minion"
00:00:01.506
When
I follow "Ansible" in the content area
00:00:00.079
And
I follow "Playbooks" in the content area
00:00:00.066
And
I wait until I see "/srv/playbooks" text
00:00:00.252
And
I click on "/srv/playbooks"
00:00:00.057
Then
I wait until I see "/srv/playbooks/orion_dummy/playbook_orion_dummy.yml" text
00:04:10.040
+ Show Error
+ Screenshot
Text '/srv/playbooks/orion_dummy/playbook_orion_dummy.yml' not found (ScriptError) ./features/step_definitions/navigation_steps.rb:40:in `/^I wait until I see "([^"]*)" text$/' features/secondary/min_ansible_control_node.feature:68:in `I wait until I see "/srv/playbooks/orion_dummy/playbook_orion_dummy.yml" text'
And
I wait until I see "/srv/playbooks/basic_tests.yml" text
0s
@scope_ansible
@sle_minion
Scenario: Run a playbook using custom inventory
Given
I am on the Systems overview page of this "sle_minion"
00:00:02.284
When
I follow "Ansible" in the content area
00:00:00.081
And
I follow "Playbooks" in the content area
00:00:00.069
And
I wait until I see "/srv/playbooks" text
00:00:00.249
And
I click on "/srv/playbooks"
00:00:00.059
And
I wait until I see "/srv/playbooks/orion_dummy/playbook_orion_dummy.yml" text
00:04:10.022
+ Show Error
+ Screenshot
Text '/srv/playbooks/orion_dummy/playbook_orion_dummy.yml' not found (ScriptError) ./features/step_definitions/navigation_steps.rb:40:in `/^I wait until I see "([^"]*)" text$/' features/secondary/min_ansible_control_node.feature:77:in `I wait until I see "/srv/playbooks/orion_dummy/playbook_orion_dummy.yml" text'
And
I click on "orion_dummy/playbook_orion_dummy.yml"
0s
And
I wait until I see "Playbook Content" text
0s
And
I select "/srv/playbooks/orion_dummy/hosts" from "inventory-path-select"
0s
And
I click on "Schedule"
0s
Then
I should see a "Playbook execution has been scheduled" text
0s
And
I wait until event "Execute playbook 'playbook_orion_dummy.yml' scheduled" is completed
0s
And
file "/tmp/file.txt" should exist on "sle_minion"
0s
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.079
And
I follow "Playbooks" in the content area
00:00:00.066
And
I wait until I see "/srv/playbooks" text
00:00:00.242
And
I click on "/srv/playbooks"
00:00:00.082
Text '/srv/playbooks/basic_tests.yml' not found (ScriptError) ./features/step_definitions/navigation_steps.rb:40:in `/^I wait until I see "([^"]*)" text$/' features/secondary/min_ansible_control_node.feature:92:in `I wait until I see "/srv/playbooks/basic_tests.yml" text'
And
I click on "basic_tests.yml"
0s
And
I wait until I see "Playbook Content" text
0s
And
I click on "Schedule"
0s
And
I wait until I see "Playbook execution has been scheduled" text
0s
And
I wait for "2" seconds
0s
And
I follow "scheduled" in the content area
0s
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
0s
When
I follow "1 system"
0s
And
I wait until I see the system name of "sle_minion"
0s
And
I follow this "sle_minion" link
0s
Then
I should see a "42" text
0s
And
I should see a "101010" text
0s
And
I should see a "(code 0)" text
0s
@scope_ansible
@sle_minion
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.566
When
I follow "Ansible" in the content area
00:00:00.081
And
I follow "Playbooks" in the content area
00:00:00.068
And
I wait until I see "/srv/playbooks" text
00:00:00.253
And
I click on "/srv/playbooks"
00:00:00.059
Text '/srv/playbooks/basic_tests.yml' not found (ScriptError) ./features/step_definitions/navigation_steps.rb:40:in `/^I wait until I see "([^"]*)" text$/' features/secondary/min_ansible_control_node.feature:113:in `I wait until I see "/srv/playbooks/basic_tests.yml" text'
And
I click on "basic_tests.yml"
0s
And
I wait until I see "Playbook Content" text
0s
And
I click on "Edit variables"
0s
And
I enter data from table with value as field name
0s
And
I click on "Save"
0s
And
I click on "Schedule"
0s
And
I wait until I see "Playbook execution has been scheduled" text
0s
And
I wait for "2" seconds
0s
And
I follow "scheduled" in the content area
0s
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
0s
When
I follow "1 system"
0s
And
I wait until I see the system name of "sle_minion"
0s
And
I follow this "sle_minion" link
0s
Then
I should see a "4200" text
0s
And
I should see a "(code 0)" text
0s
@scope_ansible
@sle_minion
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.596
When
I follow "Ansible" in the content area
00:00:00.080
And
I follow "Playbooks" in the content area
00:00:00.068
And
I wait until I see "/srv/playbooks" text
00:00:00.248
And
I click on "/srv/playbooks"
00:00:00.086
Text '/srv/playbooks/basic_tests.yml' not found (ScriptError) ./features/step_definitions/navigation_steps.rb:40:in `/^I wait until I see "([^"]*)" text$/' features/secondary/min_ansible_control_node.feature:141:in `I wait until I see "/srv/playbooks/basic_tests.yml" text'
And
I click on "basic_tests.yml"
0s
And
I wait until I see "Playbook Content" text
0s
And
I click on "Edit variables"
0s
And
I enter data from table with value as field name
0s
And
I click on "Save"
0s
And
I click on "Schedule"
0s
And
I wait until I see "Playbook execution has been scheduled" text
0s
And
I wait for "2" seconds
0s
And
I follow "scheduled" in the content area
0s
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
0s
When
I follow "1 system"
0s
And
I wait until I see the system name of "sle_minion"
0s
And
I follow this "sle_minion" link
0s
Then
I should see a "42000" text
0s
And
I should see a "4242" text
0s
And
I should see a "(code 0)" text
0s
@scope_ansible
@sle_minion
@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.599
When
I follow "Ansible" in the content area
00:00:00.084
And
I follow "Playbooks" in the content area
00:00:00.070
And
I wait until I see "/srv/playbooks" text
00:00:00.524
And
I click on "/srv/playbooks"
00:00:00.058
Text '/srv/playbooks/basic_tests.yml' not found (ScriptError) ./features/step_definitions/navigation_steps.rb:40:in `/^I wait until I see "([^"]*)" text$/' features/secondary/min_ansible_control_node.feature:173:in `I wait until I see "/srv/playbooks/basic_tests.yml" text'
And
I click on "basic_tests.yml"
0s
And
I wait until I see "Playbook Content" text
0s
And
I click on "Edit variables"
0s
And
I enter data from table with value as field name
0s
And
I click on "Save"
0s
And
I click on "Schedule"
0s
And
I wait until I see "Playbook execution has been scheduled" text
0s
And
I wait for "2" seconds
0s
And
I follow "scheduled" in the content area
0s
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
0s
When
I follow "1 system"
0s
And
I wait until I see the system name of "sle_minion"
0s
And
I follow this "sle_minion" link
0s
Then
I should see a "65536" text
0s
And
I should see a "(code 0)" text
0s
@scope_ansible
@sle_minion
@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.695
When
I follow "Ansible" in the content area
00:00:00.076
And
I follow "Playbooks" in the content area
00:00:00.065
And
I wait until I see "/srv/playbooks" text
00:00:00.334
And
I click on "/srv/playbooks"
00:00:00.058
Text '/srv/playbooks/basic_tests.yml' not found (ScriptError) ./features/step_definitions/navigation_steps.rb:40:in `/^I wait until I see "([^"]*)" text$/' features/secondary/min_ansible_control_node.feature:205:in `I wait until I see "/srv/playbooks/basic_tests.yml" text'
And
I click on "basic_tests.yml"
0s
And
I wait until I see "Playbook Content" text
0s
And
I click on "Edit variables"
0s
And
I click on "Edit YAML"
0s
And
I click on "Save"
0s
And
I click on "Schedule"
0s
And
I wait until I see "Playbook execution has been scheduled" text
0s
And
I wait for "2" seconds
0s
And
I follow "scheduled" in the content area
0s
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
0s
When
I follow "1 system"
0s
And
I wait until I see the system name of "sle_minion"
0s
And
I follow this "sle_minion" link
0s
Then
I should see a "42" text
0s
And
I should see a "101010" text
0s
And
I should see a "(code 0)" text
0s
@scope_ansible
@sle_minion
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.807
When
I follow "Ansible" in the content area
00:00:00.081
And
I follow "Playbooks" in the content area
00:00:00.069
And
I wait until I see "/srv/playbooks" text
00:00:00.255
And
I click on "/srv/playbooks"
00:00:00.059
Text '/srv/playbooks/basic_tests.yml' not found (ScriptError) ./features/step_definitions/navigation_steps.rb:40:in `/^I wait until I see "([^"]*)" text$/' features/secondary/min_ansible_control_node.feature:229:in `I wait until I see "/srv/playbooks/basic_tests.yml" text'
And
I click on "basic_tests.yml"
0s
And
I wait until I see "Playbook Content" text
0s
And
I click on "Edit variables"
0s
And
I enter data from table with value as field name
0s
And
I click on "Edit YAML"
0s
And
I click on "Save"
0s
And
I click on "Schedule"
0s
And
I wait until I see "Playbook execution has been scheduled" text
0s
And
I wait for "2" seconds
0s
And
I follow "scheduled" in the content area
0s
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
0s
When
I follow "1 system"
0s
And
I wait until I see the system name of "sle_minion"
0s
And
I follow this "sle_minion" link
0s
Then
I should see a "abc" text
0s
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
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.553
When
I follow "Properties" in the content area
00:00:00.081
And
I uncheck "ansible_control_node"
00:00:10.071
And
I click on "Update Properties"
00:00:01.626
Then
I should see a "System properties changed" text
00:00:00.095
And
I remove package "orion-dummy" from this "sle_minion" without error control
00:00:01.417
And
I remove "/tmp/file.txt" from "sle_minion"
00:00:00.423
@scope_ansible
@sle_minion
@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
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.666
When
I follow "States" in the content area
00:00:00.072
And
I click on "Apply Highstate"
00:00:00.062
And
I wait until event "Apply highstate scheduled" is completed
00:00:22.719