We need to execute the provisioning in run phase so we can coordinate with other orchestration actions. Run phase should not use DB directly (based on Dynflow conventions) so I've chosen to look at it as external service and to use API. That way it won't present problems with resource locking or future replacement with rewritten host provisioning orchestration into Dynflow.