Compare commits
No commits in common. "05ad0d4c364d1a98084170951d180a9b44637c62" and "8beb34f55359a7fc0ac62e9b48197c350f1a6daf" have entirely different histories.
05ad0d4c36
...
8beb34f553
@ -5,4 +5,3 @@ skip_list:
|
|||||||
- no-changed-when
|
- no-changed-when
|
||||||
- run-once[play]
|
- run-once[play]
|
||||||
- name[template]
|
- name[template]
|
||||||
- jinja[spacing]
|
|
||||||
|
@ -11,13 +11,42 @@
|
|||||||
tasks:
|
tasks:
|
||||||
- name: Perform service and filesystem checks prior to Bigboot execution
|
- name: Perform service and filesystem checks prior to Bigboot execution
|
||||||
when:
|
when:
|
||||||
- bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | default(false) | bool
|
- (bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] | bool
|
||||||
|
or bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool)
|
||||||
block:
|
block:
|
||||||
- name: Check for and disable services exceeding the timeout threshold
|
- name: Check for and disable services exceeding the timeout threshold
|
||||||
ansible.builtin.import_tasks: tasks/check_systemd_services.yml
|
ansible.builtin.import_tasks: tasks/check_systemd_services.yml
|
||||||
|
|
||||||
- name: Perform filesystem check prior to Bigboot execution
|
- name: Services disabled notice
|
||||||
ansible.builtin.import_tasks: tasks/grub_filesystem_check.yml
|
ansible.builtin.debug:
|
||||||
|
msg: >-
|
||||||
|
The following services were disabled, and will be re-enabled post
|
||||||
|
Bigboot execution:
|
||||||
|
|
||||||
|
{{ bigboot_systemd_disabled_services | 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
|
||||||
|
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
|
- name: Extend the timeout values for physical hosts
|
||||||
@ -45,16 +74,16 @@
|
|||||||
when:
|
when:
|
||||||
- bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool
|
- bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool
|
||||||
|
|
||||||
- name: Ensure service facts are available
|
- name: Get the list of services on the host
|
||||||
ansible.builtin.service_facts:
|
ansible.builtin.service_facts:
|
||||||
|
|
||||||
- name: Restore Docker service to its pre-Bigboot state
|
- name: Re-enabling Docker service
|
||||||
ansible.builtin.service:
|
ansible.builtin.service:
|
||||||
name: "{{ bigboot_docker_service }}"
|
name: docker.service
|
||||||
state: "{{ bigboot_data[inventory_hostname]['bigboot_docker_running'] }}"
|
state: started
|
||||||
enabled: "{{ bigboot_data[inventory_hostname]['bigboot_docker_enabled'] }}"
|
enabled: true
|
||||||
when:
|
when:
|
||||||
- ansible_facts['services'][bigboot_docker_service] is defined
|
- "'docker.service' in ansible_facts['services']"
|
||||||
|
|
||||||
- name: Re-enabling services previously disabled
|
- name: Re-enabling services previously disabled
|
||||||
ansible.builtin.service:
|
ansible.builtin.service:
|
||||||
|
@ -1,6 +1,22 @@
|
|||||||
---
|
---
|
||||||
|
- 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
|
- name: Perform a ReaR backup before the /boot expansion
|
||||||
ansible.builtin.import_playbook: rhc.rear.rear_backup
|
ansible.builtin.import_playbook: rhc.rear.rear_backup
|
||||||
when:
|
when:
|
||||||
- bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | default(false) | bool
|
- (bigboot_data[inventory_hostname]['bigboot_execute_shrink_lv'] | bool
|
||||||
- not rear_backup_skip | default(false) | bool
|
or bigboot_data[inventory_hostname]['bigboot_execute_bigboot'] | bool)
|
||||||
|
- not bigboot_rear_backup_skip | default(false) | bool
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
---
|
|
||||||
- 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'] | default(false) | bool
|
|
||||||
- not rear_backup_skip | default(false) | bool
|
|
||||||
|
|
@ -12,18 +12,29 @@
|
|||||||
- name: Cleanup from any previous executions
|
- name: Cleanup from any previous executions
|
||||||
ansible.builtin.import_tasks: tasks/cleanup.yml
|
ansible.builtin.import_tasks: tasks/cleanup.yml
|
||||||
|
|
||||||
- name: Stop and disable the Docker service if present and running
|
- name: Get the list of services on the host
|
||||||
ansible.builtin.import_tasks: tasks/disable_docker_service.yml
|
ansible.builtin.service_facts:
|
||||||
|
|
||||||
- name: Set boot device details
|
- 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
|
ansible.builtin.import_tasks: tasks/capture_boot_device_details.yml
|
||||||
|
|
||||||
- name: Set logical volume information
|
- name: Capture logical volume information
|
||||||
ansible.builtin.import_tasks: tasks/capture_lv_device_details.yml
|
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
|
- name: Set environment for subsequent workflow nodes
|
||||||
ansible.builtin.set_stats:
|
ansible.builtin.set_stats:
|
||||||
aggregate: true
|
|
||||||
data:
|
data:
|
||||||
bigboot_data: "{{ bigboot_data | default({}) |
|
bigboot_data: "{{ bigboot_data | default({}) |
|
||||||
combine({inventory_hostname:
|
combine({inventory_hostname:
|
||||||
@ -32,12 +43,15 @@
|
|||||||
'bigboot_execute_shrink_lv': bigboot_execute_shrink_lv,
|
'bigboot_execute_shrink_lv': bigboot_execute_shrink_lv,
|
||||||
'bigboot_adjacent_lvm_device': bigboot_adjacent_lvm_device,
|
'bigboot_adjacent_lvm_device': bigboot_adjacent_lvm_device,
|
||||||
'bigboot_lv_shrink_size': bigboot_lv_shrink_size | int,
|
'bigboot_lv_shrink_size': bigboot_lv_shrink_size | int,
|
||||||
'bigboot_size': bigboot_size,
|
'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
|
|
||||||
}
|
}
|
||||||
}) }}"
|
}) }}"
|
||||||
|
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
|
||||||
|
- not bigboot_rear_backup_skip | default(false) | bool
|
||||||
|
|
||||||
...
|
...
|
||||||
|
@ -28,13 +28,4 @@
|
|||||||
label: "{{ item['item'] }}"
|
label: "{{ item['item'] }}"
|
||||||
when:
|
when:
|
||||||
- item['item'] not in bigboot_protected_services
|
- item['item'] not in bigboot_protected_services
|
||||||
- item['stdout'] | regex_replace('^.*=(.*$)', '\\1') | community.general.to_minutes >= bigboot_service_max_timeout | int
|
- item['stdout'] | regex_replace('^.*=(.*$)', '\\1') | community.general.to_minutes > bigboot_service_max_timeout
|
||||||
|
|
||||||
- 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
|
|
||||||
|
@ -29,16 +29,4 @@
|
|||||||
path: "/boot/initramfs-{{ initramfs_kernel_version }}.img.{{ initramfs_backup_extension }}"
|
path: "/boot/initramfs-{{ initramfs_kernel_version }}.img.{{ initramfs_backup_extension }}"
|
||||||
state: absent
|
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
|
|
||||||
|
|
||||||
...
|
...
|
||||||
|
@ -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
|
|
@ -9,13 +9,3 @@
|
|||||||
ansible.builtin.set_fact:
|
ansible.builtin.set_fact:
|
||||||
bigboot_systemd_disabled_services:
|
bigboot_systemd_disabled_services:
|
||||||
"{{ bigboot_systemd_disabled_services | default([]) + [item['item']] }}"
|
"{{ bigboot_systemd_disabled_services | default([]) + [item['item']] }}"
|
||||||
|
|
||||||
- name: Log disabled service to log file
|
|
||||||
ansible.builtin.lineinfile:
|
|
||||||
path: "{{ bigboot_disabled_services_log }}"
|
|
||||||
line: "{{ item['item'] }}"
|
|
||||||
create: true
|
|
||||||
state: present
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: "0600"
|
|
||||||
|
@ -1,30 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Enable Grub filesystem check
|
|
||||||
ansible.builtin.import_role:
|
|
||||||
name: autofsck
|
|
||||||
tasks_from: main.yml
|
|
||||||
|
|
||||||
- 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.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 to remove Grub parameters for fsck
|
|
||||||
ansible.builtin.meta: flush_handlers
|
|
@ -1,9 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Create list of IP addresses and hostnames
|
|
||||||
ansible.builtin.set_fact:
|
|
||||||
client_ips: "{{ item['value']['ip_addresses'] | list | flatten }}"
|
|
||||||
namehost: "{{ item['value']['server_hostname'] }}"
|
|
||||||
|
|
||||||
- name: Include NFS export role
|
|
||||||
ansible.builtin.include_role:
|
|
||||||
name: rhc.rear.say_hi
|
|
@ -8,10 +8,6 @@ bigboot_reboot_timeout: 1800
|
|||||||
|
|
||||||
bigboot_skip_rear_backup: false
|
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:
|
# Max value in minutes for the timeout threshold:
|
||||||
bigboot_service_max_timeout: 5
|
bigboot_service_max_timeout: 5
|
||||||
|
|
||||||
@ -24,6 +20,3 @@ bigboot_protected_services:
|
|||||||
- rhnsd.service
|
- rhnsd.service
|
||||||
- rhnsd
|
- rhnsd
|
||||||
- boksm.service
|
- boksm.service
|
||||||
|
|
||||||
# Filename of disabled services log:
|
|
||||||
bigboot_disabled_services_log: /root/bigboot_disabled_services.log
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user