On 1/22/21 5:29 PM, j..r.. wrote:
> Hi
>
> I would like to create report for free partition size under "ansible_mounts"
>
> "ansible_mounts": [
> {
> "block_available": 3911145,
> "block_size": 4096,
> "block_total": 4452864,
> "block_used": 541719,
> "device": "/dev/mapper/vg_root-lv_root",
> "fstype": "xfs",
> "inode_available": 8871855,
> "inode_total": 8910848,
> "inode_used": 38993,
> * "mount": "/", *
> "options": "rw,seclabel,relatime,attr2,inode64,noquota",
> *"size_available": 16020049920, *
> "size_total": 18238930944,
> "uuid": "e2968252-bcd8-45ac-9604-714aa932deb9"
> },
> {
> "block_available": 222270,
> "block_size": 4096,
> "block_total": 259584,
> "block_used": 37314,
> "device": "/dev/sda1",
> "fstype": "xfs",
> "inode_available": 523988,
> "inode_total": 524288,
> "inode_used": 300,
> * "mount": "/boot", *
> "options": "rw,seclabel,relatime,attr2,inode64,noquota",
> *"size_available": 910417920, *
> "size_total": 1063256064,
> "uuid": "bcce38b2-0c6c-44aa-99be-20e3553d23ee"
>
>
> how can I get variables for /, /var /boot and other partitions and create report like this in a file:
> root: 10GB free
> /boot: 800MB free
> /var: 2GB free
>
> Thanks
- copy:
content: |
{% for mt in ansible_mounts %}
{{ mt.mount }}: {{ ( mt.size_available / ( 1024 | pow(3))) | round(2) }} GB free
{% endfor %}
dest:
/tmp/freespace.txt
This creates a report in /tmp/freespace.txt with the GB values with two decimal spaces.
Distinguishing between GB and MB would be a bit more complicated.
Regards
Racke
--
Ecommerce and Linux consulting + Perl and web application programming.
Debian and Sympa administration. Provisioning with Ansible.