-
Story
-
Resolution: Unresolved
-
Major
-
None
-
None
Story (Required)
As a cluster trying to upgrade Builds for OpenShift I want a version migrator job to be run on upgrade so that the `v1alpha1` API is no longer present in etcd storage.
<Describes high level purpose and goal for this story. Answers the questions: Who is impacted, what is it and why do we need it? How does it improve the customer’s experience?>
Background (Required)
<Describes the context or background related to this story>
In shipwright-io/build#1603, a version migration script was added to the install/upgrade instructions. This script launches a kubernetes Job that ensures all existing Shipwright Build objects use the v1beta1 API.
Out of scope
<Defines what is not included in this story>
- Upstream scope only - running this downstream is out of scope.
Approach (Required)
<Description of the general technical path on how to achieve the goal of the story. Include details like json schema, class definitions>
TBD - recommended approach for testing:
1. Install Builds for OpenShift 1.2. Upstream equivalent would be Shipwright 0.13 operator.
2. Create test Build + BuildRun objects
3. Upgrade to Builds 1.4 (candidate) with version migrator script running. Upstream equivalent would be Shipwright 0.15 operator (if implemented).
Dependencies
<Describes what this story depends on. Dependent Stories and EPICs should be linked to the story.>
- Script/process for running the version migrator
.
Acceptance Criteria (Mandatory)
<Describe edge cases to consider when implementing the story and defining tests>
<Provides a required and minimum list of acceptance tests for this story. More is expected as the engineer implements this story>
- Upgrade from Builds 1.2 -> 1.3 -> 1.4 succeeds.
- Build objects created in 1.2 with `v1alpha1` API still work with Builds 1.4
INVEST Checklist
Dependencies identified
Blockers noted and expected delivery timelines set
Design is implementable
Acceptance criteria agreed upon
Story estimated
Legend
Unknown
Verified
Unsatisfied
Done Checklist
- Code is completed, reviewed, documented and checked in
- Unit and integration test automation have been delivered and running cleanly in continuous integration/staging/canary environment
- Continuous Delivery pipeline(s) is able to proceed with new code included
- Customer facing documentation, API docs etc. are produced/updated, reviewed and published
- Acceptance criteria are met