RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1400891 - Setup bond via NM failed
Summary: Setup bond via NM failed
Keywords:
Status: CLOSED DUPLICATE of bug 1395108
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: NetworkManager
Version: 7.3
Hardware: Unspecified
OS: Unspecified
urgent
urgent
Target Milestone: pre-dev-freeze
: ---
Assignee: Beniamino Galvani
QA Contact: Desktop QE
URL:
Whiteboard:
Depends On:
Blocks: 1304509
TreeView+ depends on / blocked
 
Reported: 2016-12-02 09:10 UTC by Huijuan Zhao
Modified: 2016-12-20 13:49 UTC (History)
24 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-12-20 13:49:04 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
All the logs and network-scripts when setup bond0 in DHCP mode (8.40 MB, application/x-gzip)
2016-12-02 09:10 UTC, Huijuan Zhao
no flags Details
Screenshot of setup bond0 in default DHCP mode (27.94 KB, image/png)
2016-12-02 09:12 UTC, Huijuan Zhao
no flags Details
Screenshot of error, bond0 's primary slave NIC eno1 is independent (114.04 KB, image/png)
2016-12-02 09:14 UTC, Huijuan Zhao
no flags Details
Screenshot of error, bond0 shows no carrier, and only has 1 slave NIC eno2 (118.16 KB, image/png)
2016-12-02 09:16 UTC, Huijuan Zhao
no flags Details
All logs of Comment 4 (9.05 MB, application/x-gzip)
2016-12-07 08:24 UTC, Huijuan Zhao
no flags Details
Comment 11: All logs and all files in /etc/sysconfig/network-scripts/ (8.47 MB, application/x-gzip)
2016-12-15 06:06 UTC, Huijuan Zhao
no flags Details
comment 11: Screenshot of adding bond1 (47.54 KB, image/png)
2016-12-15 06:09 UTC, Huijuan Zhao
no flags Details
comment 11: screenshot of adding slave eno1 to bond1 (22.97 KB, image/png)
2016-12-15 06:10 UTC, Huijuan Zhao
no flags Details
comment 11: screenshot of adding slave eno2 to bond1 (31.12 KB, image/png)
2016-12-15 06:11 UTC, Huijuan Zhao
no flags Details

Description Huijuan Zhao 2016-12-02 09:10:40 UTC
Created attachment 1227220 [details]
All the logs and network-scripts when setup bond0 in DHCP mode

Description of problem:
Setup bond with DHCP via cockpit sometimes failed.
Setup bond with Manual(static ip) via cockpit failed, it is still DHCP mode.


Version-Release number of selected component (if applicable):
redhat-virtualization-host-4.0-20161130.0
imgbased-0.8.10-0.1.el7ev.noarch
cockpit-ws-122-3.el7.x86_64
NetworkManager-1.4.0-13.el7_3.x86_64


How reproducible:
100%
Not Regression


Steps to Reproduce:
1. Install RHVH via interactive anaconda.
2. Reboot RHVH and login Cockpit, enter Networking page in Cockpit
3. Setup bond0(Active-Backup mode) over two NICs(click "Apply"). Primary NIC eno1 is "on", the other NIC eno2 is "off"
4. After bond0 is up and get DHCP ip, change ipv4 DHCP mode to Manual mode(setup static IP)

Actual results:
After step3, sometimes setup bond0 failed, it has no carrier, the slave NICs disappeared. And sometimes only have one slave NIC, the other NIC is independent.
After step4, if setup bond0 in step3 successful, change ipv4 DHCP mode to Manual mode failed. After setup static ip, it is still DHCP mode.

Expected results:
After step3, should setup bond0 successful, and get DHCP ip.
After step4, should change DHCP mode to Manual mode successful.

Additional info:

Comment 1 Huijuan Zhao 2016-12-02 09:12:38 UTC
Created attachment 1227221 [details]
Screenshot of setup bond0 in default DHCP mode

