I guess you need virsh.pool_define_as return a CmdResult even the command executed failed.

So, the ignore_status may be True. right?

And, the default value of ignore_status is True, so, I suggest drop it.