fanatic remote host test fails when using non-default subnet sizes

Bug #1584878 reported by Leann Ogasawara
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ubuntu-fan (Ubuntu)
Fix Released
Critical
Andy Whitcroft
Xenial
Fix Released
Critical
Andy Whitcroft

Bug Description

When conducting the remote host testing, fanatic incorrectly calculates the ip for the remote test host on the Fan.

My remote host ip's are 192.168.1.3 and 192.168.1.10. I'm using non-default subnet sizes for the overlay/underlays (ie -o 250.99.0.0/16 and -u 192.168.1.0/24). Both LXD and Docker tests pass, but, as noted, the remote host testing fails:

test slave: ping test (250.99.1.4) ...
test slave: ping test ... FAIL

You'll notice the ip is incorrect, 250.99.1.4. It should be 250.99.3.1 in this example.

Raw output of failing fanatic test run is below:

$ sudo fanatic
Welcome to the fanatic fan networking wizard. This will help you set
up an example fan network and optionally configure docker and/or LXD to
use this network. See fanatic(1) for more details.

Configure fan underlay (hit return to accept, or specify alternative) [192.168.0.0/16]: 192.168.1.0/24
Configure fan overlay (hit return to accept, or specify alternative) [250.0.0.0/8]: 250.99.0.0/16
Create LXD networking for underlay:192.168.1.0/24 overlay:250.99.0.0/16 [Yn]: Y
Profile fan-250-99 created
Create docker networking for underlay:192.168.1.0/24 overlay:250.99.0.0/16 [Yn]: Y
Test LXD networking for underlay:192.168.1.10/24 overlay:250.99.0.0/16
(NOTE: potentially triggers large image downloads) [Yn]: Y
local lxd test: creating test container (Ubuntu:16.04) ...
Creating fanatic-test
Starting fanatic-test
lxd test: Waiting for addresses on eth0 ...
lxd test: Waiting for addresses on eth0 ...
lxd test: Waiting for addresses on eth0 ...
lxd test: Waiting for addresses on eth0 ...
test master: ping test (250.99.10.166) ...
test slave: ping test (250.99.10.1) ...
test master: ping test ... PASS
test master: short data test (250.99.10.1 -> 250.99.10.166) ...
test slave: ping test ... PASS
test slave: short data test (250.99.10.166 -> 250.99.10.1) ...
test slave: short data ... PASS
test master: short data ... PASS
test slave: long data test (250.99.10.166 -> 250.99.10.1) ...
test master: long data test (250.99.10.1 -> 250.99.10.166) ...
test master: long data ... PASS
test slave: long data ... PASS
local lxd test: destroying test container ...
local lxd test: test complete PASS (master=0 slave=0)
Test docker networking for underlay:192.168.1.10/24 overlay:250.99.0.0/16
(NOTE: potentially triggers large image downloads) [Yn]: Y
local docker test: creating test container ...
e47583ee4f18c95edfcb28e5b2514c0924527f30b3485f62d343fe8bf1000170
test master: ping test (250.99.10.0) ...
test slave: ping test (250.99.10.1) ...
test master: ping test ... PASS
test master: short data test (250.99.10.1 -> 250.99.10.0) ...
test slave: ping test ... PASS
test slave: short data test (250.99.10.0 -> 250.99.10.1) ...
test slave: short data ... PASS
test master: short data ... PASS
test slave: long data test (250.99.10.0 -> 250.99.10.1) ...
test master: long data test (250.99.10.1 -> 250.99.10.0) ...
test master: long data ... PASS
test slave: long data ... PASS
local docker test: destroying test container ...
fanatic-test
fanatic-test
local docker test: test complete PASS (master=0 slave=0)
This host IP address: 192.168.1.10
Remote test host IP address (none to skip): 192.168.1.3
host test: starting ...
test slave: ping test (250.99.1.4) ...
test slave: ping test ... FAIL
--- transcript start ---
PING 250.99.1.4 (250.99.1.4) 56(84) bytes of data.
From 250.99.10.1 icmp_seq=1 Destination Host Unreachable
From 250.99.10.1 icmp_seq=2 Destination Host Unreachable
From 250.99.10.1 icmp_seq=3 Destination Host Unreachable
From 250.99.10.1 icmp_seq=4 Destination Host Unreachable
From 250.99.10.1 icmp_seq=5 Destination Host Unreachable

--- 250.99.1.4 ping statistics ---
5 packets transmitted, 0 received, +5 errors, 100% packet loss, time 3998ms
pipe 3
--- transcript end ---
test slave: short data test (250.99.10.1 -> 250.99.1.4) ...

===
[Impact]

Remote host testing does not function correctly with non-default overlay/underlay combinations.

[Test Case]

As above.

[Regression Potential]

Low, this is only used during initial setup.

Andy Whitcroft (apw)
Changed in ubuntu-fan (Ubuntu):
status: New → In Progress
importance: Undecided → Critical
assignee: nobody → Andy Whitcroft (apw)
Revision history for this message
Andy Whitcroft (apw) wrote :

We are incorrectly using a fix width of /16 when calculating the remote IP address to remote Fan slice address. We need to use the selected width for this calculation.

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Andy's test package, ubuntu-fan-0.10.0~apw4, resolves this issue. Thanks!

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-fan - 0.10.0

---------------
ubuntu-fan (0.10.0) yakkety; urgency=medium

  [ Andy Whitcroft ]
  * fanatic: fix legacy command line form syntax error (LP: #1584150)
  * fanctl/fanatic: add help commands/options with initial pointers
    (LP: #1535054)

  [ Jay Vosburgh ]
  * fanatic: fix underlay with calculation (LP: #1584092)

  [ Andy Whitcroft ]
  * fanctl/fanatic: remove invalid web reference from manual pages.
    (LP: #1582956)
  * debian/control: fix use of obsolete > operator
  * fanatic: detect user specified underlay address without overlay
    (LP: #1584692)
  * fanatic: switch from lxd-images to using cached lxc images. (LP: #1584775)
  * fanctl.8: fix interfane type (LP: #1584845)
  * fanatic: test-host -- use the selected underlay width to calculate the remote addresses
    (LP: #1584878)

 -- Andy Whitcroft <email address hidden> Mon, 23 May 2016 22:05:19 +0100

Changed in ubuntu-fan (Ubuntu):
status: In Progress → Fix Released
Andy Whitcroft (apw)
Changed in ubuntu-fan (Ubuntu Xenial):
status: New → In Progress
importance: Undecided → Critical
assignee: nobody → Andy Whitcroft (apw)
Andy Whitcroft (apw)
description: updated
Revision history for this message
Chris J Arges (arges) wrote : Please test proposed package

Hello Leann, or anyone else affected,

Accepted ubuntu-fan into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/ubuntu-fan/0.9.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in ubuntu-fan (Ubuntu Xenial):
status: In Progress → Fix Committed
tags: added: verification-needed
Revision history for this message
Andy Whitcroft (apw) wrote :

Confirmed remote tests now work on non-default network masks.

tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-fan - 0.9.1

---------------
ubuntu-fan (0.9.1) xenial; urgency=medium

  [ Andy Whitcroft ]
  * fanatic: fix legacy command line form syntax error (LP: #1584150)
  * fanctl/fanatic: add help commands/options with initial pointers
    (LP: #1535054)

  [ Jay Vosburgh ]
  * fanatic: fix underlay with calculation (LP: #1584092)

  [ Andy Whitcroft ]
  * fanctl/fanatic: remove invalid web reference from manual pages.
    (LP: #1582956)
  * fanatic: detect user specified underlay address without overlay
    (LP: #1584692)
  * fanatic: switch from lxd-images to using cached lxc images. (LP: #1584775)
  * fanatic: test-host -- use the selected underlay width to calculate the remote addresses
    (LP: #1584878)
  * fanctl: fix net start/stop exit codes. (LP: #1551747)
  * fanatic: install ping and nc when needed (LP: #1586176)
  * fanatic: switch docker testing to lts images (LP: #1586169)

 -- Andy Whitcroft <email address hidden> Mon, 04 Jul 2016 14:35:39 +0100

Changed in ubuntu-fan (Ubuntu Xenial):
status: Fix Committed → Fix Released
Revision history for this message
Martin Pitt (pitti) wrote : Update Released

The verification of the Stable Release Update for ubuntu-fan has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.