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.