Retain non-ephemeral volume data when a Dev Session is stopped and reuse it when starting anew #7100
Description
/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
-
odo dev
should retain data from non-ephemeral volumes defined in the Devfile and reuse such volumes across Dev sessions
Links
- Related Epic (mandatory):
/kind user-story
Metadata
Assignees
Labels
Type
Projects
Status
No status