[[!comment format=mdwn
 username="joey"
 subject="""comment 1"""
 date="2018-07-20T15:54:17Z"
 content="""
That seems like a good plan to me, and nice use of the Conductor module.

Of course, `conducts` is a Property, not an IO action and presumably
so is `debootstrapTheChrootAndPackIntoQcow2File`,
so to check if the disk image exists, you'll instead
want to use the `check` combinator. Something like:

	& check (not <$> doesFileExist "/path/to/image.qcow2")
		debootstrapTheChrootAndPackIntoQcow2File theHost
	& check (doesFileExist "/path/to/image.qcow2")
		conducts [theHost] `requires` KVM.booted theHost

Perhaps the redundancy in that can be reduced with a new combinator
that chooses which action to run.

You may want to also delete the chroot once the disk image is built.

There could also be a minor gotcha with the Conductor module trying to
conduct the VM before it's gotten set up yet, at worst this would make
propellor display a warning.

Let me know if you need help with this, 
although I will next be available on July 30th.
"""]]
