Bug 1811047 - [DOCS] new documentation for teaming in RHCOS
Summary: [DOCS] new documentation for teaming in RHCOS
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Documentation
Version: 4.4
Hardware: Unspecified
OS: Unspecified
high
medium
Target Milestone: ---
: 4.4.z
Assignee: Jesse Dohmann
QA Contact: Michael Nguyen
Vikram Goyal
URL:
Whiteboard:
Depends On:
Blocks: 1186913
TreeView+ depends on / blocked
 
Reported: 2020-03-06 14:11 UTC by Dusty Mabe
Modified: 2023-12-15 17:28 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-12-14 16:07:28 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Dusty Mabe 2020-03-06 14:11:54 UTC
We recently added the teaming userspace utilities to RHCOS for https://bugzilla.redhat.com/show_bug.cgi?id=1758162. Right now there is a recommended way to use teaming in RHCOS documented in https://bugzilla.redhat.com/show_bug.cgi?id=1758162#c11. It was requested we open a documentation bug to request that documentation be added for teaming. 

Can we get documentation created with https://bugzilla.redhat.com/show_bug.cgi?id=1758162#c11 as the source material?

I also wrote up a slightly more comprehensive set of documentation for Fedora CoreOS with more background and links over in https://dustymabe.com/2020/03/05/network-teaming-using-networkmanager-keyfiles-on-fedora-coreos/. So that may be useful.


---------------------------------------
Copy of https://bugzilla.redhat.com/show_bug.cgi?id=1758162#c11
---------------------------------------

Hey Dave,

I did some investigation into this. The teaming userspace components didn't exist in RHCOS or Fedora CoreOS. We added those to both. However it seems as if dracut support for teaming interfaces is really not sufficient. For example the teamd process started by dracut doesn't survive the switch to the real root (which I assume is expected) so you end up in a half state. In the near future we'd like to run NetworkManager in the initramfs which we think will handle some corner cases like this. Until that time the short term solution will be to use single NIC in the initramfs to grab the ignition config and then have ignition lay down a networking configuration for teaming. For example, in my local node here I'm doing testing on I have ignition create these three files:

- etc/sysconfig/network-scripts/ifcfg-team0
- etc/sysconfig/network-scripts/ifcfg-ens2
- etc/sysconfig/network-scripts/ifcfg-ens3

with contents:

```
$ tail -n 30  etc/sysconfig/network-scripts/*
==> etc/sysconfig/network-scripts/ifcfg-ens2 <==
DEVICE=ens2
DEVICETYPE=TeamPort
ONBOOT=yes
TEAM_MASTER=team0
TEAM_PORT_CONFIG='{"prio": 100}'

==> etc/sysconfig/network-scripts/ifcfg-ens3 <==
DEVICE=ens3
DEVICETYPE=TeamPort
ONBOOT=yes
TEAM_MASTER=team0
TEAM_PORT_CONFIG='{"prio": 100}'

==> etc/sysconfig/network-scripts/ifcfg-team0 <==
DEVICE=team0
NAME=team0
DEVICETYPE=Team
ONBOOT=yes
BOOTPROTO=dhcp
TEAM_CONFIG='{"runner": {"name": "activebackup"}, "link_watch": {"name": "ethtool"}}'
```



Alternatively, if you'd like to use NM key files you can create the following 3 files using ignition:


- etc/NetworkManager/system-connections/team0.nmconnection
- etc/NetworkManager/system-connections/team0-slave-ens2.nmconnection
- etc/NetworkManager/system-connections/team0-slave-ens3.nmconnection

with contents something like:

```
$ tail -n 30 etc/NetworkManager/system-connections/team0* 
==> etc/NetworkManager/system-connections/team0-slave-ens2.nmconnection <==
[connection]
id=team0-slave-ens2
type=ethernet
interface-name=ens2
master=team0
slave-type=team
[team-port]
config={"prio": 100}

==> etc/NetworkManager/system-connections/team0-slave-ens3.nmconnection <==
[connection]
id=team0-slave-ens3
type=ethernet
interface-name=ens3
master=team0
slave-type=team
[team-port]
config={"prio": 100}

==> etc/NetworkManager/system-connections/team0.nmconnection <==
[connection]
id=team0
type=team
interface-name=team0
[team]
config={"runner": {"name": "activebackup"}, "link_watch": {"name": "ethtool"}}
```
---------------------------------------

Comment 5 Dusty Mabe 2020-12-11 18:10:27 UTC
@bfuru

Some more upstream docs were added recently (including a section on teaming) that we might be able to pull some content from:

https://docs.fedoraproject.org/en-US/fedora-coreos/sysconfig-network-configuration/

Comment 6 Bob Furu 2021-11-24 20:57:37 UTC
Reassigning this to Jesse Dohmann, who is also tracking the work in https://issues.redhat.com/browse/OSDOCS-2247. She has a question out to PM currently.

Comment 7 Jesse Dohmann 2021-12-10 22:12:57 UTC
PR: https://github.com/openshift/openshift-docs/pull/39648

Has been merged

Comment 9 Red Hat Bugzilla 2023-09-15 00:30:10 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 500 days


Note You need to log in before you can comment on or make changes to this bug.