Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.3.2
-
None
Description
vcld will continuously and perpetually attempt to process a request under these conditions:
- Request state: inuse
- Request end time has been reached (request.end is in the past)
- Processes spawned fail to initialize
An example where this can occur is for a reservation assigned to a VM and the VM host provisioning object fails to initialize. state.pm::initialize calls reservation_failed. There is a condition in reservation_failed to check for the inuse state. If inuse, the request and computer states are always set back to inuse even after the request end time has been reached. As a result, the request stays in the database forever.
There is also no delay in between attempts because vcld sees the end time has been reached and immediately makes another attempt. This causes vcld.log to grow rapidly.