From c10f29eefda741e2bbebce8bf2ad9f7bc94249b0 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Mon, 1 Jul 2024 16:50:28 -0400 Subject: [PATCH] update bigboot-noop.yml to bring it up to speed --- bigboot-noop.yml | 38 ++++++++++++++++- roles/autofsck/handlers/main.yml | 6 +++ roles/autofsck/meta/.galaxy_install_info | 2 + roles/autofsck/meta/main.yml | 52 ++++++++++++++++++++++++ roles/autofsck/tasks/cleanup.yml | 7 ++++ roles/autofsck/tasks/main.yml | 10 +++++ 6 files changed, 114 insertions(+), 1 deletion(-) create mode 100644 roles/autofsck/handlers/main.yml create mode 100644 roles/autofsck/meta/.galaxy_install_info create mode 100644 roles/autofsck/meta/main.yml create mode 100644 roles/autofsck/tasks/cleanup.yml create mode 100644 roles/autofsck/tasks/main.yml diff --git a/bigboot-noop.yml b/bigboot-noop.yml index 846f472..a03d90e 100644 --- a/bigboot-noop.yml +++ b/bigboot-noop.yml @@ -10,6 +10,9 @@ tasks: + - name: Cleanup from any previous executions + ansible.builtin.import_tasks: tasks/cleanup.yml + - name: Capture boot device details ansible.builtin.import_tasks: tasks/capture_boot_device_details.yml @@ -30,6 +33,20 @@ strategy: free tasks: + - name: Run a filesystem check prior to performing disk activities + ansible.builtin.import_role: + name: autofsck + tasks_from: main.yml + when: + - (bigboot_execute_shrink_lv | bool or bigboot_execute_bigboot | bool) + + - name: Extend the timeout values for physical hosts + ansible.builtin.set_fact: + initramfs_post_reboot_delay: 300 + initramfs_reboot_timeout: 14400 + when: + - "'host' in ansible_virtualization_role" + - name: Shrink the logical volume to support /boot expansion ansible.builtin.debug: msg: @@ -41,4 +58,23 @@ - name: Expand the /boot partition as requested ansible.builtin.debug: msg: "{{ bigboot_size }}" - when: bigboot_execute_bigboot | bool + when: + - bigboot_execute_bigboot | bool + + - name: Reboot the host + ansible.builtin.reboot: + msg: Reboot by Ansible + post_reboot_delay: 30 + connect_timeout: 10 + reboot_timeout: 120 + when: + - (bigboot_execute_shrink_lv | bool or bigboot_execute_bigboot | bool) + + - name: Cleanup Grub menu parameters for fsck + ansible.builtin.import_role: + name: autofsck + tasks_from: cleanup.yml + when: + - (bigboot_execute_shrink_lv | bool or bigboot_execute_bigboot | bool) + +... diff --git a/roles/autofsck/handlers/main.yml b/roles/autofsck/handlers/main.yml new file mode 100644 index 0000000..4771b80 --- /dev/null +++ b/roles/autofsck/handlers/main.yml @@ -0,0 +1,6 @@ +--- +- name: Update_Grub + ansible.builtin.command: + cmd: /usr/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg + register: autofsck_grub_mkconfig + changed_when: '"done" in autofsck_grub_mkconfig.stdout' diff --git a/roles/autofsck/meta/.galaxy_install_info b/roles/autofsck/meta/.galaxy_install_info new file mode 100644 index 0000000..d16f37f --- /dev/null +++ b/roles/autofsck/meta/.galaxy_install_info @@ -0,0 +1,2 @@ +install_date: 'Mon 01 Jul 2024 07:11:13 PM ' +version: main diff --git a/roles/autofsck/meta/main.yml b/roles/autofsck/meta/main.yml new file mode 100644 index 0000000..c572acc --- /dev/null +++ b/roles/autofsck/meta/main.yml @@ -0,0 +1,52 @@ +galaxy_info: + author: your name + description: your role description + company: your company (optional) + + # If the issue tracker for your role is not on github, uncomment the + # next line and provide a value + # issue_tracker_url: http://example.com/issue/tracker + + # Choose a valid license ID from https://spdx.org - some suggested licenses: + # - BSD-3-Clause (default) + # - MIT + # - GPL-2.0-or-later + # - GPL-3.0-only + # - Apache-2.0 + # - CC-BY-4.0 + license: license (GPL-2.0-or-later, MIT, etc) + + min_ansible_version: 2.1 + + # If this a Container Enabled role, provide the minimum Ansible Container version. + # min_ansible_container_version: + + # + # Provide a list of supported platforms, and for each platform a list of versions. + # If you don't wish to enumerate all versions for a particular platform, use 'all'. + # To view available platforms and versions (or releases), visit: + # https://galaxy.ansible.com/api/v1/platforms/ + # + # platforms: + # - name: Fedora + # versions: + # - all + # - 25 + # - name: SomePlatform + # versions: + # - all + # - 1.0 + # - 7 + # - 99.99 + + galaxy_tags: [] + # List tags for your role here, one per line. A tag is a keyword that describes + # and categorizes the role. Users find roles by searching for tags. Be sure to + # remove the '[]' above, if you add tags to this list. + # + # NOTE: A tag is limited to a single word comprised of alphanumeric characters. + # Maximum 20 tags per role. + +dependencies: [] + # List your role dependencies here, one per line. Be sure to remove the '[]' above, + # if you add dependencies to this list. diff --git a/roles/autofsck/tasks/cleanup.yml b/roles/autofsck/tasks/cleanup.yml new file mode 100644 index 0000000..45527ec --- /dev/null +++ b/roles/autofsck/tasks/cleanup.yml @@ -0,0 +1,7 @@ +--- +- name: Cleanup /etc/default/grub to remove fsck + ansible.builtin.replace: + path: /etc/default/grub + regexp: '(GRUB_CMDLINE_LINUX=".*)\s+(fsck\.mode=force)\s+(fsck.repair=yes)(.*")' + replace: '\1\4' + notify: Update_Grub diff --git a/roles/autofsck/tasks/main.yml b/roles/autofsck/tasks/main.yml new file mode 100644 index 0000000..5aafc17 --- /dev/null +++ b/roles/autofsck/tasks/main.yml @@ -0,0 +1,10 @@ +--- +- name: Configure /etc/default/grub for fsck + ansible.builtin.lineinfile: + state: present + dest: /etc/default/grub + backrefs: true + regexp: '^(GRUB_CMDLINE_LINUX=(?!.* fsck)\"[^\"]+)(\".*)' + line: '\1 fsck.mode=force fsck.repair=yes\2' + backup: true + notify: Update_Grub