Andy Kurth created VCL-862:
------------------------------
Summary: Tag loaded image when request is reserved, inuse, or
modified in any way other than a normal reload
Key: VCL-862
URL: https://issues.apache.org/jira/browse/VCL-862
Project: VCL
Issue Type: Improvement
Components: vcld (backend)
Reporter: Andy Kurth
It would be beneficial to tag the OS of a loaded computer once a request enters
the reserved or inuse states. It would also be beneficial to tag a computer if
anything is done to the computer which would not be done for a normal,
non-cluster reservation. By tagging, I mean add something withing the
computer's OS indicating the state. The easiest way to do this would be to add
text to the _currentimage.txt_ file. We currently do this after the OS
module's _post_load_ subroutine has run.
The benefits would pertain to security and a consistent user experience. If
for some reason, a computer gets put back into the _available_ state that had
previously been reserved for a user but not fully sanitized or if the user
logged in, the computer should be reloaded before being reserved for another
user. This ordinarily wouldn't happen but is possible if one of the vcld
processes abruptly dies or if the database is manipulated.
Once a computer is reserved for a user, a line should be added to
_currentimage.txt_. It could simply be a timestamp and the word _reserved_.
If the computer is sanitized due to the user not acknowledging or connecting,
the user accounts should be removed. Once completely sanitized, the line
should be removed. If for any reason the computer isn't completely sanitized,
the line would remain. Future reservation processes would see this and reload
the computer.
The same would be true if the user connects. An _inuse_ line would be added to
_currentimage.txt_.
The code should also check if anything alters the computer which would not
ordinarily happen for a single-computer reservation such as cluster scripts
being run. For example, an image could be a child image for a cluster. A user
could make a reservation for the cluster image and something could be applied
to the to the child computer. If the user never acknowledges, the child
computer wouldn't be reloaded. It could be assigned to another cluster request
with different computers for a different user. Inconsistent results could
happen if the cluster scripts are run again.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)