Your playbook IS printing an error when the disk is not defined. See below

On Sun, 7 Jun 2020 at 15:59, Rajesh <[email protected]> wrote:

> Hi all,
>
> The below playbook is not printing an error message when the disk is not
> defined on a host. Could you please advise if I have made an mistake in the
> playbook. Thanks
>
> - name: Create a partition
>   hosts: all
>   become: true
>   become_user: root
>   tasks:
>    - name: Gather disk info
>      parted:
>         device: /dev/sdb
>         unit: MB
>      register: device_info
>
>    - name: Print disk info
>      debug:
>        var: device_info
>
>    - name: Create partition
>      parted:
>        device: /dev/sdb
>        number: 1
>        part_start: 1MB
>        part_end: 1200MB
>        unit: MB
>        state: present
>      when: device_info.disk.size > 1200
>
>    - name: Print enough size is not available
>      debug:
>       msg: "Enough size is not available"
>      when: device_info.disk.size < 1200
>
>    - name: Create 800MB partition
>      parted:
>        device: /dev/sdb
>        number: 1
>        part_start: 1MB
>        part_end: 800MB
>        unit: MB
>        state: present
>      when: device_info.disk.size < 1200
>
>    - name: Create file system
>      filesystem:
>         device: /dev/sdb1
>         fstype: ext4
>         force: yes
>
>    - name: Create /exam directory
>      file:
>         path: /exam
>         state: directory
>         owner: root
>         group: root
>         mode: '0755'
>
>    - name: mount File system
>      mount:
>        path: /exam
>        src: /dev/sdb1
>        fstype: ext4
>        state: mounted
>
>    - name: No extra hard disk
>      debug:
>       msg: "No extra hard disk available"
>      when: ansible_devices.sdb is undefined
>
>
> $ ansible-playbook partition.yml
>
> PLAY [Create a partition]
> ******************************************************************************************************************************************************************************************************************
>
> TASK [Gathering Facts]
> *********************************************************************************************************************************************************************************************************************
> ok: [ansible2.example.com]
> ok: [ansible4.example.com]
> ok: [ansible3.example.com]
>
> TASK [Gather disk info]
> ********************************************************************************************************************************************************************************************************************
> fatal: [ansible4.example.com]: FAILED! => {"changed": false, "err":
> "Error: Could not stat device /dev/sdb - No such file or directory.\n",
> "msg": "Error while getting device information with parted script:
> '/sbin/parted -s -m /dev/sdb -- unit 'MB' print'", "out": "", "rc": 1}
>

^^^^here



> ok: [ansible3.example.com]
> ok: [ansible2.example.com]
>
> TASK [Print disk info]
> *********************************************************************************************************************************************************************************************************************
> ok: [ansible2.example.com] => {
>     "device_info": {
>         "changed": false,
>         "disk": {
>             "dev": "/dev/sdb",
>             "logical_block": 512,
>             "model": "ATA VBOX HARDDISK",
>             "physical_block": 512,
>             "size": 12885.0,
>             "table": "msdos",
>             "unit": "mb"
>         },
>         "failed": false,
>         "partitions": [
>             {
>                 "begin": 1.05,
>                 "end": 1200.0,
>                 "flags": [],
>                 "fstype": "ext4",
>                 "name": "",
>                 "num": 1,
>                 "size": 1199.0,
>                 "unit": "mb"
>             }
>         ],
>         "script": "unit 'MB' print"
>     }
> }
> ok: [ansible3.example.com] => {
>     "device_info": {
>         "changed": false,
>         "disk": {
>             "dev": "/dev/sdb",
>             "logical_block": 512,
>             "model": "ATA VBOX HARDDISK",
>             "physical_block": 512,
>             "size": 1074.0,
>             "table": "msdos",
>             "unit": "mb"
>         },
>         "failed": false,
>         "partitions": [
>             {
>                 "begin": 1.05,
>                 "end": 800.0,
>                 "flags": [],
>                 "fstype": "ext4",
>                 "name": "",
>                 "num": 1,
>                 "size": 799.0,
>                 "unit": "mb"
>             }
>         ],
>         "script": "unit 'MB' print"
>     }
> }
>
> TASK [Create partition]
> ********************************************************************************************************************************************************************************************************************
> skipping: [ansible3.example.com]
> ok: [ansible2.example.com]
>
> TASK [Print enough size is not available]
> **************************************************************************************************************************************************************************************************
> skipping: [ansible2.example.com]
> ok: [ansible3.example.com] => {
>     "msg": "Enough size is not available"
> }
>
> TASK [Create 800MB partition]
> **************************************************************************************************************************************************************************************************************
> skipping: [ansible2.example.com]
> ok: [ansible3.example.com]
>
> TASK [Create file system]
> ******************************************************************************************************************************************************************************************************************
> fatal: [ansible3.example.com]: FAILED! => {"changed": false, "cmd":
> "/sbin/mkfs.ext4 -F /dev/sdb1", "msg": "mke2fs 1.44.6
> (5-Mar-2019)\n/dev/sdb1 is mounted; will not make a filesystem here!",
> "rc": 1, "stderr": "mke2fs 1.44.6 (5-Mar-2019)\n/dev/sdb1 is mounted; will
> not make a filesystem here!\n", "stderr_lines": ["mke2fs 1.44.6
> (5-Mar-2019)", "/dev/sdb1 is mounted; will not make a filesystem here!"],
> "stdout": "", "stdout_lines": []}
> fatal: [ansible2.example.com]: FAILED! => {"changed": false, "cmd":
> "/sbin/mkfs.ext4 -F /dev/sdb1", "msg": "mke2fs 1.44.6
> (5-Mar-2019)\n/dev/sdb1 is mounted; will not make a filesystem here!",
> "rc": 1, "stderr": "mke2fs 1.44.6 (5-Mar-2019)\n/dev/sdb1 is mounted; will
> not make a filesystem here!\n", "stderr_lines": ["mke2fs 1.44.6
> (5-Mar-2019)", "/dev/sdb1 is mounted; will not make a filesystem here!"],
> "stdout": "", "stdout_lines": []}
>
> PLAY RECAP
> *********************************************************************************************************************************************************************************************************************************
> ansible2.example.com       : ok=4    changed=0    unreachable=0
> failed=1    skipped=2    rescued=0    ignored=0
> ansible3.example.com       : ok=5    changed=0    unreachable=0
> failed=1    skipped=1    rescued=0    ignored=0
> ansible4.example.com       : ok=1    changed=0    unreachable=0
> failed=1    skipped=0    rescued=0    ignored=0
>
> Regards,
> Rajesh
>
> --
> You received this message because you are subscribed to the Google Groups
> "Ansible Project" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/e36f43d4-558b-44b4-8f7c-fd6e793f472co%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/e36f43d4-558b-44b4-8f7c-fd6e793f472co%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
-- 
Sent from a mobile device - please excuse the brevity, spelling and
punctuation.

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/CAL8fbwPZsBvnd7nJ8jOsx9Z8Vq-as%3DZXmwUfzoyHVHkfR8mWKw%40mail.gmail.com.

Reply via email to