]
Stephane Bouchet updated JBIDE-27083:
-------------------------------------
Fix Version/s: 4.16.x
(was: 4.15.0.Final)
Process management for running odo cli instances
------------------------------------------------
Key: JBIDE-27083
URL:
https://issues.redhat.com/browse/JBIDE-27083
Project: Tools (JBoss Tools)
Issue Type: Enhancement
Components: openshift
Affects Versions: 4.14.0.Final
Reporter: Jeff MAURY
Assignee: Stephane Bouchet
Priority: Major
Fix For: 4.16.x
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