Comment 2 Huijuan Zhao 2016-12-02 09:14:47 UTC
Created attachment 1227222 [details]
Screenshot of error,  bond0 's  primary slave NIC eno1 is independent

Comment 3 Huijuan Zhao 2016-12-02 09:16:11 UTC
Created attachment 1227223 [details]
Screenshot of error,  bond0 shows no carrier, and only has 1 slave NIC eno2

Comment 4 Huijuan Zhao 2016-12-07 08:09:45 UTC
Tested setting bond with NMTUI in redhat-virtualization-host-4.0-20161206.0, can set up bond under certain conditions.

1. Failed to setup bond over two NICs directly, due to NMTUI will setup another ifcfg for the same NIC, that will cause setup bond fail.

2. Only follow the below workaround steps, can setup bond via NMTUI successful.
Test steps(take NICs eno1 and eno2 for example):
1) eno1 is ON(can get ip 10.73.130.225), eno2 is OFF
2) Delete /etc/sysconfig/network-scripts/ifcfg-eno1 and /etc/sysconfig/network-scripts/ifcfg-eno2
3) Setup bond1 over eno1(primary) and eno2 via NMTUI.(Note: ifcfg and device name must be bond1, eno1 and eno2 are also configured like this)
4) bond1 can not get DHCP ip currently
5) Click "ON" of eno2 via cockpit, then bond1 can get DHCP ip(10.66.128.130), but now slave eno1 still have DHCP ip 10.73.130.225.
6) Reboot RHVH, then eno1's DHCP ip disappeared, bond1 can get DHCP ip 10.66.130.225.

7) Change to IP Manual mode for bond1, can be successful
8) Add RHVH to RHVM successful, but bond1, eno1, eno2 and ovirtmgmt show as Unmanaged Interfaces in cockpit.

According to above steps and results, I think setup bond via NMTUI also have issue.

Comment 5 Huijuan Zhao 2016-12-07 08:24:34 UTC
Created attachment 1228926 [details]
All logs of Comment 4

Comment 6 Ying Cui 2016-12-12 07:18:54 UTC
We have to escalate this bug if we are going to enable cockpit network UI during 4.0.6.

Comment 8 Fabian Deutsch 2016-12-13 09:27:56 UTC
Moving to NM b/c of comment 4 and set to urgent, because it's urgent to RHV.

Comment 10 Beniamino Galvani 2016-12-14 17:17:32 UTC
Hi,

Logs from comment 5 show that after eno1 and eno2 are enslaved to the
bond, NM start DHCP at 03:35:50 and after no response from the server,
a rollback of the configuration (likely scheduled by cockpit) kicks in
at 03:36:02, restoring the old configuration with DHCP on eno1.

To better isolate the problem, can you please reproduce the problem
with nmtui alone and describe the necessary steps (including which
connections you create and their parameters)?

Also, before doing that, would you please run 'nmcli general logging
level trace' as root (note that this setting is not persistent and so
if you reboot or restart NM you should execute the command again) to
increase the logging level.

After the failure in the bond setup happens, please attach system
logs. Thanks!

Comment 11 Huijuan Zhao 2016-12-15 06:04:21 UTC
Test version:
redhat-virtualization-host-4.0-20161206.0
NetworkManager-1.4.0-13.el7_3.x86_64

Test goal: Setup bond1(active-backup mode) over two NICs eno1 and eno2.

Test steps:
1. eno1 is ON(can get ip 10.73.130.225), eno2 is OFF
2. run 'nmcli general logging level trace' as root
3. Delete /etc/sysconfig/network-scripts/ifcfg-eno1 and /etc/sysconfig/network-scripts/ifcfg-eno2
4. Setup bond1(active-backup mode) over eno1(primary) and eno2 via NMTUI.
(Note: Profile name and device must be bond1, eno1 and eno2 are also configured like this. Please refer to attachment screenshot for detailed configuration)

5. bond1 can get DHCP ip(10.73.128.240) currently, but slave eno1 still has DHCP ip(10.73.130.225).

