-
Notifications
You must be signed in to change notification settings - Fork 90
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
✨ Add fake K8s API server #1610
base: main
Are you sure you want to change the base?
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
e9a7158
to
d4b4b60
Compare
d4b4b60
to
6a24a8f
Compare
6a24a8f
to
a1e125f
Compare
/cc @lentzi90 @kashifest @Rozzii @tuminoid @adilGhaffarDev |
There is unrelated broken link failure, need to address that in another PR preferably. |
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 nits for starters.
02cc265
to
2ee5877
Compare
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 Dockerfile is broken now.
4b229a6
to
2a3401d
Compare
2a3401d
to
009fe7c
Compare
d3d61a0
to
267f75e
Compare
267f75e
to
120d427
Compare
107dd74
to
5bbe165
Compare
/test metal3-centos-e2e-integration-test-main |
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 minor nits, but I guess the main question here is that why this should be part of CAPM3 repo in the first place? We should not bloat the repo with non-core stuff.
/cc @kashifest
9d2f662
to
f92212b
Compare
Thanks @tuminoid, I'm ok with putting it elsewhere, as long as it makes sense, but I think having it here was a decision we came up together at some point. |
On first glance stuff looks OK, thanks for working on this. Could you please add info about the limitations in the README I assume this wouldn't be able to work with Metal3Data and DataTemplates and maybe has other limitations but I might be wrong. |
/hold |
Thanks for the suggestion! This stuff's only intended to generate the kubernetes API server on demands, so it should not be considered a replacement for CAPM3, but it's something that will work alongside CAPM3, BMO and Ironic, in case ironic is hooked with something like Fake-IPA, whose "nodes" cannot provide the functionality of a kubernetes cluster. I guess the docs needs to clarify this better. |
91386a1
to
c84c0f4
Compare
/hold cancel |
Signed-off-by: Huy Mai <[email protected]>
c84c0f4
to
79abb52
Compare
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.
Besides outdated versions, we need to consider what else we need due adding another go.mod into CAPM3.
- dependabot config ?
- verify-release.sh (exclude it)
- release docs (do not tag it)
- makefile (make modules, make verify)
- hack/gomod.sh
are all doing something for all go.mod files.
# limitations under the License. | ||
|
||
# Support FROM override | ||
ARG BUILD_IMAGE=docker.io/golang:1.22.6@sha256:d5e49f92b9566b0ddfc59a0d9d85cd8a848e88c8dc40d97e29f306f07c3f8338 |
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're at 1.22.7 now
go 1.22.3 | ||
|
||
require ( | ||
k8s.io/api v0.29.3 |
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're at v0.29.9
k8s.io/apimachinery v0.29.3 | ||
k8s.io/client-go v0.29.3 | ||
k8s.io/klog/v2 v2.120.1 | ||
sigs.k8s.io/cluster-api v1.7.1 |
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're at v1.8.3
@mquhuy I have made K8s explicit in the PR title, because at least for me it was confusing that what API we are faking. |
Fake API server is a tool running inside a kubernetes cluster, and "generates" in-memory api server endpoints. These endpoints can be used, for e.g., to represent the clusters created by CAPM3 using fake hardware so that CAPI confirms that the cluster was provisioned successfully.