-
Notifications
You must be signed in to change notification settings - Fork 4.8k
Only build pkg/sdn/plugin on linux #15838
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
Only build pkg/sdn/plugin on linux #15838
Conversation
|
Yay, build-cross got triggered automatically. So happy |
ab4c647 to
4ff03ff
Compare
|
OK, cross-build succeeded. Other failures look like flakes. I had to tweak hack/import-restrictions.json to get "make verify" to pass, and probably that should be fixed differently. I guess one approach would be to move the SDNNode and SDNProxy interfaces into a new directory (neither pkg/sdn/plugin nor pkg/sdn/apis) so we can keep pkg/sdn/apis pure? |
hack/import-restrictions.json
Outdated
| ], | ||
| "allowedImportPackageRoots": [ | ||
| "vendor/k8s.io/apimachinery", | ||
| "vendor/k8s.io/kubernetes/pkg/proxy/config", |
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 think this won't be allowed - @deads2k for his goals here
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 think this won't be allowed - @deads2k for his goals here
Our api packages should only be for the type definitions themselves. We're going to build a client-go library for openshift (see attempts here: openshift/client-go#2) and the dependencies for that library need to be reasonable. Our API types are required, but the interfaces which make them more useable for runtime purposes aren't generally needed by the client, so they should live a separate package.
920baa7 to
9d0d7f1
Compare
|
/retest |
|
/retest |
9d0d7f1 to
0b3dcc8
Compare
|
/retest |
The whole directory is linux-only now.
0b3dcc8 to
f6f419f
Compare
|
flake #14385 |
|
All tests pass now |
|
Glad to see the move to start slimming down the package /approve lgtm if it's basically a straight move |
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: danwinship, deads2k The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these OWNERS Files:
You can indicate your approval by writing |
|
/test all [submit-queue is verifying that this PR is safe to merge] |
|
/retest |
|
Automatic merge from submit-queue (batch tested with PRs 15904, 15962, 15838, 15965, 15963) |
We are currently building (most of) the SDN code on Darwin and Windows, even though it is totally linux-specific.
I ran into this when trying to make more use of the "netlink" library in the sdn code (#15834). The library only builds on linux, so any file that imports it has to also be only built on linux.
So this tries to fix the main openshift binary to only include the SDN code when building on Linux. I don't know if it's correct stylistically. I'm happy to rewrite it however.
@openshift/networking FYI