-
Notifications
You must be signed in to change notification settings - Fork 112
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SHIP-22: add deprecation notice for implicit tekton workspace emptydir volumes #941
SHIP-22: add deprecation notice for implicit tekton workspace emptydir volumes #941
Conversation
assuming that is a registry flake |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/reject
SHIP-22 is covering a different deprecation: a build strategy author today can define a volumeMount
for any step which results in an emptyDir volume being implicitly added to the TaskRun/Pod. For example: https://github.com/shipwright-io/build/blob/main/samples/buildstrategy/source-to-image/buildstrategy_source-to-image_cr.yaml#L17-L19
The source is handled completely by shipwright. The build strategy author should not be required to define an emptyDir volume for it.
Ahh .... I had mentioned the code links in question where my TODO's currently are with @adambkaplan as part of one of our internal RH meetings where we plan our next assignments, and things were "OK'ed", but looks like something got lost in translation. Perhaps my elaborations in this PR's description reflected my degree of uncertainty with all this :-) thanks @SaschaSchwarze0 .... I'll circle back to your reference link and go from there. @adambkaplan - ^^ ..... I imagine @SaschaSchwarze0 is correct and we had a disconnect in planning and addressing my open questions, but of course chime in if you disagree. |
4ed5a62
to
e077c3b
Compare
ok I'm still trying to get confirmation with @adambkaplan on some details, but in the meantime I've taken a stab at resetting how we announce the deprecation @SaschaSchwarze0 if you get the chance let me know if we are on a better path, as well as any specific suggestions etc. on the new text. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In general I think I'm on the same page with @SaschaSchwarze0. It seems that this implicit behavior isn't well documented, so as a first step this PR should:
- Document the current behavior
- Indicate that this behavior will be replaced in a future release.
docs/buildstrategies.md
Outdated
@@ -66,6 +66,35 @@ The current supported namespaces BuildStrategy are: | |||
| [buildpacks-v3-heroku](../samples/buildstrategy/buildpacks-v3/buildstrategy_buildpacks-v3-heroku_namespaced_cr.yaml) | linux/amd64 only | | |||
| [buildpacks-v3](../samples/buildstrategy/buildpacks-v3/buildstrategy_buildpacks-v3_namespaced_cr.yaml) | linux/amd64 only | | |||
|
|||
## Notes on the API for BuildStrategies and ClusterBuildStrategies |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would put this towards the bottom of the article, titled "Volumes and Volume Mounts", and keep things simple. Something to the effect of:
## Volumes and VolumeMounts
Build steps can declare a `volumeMount`, which allows data in the provided path to be shared across build steps.
When a `volumeMount` is declared, Shipwright will create an `emptyDir` volume with the corresponding name.
Build steps whose volume mounts share the same name will share the same underlying `emtpyDir` volume.
In a future release, build strategy authors will be able to use other volume types for the volume mounts.
When this feature is introduced, the volume and volume type will need to be explicitly declared.
ok good
yep that is what I alluded to in my updated description and tried to address
yep I've attempted to do that
yep attempted to do that too |
d9651f2
to
da6f620
Compare
suggestions pulled in and squashed @adambkaplan |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice. Looks better now @gabemontero. ;-) May you run the generator to update the OpenAPI spec ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/approve
Just needs the CRD to be regenerated.
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: adambkaplan The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
make generate-crds output pushed as separate commit @SaschaSchwarze0 @adambkaplan thanks |
/hold I did the crd update with fedora .... need to redo that with my crd friendly ubuntu |
8b55b0f
to
54eb1e6
Compare
…e for strategy volume mounts
54eb1e6
to
cefb6cb
Compare
/hold cancel @SaschaSchwarze0 @adambkaplan the crd line break situation has been addressed PTAL |
wait a sec @SaschaSchwarze0 @adambkaplan .... still having verify issues ... will update when I've sorted them out. |
6719266
to
38a4409
Compare
ok it is all green now @SaschaSchwarze0 @adambkaplan with no preponderance of line breaks .... PTAL |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
Changes
Announce the deprecation of the implicit use of tekton workspace emptydir volumes for the git repo cited in the build source reference.
Per https://github.com/shipwright-io/community/blob/main/ships/0022-build-strategy-volumes.md#removing-a-deprecated-feature-if-necessary
Per our recent convention, @adambkaplan and I are of the understanding that we announce / "deprecate" in the current release (the upcoming v0.7.0), and then remove / replace with the full implementation of https://github.com/shipwright-io/community/blob/main/ships/0022-build-strategy-volumes.md in v0.8.0
/assign @adambkaplan
@SaschaSchwarze0 @sbose78 @imjasonh FYI (please assign yourselves as you see fit)
@adambkaplan - as you can tell from the PR, there was not much present to latch onto to announce the deprecation for my assignment here. In fact, I added to the API godoc to "reveal" the implicit use of Tekton's emptydir volume to volume mount mapping to lend context to the "deprecation" notice that followed. If there are spots where this implicit use of emptyDir is discussed in documentation that I have missed that you are aware of, please advise. I similarly added a new section in the build strategy markdown to first lend some context, then announce the deprecation.
/kind feature
Submitter Checklist
See the contributor guide
for details on coding conventions, github and prow interactions, and the code review process.
Release Notes