redhat-developer / redhat-developer/vscode-openshift-tools

Process management for running odo cli instances

Open
#1,425 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Epic priority/major
Dominant language
TypeScript
Stars
123
Forks
63
Avg merge
6h 16m
Merged PRs (30d)
74

Description

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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the OdoCli process-management entry point and trace how watch, follow log, and debug processes are launched, then review delete, undeploy, context-switch, and tooling-exit handling. The work is done when long-running processes are tracked by project, application, component, and action type, prevented from duplicating, and stopped or reset during the listed lifecycle events.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript, vscode
Domain
cli, devtools
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.