(2) I would also like to understand how resources are
deprovisioned. What happens when a provisioned resource's allocated
time has lapsed? Are there any plans for an implementation of an
official deprovisioning process (e.g.,
Deprovisioning already happens and is handled by reclaim.pm. The
process depends on whether or not a user logged into the computer,
which can be determined by the value of request.laststate.
If a user logged in, the computer needs to be completely reloaded.
You'll know this if request.laststate = "inuse". If reclaim.pm
detects this, it inserts a reload request for the computer into the
database and exits.
If reclaim.pm sees that request.laststate is not "inuse", it means
the user never logged in and it's safe to attempt to sanitize the
computer without reloading it. reclaim.pm will call the OS module's
sanitize() subroutine. If successful, the computer state is set to
available and can be used for another reservation. If sanitize()
fails, reclaim.pm inserts a reload request into the database and exits.
Hope this helps,
I would like to revisit this discussion. I believe I understand how
this is applicable when physical resources are being provisioned. Does
the same hold true for virtual resources? It seems that once a VM is
provisioned through the vmware or esx modules, that it would persist
indefinitely either via reloading or sanitization for as long as it's
host system is up and running, waiting for another user to "claim" it.
I haven't observed a case where a provisioned virtual resource's
lifecycle actually comes to an end.