Bug 1272273 - Bad routing table results
Bad routing table results
Status: CLOSED INSUFFICIENT_DATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: NetworkManager (Show other bugs)
7.2
x86_64 Linux
high Severity high
: rc
: ---
Assigned To: Rashid Khan
Desktop QE
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-10-15 20:05 EDT by Michael Moore
Modified: 2016-01-25 12:17 EST (History)
8 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2015-12-15 08:12:28 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Michael Moore 2015-10-15 20:05:47 EDT
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 06:59:01 EDT
(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 13:42:03 EST
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-14 19:19:23 EST
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 12:17:39 EST
Just to close the reminders.

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