Uploaded image for project: 'OpenShift Builds'
  1. OpenShift Builds
  2. BUILD-273

Shipwright Build Strategy Volumes

XMLWordPrintable

    • Sprint 214, Sprint 216, Sprint 217, Sprint 218

      User Story

      As a build strategy author
      I want to declare volumes that are used in my build steps
      So that I can share information across build steps

      As a developer
      I want to use persistent volumes with my build strategies
      So that I can cache information between build runs

      Acceptance Criteria

      • Strategy authors can declare volumes in their build strategies
      • Builds use volumes if the build strategy supports it
      • Developers can override the volume source if the build strategy supports it (ex - use PVCs)
      • Samples are updated to no longer use the emptyDir approach (some samples are tested in CI, others aren't)
      • CI testing verifies the following scenarios:
        • BuildStrategy has a volume that can have an override (replace emptyDir with PVC)
        • BuildStrategy has a volume that can't have an override (must use emptyDir)

      Docs Impact

      Upstream documentation only. We will need the following:

      1. Release note announcing that the implicit creation of emptyDir volumes has been removed.
      2. Update API godoc describing the new behavior.
      3. Update build strategy and Build/BuildRun reference docs in GitHub describing the new API (with usage examples).

      QE impact

      None - upstream work only

      PX Impact

      None - upstream work only

      Notes

      There is a lot of interdependent work here that will need to land in one "big" PR. Ideas on how to ensure the PR is on track:

      1. Check core implementation - works with unit tests
      2. Check updates to samples to get e2e tests happy
      3. Check updates to docs (in PR or in a separate PR)
      4. Check updates to samples not tested in CI (separate PR)

      SHIP-0022 documents the implementation  ... as of Nov 3, PR https://github.com/shipwright-io/community/pull/23 is tagged for merge, but giving some tagged community members 1 more day for comments before merging

      Open Questions

      1. "The volumes will declare a default source for the underlying filesystem" ..... would like to clarify what is meant / intended there exactly? Build strategy declares the default volume source for the PodSepc, for example declare the volume to use `emtpyDir` by default. The intent is that in a Build or BuildRun the volume source can be changed to use another volume source type, such as a PersistentVolumeClaim.
      2. Implicit emptyDir volumes - this capability was deprecated in v0.7.0 (or v0.8.0), was removed.

              irum@redhat.com Alice Rum (Inactive)
              adkaplan@redhat.com Adam Kaplan
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: