-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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 CABPK as part of CAPI #1545
✨ Ship CABPK as part of CAPI #1545
Conversation
Signed-off-by: Vince Prignano <vincepri@vmware.com>
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: vincepri 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 |
7f9dd28
to
e50e824
Compare
Signed-off-by: Vince Prignano <vincepri@vmware.com>
Signed-off-by: Vince Prignano <vincepri@vmware.com>
1ef1f78
to
14f8c47
Compare
/test pull-cluster-api-integration |
1 similar comment
/test pull-cluster-api-integration |
/test pull-cluster-api-make |
Seems there are some transient issues with docker images |
@@ -286,7 +292,6 @@ clean-release: ## Remove the release folder | |||
verify: | |||
./hack/verify-boilerplate.sh | |||
./hack/verify-doctoc.sh | |||
./hack/verify-generated-files.sh |
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.
This is repeated in verify-gen
target
/test pull-cluster-api-integration |
40daae5
to
fa60ccf
Compare
/test pull-cluster-api-integration |
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.
Some comments...
How would one add a validating webhook for cabpk with this change?
With this change we lose the "reference implementation" for creating a bootstrap provider, do we need to create an issue to replace that (or provide docs)?
@@ -1,239 +0,0 @@ | |||
# Copyright 2019 The Kubernetes Authors. |
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.
Are we losing any targets or validations that would be helpful to the larger project?
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.
The Makefile is still available in the old repository, we can port as needed. I didn't miss any targets for basic interactions
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'd prefer not defaulting to untracked work to be done at a later time, can you create an issue with the actual differences that exist to resolve?
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.
There is really nothing that's particular to CABPK in the repository today https://github.com/kubernetes-sigs/cluster-api-bootstrap-provider-kubeadm/blob/master/Makefile
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.
Just a quick comparison uncovers these differences to me:
make test
generates a coverage profile in CABPK, but not CAPI- the
lint
andlint-full
targets different golang-ci configs (but that can be tracked via an issue specific for golang-ci config) - CABPK has a
run
target for just running the manager binary - CABPK also has
install
anddeploy
targets that are not present in CAPI
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.
If we are removing previous functionality from dev workflow, then we should have buy in for this from the cluster-api-bootstrap-provider-kubeadm-maintainers
group, since they have delegated ownership of this part of the project.
@@ -1,54 +0,0 @@ | |||
#!/usr/bin/env bash |
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 don't think we are doing any shellcheck validation in the top level verify targets/scripts, do we want to lose that?
I'm not sure if there are other verification scripts we are losing here additionally.
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.
We can port later, can you open an issue?
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.
Could you create the issue(s)? I'm not sure the full scope of removals from just a PR review and would rather not have to try diff CABPK/CAPI to determine the delta.
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.
Sure
As a side effect of this, we'll need to create a migration plan for v1alpha2 -> v1alpha3. |
fa60ccf
to
756cb96
Compare
That's a good question, @liztio has started working on the related issue
I don't think we lose much, apart from the kubebuilder boilerplate, the important bits (types and controllers) are still there.
Opened #1550 |
I think we lose much more than that...
I'm not bringing these up to block the change, we just need a story around how developers can create their own bootstrap provider now (example, scaffolding, docs, whatever), since the guidance until now for v1alpha2 was to look at CABPK as the reference implementation. |
The CABPK image?
Currently this is
Would a walkthrough in documentation be a sufficient replacement? |
The process for getting to a working bootstrap provider in general, not necessarily targeted at CABPK specifically.
Yes, but in this case it's not a requirement that it be exposed from other bootstrap providers. For example if we wanted to mandate that concurrency or metrics be exposed as part of the requirements for a bootstrap provider it isn't clear which may be requirements for a bootstrap provider vs core components.
Definitely. we just need to have some plan for replacement (or a properly prioritized and tracked issue to determine a replacement for the release). |
756cb96
to
8b0aac9
Compare
I don't think it needs to be?
I would view this as a documentation task around requirements for implementing a bootstrap provider. I don't think the location of the CABPK code changes this? |
@ncdc My point was more to enumerate all of the things we potentially lose as CABPK being the reference implementation vs documentation for implementing a bootstrap provider. In this case the example I gave about command line arguments was not applicable. I was trying to point out that there was more being lost than just kubebuilder boilerplate. |
8b0aac9
to
4b0af9d
Compare
Signed-off-by: Vince Prignano <vincepri@vmware.com>
4b0af9d
to
94f8cfa
Compare
I created #1559, no further blockers from my end. /lgtm |
What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)
format, will close the issue(s) when PR gets merged):Fixes #1527