vscode-openshift-tools icon indicating copy to clipboard operation
vscode-openshift-tools copied to clipboard

Process management for running odo cli instances

Open dgolovin opened this issue 5 years ago • 1 comments

From @jeffmaury.

While working on the odo based explorer to JBoss Tools, I noticed that we are starting long running process and those processes are not managed / controlled once launched. I think we should do and I will explain my proposition. The long processes are the following:

  • watch
  • follow log
  • debug

Less critical , we also have describe, list services and component and in general each time we launch odo in a terminal. This is less critical because they are less long living. The problem that we have is:

  • we should stop them when context is switched
  • we should stop them when tooling stops (seems VSCode is handling that properly)
  • we should stop them when we undeploy/delete a component

Another plus is that managing them will prevent multiple executions of the same task and control of state for the debug.

Here is my proposition: each time we start a long running process we keep it at the OdoCli (for JBoss Tools / IJ) level in a map that is keyed by project / application / component / action-type. Then, we can:

  • while processing delete / undeploy, scan the map to find proper processes to stop
  • while processing debug we can check that debug is already running or not
  • for cleanup before tooling exit or context switch we should add a reset method (this is required btw for proxy support as we need to recompute the HTTPS_PROXY env variable that will be passed to future odo executions

dgolovin avatar Mar 03 '20 06:03 dgolovin

to check if there is a debug session already active, odo now has odo debug info command which gives information on an already running session. We have the json output PR in review https://github.com/openshift/odo/pull/2653

girishramnani avatar Mar 16 '20 21:03 girishramnani