This appears buggy.  We have two logical causes for the workaround:

1. The node has facts, but they either do not include `is_virtual`, or `is_virtual` is not false.
2. The user set `sanboot` to a truthy value in the node metadata.

This implements instead, "the node has facts and (is_virtual logic, or sanboot metadata)"