Skip to content

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

Open
@rm3l

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

No one assigned

    Labels

    area/devIssues or PRs related to `odo dev`kind/user-storyAn issue of user-story kindlifecycle/frozenIndicates that an issue or PR should not be auto-closed due to staleness.needs-triageIndicates an issue or PR lacks a `triage/*` and requires one.

    Type

    No type

    Projects

    • Status

      No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions