openflighthpc / flight-desktop

Manage interactive GUI desktop sessions
Eclipse Public License 2.0
0 stars 2 forks source link

Uninstalling packages can result in desktop incorrectly assuming a desktop type is verified #26

Open benarmston opened 4 years ago

benarmston commented 4 years ago

To reproduce:

  1. Launch a new cluster without support for, say, xfce.
  2. Run desktop verify xfce. Notice that it isn't verified.
  3. Run desktop prepare xfce.
  4. Run desktop verify xfce. Notice that it is now verified.
  5. Run desktop start xfce. Notice that this is successful and the desktop can be connected to over VNC.
  6. Remove the xfce group installed in (3), e.g., yum groupremove Xfce
  7. Run desktop verify xfce. Notice that it still claims to be verified.
  8. Run desktop start xfce. Notice that the desktop does not start and cannot be connected to over VNC.

There is very little output in (8) to suggest that the desktop is not available / has not actually started. This lack of error reporting / detection is also present in the webapp. The user is told that the desktop session has started, but connecting to it fails and then the desktop session simply vanishes.

We should:

  1. Better detect if a desktop session fails to start and report this to the user.
  2. Add a --force option to the verify command, e.g., desktop verify --force xfce. Which skips/removes/recreates the "verified cache" file and reruns the verify script.

With those done we could either:

  1. Educate engineers/admins that after removing certain packages they are expected to run desktop verify --force.
  2. Add some smarts to the desktop start command that if the desktop fails to start desktop verify --force should be ran. Perhaps this should be presented as a suggestion to the user rather than running it.