redhat-developer / odo

odo - Developer-focused CLI for fast & iterative container-based application development on Podman and Kubernetes. Implementation of the open Devfile standard.
https://odo.dev
Apache License 2.0
777 stars 242 forks source link

Retain non-ephemeral volume data when a Dev Session is stopped and reuse it when starting anew #7100

Open rm3l opened 10 months ago

rm3l commented 10 months ago

/kind user-story /area dev

User Story

As an odo user, I want any dependencies downloaded for my project to not be lost when a Dev session is stopped, So that any subsequent odo dev sessions can start much faster (because my dependencies have already been downloaded previously).

For example, I have a pretty big Java project, that can take a lot of time to build if dependencies are not already in the local Maven repository cache. The Devfile for my project (e.g., java-maven) defines an m2 volume component (used to mount the local Maven repo), which in turn gets translated into a Kubernetes Persistent Volume Claim (PVC) by odo. This works fine as long as the Dev Session is running. Once it is stopped, all resources are deleted, including the m2 PVC. If I start a new Dev Session again, the build command would have to start over again by re-downloading all dependencies, which adds friction to the development experience on such projects.

This was highlighted as a potential pain point during a recent demo at a local meetup.

Acceptance Criteria

Links

/kind user-story

github-actions[bot] commented 7 months ago

A friendly reminder that this issue had no activity for 90 days. Stale issues will be closed after an additional 30 days of inactivity.

rm3l commented 6 months ago

/remove-lifecycle stale /lifecycle frozen