# ip a s
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 08:94:ef:21:c0:4d brd ff:ff:ff:ff:ff:ff
    inet 10.73.130.225/23 brd 10.73.131.255 scope global dynamic eno1
       valid_lft 41269sec preferred_lft 41269sec
    inet6 2620:52:0:4982:33e8:e98a:268f:769b/64 scope global noprefixroute dynamic 
       valid_lft 2591861sec preferred_lft 604661sec
    inet6 fe80::a0de:27e5:b350:6b4d/64 scope link 
       valid_lft forever preferred_lft forever
3: eno2: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond1 state UP qlen 1000
    link/ether 08:94:ef:21:c0:4e brd ff:ff:ff:ff:ff:ff
9: bond1: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 08:94:ef:21:c0:4e brd ff:ff:ff:ff:ff:ff
    inet 10.73.128.240/24 brd 10.73.128.255 scope global dynamic bond1
       valid_lft 1219sec preferred_lft 1219sec
    inet6 2620:52:0:4980:3776:eeef:63ea:5ca7/64 scope global noprefixroute dynamic 
       valid_lft 2591560sec preferred_lft 604360sec
    inet6 fe80::6ef8:66e2:a450:d697/64 scope link 
       valid_lft forever preferred_lft forever

Expected results:
1. In step3, do not have to delete original ifcfg-interface(slave NIC should not create new ifcfg-interface-1 file when create bond)
2. In step5, slave eno1 should not have DHCP ip, only bond1 has DHCP ip

Comment 12 Huijuan Zhao 2016-12-15 06:06:59 UTC
Created attachment 1231976 [details]
Comment 11: All logs and all files in /etc/sysconfig/network-scripts/

Comment 13 Huijuan Zhao 2016-12-15 06:09:37 UTC
Created attachment 1231977 [details]
comment 11: Screenshot of adding bond1

Comment 14 Huijuan Zhao 2016-12-15 06:10:38 UTC
Created attachment 1231979 [details]
comment 11: screenshot of adding slave eno1 to bond1

Comment 15 Huijuan Zhao 2016-12-15 06:11:19 UTC
Created attachment 1231980 [details]
comment 11: screenshot of adding slave eno2 to bond1

