# STDOUT: ---v---v---v---v---v--- ansible-playbook [core 2.16.0] config file = /etc/ansible/ansible.cfg configured module search path = ['/home/jenkins/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] ansible python module location = /opt/ansible-2.16/lib/python3.11/site-packages/ansible ansible collection location = /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection executable location = /opt/ansible-2.16/bin/ansible-playbook python version = 3.11.5 (main, Sep 7 2023, 00:00:00) [GCC 11.4.1 20230605 (Red Hat 11.4.1-2)] (/opt/ansible-2.16/bin/python) jinja version = 3.1.2 libyaml = True Using /etc/ansible/ansible.cfg as config file Skipping callback 'debug', as we already have a stdout callback. Skipping callback 'default', as we already have a stdout callback. Skipping callback 'minimal', as we already have a stdout callback. Skipping callback 'oneline', as we already have a stdout callback. PLAYBOOK: tests_settings.yml *************************************************** 1 plays in /WORKDIR/git-add-remove-kernelsvndlwwa8/tests/tests_settings.yml PLAY [Test bootloader_settings variable] *************************************** TASK [Get bootloader_facts] **************************************************** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/tests/tests_settings.yml:11 Thursday 21 December 2023 19:29:06 +0000 (0:00:00.012) 0:00:00.012 ***** TASK [fedora.linux_system_roles.bootloader : Set platform/version specific variables] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:3 Thursday 21 December 2023 19:29:06 +0000 (0:00:00.020) 0:00:00.032 ***** included: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/set_vars.yml for sut TASK [fedora.linux_system_roles.bootloader : Ensure ansible_facts used by role] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/set_vars.yml:3 Thursday 21 December 2023 19:29:06 +0000 (0:00:00.008) 0:00:00.040 ***** ok: [sut] TASK [fedora.linux_system_roles.bootloader : Set platform/version specific variables] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/set_vars.yml:8 Thursday 21 December 2023 19:29:06 +0000 (0:00:00.483) 0:00:00.524 ***** skipping: [sut] => (item=RedHat.yml) => { "ansible_loop_var": "item", "changed": false, "false_condition": "__bootloader_vars_file is file", "item": "RedHat.yml", "skip_reason": "Conditional result was False" } skipping: [sut] => (item=Fedora.yml) => { "ansible_loop_var": "item", "changed": false, "false_condition": "__bootloader_vars_file is file", "item": "Fedora.yml", "skip_reason": "Conditional result was False" } skipping: [sut] => (item=Fedora_38.yml) => { "ansible_loop_var": "item", "changed": false, "false_condition": "__bootloader_vars_file is file", "item": "Fedora_38.yml", "skip_reason": "Conditional result was False" } skipping: [sut] => (item=Fedora_38.yml) => { "ansible_loop_var": "item", "changed": false, "false_condition": "__bootloader_vars_file is file", "item": "Fedora_38.yml", "skip_reason": "Conditional result was False" } skipping: [sut] => { "changed": false } MSG: All items skipped TASK [fedora.linux_system_roles.bootloader : Ensure required packages are installed] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:6 Thursday 21 December 2023 19:29:06 +0000 (0:00:00.017) 0:00:00.542 ***** ok: [sut] => { "changed": false, "rc": 0, "results": [] } MSG: Nothing to do TASK [fedora.linux_system_roles.bootloader : Ensure boot loader settings] ****** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:11 Thursday 21 December 2023 19:29:09 +0000 (0:00:02.566) 0:00:03.108 ***** ok: [sut] => { "actions": [], "changed": false } TASK [fedora.linux_system_roles.bootloader : Update boot loader timeout configuration] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:18 Thursday 21 December 2023 19:29:09 +0000 (0:00:00.256) 0:00:03.365 ***** ok: [sut] => { "backup": "", "changed": false } TASK [fedora.linux_system_roles.bootloader : Determine platform type] ********** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:25 Thursday 21 December 2023 19:29:09 +0000 (0:00:00.261) 0:00:03.626 ***** ok: [sut] => { "changed": false, "stat": { "exists": false } } TASK [fedora.linux_system_roles.bootloader : Set boot loader configuration files] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:30 Thursday 21 December 2023 19:29:10 +0000 (0:00:00.254) 0:00:03.881 ***** ok: [sut] => { "ansible_facts": { "__bootloader_grub_conf": "/boot/grub2/grub.cfg", "__bootloader_user_conf": "/boot/grub2/user.cfg" }, "changed": false } TASK [fedora.linux_system_roles.bootloader : Generate boot loader password] **** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:44 Thursday 21 December 2023 19:29:10 +0000 (0:00:00.019) 0:00:03.901 ***** skipping: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [fedora.linux_system_roles.bootloader : Put boot loader password to /boot/grub2/user.cfg] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:56 Thursday 21 December 2023 19:29:10 +0000 (0:00:00.010) 0:00:03.912 ***** skipping: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [fedora.linux_system_roles.bootloader : Remove boot loader password configuration] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:64 Thursday 21 December 2023 19:29:10 +0000 (0:00:00.008) 0:00:03.920 ***** skipping: [sut] => { "changed": false, "false_condition": "bootloader_remove_password | bool", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.bootloader : Collect bootloader facts] ********* task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:71 Thursday 21 December 2023 19:29:10 +0000 (0:00:00.012) 0:00:03.933 ***** ok: [sut] => { "ansible_facts": { "bootloader_facts": [ { "args": "ro crashkernel=auto net.ifnames=0 rhgb quiet", "default": true, "id": "3f4aff2c3bb740bba51164bd518a0125-6.6.4-100.fc38.x86_64", "index": "0", "initrd": "/boot/initramfs-6.6.4-100.fc38.x86_64.img", "kernel": "/boot/vmlinuz-6.6.4-100.fc38.x86_64", "root": "UUID=2901de93-8301-4c46-916e-b9984031cd94", "title": "Fedora Linux (6.6.4-100.fc38.x86_64) 38 (Thirty Eight)" }, { "args": "ro crashkernel=auto net.ifnames=0 rhgb quiet", "default": false, "id": "3f4aff2c3bb740bba51164bd518a0125-0-rescue", "index": "1", "initrd": "/boot/initramfs-0-rescue-3f4aff2c3bb740bba51164bd518a0125.img", "kernel": "/boot/vmlinuz-0-rescue-3f4aff2c3bb740bba51164bd518a0125", "root": "UUID=2901de93-8301-4c46-916e-b9984031cd94", "title": "Fedora Linux (0-rescue-3f4aff2c3bb740bba51164bd518a0125) 38 (Thirty Eight)" } ] }, "changed": false } TASK [Flush handlers] ********************************************************** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/tests/tests_settings.yml:17 Thursday 21 December 2023 19:29:10 +0000 (0:00:00.558) 0:00:04.492 ***** META: triggered running handlers for sut TASK [Verify that default bootloader is correct in bootloader_gather_facts] **** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/tests/tests_settings.yml:20 Thursday 21 December 2023 19:29:10 +0000 (0:00:00.001) 0:00:04.493 ***** ok: [sut] => { "changed": false, "cmd": [ "grubby", "--default-kernel" ], "delta": "0:00:00.046836", "end": "2023-12-21 19:29:11.082703", "failed_when_result": false, "rc": 0, "start": "2023-12-21 19:29:11.035867" } STDOUT: /boot/vmlinuz-6.6.4-100.fc38.x86_64 TASK [Replace configuration with settings using kernel index] ****************** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/tests/tests_settings.yml:28 Thursday 21 December 2023 19:29:11 +0000 (0:00:00.313) 0:00:04.807 ***** TASK [fedora.linux_system_roles.bootloader : Set platform/version specific variables] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:3 Thursday 21 December 2023 19:29:11 +0000 (0:00:00.019) 0:00:04.827 ***** included: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/set_vars.yml for sut TASK [fedora.linux_system_roles.bootloader : Ensure ansible_facts used by role] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/set_vars.yml:3 Thursday 21 December 2023 19:29:11 +0000 (0:00:00.008) 0:00:04.835 ***** skipping: [sut] => { "changed": false, "false_condition": "__bootloader_required_facts | difference(ansible_facts.keys() | list) | length > 0", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.bootloader : Set platform/version specific variables] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/set_vars.yml:8 Thursday 21 December 2023 19:29:11 +0000 (0:00:00.014) 0:00:04.850 ***** skipping: [sut] => (item=RedHat.yml) => { "ansible_loop_var": "item", "changed": false, "false_condition": "__bootloader_vars_file is file", "item": "RedHat.yml", "skip_reason": "Conditional result was False" } skipping: [sut] => (item=Fedora.yml) => { "ansible_loop_var": "item", "changed": false, "false_condition": "__bootloader_vars_file is file", "item": "Fedora.yml", "skip_reason": "Conditional result was False" } skipping: [sut] => (item=Fedora_38.yml) => { "ansible_loop_var": "item", "changed": false, "false_condition": "__bootloader_vars_file is file", "item": "Fedora_38.yml", "skip_reason": "Conditional result was False" } skipping: [sut] => (item=Fedora_38.yml) => { "ansible_loop_var": "item", "changed": false, "false_condition": "__bootloader_vars_file is file", "item": "Fedora_38.yml", "skip_reason": "Conditional result was False" } skipping: [sut] => { "changed": false } MSG: All items skipped TASK [fedora.linux_system_roles.bootloader : Ensure required packages are installed] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:6 Thursday 21 December 2023 19:29:11 +0000 (0:00:00.016) 0:00:04.866 ***** ok: [sut] => { "changed": false, "rc": 0, "results": [] } MSG: Nothing to do TASK [fedora.linux_system_roles.bootloader : Ensure boot loader settings] ****** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:11 Thursday 21 December 2023 19:29:13 +0000 (0:00:02.474) 0:00:07.340 ***** Notification for handler Fix default kernel boot parameters has been saved. Notification for handler Reboot system has been saved. changed: [sut] => { "actions": [ "grubby --update-kernel=0 --remove-args='ro crashkernel=auto net.ifnames=0 rhgb quiet'", "grubby --update-kernel=0 --args='console=tty0 print-fatal-signals=1 no_timer_check quiet'", "grubby --update-kernel=ALL --args=debug" ], "changed": true } TASK [fedora.linux_system_roles.bootloader : Update boot loader timeout configuration] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:18 Thursday 21 December 2023 19:29:14 +0000 (0:00:00.849) 0:00:08.190 ***** Notification for handler Rebuild grub config has been saved. changed: [sut] => { "backup": "", "changed": true } MSG: line replaced TASK [fedora.linux_system_roles.bootloader : Determine platform type] ********** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:25 Thursday 21 December 2023 19:29:14 +0000 (0:00:00.206) 0:00:08.396 ***** ok: [sut] => { "changed": false, "stat": { "exists": false } } TASK [fedora.linux_system_roles.bootloader : Set boot loader configuration files] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:30 Thursday 21 December 2023 19:29:14 +0000 (0:00:00.198) 0:00:08.595 ***** ok: [sut] => { "ansible_facts": { "__bootloader_grub_conf": "/boot/grub2/grub.cfg", "__bootloader_user_conf": "/boot/grub2/user.cfg" }, "changed": false } TASK [fedora.linux_system_roles.bootloader : Generate boot loader password] **** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:44 Thursday 21 December 2023 19:29:14 +0000 (0:00:00.020) 0:00:08.616 ***** skipping: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [fedora.linux_system_roles.bootloader : Put boot loader password to /boot/grub2/user.cfg] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:56 Thursday 21 December 2023 19:29:14 +0000 (0:00:00.010) 0:00:08.626 ***** skipping: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [fedora.linux_system_roles.bootloader : Remove boot loader password configuration] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:64 Thursday 21 December 2023 19:29:14 +0000 (0:00:00.009) 0:00:08.635 ***** skipping: [sut] => { "changed": false, "false_condition": "bootloader_remove_password | bool", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.bootloader : Collect bootloader facts] ********* task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:71 Thursday 21 December 2023 19:29:14 +0000 (0:00:00.014) 0:00:08.649 ***** ok: [sut] => { "ansible_facts": { "bootloader_facts": [ { "args": "console=tty0 print-fatal-signals=1 no_timer_check quiet debug", "default": true, "id": "3f4aff2c3bb740bba51164bd518a0125-6.6.4-100.fc38.x86_64", "index": "0", "initrd": "/boot/initramfs-6.6.4-100.fc38.x86_64.img", "kernel": "/boot/vmlinuz-6.6.4-100.fc38.x86_64", "root": "UUID=2901de93-8301-4c46-916e-b9984031cd94", "title": "Fedora Linux (6.6.4-100.fc38.x86_64) 38 (Thirty Eight)" }, { "args": "ro crashkernel=auto net.ifnames=0 rhgb quiet debug", "default": false, "id": "3f4aff2c3bb740bba51164bd518a0125-0-rescue", "index": "1", "initrd": "/boot/initramfs-0-rescue-3f4aff2c3bb740bba51164bd518a0125.img", "kernel": "/boot/vmlinuz-0-rescue-3f4aff2c3bb740bba51164bd518a0125", "root": "UUID=2901de93-8301-4c46-916e-b9984031cd94", "title": "Fedora Linux (0-rescue-3f4aff2c3bb740bba51164bd518a0125) 38 (Thirty Eight)" } ] }, "changed": false } TASK [Flush handlers] ********************************************************** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/tests/tests_settings.yml:51 Thursday 21 December 2023 19:29:15 +0000 (0:00:00.320) 0:00:08.970 ***** NOTIFIED HANDLER fedora.linux_system_roles.bootloader : Fix default kernel boot parameters for sut NOTIFIED HANDLER fedora.linux_system_roles.bootloader : Reboot system for sut NOTIFIED HANDLER fedora.linux_system_roles.bootloader : Rebuild grub config for sut META: triggered running handlers for sut RUNNING HANDLER [fedora.linux_system_roles.bootloader : Fix default kernel boot parameters] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/handlers/main.yml:4 Thursday 21 December 2023 19:29:15 +0000 (0:00:00.002) 0:00:08.973 ***** changed: [sut] => { "changed": true, "cmd": "set -o pipefail\ngrubby --info=DEFAULT | awk '/^args/ {print $0}'\ncat /etc/default/grub\neval $(grubby --info=DEFAULT | awk '/^args/ {print $0}')\nsed -i -e \"s|^GRUB_CMDLINE_LINUX=.*|GRUB_CMDLINE_LINUX=\\\"$args\\\"|\" /etc/default/grub\ncat /etc/default/grub", "delta": "0:00:00.117694", "end": "2023-12-21 19:29:15.583201", "rc": 0, "start": "2023-12-21 19:29:15.465507" } STDOUT: args="console=tty0 print-fatal-signals=1 no_timer_check quiet debug" GRUB_TIMEOUT=6 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="crashkernel=auto net.ifnames=0 rhgb quiet debug" GRUB_DISABLE_RECOVERY="true" GRUB_ENABLE_BLSCFG=true GRUB_TIMEOUT=6 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="console=tty0 print-fatal-signals=1 no_timer_check quiet debug" GRUB_DISABLE_RECOVERY="true" GRUB_ENABLE_BLSCFG=true RUNNING HANDLER [fedora.linux_system_roles.bootloader : Rebuild grub config] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/handlers/main.yml:19 Thursday 21 December 2023 19:29:15 +0000 (0:00:00.323) 0:00:09.297 ***** changed: [sut] => { "changed": true, "cmd": [ "grub2-mkconfig", "-o", "/boot/grub2/grub.cfg" ], "delta": "0:00:02.938517", "end": "2023-12-21 19:29:18.725734", "rc": 0, "start": "2023-12-21 19:29:15.787217" } STDERR: Generating grub configuration file ... Adding boot menu entry for UEFI Firmware Settings ... done RUNNING HANDLER [fedora.linux_system_roles.bootloader : Reboot system] ********* task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/handlers/main.yml:23 Thursday 21 December 2023 19:29:18 +0000 (0:00:03.143) 0:00:12.440 ***** included: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/reboot.yml for sut RUNNING HANDLER [fedora.linux_system_roles.bootloader : Reboot system when bootloader_reboot_ok is true] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/reboot.yml:3 Thursday 21 December 2023 19:29:18 +0000 (0:00:00.008) 0:00:12.448 ***** changed: [sut] => { "changed": true, "elapsed": 44, "rebooted": true } RUNNING HANDLER [fedora.linux_system_roles.bootloader : Notify about reboot] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/reboot.yml:7 Thursday 21 December 2023 19:30:04 +0000 (0:00:45.423) 0:00:57.871 ***** skipping: [sut] => { "false_condition": "not bootloader_reboot_ok" } RUNNING HANDLER [fedora.linux_system_roles.bootloader : Set bootloader_reboot_required] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/reboot.yml:14 Thursday 21 December 2023 19:30:04 +0000 (0:00:00.006) 0:00:57.878 ***** ok: [sut] => { "ansible_facts": { "bootloader_reboot_required": false }, "changed": false } TASK [Ensure bootloader_reboot_required is set to false] *********************** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/tests/tests_settings.yml:54 Thursday 21 December 2023 19:30:04 +0000 (0:00:00.008) 0:00:57.887 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify settings] ********************************************************* task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/tests/tests_settings.yml:58 Thursday 21 December 2023 19:30:04 +0000 (0:00:00.015) 0:00:57.903 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify boot loader timeout configuration] ******************************** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/tests/tests_settings.yml:65 Thursday 21 December 2023 19:30:04 +0000 (0:00:00.017) 0:00:57.920 ***** ok: [sut] => { "changed": false, "cmd": [ "cat", "/boot/grub2/grub.cfg" ], "delta": "0:00:00.005640", "end": "2023-12-21 19:30:04.095885", "failed_when_result": false, "rc": 0, "start": "2023-12-21 19:30:04.090245" } STDOUT: # # DO NOT EDIT THIS FILE # # It is automatically generated by grub2-mkconfig using templates # from /etc/grub.d and settings from /etc/default/grub # ### BEGIN /etc/grub.d/00_header ### set pager=1 if [ -f ${config_directory}/grubenv ]; then load_env -f ${config_directory}/grubenv elif [ -s $prefix/grubenv ]; then load_env fi if [ "${next_entry}" ] ; then set default="${next_entry}" set next_entry= save_env next_entry set boot_once=true else set default="${saved_entry}" fi if [ x"${feature_menuentry_id}" = xy ]; then menuentry_id_option="--id" else menuentry_id_option="" fi export menuentry_id_option if [ "${prev_saved_entry}" ]; then set saved_entry="${prev_saved_entry}" save_env saved_entry set prev_saved_entry= save_env prev_saved_entry set boot_once=true fi function savedefault { if [ -z "${boot_once}" ]; then saved_entry="${chosen}" save_env saved_entry fi } function load_video { if [ x$feature_all_video_module = xy ]; then insmod all_video else insmod efi_gop insmod efi_uga insmod ieee1275_fb insmod vbe insmod vga insmod video_bochs insmod video_cirrus fi } terminal_output console if [ x$feature_timeout_style = xy ] ; then set timeout_style=menu set timeout=6 # Fallback normal timeout code in case the timeout_style feature is # unavailable. else set timeout=6 fi ### END /etc/grub.d/00_header ### ### BEGIN /etc/grub.d/01_users ### if [ -f ${prefix}/user.cfg ]; then source ${prefix}/user.cfg if [ -n "${GRUB2_PASSWORD}" ]; then set superusers="root" export superusers password_pbkdf2 root ${GRUB2_PASSWORD} fi fi ### END /etc/grub.d/01_users ### ### BEGIN /etc/grub.d/08_fallback_counting ### insmod increment # Check if boot_counter exists and boot_success=0 to activate this behaviour. if [ -n "${boot_counter}" -a "${boot_success}" = "0" ]; then # if countdown has ended, choose to boot rollback deployment, # i.e. default=1 on OSTree-based systems. if [ "${boot_counter}" = "0" -o "${boot_counter}" = "-1" ]; then set default=1 set boot_counter=-1 # otherwise decrement boot_counter else decrement boot_counter fi save_env boot_counter fi ### END /etc/grub.d/08_fallback_counting ### ### BEGIN /etc/grub.d/10_linux ### insmod part_gpt insmod ext2 search --no-floppy --fs-uuid --set=root 2901de93-8301-4c46-916e-b9984031cd94 insmod part_gpt insmod ext2 search --no-floppy --fs-uuid --set=boot 2901de93-8301-4c46-916e-b9984031cd94 # This section was generated by a script. Do not modify the generated file - all changes # will be lost the next time file is regenerated. Instead edit the BootLoaderSpec files. # # The blscfg command parses the BootLoaderSpec files stored in /boot/loader/entries and # populates the boot menu. Please refer to the Boot Loader Specification documentation # for the files format: https://systemd.io/BOOT_LOADER_SPECIFICATION/. # The kernelopts variable should be defined in the grubenv file. But to ensure that menu # entries populated from BootLoaderSpec files that use this variable work correctly even # without a grubenv file, define a fallback kernelopts variable if this has not been set. # # The kernelopts variable in the grubenv file can be modified using the grubby tool or by # executing the grub2-mkconfig tool. For the latter, the values of the GRUB_CMDLINE_LINUX # and GRUB_CMDLINE_LINUX_DEFAULT options from /etc/default/grub file are used to set both # the kernelopts variable in the grubenv file and the fallback kernelopts variable. if [ -z "${kernelopts}" ]; then set kernelopts="root=UUID=2901de93-8301-4c46-916e-b9984031cd94 ro console=tty0 print-fatal-signals=1 no_timer_check quiet debug " fi insmod blscfg blscfg ### END /etc/grub.d/10_linux ### ### BEGIN /etc/grub.d/10_reset_boot_success ### # Hiding the menu is ok if last boot was ok or if this is a first boot attempt to boot the entry if [ "${boot_success}" = "1" -o "${boot_indeterminate}" = "1" ]; then set menu_hide_ok=1 else set menu_hide_ok=0 fi # Reset boot_indeterminate after a successful boot if [ "${boot_success}" = "1" ] ; then set boot_indeterminate=0 # Avoid boot_indeterminate causing the menu to be hidden more than once elif [ "${boot_indeterminate}" = "1" ]; then set boot_indeterminate=2 fi # Reset boot_success for current boot set boot_success=0 save_env boot_success boot_indeterminate ### END /etc/grub.d/10_reset_boot_success ### ### BEGIN /etc/grub.d/12_menu_auto_hide ### if [ x$feature_timeout_style = xy ] ; then if [ "${menu_show_once}" ]; then unset menu_show_once save_env menu_show_once set timeout_style=menu set timeout=60 elif [ "${menu_auto_hide}" -a "${menu_hide_ok}" = "1" ]; then set orig_timeout_style=${timeout_style} set orig_timeout=${timeout} if [ "${fastboot}" = "1" ]; then # timeout_style=menu + timeout=0 avoids the countdown code keypress check set timeout_style=menu set timeout=0 else set timeout_style=hidden set timeout=1 fi fi fi ### END /etc/grub.d/12_menu_auto_hide ### ### BEGIN /etc/grub.d/14_menu_show_once ### if [ x$feature_timeout_style = xy ]; then if [ "${menu_show_once_timeout}" ]; then set timeout_style=menu set timeout="${menu_show_once_timeout}" unset menu_show_once_timeout save_env menu_show_once_timeout fi fi ### END /etc/grub.d/14_menu_show_once ### ### BEGIN /etc/grub.d/20_linux_xen ### ### END /etc/grub.d/20_linux_xen ### ### BEGIN /etc/grub.d/20_ppc_terminfo ### ### END /etc/grub.d/20_ppc_terminfo ### ### BEGIN /etc/grub.d/30_os-prober ### ### END /etc/grub.d/30_os-prober ### ### BEGIN /etc/grub.d/30_uefi-firmware ### if [ "$grub_platform" = "efi" ]; then menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' { fwsetup } fi ### END /etc/grub.d/30_uefi-firmware ### ### BEGIN /etc/grub.d/35_fwupd ### ### END /etc/grub.d/35_fwupd ### ### BEGIN /etc/grub.d/40_custom ### # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above. ### END /etc/grub.d/40_custom ### ### BEGIN /etc/grub.d/41_custom ### if [ -f ${config_directory}/custom.cfg ]; then source ${config_directory}/custom.cfg elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then source $prefix/custom.cfg fi ### END /etc/grub.d/41_custom ### TASK [Change some settings using kernel title] ********************************* task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/tests/tests_settings.yml:72 Thursday 21 December 2023 19:30:04 +0000 (0:00:00.249) 0:00:58.170 ***** TASK [fedora.linux_system_roles.bootloader : Set platform/version specific variables] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:3 Thursday 21 December 2023 19:30:04 +0000 (0:00:00.023) 0:00:58.194 ***** included: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/set_vars.yml for sut TASK [fedora.linux_system_roles.bootloader : Ensure ansible_facts used by role] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/set_vars.yml:3 Thursday 21 December 2023 19:30:04 +0000 (0:00:00.008) 0:00:58.202 ***** skipping: [sut] => { "changed": false, "false_condition": "__bootloader_required_facts | difference(ansible_facts.keys() | list) | length > 0", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.bootloader : Set platform/version specific variables] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/set_vars.yml:8 Thursday 21 December 2023 19:30:04 +0000 (0:00:00.014) 0:00:58.217 ***** skipping: [sut] => (item=RedHat.yml) => { "ansible_loop_var": "item", "changed": false, "false_condition": "__bootloader_vars_file is file", "item": "RedHat.yml", "skip_reason": "Conditional result was False" } skipping: [sut] => (item=Fedora.yml) => { "ansible_loop_var": "item", "changed": false, "false_condition": "__bootloader_vars_file is file", "item": "Fedora.yml", "skip_reason": "Conditional result was False" } skipping: [sut] => (item=Fedora_38.yml) => { "ansible_loop_var": "item", "changed": false, "false_condition": "__bootloader_vars_file is file", "item": "Fedora_38.yml", "skip_reason": "Conditional result was False" } skipping: [sut] => (item=Fedora_38.yml) => { "ansible_loop_var": "item", "changed": false, "false_condition": "__bootloader_vars_file is file", "item": "Fedora_38.yml", "skip_reason": "Conditional result was False" } skipping: [sut] => { "changed": false } MSG: All items skipped TASK [fedora.linux_system_roles.bootloader : Ensure required packages are installed] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:6 Thursday 21 December 2023 19:30:04 +0000 (0:00:00.015) 0:00:58.233 ***** ok: [sut] => { "changed": false, "rc": 0, "results": [] } MSG: Nothing to do TASK [fedora.linux_system_roles.bootloader : Ensure boot loader settings] ****** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:11 Thursday 21 December 2023 19:30:10 +0000 (0:00:06.100) 0:01:04.334 ***** Notification for handler Fix default kernel boot parameters has been saved. Notification for handler Reboot system has been saved. changed: [sut] => { "actions": [ "grubby --update-kernel=TITLE='Fedora Linux (6.6.4-100.fc38.x86_64) 38 (Thirty Eight)' --remove-args='quiet debug'" ], "changed": true } TASK [fedora.linux_system_roles.bootloader : Update boot loader timeout configuration] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:18 Thursday 21 December 2023 19:30:11 +0000 (0:00:00.466) 0:01:04.801 ***** Notification for handler Rebuild grub config has been saved. changed: [sut] => { "backup": "", "changed": true } MSG: line replaced TASK [fedora.linux_system_roles.bootloader : Determine platform type] ********** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:25 Thursday 21 December 2023 19:30:11 +0000 (0:00:00.211) 0:01:05.012 ***** ok: [sut] => { "changed": false, "stat": { "exists": false } } TASK [fedora.linux_system_roles.bootloader : Set boot loader configuration files] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:30 Thursday 21 December 2023 19:30:11 +0000 (0:00:00.199) 0:01:05.212 ***** ok: [sut] => { "ansible_facts": { "__bootloader_grub_conf": "/boot/grub2/grub.cfg", "__bootloader_user_conf": "/boot/grub2/user.cfg" }, "changed": false } TASK [fedora.linux_system_roles.bootloader : Generate boot loader password] **** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:44 Thursday 21 December 2023 19:30:11 +0000 (0:00:00.019) 0:01:05.232 ***** skipping: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [fedora.linux_system_roles.bootloader : Put boot loader password to /boot/grub2/user.cfg] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:56 Thursday 21 December 2023 19:30:11 +0000 (0:00:00.009) 0:01:05.241 ***** skipping: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [fedora.linux_system_roles.bootloader : Remove boot loader password configuration] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:64 Thursday 21 December 2023 19:30:11 +0000 (0:00:00.008) 0:01:05.250 ***** skipping: [sut] => { "changed": false, "false_condition": "bootloader_remove_password | bool", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.bootloader : Collect bootloader facts] ********* task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:71 Thursday 21 December 2023 19:30:11 +0000 (0:00:00.012) 0:01:05.263 ***** ok: [sut] => { "ansible_facts": { "bootloader_facts": [ { "args": "ro console=tty0 print-fatal-signals=1 no_timer_check", "default": true, "id": "3f4aff2c3bb740bba51164bd518a0125-6.6.4-100.fc38.x86_64", "index": "0", "initrd": "/boot/initramfs-6.6.4-100.fc38.x86_64.img", "kernel": "/boot/vmlinuz-6.6.4-100.fc38.x86_64", "root": "UUID=2901de93-8301-4c46-916e-b9984031cd94", "title": "Fedora Linux (6.6.4-100.fc38.x86_64) 38 (Thirty Eight)" }, { "args": "ro console=tty0 print-fatal-signals=1 no_timer_check quiet debug", "default": false, "id": "3f4aff2c3bb740bba51164bd518a0125-0-rescue", "index": "1", "initrd": "/boot/initramfs-0-rescue-3f4aff2c3bb740bba51164bd518a0125.img", "kernel": "/boot/vmlinuz-0-rescue-3f4aff2c3bb740bba51164bd518a0125", "root": "UUID=2901de93-8301-4c46-916e-b9984031cd94", "title": "Fedora Linux (0-rescue-3f4aff2c3bb740bba51164bd518a0125) 38 (Thirty Eight)" } ] }, "changed": false } TASK [Flush handlers] ********************************************************** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/tests/tests_settings.yml:87 Thursday 21 December 2023 19:30:11 +0000 (0:00:00.323) 0:01:05.587 ***** NOTIFIED HANDLER fedora.linux_system_roles.bootloader : Fix default kernel boot parameters for sut NOTIFIED HANDLER fedora.linux_system_roles.bootloader : Reboot system for sut NOTIFIED HANDLER fedora.linux_system_roles.bootloader : Rebuild grub config for sut META: triggered running handlers for sut RUNNING HANDLER [fedora.linux_system_roles.bootloader : Fix default kernel boot parameters] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/handlers/main.yml:4 Thursday 21 December 2023 19:30:11 +0000 (0:00:00.001) 0:01:05.588 ***** changed: [sut] => { "changed": true, "cmd": "set -o pipefail\ngrubby --info=DEFAULT | awk '/^args/ {print $0}'\ncat /etc/default/grub\neval $(grubby --info=DEFAULT | awk '/^args/ {print $0}')\nsed -i -e \"s|^GRUB_CMDLINE_LINUX=.*|GRUB_CMDLINE_LINUX=\\\"$args\\\"|\" /etc/default/grub\ncat /etc/default/grub", "delta": "0:00:00.117450", "end": "2023-12-21 19:30:12.199701", "rc": 0, "start": "2023-12-21 19:30:12.082251" } STDOUT: args="ro console=tty0 print-fatal-signals=1 no_timer_check" GRUB_TIMEOUT=4 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="console=tty0 print-fatal-signals=1 no_timer_check quiet debug" GRUB_DISABLE_RECOVERY="true" GRUB_ENABLE_BLSCFG=true GRUB_TIMEOUT=4 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="ro console=tty0 print-fatal-signals=1 no_timer_check" GRUB_DISABLE_RECOVERY="true" GRUB_ENABLE_BLSCFG=true RUNNING HANDLER [fedora.linux_system_roles.bootloader : Rebuild grub config] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/handlers/main.yml:19 Thursday 21 December 2023 19:30:12 +0000 (0:00:00.324) 0:01:05.912 ***** changed: [sut] => { "changed": true, "cmd": [ "grub2-mkconfig", "-o", "/boot/grub2/grub.cfg" ], "delta": "0:00:02.040361", "end": "2023-12-21 19:30:14.446524", "rc": 0, "start": "2023-12-21 19:30:12.406163" } STDERR: Generating grub configuration file ... Adding boot menu entry for UEFI Firmware Settings ... done RUNNING HANDLER [fedora.linux_system_roles.bootloader : Reboot system] ********* task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/handlers/main.yml:23 Thursday 21 December 2023 19:30:14 +0000 (0:00:02.247) 0:01:08.160 ***** included: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/reboot.yml for sut RUNNING HANDLER [fedora.linux_system_roles.bootloader : Reboot system when bootloader_reboot_ok is true] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/reboot.yml:3 Thursday 21 December 2023 19:30:14 +0000 (0:00:00.007) 0:01:08.168 ***** changed: [sut] => { "changed": true, "elapsed": 40, "rebooted": true } RUNNING HANDLER [fedora.linux_system_roles.bootloader : Notify about reboot] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/reboot.yml:7 Thursday 21 December 2023 19:30:55 +0000 (0:00:40.745) 0:01:48.913 ***** skipping: [sut] => { "false_condition": "not bootloader_reboot_ok" } RUNNING HANDLER [fedora.linux_system_roles.bootloader : Set bootloader_reboot_required] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/reboot.yml:14 Thursday 21 December 2023 19:30:55 +0000 (0:00:00.007) 0:01:48.920 ***** ok: [sut] => { "ansible_facts": { "bootloader_reboot_required": false }, "changed": false } TASK [Ensure bootloader_reboot_required is set to false] *********************** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/tests/tests_settings.yml:90 Thursday 21 December 2023 19:30:55 +0000 (0:00:00.008) 0:01:48.929 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify settings] ********************************************************* task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/tests/tests_settings.yml:94 Thursday 21 December 2023 19:30:55 +0000 (0:00:00.016) 0:01:48.945 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify boot loader timeout configuration] ******************************** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/tests/tests_settings.yml:101 Thursday 21 December 2023 19:30:55 +0000 (0:00:00.018) 0:01:48.964 ***** ok: [sut] => { "changed": false, "cmd": [ "cat", "/boot/grub2/grub.cfg" ], "delta": "0:00:00.004471", "end": "2023-12-21 19:30:55.286979", "failed_when_result": false, "rc": 0, "start": "2023-12-21 19:30:55.282508" } STDOUT: # # DO NOT EDIT THIS FILE # # It is automatically generated by grub2-mkconfig using templates # from /etc/grub.d and settings from /etc/default/grub # ### BEGIN /etc/grub.d/00_header ### set pager=1 if [ -f ${config_directory}/grubenv ]; then load_env -f ${config_directory}/grubenv elif [ -s $prefix/grubenv ]; then load_env fi if [ "${next_entry}" ] ; then set default="${next_entry}" set next_entry= save_env next_entry set boot_once=true else set default="${saved_entry}" fi if [ x"${feature_menuentry_id}" = xy ]; then menuentry_id_option="--id" else menuentry_id_option="" fi export menuentry_id_option if [ "${prev_saved_entry}" ]; then set saved_entry="${prev_saved_entry}" save_env saved_entry set prev_saved_entry= save_env prev_saved_entry set boot_once=true fi function savedefault { if [ -z "${boot_once}" ]; then saved_entry="${chosen}" save_env saved_entry fi } function load_video { if [ x$feature_all_video_module = xy ]; then insmod all_video else insmod efi_gop insmod efi_uga insmod ieee1275_fb insmod vbe insmod vga insmod video_bochs insmod video_cirrus fi } terminal_output console if [ x$feature_timeout_style = xy ] ; then set timeout_style=menu set timeout=4 # Fallback normal timeout code in case the timeout_style feature is # unavailable. else set timeout=4 fi ### END /etc/grub.d/00_header ### ### BEGIN /etc/grub.d/01_users ### if [ -f ${prefix}/user.cfg ]; then source ${prefix}/user.cfg if [ -n "${GRUB2_PASSWORD}" ]; then set superusers="root" export superusers password_pbkdf2 root ${GRUB2_PASSWORD} fi fi ### END /etc/grub.d/01_users ### ### BEGIN /etc/grub.d/08_fallback_counting ### insmod increment # Check if boot_counter exists and boot_success=0 to activate this behaviour. if [ -n "${boot_counter}" -a "${boot_success}" = "0" ]; then # if countdown has ended, choose to boot rollback deployment, # i.e. default=1 on OSTree-based systems. if [ "${boot_counter}" = "0" -o "${boot_counter}" = "-1" ]; then set default=1 set boot_counter=-1 # otherwise decrement boot_counter else decrement boot_counter fi save_env boot_counter fi ### END /etc/grub.d/08_fallback_counting ### ### BEGIN /etc/grub.d/10_linux ### insmod part_gpt insmod ext2 search --no-floppy --fs-uuid --set=root 2901de93-8301-4c46-916e-b9984031cd94 insmod part_gpt insmod ext2 search --no-floppy --fs-uuid --set=boot 2901de93-8301-4c46-916e-b9984031cd94 # This section was generated by a script. Do not modify the generated file - all changes # will be lost the next time file is regenerated. Instead edit the BootLoaderSpec files. # # The blscfg command parses the BootLoaderSpec files stored in /boot/loader/entries and # populates the boot menu. Please refer to the Boot Loader Specification documentation # for the files format: https://systemd.io/BOOT_LOADER_SPECIFICATION/. # The kernelopts variable should be defined in the grubenv file. But to ensure that menu # entries populated from BootLoaderSpec files that use this variable work correctly even # without a grubenv file, define a fallback kernelopts variable if this has not been set. # # The kernelopts variable in the grubenv file can be modified using the grubby tool or by # executing the grub2-mkconfig tool. For the latter, the values of the GRUB_CMDLINE_LINUX # and GRUB_CMDLINE_LINUX_DEFAULT options from /etc/default/grub file are used to set both # the kernelopts variable in the grubenv file and the fallback kernelopts variable. if [ -z "${kernelopts}" ]; then set kernelopts="root=UUID=2901de93-8301-4c46-916e-b9984031cd94 ro ro console=tty0 print-fatal-signals=1 no_timer_check " fi insmod blscfg blscfg ### END /etc/grub.d/10_linux ### ### BEGIN /etc/grub.d/10_reset_boot_success ### # Hiding the menu is ok if last boot was ok or if this is a first boot attempt to boot the entry if [ "${boot_success}" = "1" -o "${boot_indeterminate}" = "1" ]; then set menu_hide_ok=1 else set menu_hide_ok=0 fi # Reset boot_indeterminate after a successful boot if [ "${boot_success}" = "1" ] ; then set boot_indeterminate=0 # Avoid boot_indeterminate causing the menu to be hidden more than once elif [ "${boot_indeterminate}" = "1" ]; then set boot_indeterminate=2 fi # Reset boot_success for current boot set boot_success=0 save_env boot_success boot_indeterminate ### END /etc/grub.d/10_reset_boot_success ### ### BEGIN /etc/grub.d/12_menu_auto_hide ### if [ x$feature_timeout_style = xy ] ; then if [ "${menu_show_once}" ]; then unset menu_show_once save_env menu_show_once set timeout_style=menu set timeout=60 elif [ "${menu_auto_hide}" -a "${menu_hide_ok}" = "1" ]; then set orig_timeout_style=${timeout_style} set orig_timeout=${timeout} if [ "${fastboot}" = "1" ]; then # timeout_style=menu + timeout=0 avoids the countdown code keypress check set timeout_style=menu set timeout=0 else set timeout_style=hidden set timeout=1 fi fi fi ### END /etc/grub.d/12_menu_auto_hide ### ### BEGIN /etc/grub.d/14_menu_show_once ### if [ x$feature_timeout_style = xy ]; then if [ "${menu_show_once_timeout}" ]; then set timeout_style=menu set timeout="${menu_show_once_timeout}" unset menu_show_once_timeout save_env menu_show_once_timeout fi fi ### END /etc/grub.d/14_menu_show_once ### ### BEGIN /etc/grub.d/20_linux_xen ### ### END /etc/grub.d/20_linux_xen ### ### BEGIN /etc/grub.d/20_ppc_terminfo ### ### END /etc/grub.d/20_ppc_terminfo ### ### BEGIN /etc/grub.d/30_os-prober ### ### END /etc/grub.d/30_os-prober ### ### BEGIN /etc/grub.d/30_uefi-firmware ### if [ "$grub_platform" = "efi" ]; then menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' { fwsetup } fi ### END /etc/grub.d/30_uefi-firmware ### ### BEGIN /etc/grub.d/35_fwupd ### ### END /etc/grub.d/35_fwupd ### ### BEGIN /etc/grub.d/40_custom ### # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above. ### END /etc/grub.d/40_custom ### ### BEGIN /etc/grub.d/41_custom ### if [ -f ${config_directory}/custom.cfg ]; then source ${config_directory}/custom.cfg elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then source $prefix/custom.cfg fi ### END /etc/grub.d/41_custom ### TASK [Set existing variable using kernel path, should report not changed] ****** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/tests/tests_settings.yml:108 Thursday 21 December 2023 19:30:55 +0000 (0:00:00.230) 0:01:49.194 ***** TASK [fedora.linux_system_roles.bootloader : Set platform/version specific variables] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:3 Thursday 21 December 2023 19:30:55 +0000 (0:00:00.026) 0:01:49.221 ***** included: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/set_vars.yml for sut TASK [fedora.linux_system_roles.bootloader : Ensure ansible_facts used by role] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/set_vars.yml:3 Thursday 21 December 2023 19:30:55 +0000 (0:00:00.008) 0:01:49.229 ***** skipping: [sut] => { "changed": false, "false_condition": "__bootloader_required_facts | difference(ansible_facts.keys() | list) | length > 0", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.bootloader : Set platform/version specific variables] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/set_vars.yml:8 Thursday 21 December 2023 19:30:55 +0000 (0:00:00.014) 0:01:49.244 ***** skipping: [sut] => (item=RedHat.yml) => { "ansible_loop_var": "item", "changed": false, "false_condition": "__bootloader_vars_file is file", "item": "RedHat.yml", "skip_reason": "Conditional result was False" } skipping: [sut] => (item=Fedora.yml) => { "ansible_loop_var": "item", "changed": false, "false_condition": "__bootloader_vars_file is file", "item": "Fedora.yml", "skip_reason": "Conditional result was False" } skipping: [sut] => (item=Fedora_38.yml) => { "ansible_loop_var": "item", "changed": false, "false_condition": "__bootloader_vars_file is file", "item": "Fedora_38.yml", "skip_reason": "Conditional result was False" } skipping: [sut] => (item=Fedora_38.yml) => { "ansible_loop_var": "item", "changed": false, "false_condition": "__bootloader_vars_file is file", "item": "Fedora_38.yml", "skip_reason": "Conditional result was False" } skipping: [sut] => { "changed": false } MSG: All items skipped TASK [fedora.linux_system_roles.bootloader : Ensure required packages are installed] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:6 Thursday 21 December 2023 19:30:55 +0000 (0:00:00.015) 0:01:49.260 ***** ok: [sut] => { "changed": false, "rc": 0, "results": [] } MSG: Nothing to do TASK [fedora.linux_system_roles.bootloader : Ensure boot loader settings] ****** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:11 Thursday 21 December 2023 19:31:01 +0000 (0:00:05.986) 0:01:55.247 ***** ok: [sut] => { "actions": [], "changed": false } TASK [fedora.linux_system_roles.bootloader : Update boot loader timeout configuration] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:18 Thursday 21 December 2023 19:31:01 +0000 (0:00:00.395) 0:01:55.643 ***** ok: [sut] => { "backup": "", "changed": false } TASK [fedora.linux_system_roles.bootloader : Determine platform type] ********** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:25 Thursday 21 December 2023 19:31:02 +0000 (0:00:00.212) 0:01:55.856 ***** ok: [sut] => { "changed": false, "stat": { "exists": false } } TASK [fedora.linux_system_roles.bootloader : Set boot loader configuration files] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:30 Thursday 21 December 2023 19:31:02 +0000 (0:00:00.201) 0:01:56.058 ***** ok: [sut] => { "ansible_facts": { "__bootloader_grub_conf": "/boot/grub2/grub.cfg", "__bootloader_user_conf": "/boot/grub2/user.cfg" }, "changed": false } TASK [fedora.linux_system_roles.bootloader : Generate boot loader password] **** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:44 Thursday 21 December 2023 19:31:02 +0000 (0:00:00.019) 0:01:56.077 ***** skipping: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [fedora.linux_system_roles.bootloader : Put boot loader password to /boot/grub2/user.cfg] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:56 Thursday 21 December 2023 19:31:02 +0000 (0:00:00.009) 0:01:56.086 ***** skipping: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [fedora.linux_system_roles.bootloader : Remove boot loader password configuration] *** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:64 Thursday 21 December 2023 19:31:02 +0000 (0:00:00.008) 0:01:56.095 ***** skipping: [sut] => { "changed": false, "false_condition": "bootloader_remove_password | bool", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.bootloader : Collect bootloader facts] ********* task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:71 Thursday 21 December 2023 19:31:02 +0000 (0:00:00.012) 0:01:56.107 ***** skipping: [sut] => { "changed": false, "false_condition": "bootloader_gather_facts | bool", "skip_reason": "Conditional result was False" } TASK [Flush handlers] ********************************************************** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/tests/tests_settings.yml:121 Thursday 21 December 2023 19:31:02 +0000 (0:00:00.013) 0:01:56.121 ***** META: triggered running handlers for sut TASK [Ensure bootloader_reboot_required is not set to true] ******************** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/tests/tests_settings.yml:124 Thursday 21 December 2023 19:31:02 +0000 (0:00:00.000) 0:01:56.121 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify settings] ********************************************************* task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/tests/tests_settings.yml:128 Thursday 21 December 2023 19:31:02 +0000 (0:00:00.008) 0:01:56.130 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify boot loader timeout configuration] ******************************** task path: /WORKDIR/git-add-remove-kernelsvndlwwa8/tests/tests_settings.yml:135 Thursday 21 December 2023 19:31:02 +0000 (0:00:00.017) 0:01:56.148 ***** ok: [sut] => { "changed": false, "cmd": [ "cat", "/boot/grub2/grub.cfg" ], "delta": "0:00:00.003293", "end": "2023-12-21 19:31:02.641864", "failed_when_result": false, "rc": 0, "start": "2023-12-21 19:31:02.638571" } STDOUT: # # DO NOT EDIT THIS FILE # # It is automatically generated by grub2-mkconfig using templates # from /etc/grub.d and settings from /etc/default/grub # ### BEGIN /etc/grub.d/00_header ### set pager=1 if [ -f ${config_directory}/grubenv ]; then load_env -f ${config_directory}/grubenv elif [ -s $prefix/grubenv ]; then load_env fi if [ "${next_entry}" ] ; then set default="${next_entry}" set next_entry= save_env next_entry set boot_once=true else set default="${saved_entry}" fi if [ x"${feature_menuentry_id}" = xy ]; then menuentry_id_option="--id" else menuentry_id_option="" fi export menuentry_id_option if [ "${prev_saved_entry}" ]; then set saved_entry="${prev_saved_entry}" save_env saved_entry set prev_saved_entry= save_env prev_saved_entry set boot_once=true fi function savedefault { if [ -z "${boot_once}" ]; then saved_entry="${chosen}" save_env saved_entry fi } function load_video { if [ x$feature_all_video_module = xy ]; then insmod all_video else insmod efi_gop insmod efi_uga insmod ieee1275_fb insmod vbe insmod vga insmod video_bochs insmod video_cirrus fi } terminal_output console if [ x$feature_timeout_style = xy ] ; then set timeout_style=menu set timeout=4 # Fallback normal timeout code in case the timeout_style feature is # unavailable. else set timeout=4 fi ### END /etc/grub.d/00_header ### ### BEGIN /etc/grub.d/01_users ### if [ -f ${prefix}/user.cfg ]; then source ${prefix}/user.cfg if [ -n "${GRUB2_PASSWORD}" ]; then set superusers="root" export superusers password_pbkdf2 root ${GRUB2_PASSWORD} fi fi ### END /etc/grub.d/01_users ### ### BEGIN /etc/grub.d/08_fallback_counting ### insmod increment # Check if boot_counter exists and boot_success=0 to activate this behaviour. if [ -n "${boot_counter}" -a "${boot_success}" = "0" ]; then # if countdown has ended, choose to boot rollback deployment, # i.e. default=1 on OSTree-based systems. if [ "${boot_counter}" = "0" -o "${boot_counter}" = "-1" ]; then set default=1 set boot_counter=-1 # otherwise decrement boot_counter else decrement boot_counter fi save_env boot_counter fi ### END /etc/grub.d/08_fallback_counting ### ### BEGIN /etc/grub.d/10_linux ### insmod part_gpt insmod ext2 search --no-floppy --fs-uuid --set=root 2901de93-8301-4c46-916e-b9984031cd94 insmod part_gpt insmod ext2 search --no-floppy --fs-uuid --set=boot 2901de93-8301-4c46-916e-b9984031cd94 # This section was generated by a script. Do not modify the generated file - all changes # will be lost the next time file is regenerated. Instead edit the BootLoaderSpec files. # # The blscfg command parses the BootLoaderSpec files stored in /boot/loader/entries and # populates the boot menu. Please refer to the Boot Loader Specification documentation # for the files format: https://systemd.io/BOOT_LOADER_SPECIFICATION/. # The kernelopts variable should be defined in the grubenv file. But to ensure that menu # entries populated from BootLoaderSpec files that use this variable work correctly even # without a grubenv file, define a fallback kernelopts variable if this has not been set. # # The kernelopts variable in the grubenv file can be modified using the grubby tool or by # executing the grub2-mkconfig tool. For the latter, the values of the GRUB_CMDLINE_LINUX # and GRUB_CMDLINE_LINUX_DEFAULT options from /etc/default/grub file are used to set both # the kernelopts variable in the grubenv file and the fallback kernelopts variable. if [ -z "${kernelopts}" ]; then set kernelopts="root=UUID=2901de93-8301-4c46-916e-b9984031cd94 ro ro console=tty0 print-fatal-signals=1 no_timer_check " fi insmod blscfg blscfg ### END /etc/grub.d/10_linux ### ### BEGIN /etc/grub.d/10_reset_boot_success ### # Hiding the menu is ok if last boot was ok or if this is a first boot attempt to boot the entry if [ "${boot_success}" = "1" -o "${boot_indeterminate}" = "1" ]; then set menu_hide_ok=1 else set menu_hide_ok=0 fi # Reset boot_indeterminate after a successful boot if [ "${boot_success}" = "1" ] ; then set boot_indeterminate=0 # Avoid boot_indeterminate causing the menu to be hidden more than once elif [ "${boot_indeterminate}" = "1" ]; then set boot_indeterminate=2 fi # Reset boot_success for current boot set boot_success=0 save_env boot_success boot_indeterminate ### END /etc/grub.d/10_reset_boot_success ### ### BEGIN /etc/grub.d/12_menu_auto_hide ### if [ x$feature_timeout_style = xy ] ; then if [ "${menu_show_once}" ]; then unset menu_show_once save_env menu_show_once set timeout_style=menu set timeout=60 elif [ "${menu_auto_hide}" -a "${menu_hide_ok}" = "1" ]; then set orig_timeout_style=${timeout_style} set orig_timeout=${timeout} if [ "${fastboot}" = "1" ]; then # timeout_style=menu + timeout=0 avoids the countdown code keypress check set timeout_style=menu set timeout=0 else set timeout_style=hidden set timeout=1 fi fi fi ### END /etc/grub.d/12_menu_auto_hide ### ### BEGIN /etc/grub.d/14_menu_show_once ### if [ x$feature_timeout_style = xy ]; then if [ "${menu_show_once_timeout}" ]; then set timeout_style=menu set timeout="${menu_show_once_timeout}" unset menu_show_once_timeout save_env menu_show_once_timeout fi fi ### END /etc/grub.d/14_menu_show_once ### ### BEGIN /etc/grub.d/20_linux_xen ### ### END /etc/grub.d/20_linux_xen ### ### BEGIN /etc/grub.d/20_ppc_terminfo ### ### END /etc/grub.d/20_ppc_terminfo ### ### BEGIN /etc/grub.d/30_os-prober ### ### END /etc/grub.d/30_os-prober ### ### BEGIN /etc/grub.d/30_uefi-firmware ### if [ "$grub_platform" = "efi" ]; then menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' { fwsetup } fi ### END /etc/grub.d/30_uefi-firmware ### ### BEGIN /etc/grub.d/35_fwupd ### ### END /etc/grub.d/35_fwupd ### ### BEGIN /etc/grub.d/40_custom ### # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above. ### END /etc/grub.d/40_custom ### ### BEGIN /etc/grub.d/41_custom ### if [ -f ${config_directory}/custom.cfg ]; then source ${config_directory}/custom.cfg elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then source $prefix/custom.cfg fi ### END /etc/grub.d/41_custom ### PLAY RECAP ********************************************************************* sut : ok=48 changed=10 unreachable=0 failed=0 skipped=22 rescued=0 ignored=0 Thursday 21 December 2023 19:31:02 +0000 (0:00:00.212) 0:01:56.361 ***** =============================================================================== fedora.linux_system_roles.bootloader : Reboot system when bootloader_reboot_ok is true -- 45.42s /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/reboot.yml:3 fedora.linux_system_roles.bootloader : Reboot system when bootloader_reboot_ok is true -- 40.75s /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/reboot.yml:3 fedora.linux_system_roles.bootloader : Ensure required packages are installed --- 6.10s /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:6 fedora.linux_system_roles.bootloader : Ensure required packages are installed --- 5.99s /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:6 fedora.linux_system_roles.bootloader : Rebuild grub config -------------- 3.14s /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/handlers/main.yml:19 fedora.linux_system_roles.bootloader : Ensure required packages are installed --- 2.57s /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:6 fedora.linux_system_roles.bootloader : Ensure required packages are installed --- 2.47s /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:6 fedora.linux_system_roles.bootloader : Rebuild grub config -------------- 2.25s /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/handlers/main.yml:19 fedora.linux_system_roles.bootloader : Ensure boot loader settings ------ 0.85s /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:11 fedora.linux_system_roles.bootloader : Collect bootloader facts --------- 0.56s /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:71 fedora.linux_system_roles.bootloader : Ensure ansible_facts used by role --- 0.48s /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/set_vars.yml:3 fedora.linux_system_roles.bootloader : Ensure boot loader settings ------ 0.47s /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:11 fedora.linux_system_roles.bootloader : Ensure boot loader settings ------ 0.40s /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:11 fedora.linux_system_roles.bootloader : Fix default kernel boot parameters --- 0.32s /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/handlers/main.yml:4 fedora.linux_system_roles.bootloader : Fix default kernel boot parameters --- 0.32s /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/handlers/main.yml:4 fedora.linux_system_roles.bootloader : Collect bootloader facts --------- 0.32s /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:71 fedora.linux_system_roles.bootloader : Collect bootloader facts --------- 0.32s /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:71 Verify that default bootloader is correct in bootloader_gather_facts ---- 0.31s /WORKDIR/git-add-remove-kernelsvndlwwa8/tests/tests_settings.yml:20 ----------- fedora.linux_system_roles.bootloader : Update boot loader timeout configuration --- 0.26s /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:18 fedora.linux_system_roles.bootloader : Ensure boot loader settings ------ 0.26s /WORKDIR/git-add-remove-kernelsvndlwwa8/.collection/ansible_collections/fedora/linux_system_roles/roles/bootloader/tasks/main.yml:11 ---^---^---^---^---^--- # STDERR: ---v---v---v---v---v--- [DEPRECATION WARNING]: ANSIBLE_COLLECTIONS_PATHS option, does not fit var naming standard, use the singular form ANSIBLE_COLLECTIONS_PATH instead. This feature will be removed from ansible-core in version 2.19. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg. ---^---^---^---^---^---