Since the whole Kubernetes scene is so much in flux, it's quite hard to keep up with everything and still maintain a somewhat stable cluster.
A couple of weeks after Kubespray releases a new version, I find myself needing a lot of stuff that's only available in master, forcing me back to master and its logical instability.
I therefor propose the following change to the current release management:
Example for new minor/major release:
Branch 2.8 (or 2_8, ...) is created from master
All incompatible/breaking/crazy stuff keep pouring into master.
Branch 2.8 only receives stability/bugfixes
In the meantime v2.7.x get tagged from branch 2_7, only getting minor fixes or bugfix releases from included components ( Kubernetes v1.11.2 to v1.11.3, Ingress 0.17.0 to 0.17.1, .. )
NEW RELEASE:
It is decided that 2_8 is stable enough.
* rinse and repeat *
To keep maintenance burden low, only the latest stable branch and the one before for example could be supported ( When v2.9.0 is tagged, 2.7 is no longer maintained).
This all allows me for example, to switch to 2.8 and get the 'newer' stuff, while avoiding the wild changes happening in master.
What'ya say?
+1
Very nice.
We're developing this TK8 tool:
https://github.com/kubernauts/tk8
Which pulls a stable kubespray branch from a clone here:
https://github.com/kubernauts/kubespray/tree/version-0-4
It would be very helpful to use the suggested tag schema as proposed here.
+1
+1
+1
What could help in the short-term is to let open the release branches, so the community could do PR on them when necessary.
I'd personally not commit to maintaining more than 1 release, unless a contributor wants to cherry-pick and test releases. It's already complex to keep-up with the flow.
In your flow, releases are delayed from master by 1 cycle.
2.8 tagged from branch 2.8 that received only bugfixes/no-major changes since 2.7
If 2.8 is deployed, it will be equivalent of deploying master from ~60-90 days ago. To get what's on master we'll have to wait until the next release. This delay will raise maintenance and complexity in investigating and fixing issues .
One current problem is that there is no easy way to propose fixes on a release.
Keeping the release branch open would allow to receive PR on it, so we can release patched version more often
Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale
Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle rotten
Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close
@fejta-bot: Closing this issue.
In response to this:
Rotten issues close after 30d of inactivity.
Reopen the issue with/reopen.
Mark the issue as fresh with/remove-lifecycle rotten.Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.
Most helpful comment
What could help in the short-term is to let open the release branches, so the community could do PR on them when necessary.
I'd personally not commit to maintaining more than 1 release, unless a contributor wants to cherry-pick and test releases. It's already complex to keep-up with the flow.
In your flow, releases are delayed from master by 1 cycle.
If 2.8 is deployed, it will be equivalent of deploying master from ~60-90 days ago. To get what's on master we'll have to wait until the next release. This delay will raise maintenance and complexity in investigating and fixing issues .
One current problem is that there is no easy way to propose fixes on a release.
Keeping the release branch open would allow to receive PR on it, so we can release patched version more often
~stability/bugfixes~: only security fixes and major issues from on of the components. and get tagged 2.7.x