Skip to content

NP-756: multinode ovn-kubernetes#1637

Merged
openshift-ci[bot] merged 2 commits intoopenshift:mainfrom
zshi-redhat:multi-node-4.14
Apr 25, 2023
Merged

NP-756: multinode ovn-kubernetes#1637
openshift-ci[bot] merged 2 commits intoopenshift:mainfrom
zshi-redhat:multi-node-4.14

Conversation

@zshi-redhat
Copy link
Contributor

@zshi-redhat zshi-redhat commented Apr 8, 2023

This commit is the first step to introduce multinode capability in microshift, focusing on networking part.

  • add a hidden flag --controplane
  • split ovnk manifests to common, single-node and multi-node
  • apply multi-node manifests for ovnk
  • change cluster mtu based on multinode flag

To run microshift in multinode mode:
$ microshift run --controlplane

@openshift-ci openshift-ci bot requested review from ggiguash and pmtk April 8, 2023 07:41
@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Apr 8, 2023
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What populates the list of workers? Does the user need to know them in advance?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I should probably remove it in this commit. I was thinking to use it for generating kubelet kubeconfig for each extra worker node. It could be handled in a follow up PR if needed when adding multi worker nodes support in microshift main binary.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed Workers and move the Multinode structure to a separate file pkg/config/multinode.go

@fzdarsky
Copy link
Contributor

fzdarsky commented Apr 8, 2023

Can we call this “controlplane” instead of “master”, a language that Red Hat (and the K8s community) try to deprecate?

Also, how about we revert to the original —roles=controlplane,node approach, which is more flexible than a boolean flag?

@zshi-redhat
Copy link
Contributor Author

Can we call this “controlplane” instead of “master”, a language that Red Hat (and the K8s community) try to deprecate?

I will use control plane.

Also, how about we revert to the original —roles=controlplane,node approach, which is more flexible than a boolean flag?

sounds good, will update to use --roles

@dhellmann
Copy link
Contributor

Can we call this “controlplane” instead of “master”, a language that Red Hat (and the K8s community) try to deprecate?

I will use control plane.

Also, how about we revert to the original —roles=controlplane,node approach, which is more flexible than a boolean flag?

sounds good, will update to use --roles

We talked about using the standard kubelet binary for the worker. If we do that, do we need MicroShift to have separate roles?

@zshi-redhat
Copy link
Contributor Author

Can we call this “controlplane” instead of “master”, a language that Red Hat (and the K8s community) try to deprecate?

I will use control plane.

Also, how about we revert to the original —roles=controlplane,node approach, which is more flexible than a boolean flag?

sounds good, will update to use --roles

We talked about using the standard kubelet binary for the worker. If we do that, do we need MicroShift to have separate roles?

Looking at the previous implementation, I think roles is to distinguish the control plane and node in microshift main binary so that:

  1. node role only runs kubelet service
  2. controlplane role runs service other than kubelet
  3. controlplane + node role runs all microshift services

If we use standard kubelet binary for extra worker nodes, roles may not be needed since microshift just needs to support controlplane + node role. controlplane role is not what we wanted to support.

@zshi-redhat
Copy link
Contributor Author

Still needs to fix the assets structure in scripts/auto-rebase/assets.yaml which causes ci/prow/verify job fail.
@pmtk Do we have script for generating scripts/auto-rebase/assets.yaml or is it manual?

@zshi-redhat
Copy link
Contributor Author

Still needs to fix the assets structure in scripts/auto-rebase/assets.yaml which causes ci/prow/verify job fail. @pmtk Do we have script for generating scripts/auto-rebase/assets.yaml or is it manual?

updated manually.

@zshi-redhat zshi-redhat force-pushed the multi-node-4.14 branch 3 times, most recently from b9ffdca to 7038459 Compare April 12, 2023 04:27
@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Apr 12, 2023
@openshift-merge-robot openshift-merge-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Apr 12, 2023
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pacevedom This overrides the advertiseAddress IP of APIServer for multi-node since the service cdir cannot be accessed by extra worker nodes. Do you see any issue with API certificate by doing so?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, we do need some changes for this to work. Let me create the PR.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I checked and everything is already there, so no additional changes required.

@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Apr 12, 2023
@openshift-merge-robot openshift-merge-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Apr 12, 2023
@zshi-redhat zshi-redhat changed the title Multinode: ovn-kubernetes NP-756: multinode ovn-kubernetes Apr 18, 2023
@zshi-redhat
Copy link
Contributor Author

/jira refresh

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Apr 18, 2023
@openshift-ci-robot
Copy link

openshift-ci-robot commented Apr 18, 2023

@zshi-redhat: This pull request references NP-756 which is a valid jira issue.

Details

In response to this:

This commit is the first step to introduce multinode capability in microshift, focusing on networking part.

  • add a hidden flag --controplane
  • split ovnk manifests to common, single-node and multi-node
  • apply multi-node manifests for ovnk
  • change cluster mtu based on multinode flag

To run microshift in multinode mode:
$ microshift run --controlplane

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.

@openshift-ci-robot
Copy link

openshift-ci-robot commented Apr 18, 2023

@zshi-redhat: This pull request references NP-756 which is a valid jira issue.

Details

In response to this:

/jira refresh

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.

Copy link
Contributor

@dhellmann dhellmann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple of small suggestions, but there's nothing to hold this up.

I'll leave this for @pacevedom to approve.

/assign @pacevedom

pkg/cmd/run.go Outdated
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we're not doing "modes" this can be "multinode" instead of "controlplane".

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

changed to "multinode"

@zshi-redhat zshi-redhat force-pushed the multi-node-4.14 branch 2 times, most recently from fd09d8d to 060a5a0 Compare April 19, 2023 12:11
Copy link
Contributor

@pacevedom pacevedom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Apr 24, 2023
@openshift-ci-robot
Copy link

/retest-required

Remaining retests: 0 against base HEAD a45ce75 and 2 for PR HEAD 060a5a07f923355fcefd2d8bca6e27a2f0e63106 in total

@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label Apr 24, 2023
@zshi-redhat
Copy link
Contributor Author

seeing permission denied failures in the CI job:

oc logs -n openshift-ingress pod/router-default-d55c4fb97-9sfnc router
exec container process `/usr/bin/openshift-router`: Permission denied

rebased against master.

@ggiguash
Copy link
Contributor

seeing permission denied failures in the CI job:

oc logs -n openshift-ingress pod/router-default-d55c4fb97-9sfnc router
exec container process `/usr/bin/openshift-router`: Permission denied

rebased against master.

That's a problem in our CI configuration, which manifests itself in all the PRs.

zshi-redhat and others added 2 commits April 25, 2023 08:14
This commit is the first step to introduce multinode
capability in microshift, focusing on networking part.

- add a hidden flag --controlplane
- split ovnk manifests to common, single-node and multi-node
- apply multi-node manifests for ovnk
- change cluster mtu based on --controlplane flag

To run microshift in multinode mode:
$ microshift run --controlplane

Signed-off-by: Zenghui Shi <zshi@redhat.com>
Co-authored-by: Doug Hellmann <dhellmann@redhat.com>
@ggiguash
Copy link
Contributor

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Apr 25, 2023
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Apr 25, 2023

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: ggiguash, pacevedom, zshi-redhat

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:
  • OWNERS [ggiguash,pacevedom,zshi-redhat]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Apr 25, 2023

@zshi-redhat: all tests passed!

Full PR test history. Your PR dashboard.

Details

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.

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. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants