As an OpenShift engineer
I want to image change triggers to record their information BuildConfig status
So that eventually changes to ImageChange triggers in the BuildConfig spec do not cause builds to launch
As a developer using OpenShift to build images
I want to trigger a build when the base image of my application changes
So that bug fixes and security patches are applied to my application.
- Trigger information for BuildConfigs is recorded in spec as well as status.
- When a BuildConfig has an ImageChange trigger for its base image, a build is triggered when the base image is updated.
- A deprecation note is added to the lastImageChangedTriggerID field: https://github.com/openshift/api/blob/master/build/v1/types.go#L995
Release note should inform customers that the lastImageChangeTriggeredID field in the BuildConfig spec is deprecated, and will be ignored in OCP 4.9. Users relying on this information should update their scripts and jobs to read the triggered image ID from BuildConfig status.
Please see https://issues.redhat.com/browse/RHDEVDOCS-2738 for more details.
Blockers noted and expected delivery timelines set
Design is implementable
Acceptance criteria agreed upon
If lastImageTriggeredID is set to the empty string or nil, today this will trigger a build. By moving the data to status, we can ignore the lastImageTriggeredID field in spec in a future release. To give users proper notice, we are not going to remove the current behavior until a later release.
A deprecation notice will need to be added to the release notes upon completion.
Changes will be needed in the following:
3. openshift-controller-manager (build controller)
- Is this intended for an administrator, application developer, or other type of OpenShift user?
- What experience level is this intended for? New, experienced, etc.?
- Why is this story important? What problems does this solve? What benefit(s) will the customer experience?
- Is this part of a larger epic or initiative? If so, ensure that the story is linked to the appropriate epic and/or initiative.
- How should a customer use and/or configure the feature?
- Are there any prerequisites for using/enabling the feature?
- Is this a new feature, or an enhancement of an existing feature? If the latter, list the feature and docs reference.
- Are there any new terms, abbreviations, or commands introduced with this story? Ex: a new command line argument, a new custom resource.
- Are there any recommended best practices when using this feature?
- On feature completion, are there any known issues that customers should be aware of?