From c34ecde4850ec60b20af8d1c66d133e691aa001a Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Wed, 17 Jul 2024 18:22:49 -0400 Subject: [PATCH 01/69] Fix to allow per-host Bigboot executions --- bigboot_execute_resize.yml | 7 ++++--- bigboot_rear_backup.yml | 4 ++-- bigboot_setup_environment.yml | 20 ++++++++++++-------- 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/bigboot_execute_resize.yml b/bigboot_execute_resize.yml index e254548..18f5d02 100644 --- a/bigboot_execute_resize.yml +++ b/bigboot_execute_resize.yml @@ -11,7 +11,8 @@ tasks: - name: Perform service and filesystem checks prior to Bigboot execution when: - - (bigboot_execute_shrink_lv | bool or bigboot_execute_bigboot | bool) + - (bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] | bool + or bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool) block: # - name: Check for and disable services exceeding the timeout threshold # ansible.builtin.import_tasks: tasks/check_systemd_services.yml @@ -52,13 +53,13 @@ - device: "{{ bigboot_adjacent_lvm_device }}" size: "{{ bigboot_lv_shrink_size | int }}" when: - - bigboot_execute_shrink_lv | bool + - bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] | bool - name: Expand the /boot partition as requested ansible.builtin.import_role: name: infra.lvm_snapshots.bigboot when: - - bigboot_execute_bigboot | bool + - bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool # - name: Re-enabling services previously disabled # ansible.builtin.service: diff --git a/bigboot_rear_backup.yml b/bigboot_rear_backup.yml index ffde0d6..7d28ea1 100644 --- a/bigboot_rear_backup.yml +++ b/bigboot_rear_backup.yml @@ -2,5 +2,5 @@ - name: Perform a ReaR backup if any disk modifications are to be made ansible.builtin.import_playbook: rhc.rear.rear_backup when: - - bigboot_execute_bigboot | default('false') | bool - - not bigboot_skip_rear_backup | default('true') | bool + - bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | default('false') | bool + - not bigboot_data[inventory_hostname]['bigboot_skip_rear_backup'] | default('true') | bool diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index bd7dd06..69bea32 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -21,13 +21,17 @@ - name: Set environment for subsequent workflow nodes ansible.builtin.set_stats: data: - bigboot_execute_bigboot: "{{ bigboot_execute_bigboot }}" - bigboot_execute_shrink_lv: "{{ bigboot_execute_shrink_lv }}" - bigboot_adjacent_lvm_device: "{{ bigboot_adjacent_lvm_device }}" - bigboot_lv_shrink_size: "{{ bigboot_lv_shrink_size | int }}" - bigboot_size: "{{ bigboot_size }}" - bigboot_skip_rear_backup: "{{ bigboot_skip_rear | default('false') }}" - per_host: false - aggregate: false + bigboot_data: "{{ bigboot_data | default({}) | + combine({inventory_hostname: + { + 'bigboot_execute_bigboot': bigboot_execute_bigboot, + 'bigboot_execute_shrink_lv': bigboot_execute_shrink_lv, + 'bigboot_adjacent_lvm_device': bigboot_adjacent_lvm_device, + 'bigboot_lv_shrink_size': bigboot_lv_shrink_size | int, + 'bigboot_size': bigboot_size, + 'bigboot_skip_rear_backup': bigboot_skip_rear, + 'bigboot_skip_rear_backup': bigboot_skip_rear | default('false') + } + })}}" ... From d26ca163a6669f2a223955f432f7b7d73a30fd75 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Wed, 17 Jul 2024 18:23:49 -0400 Subject: [PATCH 02/69] Fix to allow per-host Bigboot executions; revised --- bigboot_execute_resize.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bigboot_execute_resize.yml b/bigboot_execute_resize.yml index 18f5d02..3807fad 100644 --- a/bigboot_execute_resize.yml +++ b/bigboot_execute_resize.yml @@ -50,8 +50,8 @@ name: infra.lvm_snapshots.shrink_lv vars: shrink_lv_devices: - - device: "{{ bigboot_adjacent_lvm_device }}" - size: "{{ bigboot_lv_shrink_size | int }}" + - device: "{{ bigboot_data[inventory_hostname]['bigboot_adjacent_lvm_device'] }}" + size: "{{ bigboot_data[inventory_hostname]['bigboot_lv_shrink_size'] | int }}" when: - bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] | bool From 9567293eb82173e90fb09f6f03db94eb599f46c4 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Wed, 17 Jul 2024 18:40:35 -0400 Subject: [PATCH 03/69] Fix to allow per-host Bigboot executions; revised again --- bigboot_execute_resize.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bigboot_execute_resize.yml b/bigboot_execute_resize.yml index 3807fad..09e35de 100644 --- a/bigboot_execute_resize.yml +++ b/bigboot_execute_resize.yml @@ -58,6 +58,8 @@ - name: Expand the /boot partition as requested ansible.builtin.import_role: name: infra.lvm_snapshots.bigboot + vars: + bigboot_size: "{{ bigboot_data[inventory_hostname]['bigboot_size'] }}" when: - bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool From 842ec2bac9379c71ac84952aa35fc85011d64720 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Wed, 17 Jul 2024 18:45:31 -0400 Subject: [PATCH 04/69] Fix to allow per-host Bigboot executions; revised again - indent fix --- bigboot_execute_resize.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bigboot_execute_resize.yml b/bigboot_execute_resize.yml index 09e35de..0277709 100644 --- a/bigboot_execute_resize.yml +++ b/bigboot_execute_resize.yml @@ -58,8 +58,8 @@ - name: Expand the /boot partition as requested ansible.builtin.import_role: name: infra.lvm_snapshots.bigboot - vars: - bigboot_size: "{{ bigboot_data[inventory_hostname]['bigboot_size'] }}" + vars: + bigboot_size: "{{ bigboot_data[inventory_hostname]['bigboot_size'] }}" when: - bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool From 438c50a95507128b8de89cd43c2f3e653bc31af7 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Thu, 18 Jul 2024 00:23:12 -0400 Subject: [PATCH 05/69] truncate bigboot-noop.yml for now --- .gitignore | 1 + bigboot-noop.yml | 90 ++++++----------------------------- bigboot_setup_environment.yml | 1 - 3 files changed, 15 insertions(+), 77 deletions(-) diff --git a/.gitignore b/.gitignore index 6be675f..18a4ed6 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ filter_plugins/*.bak python/ collections/ansible_collections roles/autofsck +*.bak diff --git a/bigboot-noop.yml b/bigboot-noop.yml index e33fd4d..8e31f6b 100644 --- a/bigboot-noop.yml +++ b/bigboot-noop.yml @@ -18,79 +18,17 @@ - name: Capture logical volume information ansible.builtin.import_tasks: tasks/capture_lv_device_details.yml - -- name: Perform a ReaR backup if any disk modifications are to be made - ansible.builtin.import_playbook: rhc.rear.rear_backup - when: - - bigboot_execute_bigboot | default('false') | bool - - not bigboot_skip_rear_backup | default('true') | bool - - -- name: Perform logical volume and boot parition resizing as needed - hosts: all - become: true - gather_facts: true - strategy: free - - vars_files: - - bigboot_vars.yml - - tasks: - - name: Perform service and filesystem checks prior to Bigboot execution - when: - - (bigboot_execute_shrink_lv | bool or bigboot_execute_bigboot | bool) - block: - # - name: Check for and disable services exceeding the timeout threshold - # ansible.builtin.import_tasks: tasks/check_systemd_services.yml - - - name: Enable Grub filesystem check - ansible.builtin.import_role: - name: autofsck - tasks_from: main.yml - - - name: Flush handlers - ansible.builtin.meta: flush_handlers - - # Make sure to update the reboot code for the WF environment - - name: Reboot to run filesystem checks - ansible.builtin.reboot: - - - name: Disable Grub filesystem check - ansible.builtin.import_role: - name: autofsck - tasks_from: cleanup.yml - - - name: Flush handlers - ansible.builtin.meta: flush_handlers - - - - 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: - - "device: {{ bigboot_adjacent_lvm_device }}" - - "size : {{ bigboot_lv_shrink_size | int }}" - when: - - bigboot_execute_shrink_lv | bool - - - name: Expand the /boot partition as requested - ansible.builtin.debug: - msg: "{{ bigboot_size }}" - when: - - bigboot_execute_bigboot | bool - - # - name: Re-enabling services previously disabled - # ansible.builtin.service: - # name: "{{ item }}" - # state: started - # enabled: true - # loop: "{{ bigboot_systemd_disabled_services }}" - # when: - # - bigboot_systemd_disabled_services is defined - # - bigboot_systemd_disabled_services | length > 0 + - name: Set environment for subsequent workflow nodes + ansible.builtin.set_stats: + data: + bigboot_data: "{{ bigboot_data | default({}) | + combine({inventory_hostname: + { + 'bigboot_execute_bigboot': bigboot_execute_bigboot, + 'bigboot_execute_shrink_lv': bigboot_execute_shrink_lv, + 'bigboot_adjacent_lvm_device': bigboot_adjacent_lvm_device, + 'bigboot_lv_shrink_size': bigboot_lv_shrink_size | int, + 'bigboot_size': bigboot_size, + 'bigboot_skip_rear_backup': bigboot_skip_rear | default('false') + } + })}}" diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index 69bea32..320ddb9 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -29,7 +29,6 @@ 'bigboot_adjacent_lvm_device': bigboot_adjacent_lvm_device, 'bigboot_lv_shrink_size': bigboot_lv_shrink_size | int, 'bigboot_size': bigboot_size, - 'bigboot_skip_rear_backup': bigboot_skip_rear, 'bigboot_skip_rear_backup': bigboot_skip_rear | default('false') } })}}" From 209edd45a4526e383d9e965122a8b8247c9211a5 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Thu, 18 Jul 2024 11:45:04 -0400 Subject: [PATCH 06/69] re-enable service handling; add debug summary of disabled services --- bigboot_execute_resize.yml | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/bigboot_execute_resize.yml b/bigboot_execute_resize.yml index 0277709..1f8ab07 100644 --- a/bigboot_execute_resize.yml +++ b/bigboot_execute_resize.yml @@ -14,8 +14,19 @@ - (bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] | bool or bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool) block: - # - name: Check for and disable services exceeding the timeout threshold - # ansible.builtin.import_tasks: tasks/check_systemd_services.yml + - name: Check for and disable services exceeding the timeout threshold + ansible.builtin.import_tasks: tasks/check_systemd_services.yml + + - name: Services disabled notice + ansible.builtin.debug: + msg: | + The following services were disabled, and will be re-enabled post + Bigboot execution: + + {{ bigboot_systemd_disabled_services }} + when: + - bigboot_systemd_disabled_services is defined + - bigboot_systemd_disabled_services | length > 0 - name: Enable Grub filesystem check ansible.builtin.import_role: @@ -63,12 +74,12 @@ when: - bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool - # - name: Re-enabling services previously disabled - # ansible.builtin.service: - # name: "{{ item }}" - # state: started - # enabled: true - # loop: "{{ bigboot_systemd_disabled_services }}" - # when: - # - bigboot_systemd_disabled_services is defined - # - bigboot_systemd_disabled_services | length > 0 + - name: Re-enabling services previously disabled + ansible.builtin.service: + name: "{{ item }}" + state: started + enabled: true + loop: "{{ bigboot_systemd_disabled_services }}" + when: + - bigboot_systemd_disabled_services is defined + - bigboot_systemd_disabled_services | length > 0 From 549eae7551f670ff9fd63a6a3a71f9d2a1435895 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Thu, 18 Jul 2024 14:15:54 -0400 Subject: [PATCH 07/69] disable docker if found; re-enable post-bigboot --- bigboot_execute_resize.yml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/bigboot_execute_resize.yml b/bigboot_execute_resize.yml index 1f8ab07..dc649cf 100644 --- a/bigboot_execute_resize.yml +++ b/bigboot_execute_resize.yml @@ -14,6 +14,12 @@ - (bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] | bool or bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool) block: + - name: Disabling Docker service due to overlay filesystem incompatibility + ansible.builtin.service: + name: docker.service + state: stopped + enabled: false + - name: Check for and disable services exceeding the timeout threshold ansible.builtin.import_tasks: tasks/check_systemd_services.yml @@ -23,7 +29,7 @@ The following services were disabled, and will be re-enabled post Bigboot execution: - {{ bigboot_systemd_disabled_services }} + {{ bigboot_systemd_disabled_services | flatten }} when: - bigboot_systemd_disabled_services is defined - bigboot_systemd_disabled_services | length > 0 @@ -74,6 +80,12 @@ when: - bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool + - name: Re-abling Docker service due to overlay filesystem incompatibility + ansible.builtin.service: + name: docker.service + state: stopped + enabled: false + - name: Re-enabling services previously disabled ansible.builtin.service: name: "{{ item }}" From 5c9f42248bad0b4b0ba97cef9e9738a4aeeb4e66 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Thu, 18 Jul 2024 14:19:25 -0400 Subject: [PATCH 08/69] fix for disable docker if found; re-enable post-bigboot --- bigboot_execute_resize.yml | 8 +------- bigboot_setup_environment.yml | 6 ++++++ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/bigboot_execute_resize.yml b/bigboot_execute_resize.yml index dc649cf..78a6ae1 100644 --- a/bigboot_execute_resize.yml +++ b/bigboot_execute_resize.yml @@ -14,12 +14,6 @@ - (bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] | bool or bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool) block: - - name: Disabling Docker service due to overlay filesystem incompatibility - ansible.builtin.service: - name: docker.service - state: stopped - enabled: false - - name: Check for and disable services exceeding the timeout threshold ansible.builtin.import_tasks: tasks/check_systemd_services.yml @@ -80,7 +74,7 @@ when: - bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool - - name: Re-abling Docker service due to overlay filesystem incompatibility + - name: Re-enabling Docker service due to overlay filesystem incompatibility ansible.builtin.service: name: docker.service state: stopped diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index 320ddb9..53d236d 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -12,6 +12,12 @@ - name: Cleanup from any previous executions ansible.builtin.import_tasks: tasks/cleanup.yml + - name: Disable Docker service if present due to incompatibility + ansible.builtin.service: + name: docker.service + state: stopped + enabled: false + - name: Capture boot device details ansible.builtin.import_tasks: tasks/capture_boot_device_details.yml From 337d6df638579d02828729f2785f2bf4e3f9f7c4 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Thu, 18 Jul 2024 14:19:55 -0400 Subject: [PATCH 09/69] fix for fix for disable docker if found; re-enable post-bigboot --- bigboot_execute_resize.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bigboot_execute_resize.yml b/bigboot_execute_resize.yml index 78a6ae1..23832d7 100644 --- a/bigboot_execute_resize.yml +++ b/bigboot_execute_resize.yml @@ -77,8 +77,8 @@ - name: Re-enabling Docker service due to overlay filesystem incompatibility ansible.builtin.service: name: docker.service - state: stopped - enabled: false + state: started + enabled: true - name: Re-enabling services previously disabled ansible.builtin.service: From 0f84be55b28152a35223250d80c23c815c866c2e Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Thu, 18 Jul 2024 16:44:33 -0400 Subject: [PATCH 10/69] fix verify --- bigboot_execute_resize.yml | 2 +- bigboot_setup_environment.yml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/bigboot_execute_resize.yml b/bigboot_execute_resize.yml index 23832d7..08cf67b 100644 --- a/bigboot_execute_resize.yml +++ b/bigboot_execute_resize.yml @@ -74,7 +74,7 @@ when: - bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool - - name: Re-enabling Docker service due to overlay filesystem incompatibility + - name: Re-enabling Docker service ansible.builtin.service: name: docker.service state: started diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index 53d236d..0bcbba2 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -12,11 +12,11 @@ - name: Cleanup from any previous executions ansible.builtin.import_tasks: tasks/cleanup.yml - - name: Disable Docker service if present due to incompatibility - ansible.builtin.service: - name: docker.service - state: stopped - enabled: false + # - name: Disable Docker service if present due to incompatibility + # ansible.builtin.service: + # name: docker.service + # state: stopped + # enabled: false - name: Capture boot device details ansible.builtin.import_tasks: tasks/capture_boot_device_details.yml From 58ffce84edde5af92ed287c2e74de2b398390504 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Fri, 19 Jul 2024 09:37:41 -0400 Subject: [PATCH 11/69] fix verified --- bigboot_setup_environment.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index 0bcbba2..3685100 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -12,11 +12,11 @@ - name: Cleanup from any previous executions ansible.builtin.import_tasks: tasks/cleanup.yml - # - name: Disable Docker service if present due to incompatibility - # ansible.builtin.service: - # name: docker.service - # state: stopped - # enabled: false + - name: Disable Docker service due to incompatibility + ansible.builtin.service: + name: docker.service + state: stopped + enabled: false - name: Capture boot device details ansible.builtin.import_tasks: tasks/capture_boot_device_details.yml From eb2e9eb4ae50151fed0c10a400144413100a47fe Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Fri, 19 Jul 2024 21:46:18 -0400 Subject: [PATCH 12/69] fixes --- bigboot_execute_resize.yml | 5 +++++ bigboot_rear_backup.yml | 5 +++-- bigboot_setup_environment.yml | 10 +++++++--- vars/bigboot_vars.yml | 2 +- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/bigboot_execute_resize.yml b/bigboot_execute_resize.yml index 08cf67b..4ddfca7 100644 --- a/bigboot_execute_resize.yml +++ b/bigboot_execute_resize.yml @@ -74,11 +74,16 @@ when: - bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool + - name: Get the list of services on the host + ansible.builtin.service_facts: + - name: Re-enabling Docker service ansible.builtin.service: name: docker.service state: started enabled: true + when: + - "'docker.service' in ansible_facts['services']" - name: Re-enabling services previously disabled ansible.builtin.service: diff --git a/bigboot_rear_backup.yml b/bigboot_rear_backup.yml index 7d28ea1..81cbb46 100644 --- a/bigboot_rear_backup.yml +++ b/bigboot_rear_backup.yml @@ -2,5 +2,6 @@ - name: Perform a ReaR backup if any disk modifications are to be made ansible.builtin.import_playbook: rhc.rear.rear_backup when: - - bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | default('false') | bool - - not bigboot_data[inventory_hostname]['bigboot_skip_rear_backup'] | default('true') | bool + - (bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] | bool + or bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool) + - not bigboot_skip_rear | default('true') | bool diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index 3685100..f847126 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -12,11 +12,16 @@ - name: Cleanup from any previous executions ansible.builtin.import_tasks: tasks/cleanup.yml + - name: Get the list of services on the host + ansible.builtin.service_facts: + - name: Disable Docker service due to incompatibility ansible.builtin.service: name: docker.service state: stopped enabled: false + when: + - "'docker.service' in ansible_facts['services']" - name: Capture boot device details ansible.builtin.import_tasks: tasks/capture_boot_device_details.yml @@ -34,9 +39,8 @@ 'bigboot_execute_shrink_lv': bigboot_execute_shrink_lv, 'bigboot_adjacent_lvm_device': bigboot_adjacent_lvm_device, 'bigboot_lv_shrink_size': bigboot_lv_shrink_size | int, - 'bigboot_size': bigboot_size, - 'bigboot_skip_rear_backup': bigboot_skip_rear | default('false') + 'bigboot_size': bigboot_size } - })}}" + }) }}" ... diff --git a/vars/bigboot_vars.yml b/vars/bigboot_vars.yml index d680b89..825299f 100644 --- a/vars/bigboot_vars.yml +++ b/vars/bigboot_vars.yml @@ -9,7 +9,7 @@ bigboot_reboot_timeout: 1800 bigboot_skip_rear_backup: false # Max value in minutes for the timeout threshold: -bigboot_service_max_timeout: 2 +bigboot_service_max_timeout: 5 # List of services which will be excluded from being # disabled during Bigboot execution: From e1c5d48796cc70babcbd2d830ca613ee1998f371 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Fri, 19 Jul 2024 22:01:47 -0400 Subject: [PATCH 13/69] fixes --- bigboot_execute_resize.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bigboot_execute_resize.yml b/bigboot_execute_resize.yml index 4ddfca7..8fc4a30 100644 --- a/bigboot_execute_resize.yml +++ b/bigboot_execute_resize.yml @@ -19,7 +19,7 @@ - name: Services disabled notice ansible.builtin.debug: - msg: | + msg: >- The following services were disabled, and will be re-enabled post Bigboot execution: From 47b92242238ebd4e0ec2b50340d538b1804e9cc5 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Fri, 19 Jul 2024 23:53:58 -0400 Subject: [PATCH 14/69] logic fixes --- bigboot_rear_backup.yml | 4 +--- bigboot_setup_environment.yml | 6 ++++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/bigboot_rear_backup.yml b/bigboot_rear_backup.yml index 81cbb46..8677ea6 100644 --- a/bigboot_rear_backup.yml +++ b/bigboot_rear_backup.yml @@ -2,6 +2,4 @@ - name: Perform a ReaR backup if any disk modifications are to be made ansible.builtin.import_playbook: rhc.rear.rear_backup when: - - (bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] | bool - or bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool) - - not bigboot_skip_rear | default('true') | bool + - not bigboot_rear_backup_skip | default(false) | bool diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index f847126..fe44d3d 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -43,4 +43,10 @@ } }) }}" + - name: Execute ReaR backup + ansible.builtin.include_tasks: bigboot_rear_backup.yml + when: + - not bigboot_rear_backup_skip | default(false) | bool + + ... From d958c3501fc340a4b7ca85a11f40feb3e7af7ed0 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Sat, 20 Jul 2024 00:08:44 -0400 Subject: [PATCH 15/69] more logic fixes --- bigboot_rear_backup.yml | 2 ++ bigboot_setup_environment.yml | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/bigboot_rear_backup.yml b/bigboot_rear_backup.yml index 8677ea6..447847b 100644 --- a/bigboot_rear_backup.yml +++ b/bigboot_rear_backup.yml @@ -2,4 +2,6 @@ - name: Perform a ReaR backup if any disk modifications are to be made ansible.builtin.import_playbook: rhc.rear.rear_backup when: + - (bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] | bool + or bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool) - not bigboot_rear_backup_skip | default(false) | bool diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index fe44d3d..919927b 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -29,6 +29,10 @@ - name: Capture logical volume information ansible.builtin.import_tasks: tasks/capture_lv_device_details.yml + - name: Set ReaR backup flag + ansible.builtin.set_fact: + bigboot_rear_backup_skip: + - name: Set environment for subsequent workflow nodes ansible.builtin.set_stats: data: @@ -42,10 +46,13 @@ 'bigboot_size': bigboot_size } }) }}" + rear_backup_skip: bigboot_rear_backup_skip | default(false) - name: Execute ReaR backup ansible.builtin.include_tasks: bigboot_rear_backup.yml when: + - (bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] | bool + or bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool) - not bigboot_rear_backup_skip | default(false) | bool From 37f7723d8c400ca5536a4a23f20e44ad94fc3ff8 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Sat, 20 Jul 2024 00:10:59 -0400 Subject: [PATCH 16/69] fixes --- bigboot_setup_environment.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index 919927b..6d9fb55 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -51,8 +51,7 @@ - name: Execute ReaR backup ansible.builtin.include_tasks: bigboot_rear_backup.yml when: - - (bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] | bool - or bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool) + - (bigboot_execute_bigboot | bool or bigboot_execute_bigboot | bool) - not bigboot_rear_backup_skip | default(false) | bool From 9d5e0cf89d8388dba5a45f12beca1a2889e83de0 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Sat, 20 Jul 2024 00:13:46 -0400 Subject: [PATCH 17/69] fixes --- bigboot_setup_environment.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index 6d9fb55..d422f9c 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -49,7 +49,7 @@ rear_backup_skip: bigboot_rear_backup_skip | default(false) - name: Execute ReaR backup - ansible.builtin.include_tasks: bigboot_rear_backup.yml + ansible.builtin.import_tasks: bigboot_rear_backup.yml when: - (bigboot_execute_bigboot | bool or bigboot_execute_bigboot | bool) - not bigboot_rear_backup_skip | default(false) | bool From da08d182c4ffe4f55de24f6f679608ab609d2e24 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Sat, 20 Jul 2024 00:19:42 -0400 Subject: [PATCH 18/69] fixes --- bigboot_setup_environment.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index d422f9c..2189a88 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -48,11 +48,10 @@ }) }}" rear_backup_skip: bigboot_rear_backup_skip | default(false) - - name: Execute ReaR backup - ansible.builtin.import_tasks: bigboot_rear_backup.yml - when: - - (bigboot_execute_bigboot | bool or bigboot_execute_bigboot | bool) - - not bigboot_rear_backup_skip | default(false) | bool - +- name: Perform a ReaR backup if any disk modifications are to be made + ansible.builtin.import_playbook: rhc.rear.rear_backup + when: + - (bigboot_execute_bigboot | bool or bigboot_execute_bigboot | bool) + - not bigboot_rear_backup_skip | default(false) | bool ... From 788553a9b6b74a048d5a7175ff00aeb6bcffa57c Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Sat, 20 Jul 2024 00:20:50 -0400 Subject: [PATCH 19/69] fixes --- bigboot_setup_environment.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index 2189a88..90bcbe2 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -51,7 +51,7 @@ - name: Perform a ReaR backup if any disk modifications are to be made ansible.builtin.import_playbook: rhc.rear.rear_backup when: - - (bigboot_execute_bigboot | bool or bigboot_execute_bigboot | bool) + - bigboot_execute_bigboot | bool or bigboot_execute_bigboot | bool - not bigboot_rear_backup_skip | default(false) | bool ... From 04dd540fe8fbdf45a762dec5dda61cfd7d226192 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Sat, 20 Jul 2024 00:24:40 -0400 Subject: [PATCH 20/69] fixes --- bigboot_setup_environment.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index 90bcbe2..1d356a0 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -46,7 +46,7 @@ 'bigboot_size': bigboot_size } }) }}" - rear_backup_skip: bigboot_rear_backup_skip | default(false) + rear_backup_skip: "{{ bigboot_rear_backup_skip | default(false) }}" - name: Perform a ReaR backup if any disk modifications are to be made ansible.builtin.import_playbook: rhc.rear.rear_backup From b081b69ba909825e4c4ad630dd6e339e5b17f3a2 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Sun, 21 Jul 2024 00:39:27 -0400 Subject: [PATCH 21/69] debugging --- bigboot_rear_backup.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/bigboot_rear_backup.yml b/bigboot_rear_backup.yml index 447847b..01dd972 100644 --- a/bigboot_rear_backup.yml +++ b/bigboot_rear_backup.yml @@ -1,4 +1,12 @@ --- +- name: Debug bigboot_execute_shrink_lv + ansible.builtin.debug: + msg: "bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] -> {{ bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] }}" + +- name: Debug bigboot_execute_bigboot + ansible.builtin.debug: + msg: "bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] -> {{ bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] }}" + - name: Perform a ReaR backup if any disk modifications are to be made ansible.builtin.import_playbook: rhc.rear.rear_backup when: From 8d289a9d0971905880a0426eb1d1e8bd86b35486 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Sun, 21 Jul 2024 00:45:11 -0400 Subject: [PATCH 22/69] fixdebugging --- bigboot_rear_backup.yml | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/bigboot_rear_backup.yml b/bigboot_rear_backup.yml index 01dd972..7ea55da 100644 --- a/bigboot_rear_backup.yml +++ b/bigboot_rear_backup.yml @@ -1,11 +1,18 @@ --- -- name: Debug bigboot_execute_shrink_lv - ansible.builtin.debug: - msg: "bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] -> {{ bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] }}" +- name: Capture boot and logical volume information + hosts: all + become: true + gather_facts: true + strategy: free -- name: Debug bigboot_execute_bigboot - ansible.builtin.debug: - msg: "bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] -> {{ bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] }}" + tasks: + - name: Debug bigboot_execute_shrink_lv + ansible.builtin.debug: + msg: "bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] -> {{ bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] }}" + + - name: Debug bigboot_execute_bigboot + ansible.builtin.debug: + msg: "bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] -> {{ bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] }}" - name: Perform a ReaR backup if any disk modifications are to be made ansible.builtin.import_playbook: rhc.rear.rear_backup From 3cc0f210e624e44527d02621585830be39aaeb74 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Sun, 21 Jul 2024 00:56:04 -0400 Subject: [PATCH 23/69] task rename --- bigboot_rear_backup.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bigboot_rear_backup.yml b/bigboot_rear_backup.yml index 7ea55da..786c8c7 100644 --- a/bigboot_rear_backup.yml +++ b/bigboot_rear_backup.yml @@ -14,7 +14,7 @@ ansible.builtin.debug: msg: "bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] -> {{ bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] }}" -- name: Perform a ReaR backup if any disk modifications are to be made +- name: Perform a ReaR backup before the /boot expansion ansible.builtin.import_playbook: rhc.rear.rear_backup when: - (bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] | bool From 9284232e477c9bb592d73c2af691be12770412cd Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Sun, 21 Jul 2024 00:58:44 -0400 Subject: [PATCH 24/69] include role instead of import playbook --- bigboot_rear_backup.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/bigboot_rear_backup.yml b/bigboot_rear_backup.yml index 786c8c7..039155f 100644 --- a/bigboot_rear_backup.yml +++ b/bigboot_rear_backup.yml @@ -5,6 +5,9 @@ gather_facts: true strategy: free + vars_files: + - bigboot_vars.yml + tasks: - name: Debug bigboot_execute_shrink_lv ansible.builtin.debug: @@ -15,7 +18,8 @@ msg: "bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] -> {{ bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] }}" - name: Perform a ReaR backup before the /boot expansion - ansible.builtin.import_playbook: rhc.rear.rear_backup + ansible.builtin.include_role: + name: rhc.rear.rear_backup when: - (bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] | bool or bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool) From 164307eab7b15253adc6b8d591ee6e3043a6ad4f Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Sun, 21 Jul 2024 00:59:53 -0400 Subject: [PATCH 25/69] nevermind; reverted --- bigboot_rear_backup.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/bigboot_rear_backup.yml b/bigboot_rear_backup.yml index 039155f..786c8c7 100644 --- a/bigboot_rear_backup.yml +++ b/bigboot_rear_backup.yml @@ -5,9 +5,6 @@ gather_facts: true strategy: free - vars_files: - - bigboot_vars.yml - tasks: - name: Debug bigboot_execute_shrink_lv ansible.builtin.debug: @@ -18,8 +15,7 @@ msg: "bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] -> {{ bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] }}" - name: Perform a ReaR backup before the /boot expansion - ansible.builtin.include_role: - name: rhc.rear.rear_backup + ansible.builtin.import_playbook: rhc.rear.rear_backup when: - (bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] | bool or bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool) From 4ee78bead1472a761ec79c870bdcdf791f8b74c2 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Tue, 23 Jul 2024 15:20:10 -0400 Subject: [PATCH 26/69] fixes for multiple hosts --- .ansible-lint | 1 + bigboot_execute_resize.yml | 6 +++--- bigboot_rear_backup.yml | 4 ++-- bigboot_setup_environment.yml | 7 +++++-- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/.ansible-lint b/.ansible-lint index d8dc293..c1fba50 100644 --- a/.ansible-lint +++ b/.ansible-lint @@ -5,3 +5,4 @@ skip_list: - no-changed-when - run-once[play] - name[template] + - jinja[spacing] diff --git a/bigboot_execute_resize.yml b/bigboot_execute_resize.yml index 8fc4a30..664ac97 100644 --- a/bigboot_execute_resize.yml +++ b/bigboot_execute_resize.yml @@ -11,8 +11,8 @@ tasks: - name: Perform service and filesystem checks prior to Bigboot execution when: - - (bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] | bool - or bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool) + - (bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] | default(false) | bool + or bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | default(false) | bool) block: - name: Check for and disable services exceeding the timeout threshold ansible.builtin.import_tasks: tasks/check_systemd_services.yml @@ -23,7 +23,7 @@ The following services were disabled, and will be re-enabled post Bigboot execution: - {{ bigboot_systemd_disabled_services | flatten }} + {{ bigboot_systemd_disabled_services | list | flatten }} when: - bigboot_systemd_disabled_services is defined - bigboot_systemd_disabled_services | length > 0 diff --git a/bigboot_rear_backup.yml b/bigboot_rear_backup.yml index 786c8c7..6cbd66e 100644 --- a/bigboot_rear_backup.yml +++ b/bigboot_rear_backup.yml @@ -17,6 +17,6 @@ - name: Perform a ReaR backup before the /boot expansion ansible.builtin.import_playbook: rhc.rear.rear_backup when: - - (bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] | bool - or bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool) + - (bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] | default(false) | bool + or bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | default(false) | bool) - not bigboot_rear_backup_skip | default(false) | bool diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index 1d356a0..0b1b545 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -35,6 +35,9 @@ - name: Set environment for subsequent workflow nodes ansible.builtin.set_stats: + aggregate: false + per_host: false + data: bigboot_data: "{{ bigboot_data | default({}) | combine({inventory_hostname: @@ -46,12 +49,12 @@ 'bigboot_size': bigboot_size } }) }}" - rear_backup_skip: "{{ bigboot_rear_backup_skip | default(false) }}" - name: Perform a ReaR backup if any disk modifications are to be made ansible.builtin.import_playbook: rhc.rear.rear_backup when: - - bigboot_execute_bigboot | bool or bigboot_execute_bigboot | bool + - bigboot_execute_shrink_lv | default(false) | bool + or bigboot_execute_bigboot | default(false) | bool - not bigboot_rear_backup_skip | default(false) | bool ... From c5ccbf28cb0f32870af6be54664fa30f66557309 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Tue, 23 Jul 2024 15:35:27 -0400 Subject: [PATCH 27/69] remove problematic debugging code --- bigboot_rear_backup.yml | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/bigboot_rear_backup.yml b/bigboot_rear_backup.yml index 6cbd66e..3ab6b4a 100644 --- a/bigboot_rear_backup.yml +++ b/bigboot_rear_backup.yml @@ -1,19 +1,4 @@ --- -- name: Capture boot and logical volume information - hosts: all - become: true - gather_facts: true - strategy: free - - tasks: - - name: Debug bigboot_execute_shrink_lv - ansible.builtin.debug: - msg: "bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] -> {{ bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] }}" - - - name: Debug bigboot_execute_bigboot - ansible.builtin.debug: - msg: "bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] -> {{ bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] }}" - - name: Perform a ReaR backup before the /boot expansion ansible.builtin.import_playbook: rhc.rear.rear_backup when: From 4a1f42bea0bdefe8c9007b4b15af903474d9a4da Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Tue, 23 Jul 2024 15:45:09 -0400 Subject: [PATCH 28/69] remove aggregate/per_host --- bigboot_setup_environment.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index 0b1b545..b0c968f 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -35,9 +35,6 @@ - name: Set environment for subsequent workflow nodes ansible.builtin.set_stats: - aggregate: false - per_host: false - data: bigboot_data: "{{ bigboot_data | default({}) | combine({inventory_hostname: From 7c31c184d49d0128acdfc94fe679192df89303ff Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Tue, 23 Jul 2024 15:56:14 -0400 Subject: [PATCH 29/69] per_host --- bigboot_setup_environment.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index b0c968f..815be69 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -34,6 +34,7 @@ bigboot_rear_backup_skip: - name: Set environment for subsequent workflow nodes + per_host: false ansible.builtin.set_stats: data: bigboot_data: "{{ bigboot_data | default({}) | @@ -52,6 +53,6 @@ when: - bigboot_execute_shrink_lv | default(false) | bool or bigboot_execute_bigboot | default(false) | bool - - not bigboot_rear_backup_skip | default(false) | bool + - not rear_backup_skip | default(false) | bool ... From eccb4d523a3c81e85bbec4f0efe07449071ca17a Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Tue, 23 Jul 2024 15:57:51 -0400 Subject: [PATCH 30/69] fix per_host --- bigboot_setup_environment.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index 815be69..78c03ea 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -34,8 +34,8 @@ bigboot_rear_backup_skip: - name: Set environment for subsequent workflow nodes - per_host: false ansible.builtin.set_stats: + per_host: false data: bigboot_data: "{{ bigboot_data | default({}) | combine({inventory_hostname: From ef87a6f20e9ba889cd1093ed78f75e42b8058ed9 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Tue, 23 Jul 2024 16:29:01 -0400 Subject: [PATCH 31/69] aggregate --- bigboot_setup_environment.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index 78c03ea..ae8b766 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -35,7 +35,7 @@ - name: Set environment for subsequent workflow nodes ansible.builtin.set_stats: - per_host: false + aggregate: false data: bigboot_data: "{{ bigboot_data | default({}) | combine({inventory_hostname: From 427e817ba6fa70d80c34dd292e6de1dd5660856a Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Tue, 23 Jul 2024 16:32:05 -0400 Subject: [PATCH 32/69] fix aggregate --- bigboot_setup_environment.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index ae8b766..87eb302 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -35,7 +35,7 @@ - name: Set environment for subsequent workflow nodes ansible.builtin.set_stats: - aggregate: false + aggregate: true data: bigboot_data: "{{ bigboot_data | default({}) | combine({inventory_hostname: From 6a0b9ff2ba633099f5cf54db79112131b949991a Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Tue, 23 Jul 2024 23:21:29 -0400 Subject: [PATCH 33/69] fix docker service management --- bigboot_setup_environment.yml | 19 ++++++++++++------- vars/bigboot_vars.yml | 2 ++ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index 87eb302..16968cf 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -15,13 +15,13 @@ - name: Get the list of services on the host ansible.builtin.service_facts: - - name: Disable Docker service due to incompatibility + - name: Stop Docker service due to incompatibility ansible.builtin.service: name: docker.service state: stopped - enabled: false when: - - "'docker.service' in ansible_facts['services']" + - ansible_facts['services'][bigboot_docker_service] is defined + - ansible_facts['services'][bigboot_docker_service]['state'] == "running" - name: Capture boot device details ansible.builtin.import_tasks: tasks/capture_boot_device_details.yml @@ -29,10 +29,6 @@ - name: Capture logical volume information ansible.builtin.import_tasks: tasks/capture_lv_device_details.yml - - name: Set ReaR backup flag - ansible.builtin.set_fact: - bigboot_rear_backup_skip: - - name: Set environment for subsequent workflow nodes ansible.builtin.set_stats: aggregate: true @@ -48,6 +44,15 @@ } }) }}" + - name: Restore Docker service to its previous running state + ansible.builtin.service: + name: docker.service + state: started + when: + - ansible_facts['services'][bigboot_docker_service] is defined + - ansible_facts['services'][bigboot_docker_service]['state'] == "running" + + - name: Perform a ReaR backup if any disk modifications are to be made ansible.builtin.import_playbook: rhc.rear.rear_backup when: diff --git a/vars/bigboot_vars.yml b/vars/bigboot_vars.yml index 825299f..4f7074d 100644 --- a/vars/bigboot_vars.yml +++ b/vars/bigboot_vars.yml @@ -8,6 +8,8 @@ bigboot_reboot_timeout: 1800 bigboot_skip_rear_backup: false +bigboot_docker_service: docker.service + # Max value in minutes for the timeout threshold: bigboot_service_max_timeout: 5 From 2b31c70a8c8b0dc41a160adca88b9bac5e6c2c04 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Fri, 26 Jul 2024 11:31:54 -0400 Subject: [PATCH 34/69] add task to check workaround for set_stats --- bigboot_rear_backup.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/bigboot_rear_backup.yml b/bigboot_rear_backup.yml index 3ab6b4a..dc3af98 100644 --- a/bigboot_rear_backup.yml +++ b/bigboot_rear_backup.yml @@ -5,3 +5,15 @@ - (bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] | default(false) | bool or bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | default(false) | bool) - not bigboot_rear_backup_skip | default(false) | bool + +- name: ReaR backup per host + ansible.builtin.import_role: + name: rhc.rear.rear_backup + vars: + client_ips: "{{ item['value']['bigboot_size'] }}" + namehost: "{{ item['key'] }}" + loop: "{{ bigboot_data | dict2items }}" + loop_control: + label: "{{ item['key'] }}" + when: + - item['value']['bigboot_execute_bigboot'] | bool From 51ba92ecd7a750a102568cfa5e91395c93944866 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Fri, 26 Jul 2024 11:36:17 -0400 Subject: [PATCH 35/69] fix playbook --- bigboot_rear_backup.yml | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/bigboot_rear_backup.yml b/bigboot_rear_backup.yml index dc3af98..a53060d 100644 --- a/bigboot_rear_backup.yml +++ b/bigboot_rear_backup.yml @@ -1,19 +1,23 @@ --- -- name: Perform a ReaR backup before the /boot expansion - ansible.builtin.import_playbook: rhc.rear.rear_backup - when: - - (bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] | default(false) | bool - or bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | default(false) | bool) - - not bigboot_rear_backup_skip | default(false) | bool +- name: Perform logical volume and boot parition resizing as needed + hosts: all + become: true + gather_facts: true + strategy: free -- name: ReaR backup per host - ansible.builtin.import_role: - name: rhc.rear.rear_backup - vars: - client_ips: "{{ item['value']['bigboot_size'] }}" - namehost: "{{ item['key'] }}" - loop: "{{ bigboot_data | dict2items }}" - loop_control: - label: "{{ item['key'] }}" - when: - - item['value']['bigboot_execute_bigboot'] | bool + vars_files: + - bigboot_vars.yml + + tasks: + - name: ReaR backup per host + ansible.builtin.import_role: + name: rhc.rear.rear_backup + vars: + client_ips: "{{ item['value']['bigboot_size'] }}" + namehost: "{{ item['key'] }}" + loop: "{{ bigboot_data | dict2items }}" + loop_control: + label: "{{ item['key'] }}" + when: + - item['value']['bigboot_execute_bigboot'] | bool + - not bigboot_rear_backup_skip | default(false) | bool From fd108e2b69b5b0f1c2736ef602b2fd8619ea090b Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Fri, 26 Jul 2024 11:40:03 -0400 Subject: [PATCH 36/69] import->include --- bigboot_rear_backup.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bigboot_rear_backup.yml b/bigboot_rear_backup.yml index a53060d..c03a459 100644 --- a/bigboot_rear_backup.yml +++ b/bigboot_rear_backup.yml @@ -10,7 +10,7 @@ tasks: - name: ReaR backup per host - ansible.builtin.import_role: + ansible.builtin.include_role: name: rhc.rear.rear_backup vars: client_ips: "{{ item['value']['bigboot_size'] }}" From d7c73f1a970e405fbc49bd82c67d5f0e690e108c Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Fri, 26 Jul 2024 14:12:10 -0400 Subject: [PATCH 37/69] refactor --- bigboot_rear_backup.yml | 27 +++++---------------------- bigboot_rear_nfs_export.yml | 19 +++++++++++++++++++ bigboot_setup_environment.yml | 12 +++--------- tasks/rear_nfs_exports.yml | 9 +++++++++ 4 files changed, 36 insertions(+), 31 deletions(-) create mode 100644 bigboot_rear_nfs_export.yml create mode 100644 tasks/rear_nfs_exports.yml diff --git a/bigboot_rear_backup.yml b/bigboot_rear_backup.yml index c03a459..8b98be9 100644 --- a/bigboot_rear_backup.yml +++ b/bigboot_rear_backup.yml @@ -1,23 +1,6 @@ --- -- name: Perform logical volume and boot parition resizing as needed - hosts: all - become: true - gather_facts: true - strategy: free - - vars_files: - - bigboot_vars.yml - - tasks: - - name: ReaR backup per host - ansible.builtin.include_role: - name: rhc.rear.rear_backup - vars: - client_ips: "{{ item['value']['bigboot_size'] }}" - namehost: "{{ item['key'] }}" - loop: "{{ bigboot_data | dict2items }}" - loop_control: - label: "{{ item['key'] }}" - when: - - item['value']['bigboot_execute_bigboot'] | bool - - not bigboot_rear_backup_skip | default(false) | bool +- name: Perform a ReaR backup before the /boot expansion + ansible.builtin.import_playbook: rhc.rear.rear_backup + when: + - bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | default(false) | bool + - not bigboot_rear_backup_skip | default(false) | bool diff --git a/bigboot_rear_nfs_export.yml b/bigboot_rear_nfs_export.yml new file mode 100644 index 0000000..9ce1f77 --- /dev/null +++ b/bigboot_rear_nfs_export.yml @@ -0,0 +1,19 @@ +--- +- name: Perform logical volume and boot parition resizing as needed + hosts: rear-server + become: true + gather_facts: false + + vars_files: + - bigboot_vars.yml + + tasks: + - name: Create IP list and add to NFS exports + ansible.builtin.include_tasks: tasks/rear_nfs_exports.yml + loop: "{{ bigboot_data | dict2items }}" + loop_control: + label: "{{ item['key'] }}" + when: + - item['value']['bigboot_execute_bigboot'] | bool + - not bigboot_rear_backup_skip | default(false) | bool + diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index 16968cf..1bb86b6 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -40,7 +40,9 @@ 'bigboot_execute_shrink_lv': bigboot_execute_shrink_lv, 'bigboot_adjacent_lvm_device': bigboot_adjacent_lvm_device, 'bigboot_lv_shrink_size': bigboot_lv_shrink_size | int, - 'bigboot_size': bigboot_size + 'bigboot_size': bigboot_size, + 'ip_addresses': ansible_all_ipv4_addresses, + 'server_hostname': ansible_hostname } }) }}" @@ -52,12 +54,4 @@ - ansible_facts['services'][bigboot_docker_service] is defined - ansible_facts['services'][bigboot_docker_service]['state'] == "running" - -- name: Perform a ReaR backup if any disk modifications are to be made - ansible.builtin.import_playbook: rhc.rear.rear_backup - when: - - bigboot_execute_shrink_lv | default(false) | bool - or bigboot_execute_bigboot | default(false) | bool - - not rear_backup_skip | default(false) | bool - ... diff --git a/tasks/rear_nfs_exports.yml b/tasks/rear_nfs_exports.yml new file mode 100644 index 0000000..8c5403b --- /dev/null +++ b/tasks/rear_nfs_exports.yml @@ -0,0 +1,9 @@ +--- +- name: Create list of IP addresses and hostnames + ansible.builtin.set_fact: + client_ips: "{{ item['value']['ip_addresses'] }}" + namehost: "{{ item['value']['server_hostname'] }}" + +- name: Include NFS export role + ansible.builtin.include_role: + name: rhc.rear.say_hi From 22d4c220ab291199b5da76668b3c0603acab63bd Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Fri, 26 Jul 2024 14:16:28 -0400 Subject: [PATCH 38/69] fix hosts --- bigboot_rear_nfs_export.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bigboot_rear_nfs_export.yml b/bigboot_rear_nfs_export.yml index 9ce1f77..a0a7e7d 100644 --- a/bigboot_rear_nfs_export.yml +++ b/bigboot_rear_nfs_export.yml @@ -1,6 +1,6 @@ --- - name: Perform logical volume and boot parition resizing as needed - hosts: rear-server + hosts: rear_server become: true gather_facts: false From 050939b52a542b515d7ad29c4637a87bb75c8e4f Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Fri, 26 Jul 2024 15:42:23 -0400 Subject: [PATCH 39/69] add default --- bigboot_rear_nfs_export.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bigboot_rear_nfs_export.yml b/bigboot_rear_nfs_export.yml index a0a7e7d..780c7ef 100644 --- a/bigboot_rear_nfs_export.yml +++ b/bigboot_rear_nfs_export.yml @@ -14,6 +14,6 @@ loop_control: label: "{{ item['key'] }}" when: - - item['value']['bigboot_execute_bigboot'] | bool + - item['value']['bigboot_execute_bigboot'] | default(false) | bool - not bigboot_rear_backup_skip | default(false) | bool From 42709c4fe6f7cb889ae041f270d6149d1e554093 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Fri, 26 Jul 2024 15:51:34 -0400 Subject: [PATCH 40/69] variable naming fix --- bigboot_rear_backup.yml | 2 +- bigboot_rear_nfs_export.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bigboot_rear_backup.yml b/bigboot_rear_backup.yml index 8b98be9..27e1b10 100644 --- a/bigboot_rear_backup.yml +++ b/bigboot_rear_backup.yml @@ -3,4 +3,4 @@ ansible.builtin.import_playbook: rhc.rear.rear_backup when: - bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | default(false) | bool - - not bigboot_rear_backup_skip | default(false) | bool + - not rear_backup_skip | default(false) | bool diff --git a/bigboot_rear_nfs_export.yml b/bigboot_rear_nfs_export.yml index 780c7ef..e521e42 100644 --- a/bigboot_rear_nfs_export.yml +++ b/bigboot_rear_nfs_export.yml @@ -15,5 +15,5 @@ label: "{{ item['key'] }}" when: - item['value']['bigboot_execute_bigboot'] | default(false) | bool - - not bigboot_rear_backup_skip | default(false) | bool + - not rear_backup_skip | default(false) | bool From 205101856bc72cd4b2a8301ca750ba3ded72039f Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Fri, 26 Jul 2024 15:55:40 -0400 Subject: [PATCH 41/69] add filters --- tasks/rear_nfs_exports.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/rear_nfs_exports.yml b/tasks/rear_nfs_exports.yml index 8c5403b..c1013e2 100644 --- a/tasks/rear_nfs_exports.yml +++ b/tasks/rear_nfs_exports.yml @@ -1,7 +1,7 @@ --- - name: Create list of IP addresses and hostnames ansible.builtin.set_fact: - client_ips: "{{ item['value']['ip_addresses'] }}" + client_ips: "{{ item['value']['ip_addresses'] | list | flatten }}" namehost: "{{ item['value']['server_hostname'] }}" - name: Include NFS export role From f655d1971622a91696491e31be44ce3a22a70f90 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Mon, 29 Jul 2024 16:08:33 -0400 Subject: [PATCH 42/69] fixes --- bigboot_execute_resize.yml | 11 ----------- bigboot_setup_environment.yml | 8 ++++---- 2 files changed, 4 insertions(+), 15 deletions(-) diff --git a/bigboot_execute_resize.yml b/bigboot_execute_resize.yml index 664ac97..87edf51 100644 --- a/bigboot_execute_resize.yml +++ b/bigboot_execute_resize.yml @@ -74,17 +74,6 @@ when: - bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool - - name: Get the list of services on the host - ansible.builtin.service_facts: - - - name: Re-enabling Docker service - ansible.builtin.service: - name: docker.service - state: started - enabled: true - when: - - "'docker.service' in ansible_facts['services']" - - name: Re-enabling services previously disabled ansible.builtin.service: name: "{{ item }}" diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index 1bb86b6..8539e65 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -12,21 +12,21 @@ - name: Cleanup from any previous executions ansible.builtin.import_tasks: tasks/cleanup.yml - - name: Get the list of services on the host + - name: Ensure service facts are available ansible.builtin.service_facts: - name: Stop Docker service due to incompatibility ansible.builtin.service: - name: docker.service + name: "{{ bigboot_docker_service }}" state: stopped when: - ansible_facts['services'][bigboot_docker_service] is defined - ansible_facts['services'][bigboot_docker_service]['state'] == "running" - - name: Capture boot device details + - name: Set boot device details ansible.builtin.import_tasks: tasks/capture_boot_device_details.yml - - name: Capture logical volume information + - name: Set logical volume information ansible.builtin.import_tasks: tasks/capture_lv_device_details.yml - name: Set environment for subsequent workflow nodes From 664291b15df8f4a8dfcb142036c45d893663188e Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Tue, 30 Jul 2024 17:16:57 -0400 Subject: [PATCH 43/69] Support for logging of disabled services --- tasks/check_systemd_services.yml | 8 ++++++++ tasks/cleanup.yml | 12 ++++++++++++ tasks/disable_systemd_services.yml | 10 ++++++++++ vars/bigboot_vars.yml | 3 +++ 4 files changed, 33 insertions(+) diff --git a/tasks/check_systemd_services.yml b/tasks/check_systemd_services.yml index 2c29381..3bc7c63 100644 --- a/tasks/check_systemd_services.yml +++ b/tasks/check_systemd_services.yml @@ -29,3 +29,11 @@ when: - item['item'] not in bigboot_protected_services - item['stdout'] | regex_replace('^.*=(.*$)', '\\1') | community.general.to_minutes > bigboot_service_max_timeout + +- name: Log list of disabled services + ansible.builtin.copy: + content: "{{ bigboot_systemd_disabled_services }}" + dest: "{{ bigboot_disabled_services_log }}" + owner: root + group: root + mode: "0600" diff --git a/tasks/cleanup.yml b/tasks/cleanup.yml index 222f0e0..1c73a97 100644 --- a/tasks/cleanup.yml +++ b/tasks/cleanup.yml @@ -29,4 +29,16 @@ path: "/boot/initramfs-{{ initramfs_kernel_version }}.img.{{ initramfs_backup_extension }}" state: absent + - name: Check if disable services log exists + ansible.builtin.stat: + path: "{{ bigboot_disabled_services_log }}" + register: bigboot_disabled_services_log_stat + + - name: Remove disabled services log if present + ansible.builtin.file: + path: "{{ bigboot_disabled_services_log }}" + state: absent + when: + - bigboot_disabled_services_log_stat['stat']['exists'] | bool + ... diff --git a/tasks/disable_systemd_services.yml b/tasks/disable_systemd_services.yml index d90a9f4..119c2b1 100644 --- a/tasks/disable_systemd_services.yml +++ b/tasks/disable_systemd_services.yml @@ -9,3 +9,13 @@ ansible.builtin.set_fact: bigboot_systemd_disabled_services: "{{ bigboot_systemd_disabled_services | default([]) + [item['item']] }}" + +- name: Log disabled service to log file + ansible.builtin.lineinfile: + path: "{{ bigboot_disabled_services_log }}" + line: "{{ item }}" + create: true + state: present + owner: root + group: root + mode: "0600" diff --git a/vars/bigboot_vars.yml b/vars/bigboot_vars.yml index 4f7074d..0b111e3 100644 --- a/vars/bigboot_vars.yml +++ b/vars/bigboot_vars.yml @@ -22,3 +22,6 @@ bigboot_protected_services: - rhnsd.service - rhnsd - boksm.service + +# Filename of disabled services log: +bigboot_disabled_services_log: /var/ipe/ipu/bigboot-disabled-services From 64f1220935b31205e9f9d916b75cfbe4319bc470 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Tue, 30 Jul 2024 17:23:20 -0400 Subject: [PATCH 44/69] That task wasnt supposed to be there! --- tasks/check_systemd_services.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/tasks/check_systemd_services.yml b/tasks/check_systemd_services.yml index 3bc7c63..2c29381 100644 --- a/tasks/check_systemd_services.yml +++ b/tasks/check_systemd_services.yml @@ -29,11 +29,3 @@ when: - item['item'] not in bigboot_protected_services - item['stdout'] | regex_replace('^.*=(.*$)', '\\1') | community.general.to_minutes > bigboot_service_max_timeout - -- name: Log list of disabled services - ansible.builtin.copy: - content: "{{ bigboot_systemd_disabled_services }}" - dest: "{{ bigboot_disabled_services_log }}" - owner: root - group: root - mode: "0600" From b7b6f9555dd9ff017f8c188d4bf932a21d6e4c0a Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Tue, 30 Jul 2024 17:25:52 -0400 Subject: [PATCH 45/69] Indent fix. --- tasks/cleanup.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tasks/cleanup.yml b/tasks/cleanup.yml index 1c73a97..da3e2c1 100644 --- a/tasks/cleanup.yml +++ b/tasks/cleanup.yml @@ -34,11 +34,11 @@ path: "{{ bigboot_disabled_services_log }}" register: bigboot_disabled_services_log_stat - - name: Remove disabled services log if present - ansible.builtin.file: - path: "{{ bigboot_disabled_services_log }}" - state: absent - when: - - bigboot_disabled_services_log_stat['stat']['exists'] | bool +- name: Remove disabled services log if present + ansible.builtin.file: + path: "{{ bigboot_disabled_services_log }}" + state: absent + when: + - bigboot_disabled_services_log_stat['stat']['exists'] | bool ... From 94c4366903b74a44b163f8413429b0b515d77385 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Tue, 30 Jul 2024 17:27:39 -0400 Subject: [PATCH 46/69] Indent fix. Yes, again. --- tasks/cleanup.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tasks/cleanup.yml b/tasks/cleanup.yml index da3e2c1..180e5be 100644 --- a/tasks/cleanup.yml +++ b/tasks/cleanup.yml @@ -29,10 +29,10 @@ path: "/boot/initramfs-{{ initramfs_kernel_version }}.img.{{ initramfs_backup_extension }}" state: absent - - name: Check if disable services log exists - ansible.builtin.stat: - path: "{{ bigboot_disabled_services_log }}" - register: bigboot_disabled_services_log_stat +- name: Check if disable services log exists + ansible.builtin.stat: + path: "{{ bigboot_disabled_services_log }}" + register: bigboot_disabled_services_log_stat - name: Remove disabled services log if present ansible.builtin.file: From b440005e55d50cf7d2249e1905f3bf5bee57eabf Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Tue, 30 Jul 2024 17:31:12 -0400 Subject: [PATCH 47/69] Var fix. --- tasks/disable_systemd_services.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/disable_systemd_services.yml b/tasks/disable_systemd_services.yml index 119c2b1..5356484 100644 --- a/tasks/disable_systemd_services.yml +++ b/tasks/disable_systemd_services.yml @@ -13,7 +13,7 @@ - name: Log disabled service to log file ansible.builtin.lineinfile: path: "{{ bigboot_disabled_services_log }}" - line: "{{ item }}" + line: "{{ item['item'] }}" create: true state: present owner: root From fad845dd1ded1da9dff817a1aa2c5e41c3e83496 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Tue, 30 Jul 2024 17:48:03 -0400 Subject: [PATCH 48/69] =?UTF-8?q?Doing=20the=20task=20shuffle.=20=C2=AF\?= =?UTF-8?q?=5F(=E3=83=84)=5F/=C2=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bigboot_execute_resize.yml | 8 ++++++++ bigboot_setup_environment.yml | 8 -------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/bigboot_execute_resize.yml b/bigboot_execute_resize.yml index 87edf51..4bfc6a1 100644 --- a/bigboot_execute_resize.yml +++ b/bigboot_execute_resize.yml @@ -83,3 +83,11 @@ when: - bigboot_systemd_disabled_services is defined - bigboot_systemd_disabled_services | length > 0 + + - name: Restore Docker service to its previous running state + ansible.builtin.service: + name: docker.service + state: started + when: + - ansible_facts['services'][bigboot_docker_service] is defined + - ansible_facts['services'][bigboot_docker_service]['state'] == "running" diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index 8539e65..05d030b 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -46,12 +46,4 @@ } }) }}" - - name: Restore Docker service to its previous running state - ansible.builtin.service: - name: docker.service - state: started - when: - - ansible_facts['services'][bigboot_docker_service] is defined - - ansible_facts['services'][bigboot_docker_service]['state'] == "running" - ... From 4ca8d421e290378bb671144cf38dadf39055b80a Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Tue, 30 Jul 2024 18:05:08 -0400 Subject: [PATCH 49/69] =?UTF-8?q?More=20shufflin=20=C2=AF\=5F(=E3=83=84)?= =?UTF-8?q?=5F/=C2=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bigboot_execute_resize.yml | 37 ++++++++++++++--------------------- bigboot_setup_environment.yml | 12 ++---------- tasks/stop_docker_service.yml | 11 +++++++++++ 3 files changed, 28 insertions(+), 32 deletions(-) create mode 100644 tasks/stop_docker_service.yml diff --git a/bigboot_execute_resize.yml b/bigboot_execute_resize.yml index 4bfc6a1..72aaf36 100644 --- a/bigboot_execute_resize.yml +++ b/bigboot_execute_resize.yml @@ -14,20 +14,6 @@ - (bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] | default(false) | bool or bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | default(false) | bool) block: - - name: Check for and disable services exceeding the timeout threshold - ansible.builtin.import_tasks: tasks/check_systemd_services.yml - - - name: Services disabled notice - ansible.builtin.debug: - msg: >- - The following services were disabled, and will be re-enabled post - Bigboot execution: - - {{ bigboot_systemd_disabled_services | list | flatten }} - when: - - bigboot_systemd_disabled_services is defined - - bigboot_systemd_disabled_services | length > 0 - - name: Enable Grub filesystem check ansible.builtin.import_role: name: autofsck @@ -48,6 +34,21 @@ - name: Flush handlers ansible.builtin.meta: flush_handlers + - name: Check for and disable services exceeding the timeout threshold + ansible.builtin.import_tasks: tasks/check_systemd_services.yml + + - name: Services disabled notice + ansible.builtin.debug: + msg: >- + The following services were disabled, and will be re-enabled post + Bigboot execution: {{ bigboot_systemd_disabled_services | join(',') }} + when: + - bigboot_systemd_disabled_services is defined + - bigboot_systemd_disabled_services | length > 0 + + - name: Stop Docker service if present and running + ansible.builtin.import_tasks: tasks/stop_docker_service.yml + - name: Extend the timeout values for physical hosts ansible.builtin.set_fact: @@ -83,11 +84,3 @@ when: - bigboot_systemd_disabled_services is defined - bigboot_systemd_disabled_services | length > 0 - - - name: Restore Docker service to its previous running state - ansible.builtin.service: - name: docker.service - state: started - when: - - ansible_facts['services'][bigboot_docker_service] is defined - - ansible_facts['services'][bigboot_docker_service]['state'] == "running" diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index 05d030b..5acc561 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -12,16 +12,8 @@ - name: Cleanup from any previous executions ansible.builtin.import_tasks: tasks/cleanup.yml - - name: Ensure service facts are available - ansible.builtin.service_facts: - - - name: Stop Docker service due to incompatibility - ansible.builtin.service: - name: "{{ bigboot_docker_service }}" - state: stopped - when: - - ansible_facts['services'][bigboot_docker_service] is defined - - ansible_facts['services'][bigboot_docker_service]['state'] == "running" + - name: Stop Docker service if present and running + ansible.builtin.import_tasks: tasks/stop_docker_service.yml - name: Set boot device details ansible.builtin.import_tasks: tasks/capture_boot_device_details.yml diff --git a/tasks/stop_docker_service.yml b/tasks/stop_docker_service.yml new file mode 100644 index 0000000..69fce68 --- /dev/null +++ b/tasks/stop_docker_service.yml @@ -0,0 +1,11 @@ +--- +- name: Ensure service facts are available + ansible.builtin.service_facts: + +- name: Stop Docker service due to incompatibility + ansible.builtin.service: + name: "{{ bigboot_docker_service }}" + state: stopped + when: + - ansible_facts['services'][bigboot_docker_service] is defined + - ansible_facts['services'][bigboot_docker_service]['state'] == "running" From 0b115970386feb80a092d8951cad3eced65b705e Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Wed, 31 Jul 2024 10:03:36 -0400 Subject: [PATCH 50/69] Logic prune --- bigboot_execute_resize.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/bigboot_execute_resize.yml b/bigboot_execute_resize.yml index 72aaf36..13daff3 100644 --- a/bigboot_execute_resize.yml +++ b/bigboot_execute_resize.yml @@ -11,8 +11,7 @@ tasks: - name: Perform service and filesystem checks prior to Bigboot execution when: - - (bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] | default(false) | bool - or bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | default(false) | bool) + - bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | default(false) | bool block: - name: Enable Grub filesystem check ansible.builtin.import_role: From e53e97cf9a3abd74dd0f9a77bc7514f08bf11389 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Wed, 31 Jul 2024 11:53:25 -0400 Subject: [PATCH 51/69] Fix Docker service management; relocate Grub fsck --- bigboot_execute_resize.yml | 32 ++++++++++---------------------- bigboot_setup_environment.yml | 4 +++- tasks/grub_filesystem_check.yml | 20 ++++++++++++++++++++ tasks/stop_docker_service.yml | 17 +++++++++++++++++ vars/bigboot_vars.yml | 2 ++ 5 files changed, 52 insertions(+), 23 deletions(-) create mode 100644 tasks/grub_filesystem_check.yml diff --git a/bigboot_execute_resize.yml b/bigboot_execute_resize.yml index 13daff3..103ddab 100644 --- a/bigboot_execute_resize.yml +++ b/bigboot_execute_resize.yml @@ -13,25 +13,8 @@ when: - bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | default(false) | bool block: - - name: Enable Grub filesystem check - ansible.builtin.import_role: - name: autofsck - tasks_from: main.yml - - - name: Flush handlers - ansible.builtin.meta: flush_handlers - - # Make sure to update the reboot code for the WF environment - - name: Reboot to run filesystem checks - ansible.builtin.reboot: - - - name: Disable Grub filesystem check - ansible.builtin.import_role: - name: autofsck - tasks_from: cleanup.yml - - - name: Flush handlers - ansible.builtin.meta: flush_handlers + - name: Perform filesystem check prior to Bigboot execution + ansible.builtin.import_tasks: tasks/grub_filesystem_check.yml - name: Check for and disable services exceeding the timeout threshold ansible.builtin.import_tasks: tasks/check_systemd_services.yml @@ -45,9 +28,6 @@ - bigboot_systemd_disabled_services is defined - bigboot_systemd_disabled_services | length > 0 - - name: Stop Docker service if present and running - ansible.builtin.import_tasks: tasks/stop_docker_service.yml - - name: Extend the timeout values for physical hosts ansible.builtin.set_fact: @@ -74,6 +54,14 @@ when: - bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool + - name: Restore Docker service to its pre-Bigboot state + ansible.builtin.service: + name: "{{ bigboot_docker_service }}" + state: "{{ bigboot_data[inventory_hostname]['bigboot_docker_running'] }}" + enabled: "{{ bigboot_data[inventory_hostname]['bigboot_docker_enabled'] }}" + when: + - ansible_facts['services'][bigboot_docker_service] is defined + - name: Re-enabling services previously disabled ansible.builtin.service: name: "{{ item }}" diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index 5acc561..05aa168 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -12,7 +12,7 @@ - name: Cleanup from any previous executions ansible.builtin.import_tasks: tasks/cleanup.yml - - name: Stop Docker service if present and running + - name: Stop and disable the Docker service if present and running ansible.builtin.import_tasks: tasks/stop_docker_service.yml - name: Set boot device details @@ -33,6 +33,8 @@ 'bigboot_adjacent_lvm_device': bigboot_adjacent_lvm_device, 'bigboot_lv_shrink_size': bigboot_lv_shrink_size | int, 'bigboot_size': bigboot_size, + 'bigboot_docker_running': bigboot_docker_running, + 'bigboot_docker_enabled': bigboot_docker_enabled, 'ip_addresses': ansible_all_ipv4_addresses, 'server_hostname': ansible_hostname } diff --git a/tasks/grub_filesystem_check.yml b/tasks/grub_filesystem_check.yml new file mode 100644 index 0000000..cdff1a1 --- /dev/null +++ b/tasks/grub_filesystem_check.yml @@ -0,0 +1,20 @@ +--- +- name: Enable Grub filesystem check + ansible.builtin.import_role: + name: autofsck + tasks_from: main.yml + +- name: Flush handlers + ansible.builtin.meta: flush_handlers + +# Make sure to update the reboot code for the WF environment +- name: Reboot to run filesystem checks + ansible.builtin.reboot: + +- name: Disable Grub filesystem check + ansible.builtin.import_role: + name: autofsck + tasks_from: cleanup.yml + +- name: Flush handlers + ansible.builtin.meta: flush_handlers diff --git a/tasks/stop_docker_service.yml b/tasks/stop_docker_service.yml index 69fce68..e561bba 100644 --- a/tasks/stop_docker_service.yml +++ b/tasks/stop_docker_service.yml @@ -2,10 +2,27 @@ - name: Ensure service facts are available ansible.builtin.service_facts: +- name: Set Docker state + when: + - ansible_facts['services'][bigboot_docker_service] is defined + block: + - name: Set Docker running state + ansible.builtin.set_fact: + bigboot_docker_running: started + when: + - ansible_facts['services'][bigboot_docker_service]['state'] == "running" + + - name: Set Docker enabled state + ansible.builtin.set_fact: + bigboot_docker_enabled: true + when: + - ansible_facts['services'][bigboot_docker_service]['status'] == "enabled" + - name: Stop Docker service due to incompatibility ansible.builtin.service: name: "{{ bigboot_docker_service }}" state: stopped + enabled: false when: - ansible_facts['services'][bigboot_docker_service] is defined - ansible_facts['services'][bigboot_docker_service]['state'] == "running" diff --git a/vars/bigboot_vars.yml b/vars/bigboot_vars.yml index 0b111e3..51c2f55 100644 --- a/vars/bigboot_vars.yml +++ b/vars/bigboot_vars.yml @@ -9,6 +9,8 @@ bigboot_reboot_timeout: 1800 bigboot_skip_rear_backup: false bigboot_docker_service: docker.service +bigboot_docker_running: stopped +bigboot_docker_enabled: false # Max value in minutes for the timeout threshold: bigboot_service_max_timeout: 5 From a8fdf951c4e141369cddf976325c5267e78f9091 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Wed, 31 Jul 2024 12:12:56 -0400 Subject: [PATCH 52/69] Task file re-name --- bigboot_setup_environment.yml | 2 +- tasks/{stop_docker_service.yml => disable_docker_service.yml} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename tasks/{stop_docker_service.yml => disable_docker_service.yml} (100%) diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index 05aa168..43cddbe 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -13,7 +13,7 @@ ansible.builtin.import_tasks: tasks/cleanup.yml - name: Stop and disable the Docker service if present and running - ansible.builtin.import_tasks: tasks/stop_docker_service.yml + ansible.builtin.import_tasks: tasks/disable_docker_service.yml - name: Set boot device details ansible.builtin.import_tasks: tasks/capture_boot_device_details.yml diff --git a/tasks/stop_docker_service.yml b/tasks/disable_docker_service.yml similarity index 100% rename from tasks/stop_docker_service.yml rename to tasks/disable_docker_service.yml From 490170e7526d03bba75c52cbe2a78a5c96a8dbfa Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Wed, 31 Jul 2024 12:28:58 -0400 Subject: [PATCH 53/69] Task shift --- tasks/disable_docker_service.yml | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/tasks/disable_docker_service.yml b/tasks/disable_docker_service.yml index e561bba..8d7ee54 100644 --- a/tasks/disable_docker_service.yml +++ b/tasks/disable_docker_service.yml @@ -18,11 +18,8 @@ when: - ansible_facts['services'][bigboot_docker_service]['status'] == "enabled" -- name: Stop Docker service due to incompatibility - ansible.builtin.service: - name: "{{ bigboot_docker_service }}" - state: stopped - enabled: false - when: - - ansible_facts['services'][bigboot_docker_service] is defined - - ansible_facts['services'][bigboot_docker_service]['state'] == "running" + - name: Ensure Docker service is stopped and disabled + ansible.builtin.service: + name: "{{ bigboot_docker_service }}" + state: stopped + enabled: false From 8245abf806404c28fd33f71543a2bd1c71e1bef0 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Wed, 31 Jul 2024 23:29:03 -0400 Subject: [PATCH 54/69] Fix conditional; cant check string against integer --- tasks/check_systemd_services.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/check_systemd_services.yml b/tasks/check_systemd_services.yml index 2c29381..5ecbe26 100644 --- a/tasks/check_systemd_services.yml +++ b/tasks/check_systemd_services.yml @@ -28,4 +28,4 @@ label: "{{ item['item'] }}" when: - item['item'] not in bigboot_protected_services - - item['stdout'] | regex_replace('^.*=(.*$)', '\\1') | community.general.to_minutes > bigboot_service_max_timeout + - item['stdout'] | regex_replace('^.*=(.*$)', '\\1') | community.general.to_minutes >= bigboot_service_max_timeout | int From 339dcdd6ad83e082f2bf417b825b1d1658fb2077 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Thu, 1 Aug 2024 10:13:25 -0400 Subject: [PATCH 55/69] Task reorder/move; log path update --- bigboot_execute_resize.yml | 13 ++----------- tasks/check_systemd_services.yml | 9 +++++++++ vars/bigboot_vars.yml | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/bigboot_execute_resize.yml b/bigboot_execute_resize.yml index 103ddab..8492318 100644 --- a/bigboot_execute_resize.yml +++ b/bigboot_execute_resize.yml @@ -13,20 +13,11 @@ when: - bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | default(false) | bool block: - - name: Perform filesystem check prior to Bigboot execution - ansible.builtin.import_tasks: tasks/grub_filesystem_check.yml - - name: Check for and disable services exceeding the timeout threshold ansible.builtin.import_tasks: tasks/check_systemd_services.yml - - name: Services disabled notice - ansible.builtin.debug: - msg: >- - The following services were disabled, and will be re-enabled post - Bigboot execution: {{ bigboot_systemd_disabled_services | join(',') }} - when: - - bigboot_systemd_disabled_services is defined - - bigboot_systemd_disabled_services | length > 0 + - name: Perform filesystem check prior to Bigboot execution + ansible.builtin.import_tasks: tasks/grub_filesystem_check.yml - name: Extend the timeout values for physical hosts diff --git a/tasks/check_systemd_services.yml b/tasks/check_systemd_services.yml index 5ecbe26..558c23e 100644 --- a/tasks/check_systemd_services.yml +++ b/tasks/check_systemd_services.yml @@ -29,3 +29,12 @@ when: - item['item'] not in bigboot_protected_services - item['stdout'] | regex_replace('^.*=(.*$)', '\\1') | community.general.to_minutes >= bigboot_service_max_timeout | int + +- name: Services disabled notice + ansible.builtin.debug: + msg: >- + The following services were disabled, and will be re-enabled post + Bigboot execution: {{ bigboot_systemd_disabled_services | join(',') }} + when: + - bigboot_systemd_disabled_services is defined + - bigboot_systemd_disabled_services | length > 0 diff --git a/vars/bigboot_vars.yml b/vars/bigboot_vars.yml index 51c2f55..b506917 100644 --- a/vars/bigboot_vars.yml +++ b/vars/bigboot_vars.yml @@ -26,4 +26,4 @@ bigboot_protected_services: - boksm.service # Filename of disabled services log: -bigboot_disabled_services_log: /var/ipe/ipu/bigboot-disabled-services +bigboot_disabled_services_log: /root/bigboot_disabled_services.log From 782aa942106ecc8f70605d20522ef716ab9a9622 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Thu, 1 Aug 2024 10:41:45 -0400 Subject: [PATCH 56/69] Add reboot code to match scneario --- tasks/grub_filesystem_check.yml | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/tasks/grub_filesystem_check.yml b/tasks/grub_filesystem_check.yml index cdff1a1..a1ee48d 100644 --- a/tasks/grub_filesystem_check.yml +++ b/tasks/grub_filesystem_check.yml @@ -4,17 +4,27 @@ name: autofsck tasks_from: main.yml -- name: Flush handlers +- name: Flush handlers to add Grub parameters for fsck ansible.builtin.meta: flush_handlers # Make sure to update the reboot code for the WF environment +# - name: Reboot to run filesystem checks +# ansible.builtin.reboot: + - name: Reboot to run filesystem checks - ansible.builtin.reboot: + ansible.builtin.command: /sbin/shutdown -r +1 + +- name: Wait for the reboot to complete + ansible.builtin.wait_for_connection: + connect_timeout: 20 + sleep: 10 + delay: "{{ bigboot_post_reboot_delay | default('70') }}" + timeout: "{{ bigboot_reboot_timeout | default('1800') }}" - name: Disable Grub filesystem check ansible.builtin.import_role: name: autofsck tasks_from: cleanup.yml -- name: Flush handlers +- name: Flush handlers to remove Grub parameters for fsck ansible.builtin.meta: flush_handlers From 27d5965e82978b45451f6bab85d669d6c195d57a Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Thu, 1 Aug 2024 10:55:04 -0400 Subject: [PATCH 57/69] Add service fact gathering --- bigboot_execute_resize.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bigboot_execute_resize.yml b/bigboot_execute_resize.yml index 8492318..bc85ddb 100644 --- a/bigboot_execute_resize.yml +++ b/bigboot_execute_resize.yml @@ -45,6 +45,9 @@ when: - bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool + - name: Ensure service facts are available + ansible.builtin.service_facts: + - name: Restore Docker service to its pre-Bigboot state ansible.builtin.service: name: "{{ bigboot_docker_service }}" From 7fefca9befff1c82e49b86036d72a102660d511a Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Fri, 2 Aug 2024 10:44:46 -0400 Subject: [PATCH 58/69] Notes and log path update --- vars/bigboot_vars.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vars/bigboot_vars.yml b/vars/bigboot_vars.yml index b506917..ba2cd34 100644 --- a/vars/bigboot_vars.yml +++ b/vars/bigboot_vars.yml @@ -24,6 +24,7 @@ bigboot_protected_services: - rhnsd.service - rhnsd - boksm.service + # - # Filename of disabled services log: -bigboot_disabled_services_log: /root/bigboot_disabled_services.log +bigboot_disabled_services_log: /var/ipe/ipu/el7to8/bigboot_disabled_services.log From 7f5d29dfbf15ec6fd81a7ddfd4e69dda61734fb9 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Fri, 2 Aug 2024 12:37:55 -0400 Subject: [PATCH 59/69] Test Docker fix --- bigboot_setup_environment.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index 43cddbe..4bf7189 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -12,8 +12,8 @@ - name: Cleanup from any previous executions ansible.builtin.import_tasks: tasks/cleanup.yml - - name: Stop and disable the Docker service if present and running - ansible.builtin.import_tasks: tasks/disable_docker_service.yml + # - name: Stop and disable the Docker service if present and running + # ansible.builtin.import_tasks: tasks/disable_docker_service.yml - name: Set boot device details ansible.builtin.import_tasks: tasks/capture_boot_device_details.yml From 51402c118950a1600b69ce620964bdb744c64217 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Fri, 2 Aug 2024 12:49:17 -0400 Subject: [PATCH 60/69] Docker fix re-implement --- bigboot_setup_environment.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index 4bf7189..43cddbe 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -12,8 +12,8 @@ - name: Cleanup from any previous executions ansible.builtin.import_tasks: tasks/cleanup.yml - # - name: Stop and disable the Docker service if present and running - # ansible.builtin.import_tasks: tasks/disable_docker_service.yml + - name: Stop and disable the Docker service if present and running + ansible.builtin.import_tasks: tasks/disable_docker_service.yml - name: Set boot device details ansible.builtin.import_tasks: tasks/capture_boot_device_details.yml From 6f6050cf77bede187d57f597a8ff3b74ccae139d Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Fri, 2 Aug 2024 21:08:12 -0400 Subject: [PATCH 61/69] named-chroot initial fix --- bigboot_execute_resize.yml | 8 ++++++++ bigboot_setup_environment.yml | 5 +++++ tasks/disable_named-chroot_service.yml | 25 +++++++++++++++++++++++++ vars/bigboot_vars.yml | 4 ++++ 4 files changed, 42 insertions(+) create mode 100644 tasks/disable_named-chroot_service.yml diff --git a/bigboot_execute_resize.yml b/bigboot_execute_resize.yml index bc85ddb..953e4c6 100644 --- a/bigboot_execute_resize.yml +++ b/bigboot_execute_resize.yml @@ -48,6 +48,14 @@ - name: Ensure service facts are available ansible.builtin.service_facts: + - name: Restore named-chroot service to its pre-Bigboot state + ansible.builtin.service: + name: "{{ bigboot_named_chroot_service }}" + state: "{{ bigboot_data[inventory_hostname]['bigboot_named_chroot_running'] }}" + enabled: "{{ bigboot_data[inventory_hostname]['bigboot_named_chroot_enabled'] }}" + when: + - ansible_facts['services'][bigboot_named_chroot_service] is defined + - name: Restore Docker service to its pre-Bigboot state ansible.builtin.service: name: "{{ bigboot_docker_service }}" diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index 43cddbe..fc3b561 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -15,6 +15,9 @@ - name: Stop and disable the Docker service if present and running ansible.builtin.import_tasks: tasks/disable_docker_service.yml + - name: Stop and disable the named-chroot service if present and running + ansible.builtin.import_tasks: tasks/disable_docker_service.yml + - name: Set boot device details ansible.builtin.import_tasks: tasks/capture_boot_device_details.yml @@ -35,6 +38,8 @@ 'bigboot_size': bigboot_size, 'bigboot_docker_running': bigboot_docker_running, 'bigboot_docker_enabled': bigboot_docker_enabled, + 'bigboot_named_chroot_running': bigboot_named_chroot_running, + 'bigboot_named_chroot_enabled': bigboot_named_chroot_enabled, 'ip_addresses': ansible_all_ipv4_addresses, 'server_hostname': ansible_hostname } diff --git a/tasks/disable_named-chroot_service.yml b/tasks/disable_named-chroot_service.yml new file mode 100644 index 0000000..c526e8d --- /dev/null +++ b/tasks/disable_named-chroot_service.yml @@ -0,0 +1,25 @@ +--- +- name: Ensure service facts are available + ansible.builtin.service_facts: + +- name: Set named-chroot state + when: + - ansible_facts['services'][bigboot_named_chroot_service] is defined + block: + - name: Set named-chroot running state + ansible.builtin.set_fact: + bigboot_named_chroot_running: started + when: + - ansible_facts['services'][bigboot_named_chroot_service]['state'] == "running" + + - name: Set named-chroot enabled state + ansible.builtin.set_fact: + bigboot_named_chroot_enabled: true + when: + - ansible_facts['services'][bigboot_named_chroot_service]['status'] == "enabled" + + - name: Ensure named-chroot service is stopped and disabled + ansible.builtin.service: + name: "{{ bigboot_named_chroot_service }}" + state: stopped + enabled: false diff --git a/vars/bigboot_vars.yml b/vars/bigboot_vars.yml index ba2cd34..2e14b38 100644 --- a/vars/bigboot_vars.yml +++ b/vars/bigboot_vars.yml @@ -12,6 +12,10 @@ bigboot_docker_service: docker.service bigboot_docker_running: stopped bigboot_docker_enabled: false +bigboot_named_chroot_service: named-chroot.service +bigboot_named_chroot_running: stopped +bigboot_named_chroot_enabled: false + # Max value in minutes for the timeout threshold: bigboot_service_max_timeout: 5 From 6fb410cffd10e379999bc87e9dfe3874a0ffa89f Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Fri, 2 Aug 2024 21:12:19 -0400 Subject: [PATCH 62/69] fix file references --- bigboot_setup_environment.yml | 2 +- ...amed-chroot_service.yml => disable_named_chroot_service.yml} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename tasks/{disable_named-chroot_service.yml => disable_named_chroot_service.yml} (100%) diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index fc3b561..7b39b16 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -16,7 +16,7 @@ ansible.builtin.import_tasks: tasks/disable_docker_service.yml - name: Stop and disable the named-chroot service if present and running - ansible.builtin.import_tasks: tasks/disable_docker_service.yml + ansible.builtin.import_tasks: tasks/disable_named_chroot_service.yml - name: Set boot device details ansible.builtin.import_tasks: tasks/capture_boot_device_details.yml diff --git a/tasks/disable_named-chroot_service.yml b/tasks/disable_named_chroot_service.yml similarity index 100% rename from tasks/disable_named-chroot_service.yml rename to tasks/disable_named_chroot_service.yml From aba39cbad49c8f1c005f5f0811a516cb1e95c32e Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Tue, 6 Aug 2024 11:30:30 -0400 Subject: [PATCH 63/69] new service state handling --- bigboot_execute_resize.yml | 35 ++------------------ bigboot_setup_environment.yml | 12 +++---- tasks/check_services.yml | 53 ++++++++++++++++++++++++++++++ tasks/cleanup.yml | 8 ++--- tasks/disable_systemd_services.yml | 20 ++++++----- tasks/restore_services.yml | 25 ++++++++++++++ vars/bigboot_vars.yml | 10 +++++- 7 files changed, 108 insertions(+), 55 deletions(-) create mode 100644 tasks/check_services.yml create mode 100644 tasks/restore_services.yml diff --git a/bigboot_execute_resize.yml b/bigboot_execute_resize.yml index 953e4c6..a6f7b70 100644 --- a/bigboot_execute_resize.yml +++ b/bigboot_execute_resize.yml @@ -9,13 +9,10 @@ - bigboot_vars.yml tasks: - - name: Perform service and filesystem checks prior to Bigboot execution + - name: Perform filesystem check prior to Bigboot execution when: - bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | default(false) | bool block: - - name: Check for and disable services exceeding the timeout threshold - ansible.builtin.import_tasks: tasks/check_systemd_services.yml - - name: Perform filesystem check prior to Bigboot execution ansible.builtin.import_tasks: tasks/grub_filesystem_check.yml @@ -45,31 +42,5 @@ when: - bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool - - name: Ensure service facts are available - ansible.builtin.service_facts: - - - name: Restore named-chroot service to its pre-Bigboot state - ansible.builtin.service: - name: "{{ bigboot_named_chroot_service }}" - state: "{{ bigboot_data[inventory_hostname]['bigboot_named_chroot_running'] }}" - enabled: "{{ bigboot_data[inventory_hostname]['bigboot_named_chroot_enabled'] }}" - when: - - ansible_facts['services'][bigboot_named_chroot_service] is defined - - - name: Restore Docker service to its pre-Bigboot state - ansible.builtin.service: - name: "{{ bigboot_docker_service }}" - state: "{{ bigboot_data[inventory_hostname]['bigboot_docker_running'] }}" - enabled: "{{ bigboot_data[inventory_hostname]['bigboot_docker_enabled'] }}" - when: - - ansible_facts['services'][bigboot_docker_service] is defined - - - name: Re-enabling services previously disabled - ansible.builtin.service: - name: "{{ item }}" - state: started - enabled: true - loop: "{{ bigboot_systemd_disabled_services }}" - when: - - bigboot_systemd_disabled_services is defined - - bigboot_systemd_disabled_services | length > 0 + - name: Restore service state for disabled services + ansible.builtin.import_tasks: tasks/restore_services.yml diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index 7b39b16..f3a84bf 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -12,11 +12,11 @@ - name: Cleanup from any previous executions ansible.builtin.import_tasks: tasks/cleanup.yml - - name: Stop and disable the Docker service if present and running - ansible.builtin.import_tasks: tasks/disable_docker_service.yml + - name: Ensure service facts are available + ansible.builtin.service_facts: - - name: Stop and disable the named-chroot service if present and running - ansible.builtin.import_tasks: tasks/disable_named_chroot_service.yml + - name: Check for services that require being disabled + ansible.builtin.import_tasks: tasks/check_services.yml - name: Set boot device details ansible.builtin.import_tasks: tasks/capture_boot_device_details.yml @@ -36,10 +36,6 @@ 'bigboot_adjacent_lvm_device': bigboot_adjacent_lvm_device, 'bigboot_lv_shrink_size': bigboot_lv_shrink_size | int, 'bigboot_size': bigboot_size, - 'bigboot_docker_running': bigboot_docker_running, - 'bigboot_docker_enabled': bigboot_docker_enabled, - 'bigboot_named_chroot_running': bigboot_named_chroot_running, - 'bigboot_named_chroot_enabled': bigboot_named_chroot_enabled, 'ip_addresses': ansible_all_ipv4_addresses, 'server_hostname': ansible_hostname } diff --git a/tasks/check_services.yml b/tasks/check_services.yml new file mode 100644 index 0000000..078c8c1 --- /dev/null +++ b/tasks/check_services.yml @@ -0,0 +1,53 @@ +--- +- name: Capture a list of running services + ansible.builtin.set_fact: + bigboot_systemd_running_services: + "{{ bigboot_systemd_running_services | default([]) + [item['key']] }}" + loop: "{{ ansible_facts['services'] | dict2items }}" + loop_control: + label: "{{ item['key'] }}" + when: + - "'running' in item['value']['state']" + +- name: Get the stop timeout value for running services + ansible.builtin.shell: + cmd: | + set -o pipefail + systemctl show {{ item }} | grep TimeoutStopUSec + changed_when: false + register: bigboot_systemd_service_timeout + loop: "{{ bigboot_systemd_running_services }}" + +- name: Adding service to a list of services to disable for exceeding timeout threshold + ansible.builtin.set_fact: + bigboot_services_disabled: "{{ bigboot_services_disabled | default([]) + [item['item']] }}" + loop: "{{ bigboot_systemd_service_timeout['results'] }}" + loop_control: + label: "{{ item['item'] }}" + when: + - item['item'] not in bigboot_protected_services + - item['stdout'] | regex_replace('^.*=(.*$)', '\\1') | community.general.to_minutes >= bigboot_service_max_timeout | int + +- name: Adding service to a list of services to disable for being incompatible + ansible.builtin.set_fact: + bigboot_services_disabled: "{{ bigboot_services_disabled | default([]) + [item] }}" + loop: "{{ bigboot_incompatible_services }}" + when: + - item not in bigboot_protected_services + - ansible_facts['services'][item] is defined + - ansible_facts['services'][item]['state'] == "running" + +- name: Log and disable services + ansible.builtin.include_tasks: tasks/disable_systemd_services.yml + loop: "{{ bigboot_services_disabled }}" + when: + - bigboot_services_disabled is defined + +- name: Services disabled notice + ansible.builtin.debug: + msg: >- + The following services were disabled, and will be re-enabled post + Bigboot execution: {{ bigboot_services_disabled | join(', ') }} + when: + - bigboot_services_disabled is defined + - bigboot_services_disabled | length > 0 diff --git a/tasks/cleanup.yml b/tasks/cleanup.yml index 180e5be..1e30e8f 100644 --- a/tasks/cleanup.yml +++ b/tasks/cleanup.yml @@ -29,12 +29,10 @@ path: "/boot/initramfs-{{ initramfs_kernel_version }}.img.{{ initramfs_backup_extension }}" state: absent -- name: Check if disable services log exists - ansible.builtin.stat: - path: "{{ bigboot_disabled_services_log }}" - register: bigboot_disabled_services_log_stat +- name: Check for Bigboot state log and restore services to pre-Bigboot state + ansible.builtin.import_tasks: tasks/restore_services.yml -- name: Remove disabled services log if present +- name: Cleanup previous Bigboot state log if present ansible.builtin.file: path: "{{ bigboot_disabled_services_log }}" state: absent diff --git a/tasks/disable_systemd_services.yml b/tasks/disable_systemd_services.yml index 5356484..0e8fcad 100644 --- a/tasks/disable_systemd_services.yml +++ b/tasks/disable_systemd_services.yml @@ -1,19 +1,21 @@ --- -- name: Disabling service for exceeding the timeout threshold +- name: Save service state + ansible.builtin.set_fact: + bigboot_service_to_disable: + service: "{{ ansible_facts['services'][item]['name'] }}" + state: "{{ (ansible_facts['services'][item]['state'] == 'running') | ternary('started', 'stopped') }}" + status: "{{ (ansible_facts['services'][item]['status'] == 'enabled') | ternary('true', 'false') }}" + +- name: Disabling service ansible.builtin.service: - name: "{{ item['item'] }}" + name: "{{ item }}" state: stopped enabled: false -- name: Append service to list of disabled services - ansible.builtin.set_fact: - bigboot_systemd_disabled_services: - "{{ bigboot_systemd_disabled_services | default([]) + [item['item']] }}" - -- name: Log disabled service to log file +- name: Log disabled service state ansible.builtin.lineinfile: path: "{{ bigboot_disabled_services_log }}" - line: "{{ item['item'] }}" + line: "{{ item }},{{ bigboot_service_to_disable['state'] }},{{ bigboot_service_to_disable['status'] }}" create: true state: present owner: root diff --git a/tasks/restore_services.yml b/tasks/restore_services.yml new file mode 100644 index 0000000..4d0c915 --- /dev/null +++ b/tasks/restore_services.yml @@ -0,0 +1,25 @@ +--- +- name: Check for Bigboot service state log presence + ansible.builtin.stat: + path: "{{ bigboot_disabled_services_log }}" + register: bigboot_disabled_services_log_stat + +- name: Read state log and restore service state + when: + - bigboot_disabled_services_log_stat['stat']['exists'] | bool + block: + - name: Read service state from log + community.general.read_csv: + path: "{{ bigboot_disabled_services_log }}" + fieldnames: service,state,enabled + delimiter: ',' + register: bigboot_service_state_contents + + - name: Restore service state + ansible.builtin.service: + name: "{{ item['service'] }}" + state: "{{ item['state'] }}" + enabled: "{{ item['enabled'] | bool }}" + loop: "{{ bigboot_service_state_contents['list'] }}" + loop_control: + label: "{{ item['service'] }}" diff --git a/vars/bigboot_vars.yml b/vars/bigboot_vars.yml index 2e14b38..d7ac546 100644 --- a/vars/bigboot_vars.yml +++ b/vars/bigboot_vars.yml @@ -16,9 +16,17 @@ bigboot_named_chroot_service: named-chroot.service bigboot_named_chroot_running: stopped bigboot_named_chroot_enabled: false -# Max value in minutes for the timeout threshold: +# Max value in minutes for services timeout threshold: bigboot_service_max_timeout: 5 +# List of services incompatible with calculations +# to obtain required disk information: +# +# (These services will ALWAYS be disabled) +bigboot_incompatible_services: + - docker.service + - named-chroot.service + # List of services which will be excluded from being # disabled during Bigboot execution: bigboot_protected_services: From e7e90aaaf54af88cd818e4e4dffda12261f2decb Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Tue, 6 Aug 2024 11:47:21 -0400 Subject: [PATCH 64/69] cleanup --- tasks/check_systemd_services.yml | 40 -------------------------- tasks/disable_docker_service.yml | 25 ---------------- tasks/disable_named_chroot_service.yml | 25 ---------------- 3 files changed, 90 deletions(-) delete mode 100644 tasks/check_systemd_services.yml delete mode 100644 tasks/disable_docker_service.yml delete mode 100644 tasks/disable_named_chroot_service.yml diff --git a/tasks/check_systemd_services.yml b/tasks/check_systemd_services.yml deleted file mode 100644 index 558c23e..0000000 --- a/tasks/check_systemd_services.yml +++ /dev/null @@ -1,40 +0,0 @@ ---- -- name: Get the list of services on the host - ansible.builtin.service_facts: - -- name: Capture a list of running services - ansible.builtin.set_fact: - bigboot_systemd_running_services: - "{{ bigboot_systemd_running_services | default([]) + [item['key']] }}" - loop: "{{ ansible_facts['services'] | dict2items }}" - loop_control: - label: "{{ item['key'] }}" - when: - - "'running' in item['value']['state']" - -- name: Get the stop timeout value for running services - ansible.builtin.shell: - cmd: | - set -o pipefail - systemctl show {{ item }} | grep TimeoutStopUSec - changed_when: false - register: bigboot_systemd_service_timeout - loop: "{{ bigboot_systemd_running_services }}" - -- name: Disabling services exceeding the timeout threshold - ansible.builtin.include_tasks: tasks/disable_systemd_services.yml - loop: "{{ bigboot_systemd_service_timeout['results'] }}" - loop_control: - label: "{{ item['item'] }}" - when: - - item['item'] not in bigboot_protected_services - - item['stdout'] | regex_replace('^.*=(.*$)', '\\1') | community.general.to_minutes >= bigboot_service_max_timeout | int - -- name: Services disabled notice - ansible.builtin.debug: - msg: >- - The following services were disabled, and will be re-enabled post - Bigboot execution: {{ bigboot_systemd_disabled_services | join(',') }} - when: - - bigboot_systemd_disabled_services is defined - - bigboot_systemd_disabled_services | length > 0 diff --git a/tasks/disable_docker_service.yml b/tasks/disable_docker_service.yml deleted file mode 100644 index 8d7ee54..0000000 --- a/tasks/disable_docker_service.yml +++ /dev/null @@ -1,25 +0,0 @@ ---- -- name: Ensure service facts are available - ansible.builtin.service_facts: - -- name: Set Docker state - when: - - ansible_facts['services'][bigboot_docker_service] is defined - block: - - name: Set Docker running state - ansible.builtin.set_fact: - bigboot_docker_running: started - when: - - ansible_facts['services'][bigboot_docker_service]['state'] == "running" - - - name: Set Docker enabled state - ansible.builtin.set_fact: - bigboot_docker_enabled: true - when: - - ansible_facts['services'][bigboot_docker_service]['status'] == "enabled" - - - name: Ensure Docker service is stopped and disabled - ansible.builtin.service: - name: "{{ bigboot_docker_service }}" - state: stopped - enabled: false diff --git a/tasks/disable_named_chroot_service.yml b/tasks/disable_named_chroot_service.yml deleted file mode 100644 index c526e8d..0000000 --- a/tasks/disable_named_chroot_service.yml +++ /dev/null @@ -1,25 +0,0 @@ ---- -- name: Ensure service facts are available - ansible.builtin.service_facts: - -- name: Set named-chroot state - when: - - ansible_facts['services'][bigboot_named_chroot_service] is defined - block: - - name: Set named-chroot running state - ansible.builtin.set_fact: - bigboot_named_chroot_running: started - when: - - ansible_facts['services'][bigboot_named_chroot_service]['state'] == "running" - - - name: Set named-chroot enabled state - ansible.builtin.set_fact: - bigboot_named_chroot_enabled: true - when: - - ansible_facts['services'][bigboot_named_chroot_service]['status'] == "enabled" - - - name: Ensure named-chroot service is stopped and disabled - ansible.builtin.service: - name: "{{ bigboot_named_chroot_service }}" - state: stopped - enabled: false From 684c1bef51c05226181322733c3ed2ea4839b793 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Wed, 7 Aug 2024 10:17:05 -0400 Subject: [PATCH 65/69] cleanup and add code block --- bigboot_setup_environment.yml | 3 --- tasks/check_services.yml | 25 ++++++++++++++----------- vars/bigboot_vars.yml | 13 ++++--------- 3 files changed, 18 insertions(+), 23 deletions(-) diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index f3a84bf..e25562a 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -12,9 +12,6 @@ - name: Cleanup from any previous executions ansible.builtin.import_tasks: tasks/cleanup.yml - - name: Ensure service facts are available - ansible.builtin.service_facts: - - name: Check for services that require being disabled ansible.builtin.import_tasks: tasks/check_services.yml diff --git a/tasks/check_services.yml b/tasks/check_services.yml index 078c8c1..97cf2cc 100644 --- a/tasks/check_services.yml +++ b/tasks/check_services.yml @@ -1,4 +1,7 @@ --- +- name: Ensure service facts are available + ansible.builtin.service_facts: + - name: Capture a list of running services ansible.builtin.set_fact: bigboot_systemd_running_services: @@ -33,21 +36,21 @@ bigboot_services_disabled: "{{ bigboot_services_disabled | default([]) + [item] }}" loop: "{{ bigboot_incompatible_services }}" when: - - item not in bigboot_protected_services - ansible_facts['services'][item] is defined - ansible_facts['services'][item]['state'] == "running" - name: Log and disable services - ansible.builtin.include_tasks: tasks/disable_systemd_services.yml - loop: "{{ bigboot_services_disabled }}" - when: - - bigboot_services_disabled is defined - -- name: Services disabled notice - ansible.builtin.debug: - msg: >- - The following services were disabled, and will be re-enabled post - Bigboot execution: {{ bigboot_services_disabled | join(', ') }} when: - bigboot_services_disabled is defined - bigboot_services_disabled | length > 0 + block: + - name: Disable services and log their state + ansible.builtin.include_tasks: tasks/disable_systemd_services.yml + loop: "{{ bigboot_services_disabled }}" + + - name: Services disabled notice + ansible.builtin.debug: + msg: >- + The following services were disabled, and will be re-enabled post + Bigboot execution: {{ bigboot_services_disabled | join(', ') }} + diff --git a/vars/bigboot_vars.yml b/vars/bigboot_vars.yml index d7ac546..9947f3d 100644 --- a/vars/bigboot_vars.yml +++ b/vars/bigboot_vars.yml @@ -8,14 +8,6 @@ bigboot_reboot_timeout: 1800 bigboot_skip_rear_backup: false -bigboot_docker_service: docker.service -bigboot_docker_running: stopped -bigboot_docker_enabled: false - -bigboot_named_chroot_service: named-chroot.service -bigboot_named_chroot_running: stopped -bigboot_named_chroot_enabled: false - # Max value in minutes for services timeout threshold: bigboot_service_max_timeout: 5 @@ -29,6 +21,9 @@ bigboot_incompatible_services: # List of services which will be excluded from being # disabled during Bigboot execution: +# +# (Services listed in `bigboot_incompatible_services` +# will ALWAYS be disabled regardless if they are protected or not) bigboot_protected_services: - sshd.service - user@0.service @@ -36,7 +31,7 @@ bigboot_protected_services: - rhnsd.service - rhnsd - boksm.service - # - + - SplunkForwarder.service # Filename of disabled services log: bigboot_disabled_services_log: /var/ipe/ipu/el7to8/bigboot_disabled_services.log From 2a8ce9fa8919bced834a54302300dfce96e2159c Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Wed, 7 Aug 2024 10:51:40 -0400 Subject: [PATCH 66/69] task rename --- tasks/disable_systemd_services.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/disable_systemd_services.yml b/tasks/disable_systemd_services.yml index 0e8fcad..14f9301 100644 --- a/tasks/disable_systemd_services.yml +++ b/tasks/disable_systemd_services.yml @@ -6,7 +6,7 @@ state: "{{ (ansible_facts['services'][item]['state'] == 'running') | ternary('started', 'stopped') }}" status: "{{ (ansible_facts['services'][item]['status'] == 'enabled') | ternary('true', 'false') }}" -- name: Disabling service +- name: Disable and stop service ansible.builtin.service: name: "{{ item }}" state: stopped From 677ba57401714114f6d26728b3025b4db6e09ff0 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Wed, 7 Aug 2024 10:54:20 -0400 Subject: [PATCH 67/69] more task rename --- tasks/check_services.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tasks/check_services.yml b/tasks/check_services.yml index 97cf2cc..dd44d9e 100644 --- a/tasks/check_services.yml +++ b/tasks/check_services.yml @@ -21,7 +21,7 @@ register: bigboot_systemd_service_timeout loop: "{{ bigboot_systemd_running_services }}" -- name: Adding service to a list of services to disable for exceeding timeout threshold +- name: Adding services exceeding the timeout threshold to the list of services to disable ansible.builtin.set_fact: bigboot_services_disabled: "{{ bigboot_services_disabled | default([]) + [item['item']] }}" loop: "{{ bigboot_systemd_service_timeout['results'] }}" @@ -31,7 +31,7 @@ - item['item'] not in bigboot_protected_services - item['stdout'] | regex_replace('^.*=(.*$)', '\\1') | community.general.to_minutes >= bigboot_service_max_timeout | int -- name: Adding service to a list of services to disable for being incompatible +- name: Adding incompatible services to the list of services to disable ansible.builtin.set_fact: bigboot_services_disabled: "{{ bigboot_services_disabled | default([]) + [item] }}" loop: "{{ bigboot_incompatible_services }}" From 9f9a798d91018a03c182747108af56f75b66bd88 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Wed, 7 Aug 2024 10:57:30 -0400 Subject: [PATCH 68/69] more task rename; block remove --- bigboot_execute_resize.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/bigboot_execute_resize.yml b/bigboot_execute_resize.yml index a6f7b70..8da3313 100644 --- a/bigboot_execute_resize.yml +++ b/bigboot_execute_resize.yml @@ -10,12 +10,9 @@ tasks: - name: Perform filesystem check prior to Bigboot execution + ansible.builtin.import_tasks: tasks/grub_filesystem_check.yml when: - bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | default(false) | bool - block: - - name: Perform filesystem check prior to Bigboot execution - ansible.builtin.import_tasks: tasks/grub_filesystem_check.yml - - name: Extend the timeout values for physical hosts ansible.builtin.set_fact: From 035fc1b57cdb9ad630b9985ef9800138ef999ea1 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Mon, 19 Aug 2024 17:53:08 -0400 Subject: [PATCH 69/69] Add initial pre-checks --- bigboot_setup_environment.yml | 5 +++++ tasks/disable_systemd_services.yml | 6 +++--- tasks/pre-checks.yml | 29 +++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+), 3 deletions(-) create mode 100644 tasks/pre-checks.yml diff --git a/bigboot_setup_environment.yml b/bigboot_setup_environment.yml index e25562a..466f037 100644 --- a/bigboot_setup_environment.yml +++ b/bigboot_setup_environment.yml @@ -21,6 +21,11 @@ - name: Set logical volume information ansible.builtin.import_tasks: tasks/capture_lv_device_details.yml + - name: Run pre-checks to verify environment + ansible.builtin.import_tasks: tasks/pre-checks.yml + when: + - bigboot_execute_bigboot | bool + - name: Set environment for subsequent workflow nodes ansible.builtin.set_stats: aggregate: true diff --git a/tasks/disable_systemd_services.yml b/tasks/disable_systemd_services.yml index 14f9301..4c21418 100644 --- a/tasks/disable_systemd_services.yml +++ b/tasks/disable_systemd_services.yml @@ -1,18 +1,18 @@ --- -- name: Save service state +- name: "Save service state: {{ item }}" ansible.builtin.set_fact: bigboot_service_to_disable: service: "{{ ansible_facts['services'][item]['name'] }}" state: "{{ (ansible_facts['services'][item]['state'] == 'running') | ternary('started', 'stopped') }}" status: "{{ (ansible_facts['services'][item]['status'] == 'enabled') | ternary('true', 'false') }}" -- name: Disable and stop service +- name: "Disable and stop service: {{ item }}" ansible.builtin.service: name: "{{ item }}" state: stopped enabled: false -- name: Log disabled service state +- name: "Log disabled service state: {{ item }}" ansible.builtin.lineinfile: path: "{{ bigboot_disabled_services_log }}" line: "{{ item }},{{ bigboot_service_to_disable['state'] }},{{ bigboot_service_to_disable['status'] }}" diff --git a/tasks/pre-checks.yml b/tasks/pre-checks.yml new file mode 100644 index 0000000..759bc56 --- /dev/null +++ b/tasks/pre-checks.yml @@ -0,0 +1,29 @@ +--- +- name: Get /boot mount information + ansible.builtin.set_fact: + bigboot_boot_mount: "{{ ansible_facts.mounts \ + | selectattr('mount', 'equalto', '/boot') | first }}" + +- name: Set next partition after /boot + ansible.builtin.set_fact: + bigboot_next_device: "{{ bigboot_boot_mount['device'][:-1] }}{{ bigboot_boot_mount['device'][-1:] | int + 1 }}" + +- name: Capture partition information from fdisk + ansible.builtin.shell: + cmd: | + set -o pipefail + fdisk -l {{ bigboot_boot_mount['device'][:-1] }} | grep '{{ bigboot_next_device }}' + executable: /bin/bash + changed_when: false + failed_when: bigboot_fdisk_partition['rc'] not in [0, 141] + register: bigboot_fdisk_partition + +- name: Debug bigboot_fdisk_partition + ansible.builtin.debug: + var: bigboot_fdisk_partition + +- name: Assert that the partition following /boot is of type LVM + ansible.builtin.assert: + that: "'Linux LVM' in bigboot_fdisk_partition['stdout']" + success_msg: The partition following /boot is an LVM partition + fail_msg: The partition following /boot is NOT an LVM partition. Execution halted.