Bug 1272273

Summary: Bad routing table results
Product: Red Hat Enterprise Linux 7 Reporter: Michael Moore <michael.moore>
Component: NetworkManagerAssignee: Rashid Khan <rkhan>
Status: CLOSED INSUFFICIENT_DATA QA Contact: Desktop QE <desktop-qa-list>
Severity: high Docs Contact:
Priority: high    
Version: 7.2CC: bgalvani, dcbw, jklimes, kzhang, lrintel, michael.moore, rkhan, thaller
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-12-15 13:12:28 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Michael Moore 2015-10-16 00:05:47 UTC
Description of problem:  Install with no dhcp available and no network settings, figuring to add later.


Version-Release number of selected component (if applicable):7.2


How reproducible:Extremely


Steps to Reproduce:
1.Install 7.2 Server with no network or TZ choices and no DHCP on network, and
choose Server with GUI but leave the boxes for virtual machines unchecked.
2.Edit the appropriate ifcfg-enp1s0 file to make a static IP
3.Restart network with syetemctl
4.try accessing anything--you _might_ be able to ping default gateway, but other machines on your subnet, probably not, not even by IPADDR.
5.  route gives you an interesting 3-entry routing table which has virbr0 at 0 and the network and default gateway at 100.
6.  To fix systemctl stop libvirtd; systemctl disable libvirtd; reboot
7.  After that the network runs as expected from /etc/hosts /etc/resolv.conf and /etc/sysconfig/network-scripts/ifcfg-enp1s0 (and of course /etc/hostname) changes for the intended target network.

This has also been observed in RHEL 7.1 when there was a conflict in naming between /etc/hosts and /etc/hostname causing a different 3-entry routing table which allowed only the gateway to be pinged. 

Actual results:
no net connectivity

Expected results:
net connectivity

Additional info:
It appears there is a default load of libvirtd even when virtualization is not requested.

Comment 2 Thomas Haller 2015-10-19 10:59:01 UTC
(In reply to Michael Moore from comment #0)

Hi Michael,

> Description of problem:  Install with no dhcp available and no network
> settings, figuring to add later.
> 
> 
> Version-Release number of selected component (if applicable):7.2
> 
> 
> How reproducible:Extremely
> 
> 
> Steps to Reproduce:
> 1.Install 7.2 Server with no network or TZ choices and no DHCP on network,
> and
> choose Server with GUI but leave the boxes for virtual machines unchecked.

> 2.Edit the appropriate ifcfg-enp1s0 file to make a static IP

Editing the ifcfg-rh file gets not automatically reloaded by NetworkManager.
(unless, you configured main.monitor-connection-files=TRUE in /etc/NM/NM.conf -- what you usually don't want).

Instead, do an explicit:
  nmcli connection load /etc/sysconfig/network-scripts/ifcfg-NAME
or
  nmcli connection reload



> 3.Restart network with syetemctl

How did you "restart network", and what did you expect to happen?
Note that the systemd service for NetworkManager is called "NetworkManager.service", not "network.service". But again, usually you would *not* restart NetworkManager to apply any network changes (see step 2).


> 4.try accessing anything--you _might_ be able to ping default gateway, but
> other machines on your subnet, probably not, not even by IPADDR.
> 5.  route gives you an interesting 3-entry routing table which has virbr0 at
> 0 and the network and default gateway at 100.

What is the output of

  ip route
  ip addr
  nmcli connection show
  nmcli device


> 6.  To fix systemctl stop libvirtd; systemctl disable libvirtd; reboot

If you reboot, NM would obviously reload all files you edited.
What did you do in step 2?

> 7.  After that the network runs as expected from /etc/hosts /etc/resolv.conf
> and /etc/sysconfig/network-scripts/ifcfg-enp1s0 (and of course
> /etc/hostname) changes for the intended target network.
> 
> This has also been observed in RHEL 7.1 when there was a conflict in naming
> between /etc/hosts and /etc/hostname causing a different 3-entry routing
> table which allowed only the gateway to be pinged. 

This sounds like a different issue.



> Additional info:
> It appears there is a default load of libvirtd even when virtualization is
> not requested.

This sounds like an unrelated issue

Comment 3 Michael Moore 2015-11-02 18:42:03 UTC
The unrelated issue makes an entry in the routing table, so it may be unrelated for cause but definitely related in effect.  That additional entry takes precedence and can be removed only by removing libvirtd.

Reboot still produced unworkable results thanks to virbr0.

I am not able to answer the outputs as I do not currently have a system in that state.  I have one repaired one with libvirtd/virbr0 removed, NetworkManager removed, and system responsive to network.  When I make another install I will be able to answer, but workload is taking me other directions at the moment.

Comment 4 Michael Moore 2015-12-15 00:19:23 UTC
immediate postinstall routine :

# chkconfig NetWorkManager off
# yum -y remove libvirtd

no more problems with routing table.

You may close the bug since its circumstances are unlikely for the config.

Comment 5 Michael Moore 2016-01-25 17:17:39 UTC
Just to close the reminders.