Skip to content

Next CAPC release: v0.4.9 #311

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

Closed
rohityadavcloud opened this issue Sep 4, 2023 · 12 comments
Closed

Next CAPC release: v0.4.9 #311

rohityadavcloud opened this issue Sep 4, 2023 · 12 comments
Assignees
Milestone

Comments

@rohityadavcloud
Copy link
Member

rohityadavcloud commented Sep 4, 2023

Describe the solution you'd like

I'm starting this issue on Github to have us discuss the next CAPC release, since we don't have an explicit mailing list for CAPC. Two tasks are proposed: discuss and work on the releases; and review/improve the process/guidelines/automation for CAPC release.

  1. v0.4.9-rcX has been going on for quite sometime, and those changes aren't available generally via clusterctl until we do a release. There could be opportunities to do a quicker v0.4.9 release that's just validating the already stable main branch (or with minimum stablisations) and doing another v0.5.0 that supports more recently changes in dependencies, support for newer CAPI and k8s versions.

  2. For process/guidelines/automation, we've something already that needs to be reviewed and improved if needed, request for review and comments on following:

Screenshot 2023-09-04 at 3 44 24 PM

Thoughts? Thanks.

@rohityadavcloud
Copy link
Member Author

@g-gaston
Copy link
Contributor

My 2c
Since it has been a bit since we don't cut a release and we have new maintainers/contributors who might not have experience with this process (I don't 😄), let's cut the next 0.4.x patch first.

With the gained experience from that release, we can see as a group if there is anything in the process we want to change/improve. And then we can go and cut 0.5.0 from main, which will probably allow us to learn even more and devise more improvements for the process.

I would recommend making 0.4.x patch as small as possible. I don't think we have a release-0.4 branch, so maybe we can cut one from the last 0.4 tag and decide what we want to add on top.

In addition, I would recommend asking someone who has run a release before to take care of these two and work with the help of someone who has. That way we spread the knowledge a bit more and reduce single points of failure. We also increase the chances of finding opportunities for improvement since this new perosn is more likely to run into any possible pitfall.

@rohityadavcloud
Copy link
Member Author

Hi @g-gaston thanks for replying, your comments are inline with my proposal. We do a quicker v0.4.9 release with scope limited to just blocker/critical issue needed for the release, and then do a v0.5.0 that could have a wider scope in future.

I think the CAPC project can benefit from a set of governance rules or bylaws that specify (a) how the project is maintained incl. release process, (b) how to build consensus and handle disagreements. Here's an example of how the CloudStack project does it: https://cloudstack.apache.org/bylaws.html and https://cwiki.apache.org/confluence/display/CLOUDSTACK/Releases

If there are no objections we can simply decide to adopt the same rules as the parent CloudStack project, which would imply the owners of the project are sort of the project management committee (PMC) members who are tasked with the project governance, voting and releases related matter including inviting new owners. And as far as releases are concerned we can make it simply the following:

  1. Only a project owner (https://github.com/kubernetes-sigs/cluster-api-provider-cloudstack/blob/main/OWNERS) can be a release manager and any project owner can propose to do a release.
  2. Github milestones can be used to track/scope issues and PRs for a release. (such as https://github.com/kubernetes-sigs/cluster-api-provider-cloudstack/milestone/3)
  3. The documentation for release process already exists and can be improved as required here: https://cluster-api-cloudstack.sigs.k8s.io/development/releasing
  4. The release manager ideally should be a member of GCR repo or ask an existing member to assist with publication in the k8s-infra-staging-capi-cloudstack https://github.com/kubernetes/k8s.io/blob/main/groups/sig-cluster-lifecycle/groups.yaml#L122

If there are no objections, I propose myself as release manager (RM) for v0.4.9 (or happy if others want to do this - the bottomline - this need to be asap), and ask any other owners to volunteer as RM for v0.5.0 - @jweite-amazon @davidjumani @dims @g-gaston @chrisdoherty4 @weizhouapache @vishesh92

Thoughts?

@rohityadavcloud rohityadavcloud added this to the v0.4.9 milestone Sep 20, 2023
@dims
Copy link
Member

dims commented Sep 20, 2023

@rohityadavcloud technically you all fall under sig-cluster-lifecycle. So please run it by the chairs and leads - https://github.com/kubernetes/community/blob/master/sig-cluster-lifecycle/README.md#leadership

@rohityadavcloud
Copy link
Member Author

rohityadavcloud commented Sep 20, 2023

Thanks for replying @dims we can do once between the owners and others in community we get feedback, and agree with some sort of proposal/way ahead. In fact if there's any available/existing guideline on governance and releases, then we should stick to that under k8s-sigs. Let us know if there are any?

@g-gaston
Copy link
Contributor

@rohityadavcloud I volunteer for the v0.4.9 release! :)

@rohityadavcloud
Copy link
Member Author

Thanks @g-gaston - I'm happy to assist you. For the v0.4.9, can you share a timeline for the same?

I've triaged existing tickets here - https://github.com/kubernetes-sigs/cluster-api-provider-cloudstack/milestone/3 could you have a look and help resolve as many as possible (or move them to next milestone). And I suggest you to do the following:

  1. Once you're ready and there are no blockers/critical issues in the milestone, please create a RC and push a git tag for the same, you can get some assistance from @dims on how to create Github release (RCs).
  2. Run e2e tests on the RC and create the yaml files, test locally it works. Cut further RCs as required.
  3. Add yourself to https://github.com/kubernetes/k8s.io/blob/main/groups/sig-cluster-lifecycle/groups.yaml#L122
  4. Get one or two more volunteers from the community who can test/verify the release/RC. When ready, bump the git tag to v0.4.9 and follow the process at https://cluster-api-cloudstack.sigs.k8s.io/development/releasing to publish the artifacts. Test using clusterctl to verify the same.

@rcastrogiovanni
Copy link

Hi @rohityadavcloud,
At the moment it is not possible to use clusterAPI if in Cloudstack you use projects. Is this something that can be added to the new release?
Thanks,
Roberto

@rohityadavcloud
Copy link
Member Author

Hi @rcastrogiovanni I see #217 tagged to the next v0.4.9 milestone. We should definitely try as it's a very common and asked-for improvement by multiple people, it would depend on the release manager @g-gaston to lead the effort - who can advise us.

@rohityadavcloud rohityadavcloud changed the title Next CAPC release Next CAPC release: v0.4.9 Sep 25, 2023
@g-gaston
Copy link
Contributor

g-gaston commented Oct 6, 2023

Update: I'm still working on this. It will probably take at least a couple more weeks since I won't be able to work on this at all next week, but I will resume the work the following week.

@rohityadavcloud
Copy link
Member Author

Thanks @g-gaston it's been going on for months now, can we conclude the v0.4.9 RCs and GA the release?

@g-gaston
Copy link
Contributor

g-gaston commented Jan 3, 2024

Update: lastest RC is ready to be promoted. Pending some testing green light by the community and resolving one last discussion about v1beta3 in slack.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants