Bug 1487384 - [NMCI] no_metric_route_connection_restart_persistence
Summary: [NMCI] no_metric_route_connection_restart_persistence
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: NetworkManager
Version: 7.5
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Thomas Haller
QA Contact: Desktop QE
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-08-31 18:22 UTC by Thomas Haller
Modified: 2017-09-01 14:00 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-09-01 14:00:14 UTC
Target Upstream Version:


Attachments (Terms of Use)
[logfile] from beaker run (607.80 KB, application/octet-stream)
2017-08-31 18:23 UTC, Thomas Haller
no flags Details
[patch] core: ignore /32 gateway routes when matching generated connection (3.40 KB, patch)
2017-09-01 12:40 UTC, Thomas Haller
no flags Details | Diff

Description Thomas Haller 2017-08-31 18:22:31 UTC
Broken test, with upstream master:

https://beaker.engineering.redhat.com/jobs/2030210

Comment 2 Thomas Haller 2017-08-31 18:23:28 UTC
Created attachment 1320696 [details]
[logfile] from beaker run

Comment 3 Thomas Haller 2017-08-31 18:28:27 UTC
Notes:

[1504202126.2620] platform: route: append     IPv4 route: 192.168.4.1/32 via 0.0.0.0 dev 10 metric 100 mss 0 rt-src user

we add a direct route to the gateway.




after restart, we have 4 IPv4 routes:

[1504202127.5831] platform: signal: route   4   added: 0.0.0.0/0 via 192.168.4.1 dev 10 metric 101 mss 0 rt-src rt-static scope global
[1504202127.5832] platform: signal: route   4   added: 192.168.3.0/24 via 0.0.0.0 dev 10 metric 100 mss 0 rt-src rt-kernel scope link pref-src 192.168.3.10
[1504202127.5833] platform: signal: route   4   added: 192.168.4.1/32 via 0.0.0.0 dev 10 metric 100 mss 0 rt-src rt-static scope link
[1504202127.5833] platform: signal: route   4   added: 192.168.5.0/24 via 192.168.3.11 dev 10 metric 100 mss 0 rt-src rt-static scope global

and matching connection fails:

<debug> [1504202127.8140] Connection 'eth1' differs from candidate 'ethie' in ipv4.routes, 802-3-ethernet.mac-address
<debug> [1504202127.8141] manager: (eth1): assume: generated connection 'eth1' (41e9c9c9-9413-4d42-8a0f-3ca93dee392d)
<debug> [1504202127.8141] device[0x7f6667b531d0] (eth1): assume-state: set guess-assume=0, connection=(null)

so we end up generating an external connection and the test fails.

Comment 4 Thomas Haller 2017-09-01 08:51:30 UTC
further debugging shows that indeed it's the fault of the /32 route.

[1504255205.6170] Connection eth1 differs from candidate ethie in ipv4.routes, 802-3-ethernet.mac-address
[1504255205.6170] >>>>>>> DIFF
[1504255205.6170] >>>ORIG[0]: 192.168.4.1/32 via (none)
[1504255205.6170] >>>ORIG[1]: 192.168.5.0/24 via 192.168.3.11
[1504255205.6170] >>>CAND[0]: 192.168.5.0/24 via 192.168.3.11

Comment 5 Thomas Haller 2017-09-01 12:40:57 UTC
Created attachment 1320915 [details]
[patch] core: ignore /32 gateway routes when matching generated connection

Comment 6 Beniamino Galvani 2017-09-01 13:40:13 UTC
LGTM.

I think the commit message should mention that it fixes this:

https://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/src?id=e470e1392242a088573c4fc317b7b5ffaca4df19


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