Nova supports using the websockify -record functionality to capture frames sent over arbitrary console sessions. am that is an overstatement of novas capablity. you may be able to use -record but that is not a deliberate feature that we support as far as i am aware. we do not have a rest api for this functionality so ist not consumable by non admins that dont have access to the host.
On Thu, 2020-09-03 at 19:11 +0000, Apsey, Christopher wrote: the capability is really an implematnion detail that is not well deocumented and not part fo the public api. so i would not frame it as nova supports this usecase more that the config option was just added when nova-novncproce was brought back into nova in https://github.com/openstack/nova/commit/13871ad4f39361531dff1abd7f925736986... its proably something that never should have existed in the nova tree. suspect it was added by the novnc folks when the nova novncproxy code was in the novnc repo and it was included in our repo to have parity when we imported it. so its an option that still exits but i like me im sure its news to others and i dont think its something we would want to continue to support in its current form.
Currently, the record = path/to/file option in nova.conf saves these sessions on nova-(spice|vnc)proxy endpoints at the specified path in the format of /path/to/file.(session number). These session numbers appear to be incrementally created starting from 1 and don't really have an association with their respective instance from what I can tell. It would be useful to have these files saved using the instance UUID instead. you are refering to this options https://docs.openstack.org/nova/latest/configuration/config.html#DEFAULT.rec... https://github.com/openstack/nova/blob/master/nova/conf/novnc.py#L19-L24
i assume that you would prefer that instead of recoding the info via session id it was using the instace uuid or a combination of both for simple correalation. im more of thet mind that now that we have observed this still exists we proably should deprecated it and remove it rather then enhance it
Ignoring that minor problem, playing back these files is a challenge. I've tried using noVNCs vnc_playback.html function from both the master branch and stable/v0.6 with no luck - it looks like the libraries and the utilities haven't been maintained at the same cadence and there are missing functions that the player is expecting.
My goal here is to be able to capture the activities of students as they progress through various exercises and then have instructors be able to go over their work with them after the fact if they have questions. Has anyone been able to do this (or something like this) successfully, or are we just better off trying to do this in-band per instance?
i would suggest doing it in band. it is an interesting usecase ill admit but im not trilled by the idea of having files recored to the novncproxy host that are never cleaned up. this is off by default so its not a security risk but other wise it could be a vector to fill the disk of the contoler or novnc proxy host. if we were to properly support this in nova i would want to see a way to enabel or disable this per instace at the api level an retrive the files possible storing them to swift or something periodicly at a given size or time interval. i certenly would want to see size limit and session limits per instance before considering it supported for production use.
Chris Apsey GEORGIA CYBER CENTER