Skip to content

odo dev on podman and cluster cannot run simultaneously #6494

@valaparthvi

Description

@valaparthvi

/kind bug

What versions of software are you using?

Operating System:
Fedora 35
Output of odo version:
odo v3.5.0 (da9a9ef)

How did you run odo exactly?

  1. odo init --devfile go --name my-go-app --starter go-starter
  2. ODO_EXPERIMENTAL_MODE=true odo dev --platform podman wait for it to finish
  3. In another tab odo dev.

Actual behavior

Once odo dev starts, both the dev sessions continue to sync because of the changes in .odo/devstate.json and never reach a stable state.

Expected behavior

Both sessions should be able to run and reach a stable state.

Any logs, error output, etc?

I am not sure if this is a valid use case and if something like this is an ideal workflow but it still a nuisance as an odo developer when I want to build and test new features for both podman and cluster.

Acceptance criteria

  • PID is added to the content of the devstate file
  • Platform is added to the content of the devstate file
  • Forwarded Ports are added to the content of the devstate file
  • each odo dev session creates its own devstate.$PID.json file
  • the first odo dev session also creates a devstate.json file, for compatibility.
  • each odo dev session should check if devstate.json file exists and references a PID not existing, it deletes it; this helps in cleaning any file lying around when the previous process was kill(9)-ed. Same for all odo commands reading this file (odo describe component, ...)
  • odo describe component displays forwarded ports from all devstate.$PID.json files
  • odo describe component --platform <platform> displays forwarded ports from devstate.$PID.json file with platform=<platform>
  • odo dev can run only once per platform, exit if a devstate.$PID.json file with the platform already exists.

Metadata

Metadata

Assignees

Labels

area/devIssues or PRs related to `odo dev`area/odo-on-podmanIssues or PRs related to running odo against Podmanpriority/HighImportant issue; should be worked on before any other issues (except priority/Critical issue(s)).sprint demoIndicates an issue for which a demo should be recorded and presented at the end of the sprint.

Type

No type

Projects

Status

Done ✅

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions