Can we guard against an empty appliance_provisioning key here? with a cfme_data.get(xxx, None) or something similar? Hopefully it should then return nothing and the loop will never occur.