check_disk_space_pre_upgrade¶
About The Role¶
An Ansible role to check that the partitioning schema on the host(s) has enough free space to perform an upgrade.
Requirements¶
No requirements.
Dependencies¶
No dependencies.
Example Playbook¶
- hosts: localhost
  gather_facts: false
  vars:
    volumes:
      - { mount: /home, min_size: 25 }
      - { mount: /, min_size: 50 }
  roles:
    - check_disk_space
License¶
Apache
Full Description¶
Role Documentation¶
Welcome to the ‘check_disk_space’ role documentation.
Role Defaults¶
This section highlights all of the defaults and variables set within the ‘check_disk_space’ role.
# Volumes partitioning schema
# A list of dictionary.ies containing:
# - mount point(s)
# - min_size (Minimum free space required in GB)
volumes:
- {mount: /var/lib/docker, min_size: 10}
- {mount: /var/lib/config-data, min_size: 3}
- {mount: /var/log, min_size: 3}
- {mount: /usr, min_size: 5}
- {mount: /var, min_size: 20}
- {mount: /, min_size: 25}
Molecule Scenarios¶
Molecule is being used to test the ‘check_disk_space’ role. The following section highlights the drivers in service and provides an example playbook showing how the role is leveraged.
- Driver: podman:
 
Scenario: default¶
Molecule Platform(s)¶
- name: centos
  hostname: centos
  image: centos/centos:stream8
  registry:
    url: quay.io
  dockerfile: ../../../../../.config/molecule/Dockerfile
  pkg_extras: python*-setuptools python*-pyyaml
  volumes:
  - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
  privileged: true
  environment:
    http_proxy: "{{ lookup('env', 'http_proxy') }}"
    https_proxy: "{{ lookup('env', 'https_proxy') }}"
  ulimits:
  - host
Molecule Inventory¶
hosts:
  all:
    hosts:
      centos:
        ansible_python_interpreter: /usr/bin/python3
Example default playbook¶
- name: Converge
  hosts: all
  gather_facts: false
  vars:
    volumes:
    - {mount: /var, min_size: 20}
    - {mount: /, min_size: 150}
  tasks:
  - block:
    - include_role:
        name: check_disk_space
    rescue:
    - name: Clear host errors
      meta: clear_host_errors
    - debug:
        msg: The validation works! End the playbook run
    - name: End play
      meta: end_play
  - name: Fail the test
    fail:
      msg: |
        The validation did not detect a too small disk space