1. A computer-implemented method comprising: providing configuration information from a provisioning server over a network to a plurality of virtual machines at one or more target machines, wherein the configuration information comprises a task for a provisioning process that provisions software on the plurality of virtual machines; causing the task from the configuration information to be performed during the provisioning process for a virtual machine among the plurality of virtual machines; receiving a status message at the provisioning server from the virtual machine over the network, wherein the status message indicates an occurrence of an event within the virtual machine during the provisioning process, wherein the event comprises an error that causes the provisioning process to stall or terminate before completion of the provisioning process, and wherein the status message comprises details of the error; parsing, by a processor at the provisioning server, the details of the error to extract a status of the provisioning process within the virtual machine, wherein the status indicates the error in the provisioning process within the virtual machine; and generating a notification message to notify a user of the status of the provisioning process within the virtual machine, wherein the notification message is generated at determined intervals during the provisioning process within the virtual machine.