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

RFE-2962: Set interface name from node-ip-configuration to configure-ovs #3222

Closed
wants to merge 1 commit into from

Conversation

tsorya
Copy link
Contributor

@tsorya tsorya commented Jul 5, 2022

RFE-2962: Set interface name from node-ip-configuration to configure-ovs
node-ip-configuration will set env file for configure-ovs when it will
set kubelet ip, this will allow to configure ovs with the bridge on the
same interface that kubelet will use.
Configure ovs should start after nodeip service and set bridge on the
interface provided by nodeip

goes with openshift/baremetal-runtimecfg#183

I didn't reuse hint file as i was not sure if it is ok to change it's current logic. We need to set interface regarding if it has default route or not and currently setting hint doesn't help if there is no default route on that interface. That's why i used this logic though i think reusing hint can be nicer but will require to allow to set interface without default route.
The next step will be to not to set default route on bridge if it was not set on interface (still not sure how) or to set very low priority on it. Will be glad to discuss it

- What I did

- How to verify it

- Description for the changelog

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jul 5, 2022

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: tsorya
To complete the pull request process, please assign yuqi-zhang after the PR has been reviewed.
You can assign the PR to them by writing /assign @yuqi-zhang in a comment when ready.

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

@cybertron
Copy link
Member

This is essentially the next step beyond #3193 (which I think I would like to keep separate for the sake of easy reverting if it ends up breaking something).

I do want to have a broader discussion about how we communicate between nodeip-configuration and other services because ovs-configuration isn't the only one that I think should consume this (there are at least two other places I think we could reuse this output, maybe more). I'm wondering if nodeip-configuration should not be directly configuring other services and instead just write a general nodeip file somewhere that other services can look at. This way nodeip-configuration doesn't need to know about every consumer and anyone who needs this information can just use it.

I was planning to write up a (hopefully) short enhancement to cover the places I think this could be used and provide a complete picture of the situation for other interested parties. We have had enough problems with this that I think it's worth getting as much input as possible to make sure we don't miss any more scenarios when we fix this.

@tsorya
Copy link
Contributor Author

tsorya commented Jul 6, 2022

@cybertron do you think node-ip should provide only ip or interface too? Currently i added to it interface but maybe better to provide only ip to some file as you said and each service that wants to use will read this file. This will work if we will continue blocking 2 nics on with the same subnet

@flaper87
Copy link
Contributor

@cybertron do you think node-ip should provide only ip or interface too? Currently i added to it interface but maybe better to provide only ip to some file as you said and each service that wants to use will read this file. This will work if we will continue blocking 2 nics on with the same subnet

I think providing the subnet/ip is probably better. Is more deterministic and requires less logic. What's probably even more important is to make this behavior consistent across the board.

    node-ip-configuration will set env file for configure-ovs when it will
    set kubelet ip, this will allow to configure ovs with the bridge on the
    same interface that kubelet will use.
    Configure ovs should start after nodeip service and set bridge on the
    interface provided by nodeip
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jul 19, 2022

@tsorya: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-agnostic-upgrade 3e3d208 link true /test e2e-agnostic-upgrade

Full PR test history. Your PR dashboard.

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.

@tsorya tsorya closed this Jul 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants