Skip to content
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

Allow configurable CNI bin dir in openshift SDN #18464

Merged

Conversation

pravisankar
Copy link

@pravisankar pravisankar commented Feb 6, 2018

No description provided.

@openshift-ci-robot openshift-ci-robot added the size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. label Feb 6, 2018
@pravisankar pravisankar added component/networking kind/bug Categorizes issue or PR as related to a bug. labels Feb 6, 2018
@pravisankar
Copy link
Author

@openshift/sig-networking @dcbw PTAL

@pravisankar
Copy link
Author

/retest

1 similar comment
@pravisankar
Copy link
Author

/retest

@dcbw
Copy link
Contributor

dcbw commented Feb 20, 2018

/lgtm
/approve

But we could also perhaps grab this cni-bin-dir and set it in podManager and use that instead of /opt/cni/bin, if for some reason the CNI binaries do get retargeted.

@openshift-ci-robot openshift-ci-robot added lgtm Indicates that a PR is ready to be merged. approved Indicates a PR has been approved by an approver from all required OWNERS files. labels Feb 20, 2018
@smarterclayton
Copy link
Contributor

Why are we adding this? Who would set this wrong? Adding this check is only valuable if we expect this to be hit most of the time. This entire code path is going away very soon, so there's not much value in adding it.

@pravisankar
Copy link
Author

kubelet supports allowing users to specify path to cni binaries with 'cni-bin-dir' option.
OpenShift sdn ignores 'cni-bin-dir' and always looks at default /opt/cni/bin as we expect the rpms to place the binaries in the default path.
For some reason, if they change the cni binaries and use this flag, sadly we don't even bailout and pod creation fails with some other error.
This change doesn't allow user to set cni-bin-dir to non-default path in case of openshift-sdn. Other option is we could also change openshift sdn to honor this flag.
But yes, this is a rare corner case. Do we want to handle this? Is there a compelling reason to move openshift-sdn cni binary to non-default location? (may be in case of third party cni plugins that use different path)
@smarterclayton @dcbw ^^

@dcbw
Copy link
Contributor

dcbw commented Feb 28, 2018

@pravisankar @smarterclayton /opt is forbidden in some environments, and especially on Fedora/RHEL /opt is not really an allowed place to put stuff. Fedora/RHEL would rather the CNI plugins live in /usr/libexec and in fact the containernetworking-plugins RPM in Fedora puts them there, not /opt. There have also been upstream PRs like kubernetes/kubernetes#46609 that want to put plugins elsewhere.

We're probably going to need to support /usr/libexec for CNI plugins when we do the ovn-kubernetes RPM as well.

@pravisankar
Copy link
Author

/hold

@openshift-ci-robot openshift-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Feb 28, 2018
@pravisankar pravisankar force-pushed the sdn-cnibinpath-validation branch from fd8d643 to 65abbab Compare March 1, 2018 00:57
@openshift-merge-robot openshift-merge-robot removed the lgtm Indicates that a PR is ready to be merged. label Mar 1, 2018
@pravisankar pravisankar changed the title Check kubeletArguments["cni-bin-dir"] matches with default path used by OpenShift SDN Allow configurable CNI bin dir in openshift SDN Mar 1, 2018
@openshift-ci-robot openshift-ci-robot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Mar 1, 2018
@pravisankar pravisankar removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Mar 1, 2018
@pravisankar
Copy link
Author

@dcbw @smarterclayton updated based on the feedback, PTAL

@dcbw
Copy link
Contributor

dcbw commented Mar 1, 2018

/lgtm

At least the SDN parts are useful for the future; I know the kube flags/args thing is going away since we'll be doing a daemonset. But @smarterclayton good point, we need to figure out how the CNI side of things is done when the SDN is a daemonset; I guess cni-bin-dir and cni-conf-dir is going to come from a ConfigMap? Perhaps cni-bin-dir/cni-conf-dir ConfigMap options could be automatically generated based on the kubelet options/config?

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Mar 1, 2018
@openshift-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: dcbw, pravisankar

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@pravisankar
Copy link
Author

/retest

@openshift-bot
Copy link
Contributor

/retest

Please review the full test history for this PR and help us cut down flakes.

@openshift-merge-robot
Copy link
Contributor

/test all [submit-queue is verifying that this PR is safe to merge]

@openshift-ci-robot
Copy link

openshift-ci-robot commented Mar 11, 2018

@pravisankar: The following test failed, say /retest to rerun them all:

Test name Commit Details Rerun command
ci/openshift-jenkins/extended_networking_minimal 65abbab link /test extended_networking_minimal

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@openshift-merge-robot
Copy link
Contributor

Automatic merge from submit-queue.

@openshift-merge-robot openshift-merge-robot merged commit 1e041c8 into openshift:master Mar 11, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. component/networking kind/bug Categorizes issue or PR as related to a bug. lgtm Indicates that a PR is ready to be merged. sig/networking size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants