-
Notifications
You must be signed in to change notification settings - Fork 162
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
kubeapi with kubevirt #3762
kubeapi with kubevirt #3762
Conversation
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.
@deitch A set of conflicts to resolve.
I looked over go.mod that don't see anything that stands out.
If @naiming-zededa can re-test with it and also check whether it has the needed APIs that would be great.
Run tests for now.
9e0e842
to
cfedced
Compare
Rebased, fixed all of the conflicts, checked that we still get sane k8s.io versions, and checked that still can build with |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #3762 +/- ##
==========================================
- Coverage 19.73% 19.70% -0.04%
==========================================
Files 235 235
Lines 51710 51710
==========================================
- Hits 10205 10189 -16
- Misses 40767 40780 +13
- Partials 738 741 +3 ☔ View full report in Codecov by Sentry. |
Weird yetus complaint here
Why would it not be allowed? |
Some discussion in golangci/golangci-lint#3877 says it can happen if there is no config file for golangcilint. But why now? |
No idea. I think we can ignore it for now. |
The "PR build" job failure is the same docker hub rate limit issue. It is trying to build the |
} | ||
|
||
// VirtualMachineInstanceInterface is an interface for interacting with the VirtualMachineInstance resource | ||
type VirtualMachineInstanceInterface interface { |
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.
How can we be in sync with upstream changes in Kubevirt if we take this approach of copying the interface definition in our code ?
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't. In any case, we would have to update.
I plan on opening a PR asking them to move this part of their code to a different library, to remove all of the painful dependencies. In the meantime, this will do.
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.
Ok that makes sense. We can live with this until then.
@deitch i tried to port the 'kubevirt.go' and some change of 'kubeapi.go' into our poc branch, and got those errors:
|
@naiming-zededa I did manage to vet and build it locally, so I wonder why yours fails. Could be I missed something. Can you write here exactly how you do that, including pointers to branches and such? I'll try to replicate it locally. |
@deitch in my poc branch, first i added the whole file from your kubevirt.go in the kubeapi directory, then this this patch: |
then I did 'go mod tidy' and 'go mod vendor' in the pkg/pillar directory. I didn't remove the kubevirt client api used in the other files inside poc branch, not sure if that matters. |
That patch doesn't look right to me at first glance, but I haven't dug deeper yet. You can diff my branch off of Can you link to your poc branch? How is it different than |
I am quite sure it does. I built my branch based on the code changes from Milan's branch, removed the references to kubevirt's client-go, and then built up the modules correctly. |
@naiming-zededa I got it working, mostly. The reason it failed is that you still had references to
Once I got rid of those, the issues went away. There is a branch here on my clone of eve, and I also opened a PR against your |
2835bd5
to
6ffd560
Compare
f5486c0
to
0fc45e0
Compare
Signed-off-by: Avi Deitcher <avi@deitcher.net>
Rebased to resolve conflict. And checked, builds fine both with and without And everything is pretty much ok except for that odd yetus error. @eriknordmark |
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.
Run eden.
I think we should merge this to master. @naiming you presumably want to catch up with the 100+ commits in master.
@eriknordmark @deitch we'll figure out to submit the rest of the changes for single node into master |
Sure thing @naiming-zededa. You might have an easier time just applying the remaining changes to a new branch based on master post-this-PR. If you just apply yours, and share the new branch, I'm happy to go in and match it to this one without the kubevirt.io/client-go dependency |
@deitch Thank you for taking care of the k8s dependency issues! |
@milan-zededa my pleasure. I just took your work and adapted it; good teamwork. When you are ready with the next one, base it on this and hit me up if you need help. |
This is intended as a potential replacement for #3730
As described in this comment, kubevirt implemented most of their work correctly, but the final clientset was built in a single module with lots of other things, which led to a messy
go.mod
that makes it very difficult to include in something else.We leverage their kubevirt.io/api, but copy the minimum needed to fill in the gaps from kubevirt.io/client-go.
This should be compared carefully to #3730, and see if anything is missing.
@naiming-zededa do you mind running your tests again?