[{"id":"reconfigure-the-server's-hostname","uri":"features/finishing/srv_rename_hostname.feature","keyword":"Feature","name":"Reconfigure the server's hostname","description":"  As admin user\n  In order to change the server's hostname\n  I want to use the tool spacewalk-hostname-rename.","line":12,"tags":[{"name":"@skip_if_github_validation","line":9},{"name":"@skip_if_cloud","line":10},{"name":"@skip_if_containerized_server","line":11}],"elements":[{"id":"reconfigure-the-server's-hostname;log-in-as-admin-user","keyword":"Scenario","name":"Log in as admin user","description":"","line":17,"type":"scenario","steps":[{"keyword":"Given ","name":"I am authorized for the \"Admin\" section","line":18,"match":{"location":"features/step_definitions/navigation_steps.rb:486"},"result":{"status":"skipped"},"after":[]}],"tags":[{"name":"@skip_if_github_validation","line":9},{"name":"@skip_if_cloud","line":10},{"name":"@skip_if_containerized_server","line":11}],"before":[],"after":[]},{"id":"reconfigure-the-server's-hostname;change-hostname-and-reboot-server","keyword":"Scenario","name":"Change hostname and reboot server","description":"","line":20,"type":"scenario","steps":[{"keyword":"When ","name":"I change the server's short hostname from hosts and hostname files","line":21,"match":{"location":"features/step_definitions/command_steps.rb:1670"},"result":{"status":"skipped"},"after":[]},{"keyword":"And ","name":"I reboot the server through SSH","line":22,"match":{"location":"features/step_definitions/command_steps.rb:1622"},"result":{"status":"skipped"},"after":[]},{"keyword":"And ","name":"I run spacewalk-hostname-rename command on the server","line":23,"match":{"location":"features/step_definitions/command_steps.rb:1690"},"result":{"status":"skipped"},"after":[]}],"tags":[{"name":"@skip_if_github_validation","line":9},{"name":"@skip_if_cloud","line":10},{"name":"@skip_if_containerized_server","line":11}],"before":[],"after":[]},{"id":"reconfigure-the-server's-hostname;copy-the-new-server-keys-and-configure-the-proxy","keyword":"Scenario","name":"Copy the new server keys and configure the proxy","description":"","line":26,"type":"scenario","steps":[{"keyword":"When ","name":"I copy server's keys to the proxy","line":27,"match":{"location":"features/step_definitions/command_steps.rb:1180"},"result":{"status":"skipped"},"after":[]},{"keyword":"And ","name":"I configure the proxy","line":28,"match":{"location":"features/step_definitions/command_steps.rb:1204"},"result":{"status":"skipped"},"after":[]},{"keyword":"Then ","name":"I should see \"proxy\" via spacecmd","line":29,"match":{"location":"features/step_definitions/setup_steps.rb:233"},"result":{"status":"skipped"},"after":[]},{"keyword":"When ","name":"I restart the \"venv-salt-minion\" service on \"proxy\"","line":30,"match":{"location":"features/step_definitions/command_steps.rb:743"},"result":{"status":"skipped"},"after":[]},{"keyword":"Then ","name":"service \"venv-salt-minion\" is active on \"proxy\"","line":31,"match":{"location":"features/step_definitions/command_steps.rb:755"},"result":{"status":"skipped"},"after":[]},{"keyword":"When ","name":"I restart the \"salt-broker\" service on \"proxy\"","line":32,"match":{"location":"features/step_definitions/command_steps.rb:743"},"result":{"status":"skipped"},"after":[]},{"keyword":"Then ","name":"service \"salt-broker\" is active on \"proxy\"","line":33,"match":{"location":"features/step_definitions/command_steps.rb:755"},"result":{"status":"skipped"},"after":[]}],"tags":[{"name":"@skip_if_github_validation","line":9},{"name":"@skip_if_cloud","line":10},{"name":"@skip_if_containerized_server","line":11},{"name":"@proxy","line":25}],"before":[],"after":[]},{"id":"reconfigure-the-server's-hostname;apply-high-state-on-the-proxy-to-populate-new-server-ca","keyword":"Scenario","name":"Apply high state on the proxy to populate new server CA","description":"","line":36,"type":"scenario","steps":[{"keyword":"When ","name":"I apply highstate on \"proxy\"","line":37,"match":{"location":"features/step_definitions/salt_steps.rb:647"},"result":{"status":"skipped"},"after":[]}],"tags":[{"name":"@skip_if_github_validation","line":9},{"name":"@skip_if_cloud","line":10},{"name":"@skip_if_containerized_server","line":11},{"name":"@proxy","line":35}],"before":[],"after":[]},{"id":"reconfigure-the-server's-hostname;apply-high-state-on-the-suse-minion-to-populate-new-server-ca","keyword":"Scenario","name":"Apply high state on the SUSE Minion to populate new server CA","description":"","line":40,"type":"scenario","steps":[{"keyword":"When ","name":"I apply highstate on \"sle_minion\"","line":41,"match":{"location":"features/step_definitions/salt_steps.rb:647"},"result":{"status":"skipped"},"after":[]}],"tags":[{"name":"@skip_if_github_validation","line":9},{"name":"@skip_if_cloud","line":10},{"name":"@skip_if_containerized_server","line":11},{"name":"@sle_minion","line":39}],"before":[],"after":[]},{"id":"reconfigure-the-server's-hostname;apply-high-state-on-the-suse-ssh-minion-to-populate-new-server-ca","keyword":"Scenario","name":"Apply high state on the SUSE SSH Minion to populate new server CA","description":"","line":44,"type":"scenario","steps":[{"keyword":"When ","name":"I apply highstate on \"ssh_minion\"","line":45,"match":{"location":"features/step_definitions/salt_steps.rb:647"},"result":{"status":"skipped"},"after":[]}],"tags":[{"name":"@skip_if_github_validation","line":9},{"name":"@skip_if_cloud","line":10},{"name":"@skip_if_containerized_server","line":11},{"name":"@ssh_minion","line":43}],"before":[],"after":[]},{"id":"reconfigure-the-server's-hostname;apply-high-state-on-the-red-hat-like-minion-to-populate-new-server-ca","keyword":"Scenario","name":"Apply high state on the Red Hat-like Minion to populate new server CA","description":"","line":48,"type":"scenario","steps":[{"keyword":"When ","name":"I apply highstate on \"rhlike_minion\"","line":49,"match":{"location":"features/step_definitions/salt_steps.rb:647"},"result":{"status":"skipped"},"after":[]}],"tags":[{"name":"@skip_if_github_validation","line":9},{"name":"@skip_if_cloud","line":10},{"name":"@skip_if_containerized_server","line":11},{"name":"@rhlike_minion","line":47}],"before":[],"after":[]},{"id":"reconfigure-the-server's-hostname;apply-high-state-on-the-debian-like-minion-to-populate-new-server-ca","keyword":"Scenario","name":"Apply high state on the Debian-like Minion to populate new server CA","description":"","line":52,"type":"scenario","steps":[{"keyword":"When ","name":"I apply highstate on \"deblike_minion\"","line":53,"match":{"location":"features/step_definitions/salt_steps.rb:647"},"result":{"status":"skipped"},"after":[]}],"tags":[{"name":"@skip_if_github_validation","line":9},{"name":"@skip_if_cloud","line":10},{"name":"@skip_if_containerized_server","line":11},{"name":"@deblike_minion","line":51}],"before":[],"after":[]},{"id":"reconfigure-the-server's-hostname;apply-high-state-on-the-build-host-to-populate-new-server-ca","keyword":"Scenario","name":"Apply high state on the build host to populate new server CA","description":"","line":56,"type":"scenario","steps":[{"keyword":"When ","name":"I apply highstate on \"build_host\"","line":57,"match":{"location":"features/step_definitions/salt_steps.rb:647"},"result":{"status":"skipped"},"after":[]}],"tags":[{"name":"@skip_if_github_validation","line":9},{"name":"@skip_if_cloud","line":10},{"name":"@skip_if_containerized_server","line":11},{"name":"@build_host","line":55}],"before":[],"after":[]},{"id":"reconfigure-the-server's-hostname;check-all-new-server-certificates-on-the-minions","keyword":"Scenario","name":"Check all new server certificates on the minions","description":"","line":59,"type":"scenario","steps":[{"keyword":"When ","name":"I check all certificates after renaming the server hostname","line":60,"match":{"location":"features/step_definitions/command_steps.rb:1726"},"result":{"status":"skipped"},"after":[]}],"tags":[{"name":"@skip_if_github_validation","line":9},{"name":"@skip_if_cloud","line":10},{"name":"@skip_if_containerized_server","line":11}],"before":[],"after":[]},{"id":"reconfigure-the-server's-hostname;do-some-minimal-smoke-test-on-the-renamed-server","keyword":"Scenario","name":"Do some minimal smoke test on the renamed server","description":"","line":62,"type":"scenario","steps":[{"keyword":"Given ","name":"I am on the Systems overview page of this \"sle_minion\"","line":63,"match":{"location":"features/step_definitions/navigation_steps.rb:500"},"result":{"status":"skipped"},"after":[]},{"keyword":"When ","name":"I follow \"Details\" in the content area","line":64,"match":{"location":"features/step_definitions/navigation_steps.rb:380"},"result":{"status":"skipped"},"after":[]},{"keyword":"And ","name":"I follow \"Remote Command\" in the content area","line":65,"match":{"location":"features/step_definitions/navigation_steps.rb:380"},"result":{"status":"skipped"},"after":[]},{"keyword":"And ","name":"I enter as remote command this script in","line":66,"doc_string":{"value":"#!/bin/bash\ndate","content_type":"","line":67},"match":{"location":"features/step_definitions/common_steps.rb:230"},"result":{"status":"skipped"},"after":[]},{"keyword":"And ","name":"I click on \"Schedule\"","line":71,"match":{"location":"features/step_definitions/navigation_steps.rb:314"},"result":{"status":"skipped"},"after":[]},{"keyword":"And ","name":"I follow \"Events\" in the content area","line":72,"match":{"location":"features/step_definitions/navigation_steps.rb:380"},"result":{"status":"skipped"},"after":[]},{"keyword":"And ","name":"I follow \"Pending\" in the content area","line":73,"match":{"location":"features/step_definitions/navigation_steps.rb:380"},"result":{"status":"skipped"},"after":[]},{"keyword":"And ","name":"I wait at most 180 seconds until I do not see \"Remote Command on\" text, refreshing the page","line":74,"match":{"location":"features/step_definitions/navigation_steps.rb:77"},"result":{"status":"skipped"},"after":[]},{"keyword":"And ","name":"I follow \"History\" in the content area","line":75,"match":{"location":"features/step_definitions/navigation_steps.rb:380"},"result":{"status":"skipped"},"after":[]},{"keyword":"And ","name":"I wait until I see the event \"Remote Command on\" completed during last minute, refreshing the page","line":76,"match":{"location":"features/step_definitions/common_steps.rb:177"},"result":{"status":"skipped"},"after":[]}],"tags":[{"name":"@skip_if_github_validation","line":9},{"name":"@skip_if_cloud","line":10},{"name":"@skip_if_containerized_server","line":11}],"before":[],"after":[]},{"id":"reconfigure-the-server's-hostname;change-hostname-back-and-reboot-server","keyword":"Scenario","name":"Change hostname back and reboot server","description":"","line":78,"type":"scenario","steps":[{"keyword":"When ","name":"I change back the server's hostname","line":79,"match":{"location":"features/step_definitions/command_steps.rb:1765"},"result":{"status":"skipped"},"after":[]},{"keyword":"And ","name":"I run spacewalk-hostname-rename command on the server","line":80,"match":{"location":"features/step_definitions/command_steps.rb:1690"},"result":{"status":"skipped"},"after":[]}],"tags":[{"name":"@skip_if_github_validation","line":9},{"name":"@skip_if_cloud","line":10},{"name":"@skip_if_containerized_server","line":11}],"before":[],"after":[]},{"id":"reconfigure-the-server's-hostname;copy-the-new-server-keys-and-configure-the-proxy","keyword":"Scenario","name":"Copy the new server keys and configure the proxy","description":"","line":83,"type":"scenario","steps":[{"keyword":"When ","name":"I copy server's keys to the proxy","line":84,"match":{"location":"features/step_definitions/command_steps.rb:1180"},"result":{"status":"skipped"},"after":[]},{"keyword":"And ","name":"I configure the proxy","line":85,"match":{"location":"features/step_definitions/command_steps.rb:1204"},"result":{"status":"skipped"},"after":[]},{"keyword":"Then ","name":"I should see \"proxy\" via spacecmd","line":86,"match":{"location":"features/step_definitions/setup_steps.rb:233"},"result":{"status":"skipped"},"after":[]},{"keyword":"When ","name":"I restart the \"venv-salt-minion\" service on \"proxy\"","line":87,"match":{"location":"features/step_definitions/command_steps.rb:743"},"result":{"status":"skipped"},"after":[]},{"keyword":"Then ","name":"service \"venv-salt-minion\" is active on \"proxy\"","line":88,"match":{"location":"features/step_definitions/command_steps.rb:755"},"result":{"status":"skipped"},"after":[]},{"keyword":"When ","name":"I restart the \"salt-broker\" service on \"proxy\"","line":89,"match":{"location":"features/step_definitions/command_steps.rb:743"},"result":{"status":"skipped"},"after":[]},{"keyword":"Then ","name":"service \"salt-broker\" is active on \"proxy\"","line":90,"match":{"location":"features/step_definitions/command_steps.rb:755"},"result":{"status":"skipped"},"after":[]}],"tags":[{"name":"@skip_if_github_validation","line":9},{"name":"@skip_if_cloud","line":10},{"name":"@skip_if_containerized_server","line":11},{"name":"@proxy","line":82}],"before":[],"after":[]},{"id":"reconfigure-the-server's-hostname;apply-high-state-on-the-proxy-to-populate-new-server-ca","keyword":"Scenario","name":"Apply high state on the proxy to populate new server CA","description":"","line":93,"type":"scenario","steps":[{"keyword":"When ","name":"I apply highstate on \"proxy\"","line":94,"match":{"location":"features/step_definitions/salt_steps.rb:647"},"result":{"status":"skipped"},"after":[]}],"tags":[{"name":"@skip_if_github_validation","line":9},{"name":"@skip_if_cloud","line":10},{"name":"@skip_if_containerized_server","line":11},{"name":"@proxy","line":92}],"before":[],"after":[]},{"id":"reconfigure-the-server's-hostname;apply-high-state-on-the-suse-minion-to-populate-new-server-ca","keyword":"Scenario","name":"Apply high state on the SUSE Minion to populate new server CA","description":"","line":97,"type":"scenario","steps":[{"keyword":"When ","name":"I apply highstate on \"sle_minion\"","line":98,"match":{"location":"features/step_definitions/salt_steps.rb:647"},"result":{"status":"skipped"},"after":[]}],"tags":[{"name":"@skip_if_github_validation","line":9},{"name":"@skip_if_cloud","line":10},{"name":"@skip_if_containerized_server","line":11},{"name":"@sle_minion","line":96}],"before":[],"after":[]},{"id":"reconfigure-the-server's-hostname;apply-high-state-on-the-suse-ssh-minion-to-populate-new-server-ca","keyword":"Scenario","name":"Apply high state on the SUSE SSH Minion to populate new server CA","description":"","line":101,"type":"scenario","steps":[{"keyword":"When ","name":"I apply highstate on \"ssh_minion\"","line":102,"match":{"location":"features/step_definitions/salt_steps.rb:647"},"result":{"status":"skipped"},"after":[]}],"tags":[{"name":"@skip_if_github_validation","line":9},{"name":"@skip_if_cloud","line":10},{"name":"@skip_if_containerized_server","line":11},{"name":"@ssh_minion","line":100}],"before":[],"after":[]},{"id":"reconfigure-the-server's-hostname;apply-high-state-on-the-red-hat-like-minion-to-populate-new-server-ca","keyword":"Scenario","name":"Apply high state on the Red Hat-like Minion to populate new server CA","description":"","line":105,"type":"scenario","steps":[{"keyword":"When ","name":"I apply highstate on \"rhlike_minion\"","line":106,"match":{"location":"features/step_definitions/salt_steps.rb:647"},"result":{"status":"skipped"},"after":[]}],"tags":[{"name":"@skip_if_github_validation","line":9},{"name":"@skip_if_cloud","line":10},{"name":"@skip_if_containerized_server","line":11},{"name":"@rhlike_minion","line":104}],"before":[],"after":[]},{"id":"reconfigure-the-server's-hostname;apply-high-state-on-the-debian-like-minion-to-populate-new-server-ca","keyword":"Scenario","name":"Apply high state on the Debian-like Minion to populate new server CA","description":"","line":109,"type":"scenario","steps":[{"keyword":"When ","name":"I apply highstate on \"deblike_minion\"","line":110,"match":{"location":"features/step_definitions/salt_steps.rb:647"},"result":{"status":"skipped"},"after":[]}],"tags":[{"name":"@skip_if_github_validation","line":9},{"name":"@skip_if_cloud","line":10},{"name":"@skip_if_containerized_server","line":11},{"name":"@deblike_minion","line":108}],"before":[],"after":[]},{"id":"reconfigure-the-server's-hostname;apply-high-state-on-the-build-host-to-populate-new-server-ca","keyword":"Scenario","name":"Apply high state on the build host to populate new server CA","description":"","line":113,"type":"scenario","steps":[{"keyword":"When ","name":"I apply highstate on \"build_host\"","line":114,"match":{"location":"features/step_definitions/salt_steps.rb:647"},"result":{"status":"skipped"},"after":[]}],"tags":[{"name":"@skip_if_github_validation","line":9},{"name":"@skip_if_cloud","line":10},{"name":"@skip_if_containerized_server","line":11},{"name":"@build_host","line":112}],"before":[],"after":[]},{"id":"reconfigure-the-server's-hostname;check-all-new-server-certificates-on-the-minions","keyword":"Scenario","name":"Check all new server certificates on the minions","description":"","line":116,"type":"scenario","steps":[{"keyword":"When ","name":"I check all certificates after renaming the server hostname","line":117,"match":{"location":"features/step_definitions/command_steps.rb:1726"},"result":{"status":"skipped"},"after":[]}],"tags":[{"name":"@skip_if_github_validation","line":9},{"name":"@skip_if_cloud","line":10},{"name":"@skip_if_containerized_server","line":11}],"before":[],"after":[]}]},{"id":"selinux-debugging","uri":"features/finishing/srv_selinux.feature","keyword":"Feature","name":"SELinux debugging","description":"  In order for the server to behave correctly after a reboot\n  I want to be sure that there is no wrong SELinux label","line":5,"tags":[{"name":"@transactional_server","line":4}],"elements":[{"id":"selinux-debugging;no-previous-operation-has-created-wrong-selinux-label","keyword":"Scenario","name":"No previous operation has created wrong SELinux label","description":"","line":9,"type":"scenario","steps":[{"keyword":"Then ","name":"files on container volumes should all have the proper SELinux label","line":10,"match":{"location":"features/step_definitions/command_steps.rb:776"},"result":{"status":"skipped"},"after":[]}],"tags":[{"name":"@transactional_server","line":4}],"before":[],"after":[]}]},{"id":"debug-the-server-after-the-testsuite-has-run","uri":"features/finishing/srv_debug.feature","keyword":"Feature","name":"Debug the server after the testsuite has run","description":"  * Related GitHub Card: https://github.com/SUSE/spacewalk/issues/25872","line":5,"tags":[{"name":"@test_issue","line":4}],"elements":[{"id":"debug-the-server-after-the-testsuite-has-run;call-spacewalk-debug-on-server","keyword":"Scenario","name":"Call spacewalk-debug on server","description":"","line":8,"type":"scenario","steps":[{"keyword":"When ","name":"I execute spacewalk-debug on the server","line":9,"match":{"location":"features/step_definitions/command_steps.rb:554"},"result":{"status":"passed","duration":36828575407},"after":[]}],"tags":[{"name":"@test_issue","line":4}],"before":[],"after":[]},{"id":"debug-the-server-after-the-testsuite-has-run;check-the-tomcat-logs-on-server","keyword":"Scenario","name":"Check the tomcat logs on server","description":"","line":11,"type":"scenario","steps":[{"keyword":"Then ","name":"the tomcat logs should not contain errors","line":12,"match":{"location":"features/step_definitions/command_steps.rb:519"},"result":{"status":"passed","duration":2916552701},"after":[]}],"tags":[{"name":"@test_issue","line":4}],"before":[],"after":[]},{"id":"debug-the-server-after-the-testsuite-has-run;check-salt-event-log-for-failures-on-server","keyword":"Scenario","name":"Check salt event log for failures on server","description":"","line":15,"type":"scenario","steps":[{"keyword":"Then ","name":"the salt event log on server should contain no failures","line":16,"match":{"location":"features/step_definitions/salt_steps.rb:512"},"result":{"status":"failed","error_message":"\nFound 25 failures in salt event log:\n\n# Failure 2 , _stamp: 2026-05-30T01:40:22.491200 {\n    \"__id__\": \"run_ansible_playbook\",\n    \"__run_num__\": 0,\n    \"__sls__\": \"ansible.runplaybook\",\n    \"changes\": {\n        \"ret\": {\n            \"pid\": 11288,\n            \"retcode\": 4,\n            \"stderr\": \"[WARNING]: Error loading plugin 'community.general.zypper': No module named 'ansible_collections.community'\\n[ERROR]: couldn't resolve module/action 'zypper'. This often indicates a misspelling, missing collection, or incorrect module path.\\nOrigin: /srv/playbooks/orion_dummy/playbook_orion_dummy.yml:5:5\\n\\n3\\n4   tasks:\\n5   - name: Install Orion dummy package\\n      ^ column 5\",\n            \"stdout\": \"\"\n        }\n    },\n    \"comment\": \"Module function ansible.playbooks executed\",\n    \"duration\": 3080.758,\n    \"name\": \"ansible.playbooks\",\n    \"result\": false,\n    \"start_time\": \"03:40:19.400634\"\n}\n\n# Failure 3 , _stamp: 2026-05-30T01:41:14.234728 {\n    \"__id__\": \"run_ansible_playbook\",\n    \"__run_num__\": 0,\n    \"__sls__\": \"ansible.runplaybook\",\n    \"changes\": {\n        \"ret\": {\n            \"pid\": 11320,\n            \"retcode\": 1,\n            \"stderr\": \"[WARNING]: No inventory was parsed, only implicit localhost is available\\n[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'\\n[WARNING]: Error loading plugin 'ansible.posix.json': No module named 'ansible_collections.ansible.posix'\\n[ERROR]: Could not load 'json' callback plugin.\",\n            \"stdout\": \"\"\n        }\n    },\n    \"comment\": \"Module function ansible.playbooks executed\",\n    \"duration\": 2533.487,\n    \"name\": \"ansible.playbooks\",\n    \"result\": false,\n    \"start_time\": \"03:41:11.690097\"\n}\n\n# Failure 4 , _stamp: 2026-05-30T01:42:25.082035 {\n    \"__id__\": \"run_ansible_playbook\",\n    \"__run_num__\": 0,\n    \"__sls__\": \"ansible.runplaybook\",\n    \"changes\": {\n        \"ret\": {\n            \"pid\": 11352,\n            \"retcode\": 1,\n            \"stderr\": \"[WARNING]: No inventory was parsed, only implicit localhost is available\\n[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'\\n[WARNING]: Error loading plugin 'ansible.posix.json': No module named 'ansible_collections.ansible.posix'\\n[ERROR]: Could not load 'json' callback plugin.\",\n            \"stdout\": \"\"\n        }\n    },\n    \"comment\": \"Module function ansible.playbooks executed\",\n    \"duration\": 2540.764,\n    \"name\": \"ansible.playbooks\",\n    \"result\": false,\n    \"start_time\": \"03:42:22.529854\"\n}\n\n# Failure 5 , _stamp: 2026-05-30T01:43:50.110768 {\n    \"__id__\": \"run_ansible_playbook\",\n    \"__run_num__\": 0,\n    \"__sls__\": \"ansible.runplaybook\",\n    \"changes\": {\n        \"ret\": {\n            \"pid\": 11384,\n            \"retcode\": 1,\n            \"stderr\": \"[WARNING]: No inventory was parsed, only implicit localhost is available\\n[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'\\n[WARNING]: Error loading plugin 'ansible.posix.json': No module named 'ansible_collections.ansible.posix'\\n[ERROR]: Could not load 'json' callback plugin.\",\n            \"stdout\": \"\"\n        }\n    },\n    \"comment\": \"Module function ansible.playbooks executed\",\n    \"duration\": 2642.9,\n    \"name\": \"ansible.playbooks\",\n    \"result\": false,\n    \"start_time\": \"03:43:47.457201\"\n}\n\n# Failure 6 , _stamp: 2026-05-30T01:45:31.963287 {\n    \"__id__\": \"run_ansible_playbook\",\n    \"__run_num__\": 0,\n    \"__sls__\": \"ansible.runplaybook\",\n    \"changes\": {\n        \"ret\": {\n            \"pid\": 11418,\n            \"retcode\": 1,\n            \"stderr\": \"[WARNING]: No inventory was parsed, only implicit localhost is available\\n[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'\\n[WARNING]: Error loading plugin 'ansible.posix.json': No module named 'ansible_collections.ansible.posix'\\n[ERROR]: Could not load 'json' callback plugin.\",\n            \"stdout\": \"\"\n        }\n    },\n    \"comment\": \"Module function ansible.playbooks executed\",\n    \"duration\": 2483.716,\n    \"name\": \"ansible.playbooks\",\n    \"result\": false,\n    \"start_time\": \"03:45:29.468193\"\n}\n\n# Failure 7 , _stamp: 2026-05-30T01:46:55.065228 {\n    \"__id__\": \"run_ansible_playbook\",\n    \"__run_num__\": 0,\n    \"__sls__\": \"ansible.runplaybook\",\n    \"changes\": {\n        \"ret\": {\n            \"pid\": 11450,\n            \"retcode\": 1,\n            \"stderr\": \"[WARNING]: No inventory was parsed, only implicit localhost is available\\n[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'\\n[WARNING]: Error loading plugin 'ansible.posix.json': No module named 'ansible_collections.ansible.posix'\\n[ERROR]: Could not load 'json' callback plugin.\",\n            \"stdout\": \"\"\n        }\n    },\n    \"comment\": \"Module function ansible.playbooks executed\",\n    \"duration\": 2471.551,\n    \"name\": \"ansible.playbooks\",\n    \"result\": false,\n    \"start_time\": \"03:46:52.576170\"\n}\n\n# Failure 8 , _stamp: 2026-05-30T03:05:54.425307 {\n    \"__id__\": \"mgr_buildimage\",\n    \"__run_num__\": 1,\n    \"__sls__\": \"images.docker\",\n    \"changes\": {},\n    \"comment\": \"Module function docker.build threw an exception. Exception: Build failed for https://github.com/uyuni-project/uyuni.git#:testsuite/features/profiles/temporary/docker_profiles/cloud_aws/Docker. Error(s) follow:\\n\\nmanifest for ip-172-16-1-175.eu-central-1.compute.internal/suse/sle15:15.7 not found: manifest unknown: manifest unknown\",\n    \"duration\": 17066.876,\n    \"name\": \"docker.build\",\n    \"result\": false,\n    \"start_time\": \"05:05:37.316246\"\n}\n\n# Failure 9 , _stamp: 2026-05-30T03:05:54.425307 {\n    \"__id__\": \"mgr_pushimage\",\n    \"__run_num__\": 2,\n    \"__sls__\": \"images.docker\",\n    \"changes\": {},\n    \"comment\": \"One or more requisite failed: images.docker.mgr_buildimage\",\n    \"duration\": 0.01,\n    \"name\": \"docker.push\",\n    \"result\": false,\n    \"start_time\": \"05:05:54.384372\"\n}\n\n# Failure 10 , _stamp: 2026-05-30T03:05:54.425307 {\n    \"__id__\": \"mgr_registries_logout\",\n    \"__run_num__\": 3,\n    \"__sls__\": \"images.docker\",\n    \"changes\": {},\n    \"comment\": \"One or more requisite failed: images.docker.mgr_pushimage\",\n    \"duration\": 0.006,\n    \"name\": \"docker.logout\",\n    \"result\": false,\n    \"start_time\": \"05:05:54.385085\"\n}\n\n# Failure 11 , _stamp: 2026-05-30T03:07:19.923011 {\n    \"__id__\": \"mgr_buildimage\",\n    \"__run_num__\": 1,\n    \"__sls__\": \"images.docker\",\n    \"changes\": {},\n    \"comment\": \"Module function docker.build threw an exception. Exception: Build failed for https://github.com/uyuni-project/uyuni.git#:testsuite/features/profiles/temporary/docker_profiles/cloud_aws/Docker. Error(s) follow:\\n\\nmanifest for ip-172-16-1-175.eu-central-1.compute.internal/suse/sle15:15.7 not found: manifest unknown: manifest unknown\",\n    \"duration\": 16175.521,\n    \"name\": \"docker.build\",\n    \"result\": false,\n    \"start_time\": \"05:07:03.708102\"\n}\n\n# Failure 12 , _stamp: 2026-05-30T03:07:19.923011 {\n    \"__id__\": \"mgr_pushimage\",\n    \"__run_num__\": 2,\n    \"__sls__\": \"images.docker\",\n    \"changes\": {},\n    \"comment\": \"One or more requisite failed: images.docker.mgr_buildimage\",\n    \"duration\": 0.005,\n    \"name\": \"docker.push\",\n    \"result\": false,\n    \"start_time\": \"05:07:19.884092\"\n}\n\n# Failure 13 , _stamp: 2026-05-30T03:07:19.923011 {\n    \"__id__\": \"mgr_registries_logout\",\n    \"__run_num__\": 3,\n    \"__sls__\": \"images.docker\",\n    \"changes\": {},\n    \"comment\": \"One or more requisite failed: images.docker.mgr_pushimage\",\n    \"duration\": 0.004,\n    \"name\": \"docker.logout\",\n    \"result\": false,\n    \"start_time\": \"05:07:19.884363\"\n}\n\n# Failure 14 , _stamp: 2026-05-30T03:12:15.119873 {\n    \"__id__\": \"mgr_buildimage\",\n    \"__run_num__\": 1,\n    \"__sls__\": \"images.docker\",\n    \"changes\": {},\n    \"comment\": \"Module function docker.build threw an exception. Exception: Build failed for https://github.com/uyuni-project/uyuni.git#:testsuite/features/profiles/temporary/docker_profiles/cloud_aws/Docker. Error(s) follow:\\n\\nmanifest for ip-172-16-1-175.eu-central-1.compute.internal/suse/sle15:15.7 not found: manifest unknown: manifest unknown\",\n    \"duration\": 16369.601,\n    \"name\": \"docker.build\",\n    \"result\": false,\n    \"start_time\": \"05:11:58.706408\"\n}\n\n# Failure 15 , _stamp: 2026-05-30T03:12:15.119873 {\n    \"__id__\": \"mgr_pushimage\",\n    \"__run_num__\": 2,\n    \"__sls__\": \"images.docker\",\n    \"changes\": {},\n    \"comment\": \"One or more requisite failed: images.docker.mgr_buildimage\",\n    \"duration\": 0.005,\n    \"name\": \"docker.push\",\n    \"result\": false,\n    \"start_time\": \"05:12:15.076485\"\n}\n\n# Failure 16 , _stamp: 2026-05-30T03:12:15.119873 {\n    \"__id__\": \"mgr_registries_logout\",\n    \"__run_num__\": 3,\n    \"__sls__\": \"images.docker\",\n    \"changes\": {},\n    \"comment\": \"One or more requisite failed: images.docker.mgr_pushimage\",\n    \"duration\": 0.004,\n    \"name\": \"docker.logout\",\n    \"result\": false,\n    \"start_time\": \"05:12:15.076755\"\n}\n\n# Failure 17 , _stamp: 2026-05-30T03:13:24.906245 {\n    \"__id__\": \"mgr_buildimage\",\n    \"__run_num__\": 1,\n    \"__sls__\": \"images.docker\",\n    \"changes\": {},\n    \"comment\": \"Module function docker.build threw an exception. Exception: Build failed for https://github.com/uyuni-project/uyuni.git#:testsuite/features/profiles/temporary/docker_profiles/cloud_aws/Docker. Error(s) follow:\\n\\nmanifest for ip-172-16-1-175.eu-central-1.compute.internal/suse/sle15:15.7 not found: manifest unknown: manifest unknown\",\n    \"duration\": 16055.232,\n    \"name\": \"docker.build\",\n    \"result\": false,\n    \"start_time\": \"05:13:08.813186\"\n}\n\n# Failure 18 , _stamp: 2026-05-30T03:13:24.906245 {\n    \"__id__\": \"mgr_pushimage\",\n    \"__run_num__\": 2,\n    \"__sls__\": \"images.docker\",\n    \"changes\": {},\n    \"comment\": \"One or more requisite failed: images.docker.mgr_buildimage\",\n    \"duration\": 0.006,\n    \"name\": \"docker.push\",\n    \"result\": false,\n    \"start_time\": \"05:13:24.868938\"\n}\n\n# Failure 19 , _stamp: 2026-05-30T03:13:24.906245 {\n    \"__id__\": \"mgr_registries_logout\",\n    \"__run_num__\": 3,\n    \"__sls__\": \"images.docker\",\n    \"changes\": {},\n    \"comment\": \"One or more requisite failed: images.docker.mgr_pushimage\",\n    \"duration\": 0.005,\n    \"name\": \"docker.logout\",\n    \"result\": false,\n    \"start_time\": \"05:13:24.869267\"\n}\n\n# Failure 20 , _stamp: 2026-05-30T03:14:45.113988 {\n    \"__id__\": \"mgr_buildimage\",\n    \"__run_num__\": 1,\n    \"__sls__\": \"images.docker\",\n    \"changes\": {},\n    \"comment\": \"Module function docker.build threw an exception. Exception: Build failed for https://github.com/uyuni-project/uyuni.git#:testsuite/features/profiles/temporary/docker_profiles/cloud_aws/Docker. Error(s) follow:\\n\\nmanifest for ip-172-16-1-175.eu-central-1.compute.internal/suse/sle15:15.7 not found: manifest unknown: manifest unknown\",\n    \"duration\": 16173.061,\n    \"name\": \"docker.build\",\n    \"result\": false,\n    \"start_time\": \"05:14:28.903204\"\n}\n\n# Failure 21 , _stamp: 2026-05-30T03:14:45.113988 {\n    \"__id__\": \"mgr_pushimage\",\n    \"__run_num__\": 2,\n    \"__sls__\": \"images.docker\",\n    \"changes\": {},\n    \"comment\": \"One or more requisite failed: images.docker.mgr_buildimage\",\n    \"duration\": 0.005,\n    \"name\": \"docker.push\",\n    \"result\": false,\n    \"start_time\": \"05:14:45.076748\"\n}\n\n# Failure 22 , _stamp: 2026-05-30T03:14:45.113988 {\n    \"__id__\": \"mgr_registries_logout\",\n    \"__run_num__\": 3,\n    \"__sls__\": \"images.docker\",\n    \"changes\": {},\n    \"comment\": \"One or more requisite failed: images.docker.mgr_pushimage\",\n    \"duration\": 0.004,\n    \"name\": \"docker.logout\",\n    \"result\": false,\n    \"start_time\": \"05:14:45.077030\"\n}\n\n# Failure 23 , _stamp: 2026-05-30T03:15:51.721807 {\n    \"__id__\": \"mgr_buildimage\",\n    \"__run_num__\": 1,\n    \"__sls__\": \"images.docker\",\n    \"changes\": {},\n    \"comment\": \"Module function docker.build threw an exception. Exception: Build failed for https://github.com/uyuni-project/uyuni.git#:testsuite/features/profiles/temporary/docker_profiles/cloud_aws/Docker. Error(s) follow:\\n\\nmanifest for ip-172-16-1-175.eu-central-1.compute.internal/suse/sle15:15.7 not found: manifest unknown: manifest unknown\",\n    \"duration\": 16313.728,\n    \"name\": \"docker.build\",\n    \"result\": false,\n    \"start_time\": \"05:15:35.363642\"\n}\n\n# Failure 24 , _stamp: 2026-05-30T03:15:51.721807 {\n    \"__id__\": \"mgr_pushimage\",\n    \"__run_num__\": 2,\n    \"__sls__\": \"images.docker\",\n    \"changes\": {},\n    \"comment\": \"One or more requisite failed: images.docker.mgr_buildimage\",\n    \"duration\": 0.004,\n    \"name\": \"docker.push\",\n    \"result\": false,\n    \"start_time\": \"05:15:51.677886\"\n}\n\n# Failure 25 , _stamp: 2026-05-30T03:15:51.721807 {\n    \"__id__\": \"mgr_registries_logout\",\n    \"__run_num__\": 3,\n    \"__sls__\": \"images.docker\",\n    \"changes\": {},\n    \"comment\": \"One or more requisite failed: images.docker.mgr_pushimage\",\n    \"duration\": 0.004,\n    \"name\": \"docker.logout\",\n    \"result\": false,\n    \"start_time\": \"05:15:51.678165\"\n}\n\n# Failure 26 , _stamp: 2026-05-30T04:07:12.259585 {\n    \"__id__\": \"run_ansible_playbook\",\n    \"__run_num__\": 0,\n    \"__sls__\": \"ansible.runplaybook\",\n    \"changes\": {\n        \"ret\": {\n            \"pid\": 20139,\n            \"retcode\": 4,\n            \"stderr\": \"[WARNING]: Error loading plugin 'community.general.zypper': No module named 'ansible_collections.community'\\n[ERROR]: couldn't resolve module/action 'zypper'. This often indicates a misspelling, missing collection, or incorrect module path.\\nOrigin: /srv/playbooks/orion_dummy/playbook_orion_dummy.yml:5:5\\n\\n3\\n4   tasks:\\n5   - name: Install Orion dummy package\\n      ^ column 5\",\n            \"stdout\": \"\"\n        }\n    },\n    \"comment\": \"Module function ansible.playbooks executed\",\n    \"duration\": 2355.579,\n    \"name\": \"ansible.playbooks\",\n    \"result\": false,\n    \"start_time\": \"06:07:09.452287\"\n}\n\n (ScriptError)\n./features/step_definitions/salt_steps.rb:531:in `/^the salt event log on server should contain no failures$/'\nfeatures/finishing/srv_debug.feature:16:in `the salt event log on server should contain no failures'","duration":7382475833},"after":[]}],"tags":[{"name":"@test_issue","line":4},{"name":"@test_issue","line":14}],"before":[],"after":[]},{"id":"debug-the-server-after-the-testsuite-has-run;check-the-taskomatic-logs-on-server","keyword":"Scenario","name":"Check the taskomatic logs on server","description":"","line":18,"type":"scenario","steps":[{"keyword":"Then ","name":"the taskomatic logs should not contain errors","line":19,"match":{"location":"features/step_definitions/command_steps.rb:527"},"result":{"status":"passed","duration":2663151368},"after":[]}],"tags":[{"name":"@test_issue","line":4}],"before":[],"after":[]},{"id":"debug-the-server-after-the-testsuite-has-run;check-for-out-of-memory-errors","keyword":"Scenario","name":"Check for out of memory errors","description":"","line":21,"type":"scenario","steps":[{"keyword":"Then ","name":"the log messages should not contain out of memory errors","line":22,"match":{"location":"features/step_definitions/command_steps.rb:535"},"result":{"status":"passed","duration":2680701402},"after":[]}],"tags":[{"name":"@test_issue","line":4}],"before":[],"after":[]}]},{"id":"test-for-excessive-scc-accesses","uri":"features/finishing/srv_count_scc_access.feature","keyword":"Feature","name":"Test for excessive SCC accesses","description":"","line":5,"tags":[{"name":"@srv_scc_access_logging","line":4}],"elements":[{"id":"test-for-excessive-scc-accesses;count-ui-scc-accesses-in-rhn_web_ui.log","keyword":"Scenario","name":"Count UI SCC accesses in rhn_web_ui.log","description":"","line":7,"type":"scenario","steps":[{"keyword":"Then ","name":"the word \"scc.suse.com\" does not occur more than 100 times in \"/var/log/rhn/rhn_web_ui.log\" on \"server\"","line":8,"match":{"location":"features/step_definitions/command_steps.rb:1849"},"result":{"status":"skipped"},"after":[]}],"tags":[{"name":"@srv_scc_access_logging","line":4}],"before":[],"after":[]},{"id":"test-for-excessive-scc-accesses;count-taskomatic-scc-accesses-in-rhn_taskomatic_daemon.log","keyword":"Scenario","name":"Count Taskomatic SCC accesses in rhn_taskomatic_daemon.log","description":"","line":10,"type":"scenario","steps":[{"keyword":"Then ","name":"the word \"scc.suse.com\" does not occur more than 50 times in \"/var/log/rhn/rhn_taskomatic_daemon.log\" on \"server\"","line":11,"match":{"location":"features/step_definitions/command_steps.rb:1849"},"result":{"status":"skipped"},"after":[]}],"tags":[{"name":"@srv_scc_access_logging","line":4}],"before":[],"after":[]}]}]