The machine should be powered on and the SSH service should be up and running and the Control Panels SSH key for the OnApp user not removed. As recipes run via SSH if the connection via SSH is lost, the recipe execution will fail.
This means a recipe would fail if a server was rebooted whilst it was executing, even if the reboot was executed by the recipe.
On the Unix-based systems, the connection to a server and the running of the recipe is performed by the 'root' user. For Windows-based VSs, the 'SvcCOPSSH' user or 'Administrator' user is performing these tasks.
You should ensure these users has the permissions to perform the action you desire.