It seems not all calls to erase_data will be run. Once the OS drive is wiped none of the debug messages from the forked process end up in the response and it seems no subsequent drives will be wiped.
In my case there are two drives, sda and nvme0n1. sda contains the OS and nvme0n1 contains the image volume group. When the node is deleted sda is wiped correctly but nvme0n1 is not.
After deletion:
[root@bootstrap ~]# parted /dev/nvme0n1 print
Model: Unknown (unknown)
Disk /dev/nvme0n1: 400GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 25.2MB 25.1MB primary bios_grub
2 25.2MB 235MB 210MB primary boot
3 235MB 445MB 210MB ext2 primary boot
4 445MB 400GB 399GB primary lvm
If I modify the agent to exclude the device on which the OS resides then nvme0n1 is wiped correctly and all debug messages are logged.
I'm not exactly sure what's happening as it's hard to debug this with no log messages and the OS drive getting wiped. It seems like the problem is that once the OS drive is gone subsequent system() calls will fail as/bin/sh won't exist.
It seems not all calls to erase_data will be run. Once the OS drive is wiped none of the debug messages from the forked process end up in the response and it seems no subsequent drives will be wiped.
In my case there are two drives, sda and nvme0n1. sda contains the OS and nvme0n1 contains the image volume group. When the node is deleted sda is wiped correctly but nvme0n1 is not.
After deletion:
[root@bootstrap ~]# parted /dev/nvme0n1 print
Model: Unknown (unknown)
Disk /dev/nvme0n1: 400GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 25.2MB 25.1MB primary bios_grub
2 25.2MB 235MB 210MB primary boot
3 235MB 445MB 210MB ext2 primary boot
4 445MB 400GB 399GB primary lvm
If I modify the agent to exclude the device on which the OS resides then nvme0n1 is wiped correctly and all debug messages are logged.
I'm not exactly sure what's happening as it's hard to debug this with no log messages and the OS drive getting wiped. It seems like the problem is that once the OS drive is gone subsequent system() calls will fail as/bin/sh won't exist.