Comment 16 Beniamino Galvani 2016-12-15 09:36:38 UTC
(In reply to Huijuan Zhao from comment #11)
> Test version:
> redhat-virtualization-host-4.0-20161206.0
> NetworkManager-1.4.0-13.el7_3.x86_64
>
> Test goal: Setup bond1(active-backup mode) over two NICs eno1 and eno2.
>
> Test steps:
> 1. eno1 is ON(can get ip 10.73.130.225), eno2 is OFF
> 2. run 'nmcli general logging level trace' as root
> 3. Delete /etc/sysconfig/network-scripts/ifcfg-eno1 and
> /etc/sysconfig/network-scripts/ifcfg-eno2

NM doesn't monitor files in /etc/sysconfig/network-scripts for
changes, so even if you delete a file there NM will still have the
connection in memory. Every time a change is made to a connection
file, a 'nmcli connection reload' must be performed to make NM pick up
the new connections.

Or, better, instead of manually deleting the file, you can delete the
connection through NM with:

 nmcli connection delete eno1 eno2

> 4. Setup bond1(active-backup mode) over eno1(primary) and eno2 via NMTUI.
> (Note: Profile name and device must be bond1, eno1 and eno2 are also
> configured like this. Please refer to attachment screenshot for detailed
> configuration)
>
> 5. bond1 can get DHCP ip(10.73.128.240) currently, but slave eno1 still has
> DHCP ip(10.73.130.225).

That's because there are now two 'eno1' connections: the old one with
DHCP and the new bond slave; and the old eno1 connection is still active here.

A 'nmcli connection' command would probably show something like:

  # nmcli connection
  NAME                      UUID                                  TYPE            DEVICE
  bond1                     a3743ad6-2ac0-4bdf-961b-9103871ed7b4  bond            bond1
  eno1                      52f610b7-aae6-49c0-8adf-7fdc641c1422  802-3-ethernet  eno1
  eno2                      c0631c81-5381-45ab-9035-371e9478808a  802-3-ethernet  eno2
  eno1                      bd5106c6-d97c-43e2-a356-8392fa450d49  802-3-ethernet  --

and an inspection of the active eno1 connection would reveal that it's
the DHCP one:

 # nmcli connection show 52f610b7-aae6-49c0-8adf-7fdc641c1422
 [...]
 connection.master:                      --
 [...]
 ipv4.method:                            auto
 [...]

> Expected results:
> 1. In step3, do not have to delete original ifcfg-interface(slave NIC should
> not create new ifcfg-interface-1 file when create bond)
> 2. In step5, slave eno1 should not have DHCP ip, only bond1 has DHCP ip

I think both of these will disappear if the old connection is removed
as described above.

Please repeat the test adding a 'nmcli connection reload' after step 3
(or, in alternative, replace step 3 with 'nmcli connection delete eno1 eno2').

Comment 17 Huijuan Zhao 2016-12-15 11:12:22 UTC
> I think both of these will disappear if the old connection is removed
> as described above.
> 
> Please repeat the test adding a 'nmcli connection reload' after step 3
> (or, in alternative, replace step 3 with 'nmcli connection delete eno1
> eno2').

Yes, you are right. 
I replaced step 3 with 'nmcli connection delete eno1 eno2', then only bond1 can get DHCP ip successfully. The result is what we expected.

Thanks for your detail instruction. 
So this is not NM issue, but cockpit call NM related issue, just setup bond failed via cockpit.

Comment 18 Beniamino Galvani 2016-12-16 10:26:27 UTC
(In reply to Huijuan Zhao from comment #17)
> > I think both of these will disappear if the old connection is removed
> > as described above.
> > 
> > Please repeat the test adding a 'nmcli connection reload' after step 3
> > (or, in alternative, replace step 3 with 'nmcli connection delete eno1
> > eno2').
> 
> Yes, you are right. 
> I replaced step 3 with 'nmcli connection delete eno1 eno2', then only bond1
> can get DHCP ip successfully. The result is what we expected.
> 
> Thanks for your detail instruction. 
> So this is not NM issue, but cockpit call NM related issue, just setup bond
> failed via cockpit.

Since the issue seems not related to NM, can you please update the product/component of the BZ? (It seems I'm unable to do so due to bugzilla complaining about missing fields). Thanks!

Comment 19 Huijuan Zhao 2016-12-19 02:34:59 UTC
Fabian, according to comment 16, 17, 18, could you please update the product/component of the BZ? 
Thanks!

Comment 20 Michael Burman 2016-12-19 05:54:52 UTC
Guys, this report sounds very similar to BZ 1395108 which Fixed In Version: cockpit-126-1.el7

Comment 21 Fabian Deutsch 2016-12-19 14:15:01 UTC
Huijuan, do you agree that this bug is a dupe of BZ 1395108?

Comment 22 Huijuan Zhao 2016-12-20 06:22:02 UTC
(In reply to Fabian Deutsch from comment #21)
> Huijuan, do you agree that this bug is a dupe of BZ 1395108?

Fabian, yes, I agree, and the test steps are almost same.

I also tested the below two scenarios, both work well.
1. Setup bond0 over two slave NICs which were OFF, after setup bond0, enable bond0 and slave NICs, bond0 works well, bond0 can get DHCP IP and ifcfg-${if} files are right.
2. Setup bond0 over two slave NICs which were ON, after setup bond0,  bond0 works well, bond0 can get DHCP IP and ifcfg-${if} files are right.

Comment 23 Fabian Deutsch 2016-12-20 13:49:04 UTC
Thanks Huijuan and Michael, closing as a dupe acording to comment 22.

*** This bug has been marked as a duplicate of bug 1395108 ***


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