update for V3 kernel bits and improved multiple fan slice support

Bug #1470091 reported by Andy Whitcroft on 2015-06-30
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
iproute2 (Ubuntu)
High
Andy Whitcroft
Trusty
High
Andy Whitcroft
Vivid
High
Andy Whitcroft
Wily
High
Andy Whitcroft
linux (Ubuntu)
High
Andy Whitcroft
Trusty
High
Andy Whitcroft
Vivid
High
Andy Whitcroft
Wily
High
Andy Whitcroft
linux-lts-utopic (Ubuntu)
Trusty
High
Andy Whitcroft
linux-lts-vivid (Ubuntu)
Trusty
High
Andy Whitcroft
ubuntu-fan (Ubuntu)
High
Andy Whitcroft
Trusty
High
Andy Whitcroft
Vivid
High
Andy Whitcroft
Wily
High
Andy Whitcroft

Bug Description

Fan V2 to V3 transition plan
============================

Currently we have V2 Fan kernel patches paired with an
/etc/defaults/ubuntu-fan based single fan mapping setup. We want to
transition to both V3 Fan kernel patches with fanctl based configuration
allowing multiple fans to be configured together.

The new V3 kernel bits fix a significant limitation wherein we could not
have multiple slices of different overlay address ranges on the same local
address. This update introduces an incompatible kernel interface against
a different device. The new functionality is a full superset of the old.

The new V3 kernel bits require updated iproute2 patches to handle the
new netlink form carrying the expanded map forms.

In order to manage multiple Fan devices we are updating ubuntu-fan to use
the new fanctl command line tool and a new fan specific configuration file.

This plan assumes we are not wedded to the kernel interface, that the
supported API is the /etc/defaults/ubuntu-fan fan configuration.

Considerations
==============
We are unable to depend on kernel features, as we have no meaninful
dependencies to kernel versions.

We need to change the primary configuration file and format for ubuntu-fan
package to allow multiple slices of multiple fans to be configured
together.

We have V2 kernel bits in the wild. We have V2 iproute in the wild.

Steps
=====
1) update fanctl to support both the V2 and V3 kernel interfaces as we cannot
   depend on a kernel version meaningfully.
2) update iproute2 to support configuring both V2 and V3 kernel interfaces.
3) update ubuntu-fan with the updated fanctl, supporting migration
   of the /etc/default/fan contents to /etc/network/fan (or directly
   handling that form), and depending on the updated iproute2 bits.
4) release updated iproute2 bits.
5) release updated ubuntu-fan bits.
6) release updated kernel bits (V3 kernel module).

Testing
=======
Need to test old and new kernels with old and new ubuntu-fan levels.
We obviously do not expect the old userspace to work with the new kernels,
but it should fail obviously.

===

Discussions on this with the Ubuntu Tech Board are in the thread below:

  https://lists.ubuntu.com/archives/technical-board/2015-July/002122.html

Andy Whitcroft (apw) on 2015-06-30
Changed in ubuntu-fan (Ubuntu):
status: New → In Progress
importance: Undecided → High
assignee: nobody → Andy Whitcroft (apw)
Changed in linux (Ubuntu):
status: New → In Progress
Changed in iproute2 (Ubuntu):
status: New → In Progress
importance: Undecided → High
Changed in linux (Ubuntu):
importance: Undecided → High
Changed in iproute2 (Ubuntu):
assignee: nobody → Andy Whitcroft (apw)
Changed in linux (Ubuntu):
assignee: nobody → Andy Whitcroft (apw)
Changed in iproute2 (Ubuntu Vivid):
status: New → Triaged
importance: Undecided → High
status: Triaged → In Progress
assignee: nobody → Andy Whitcroft (apw)
Changed in linux (Ubuntu Vivid):
status: New → In Progress
importance: Undecided → High
assignee: nobody → Andy Whitcroft (apw)
Changed in ubuntu-fan (Ubuntu Vivid):
status: New → In Progress
importance: Undecided → High
assignee: nobody → Andy Whitcroft (apw)
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package iproute2 - 3.16.0-2ubuntu2

---------------
iproute2 (3.16.0-2ubuntu2) wily; urgency=low

  * Update Ubuntu FAN support to V3. (LP: #1470091)

 -- Andy Whitcroft <email address hidden> Mon, 29 Jun 2015 16:59:24 +0100

Changed in iproute2 (Ubuntu Wily):
status: In Progress → Fix Released
Launchpad Janitor (janitor) wrote :

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

---------------
ubuntu-fan (0.3.0) wily; urgency=low

  * Add fanctl control program in preparation for v3 kernel bits.
    (LP: #1470091)
  * Add fanctl.8 manual page.
  * Fix dnsmasq except-interface specification to fan-*.
  * Loosen iproute2 dependancy to allow test builds to match.
  * debian/ubuntu-fan.postinst: add post install conversion of previous
    configuration to /etc/network/fan.
  * debian/control: switch depends: to dnsmasq-base to prevent installation
    of the system daemon when not needed.
  * Update the README to better describe use cases and to point to external
    resources.

 -- Andy Whitcroft <email address hidden> Mon, 06 Jul 2015 23:04:40 +0100

Changed in ubuntu-fan (Ubuntu Wily):
status: In Progress → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 4.0.0-4.6

---------------
linux (4.0.0-4.6) wily; urgency=low

  [ Andy Whitcroft ]

  * Release Tracking Bug
    - LP: #1470233
  * rebase to mainline v4.0.7

  [ Jay Vosburgh ]

  * SAUCE: fan: Proof of concept implementation (v2)
    - LP: #1439706
  * SAUCE: fan: tunnel multiple mapping mode (v3)
    - LP: #1470091

  [ Upstream Kernel Changes ]

  * rebase to v4.0.7
    - LP: #1427680
    - LP: #1462614

 -- Andy Whitcroft <email address hidden> Tue, 30 Jun 2015 16:55:32 +0100

Changed in linux (Ubuntu Wily):
status: In Progress → Fix Released
Andy Whitcroft (apw) on 2015-07-21
description: updated
Brad Figg (brad-figg) on 2015-07-22
Changed in linux (Ubuntu Vivid):
status: In Progress → Fix Committed

Hello Andy, or anyone else affected,

Accepted iproute2 into vivid-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/iproute2/3.16.0-2ubuntu1.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 iproute2 (Ubuntu Vivid):
status: In Progress → Fix Committed
tags: added: verification-needed
Adam Conrad (adconrad) on 2015-07-23
Changed in linux (Ubuntu Trusty):
status: New → Invalid
Changed in linux-lts-vivid (Ubuntu Vivid):
status: New → Invalid
Andy Whitcroft (apw) on 2015-07-23
Changed in ubuntu-fan (Ubuntu Trusty):
assignee: nobody → Andy Whitcroft (apw)
importance: Undecided → Medium
status: New → In Progress
Adam Conrad (adconrad) on 2015-07-23
Changed in linux (Ubuntu Trusty):
status: Invalid → Won't Fix
Andy Whitcroft (apw) on 2015-07-23
Changed in ubuntu-fan (Ubuntu Trusty):
importance: Medium → High
Adam Conrad (adconrad) on 2015-07-23
Changed in linux-lts-vivid (Ubuntu Wily):
status: New → Invalid
Changed in linux-lts-vivid (Ubuntu Trusty):
status: New → Fix Committed
Andy Whitcroft (apw) on 2015-07-23
Changed in iproute2 (Ubuntu Trusty):
assignee: nobody → Andy Whitcroft (apw)
importance: Undecided → High
status: New → In Progress
Adam Conrad (adconrad) on 2015-07-23
Changed in linux-lts-utopic (Ubuntu Vivid):
status: New → Invalid
Changed in linux-lts-utopic (Ubuntu Wily):
status: New → Invalid
Changed in linux (Ubuntu Trusty):
status: Won't Fix → New
Changed in linux-lts-utopic (Ubuntu Trusty):
assignee: nobody → Andy Whitcroft (apw)
Changed in linux (Ubuntu Trusty):
assignee: nobody → Andy Whitcroft (apw)
Changed in linux-lts-vivid (Ubuntu Trusty):
assignee: nobody → Andy Whitcroft (apw)
Adam Conrad (adconrad) wrote :

Hello Andy, or anyone else affected,

Accepted iproute2 into trusty-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/iproute2/3.12.0-2ubuntu1 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 iproute2 (Ubuntu Trusty):
status: In Progress → Fix Committed
Adam Conrad (adconrad) wrote :

Hello Andy, or anyone else affected,

Accepted ubuntu-fan into vivid-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/ubuntu-fan/0.3.0~15.04.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 Vivid):
status: In Progress → Fix Committed
Changed in ubuntu-fan (Ubuntu Trusty):
status: In Progress → Fix Committed
Adam Conrad (adconrad) wrote :

Hello Andy, or anyone else affected,

Accepted ubuntu-fan into trusty-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/ubuntu-fan/0.3.0~14.04.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!

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-lts-vivid - 3.19.0-25.26~14.04.1

---------------
linux-lts-vivid (3.19.0-25.26~14.04.1) trusty; urgency=low

  [ Colin Ian King ]

  * SAUCE: KEYS: ensure we free the assoc array edit if edit is valid
    - CVE-2015-1333

  [ Upstream Kernel Changes ]

  * x86/asm/entry/64: Fold the 'test_in_nmi' macro into its only user
  * x86/asm/entry/64: Remove a redundant jump
  * x86/nmi: Enable nested do_nmi handling for 64-bit kernels
  * x86/nmi/64: Remove asm code that saves cr2
  * x86/nmi/64: Switch stacks on userspace NMI entry
    - CVE-2015-3290, CVE-2015-5157
  * x86/nmi/64: Improve nested NMI comments
  * x86/nmi/64: Reorder nested NMI checks
  * x86/nmi/64: Use DF to avoid userspace RSP confusing nested NMI
    detection
    - CVE-2015-3291

linux (3.19.0-24.25) vivid; urgency=low

  [ Brad Figg ]

  * Release Tracking Bug
    - LP: #1477250

  [ Andy Whitcroft ]

  * SAUCE: fan: tunnel multiple mapping mode (v3)
    - LP: #1470091

 -- Luis Henriques <email address hidden> Fri, 24 Jul 2015 16:39:26 +0100

Changed in linux-lts-vivid (Ubuntu Trusty):
status: Fix Committed → Fix Released
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 3.19.0-25.26

---------------
linux (3.19.0-25.26) vivid; urgency=low

  [ Colin Ian King ]

  * SAUCE: KEYS: ensure we free the assoc array edit if edit is valid
    - CVE-2015-1333

  [ Upstream Kernel Changes ]

  * x86/asm/entry/64: Fold the 'test_in_nmi' macro into its only user
  * x86/asm/entry/64: Remove a redundant jump
  * x86/nmi: Enable nested do_nmi handling for 64-bit kernels
  * x86/nmi/64: Remove asm code that saves cr2
  * x86/nmi/64: Switch stacks on userspace NMI entry
    - CVE-2015-3290, CVE-2015-5157
  * x86/nmi/64: Improve nested NMI comments
  * x86/nmi/64: Reorder nested NMI checks
  * x86/nmi/64: Use DF to avoid userspace RSP confusing nested NMI
    detection
    - CVE-2015-3291

linux (3.19.0-24.25) vivid; urgency=low

  [ Brad Figg ]

  * Release Tracking Bug
    - LP: #1477250

  [ Andy Whitcroft ]

  * SAUCE: fan: tunnel multiple mapping mode (v3)
    - LP: #1470091

 -- Luis Henriques <email address hidden> Fri, 24 Jul 2015 10:37:53 +0100

Changed in linux (Ubuntu Vivid):
status: Fix Committed → Fix Released
status: Fix Committed → Fix Released
Andy Whitcroft (apw) wrote :

These have been tested together on trusty VMs and on GCE.

tags: added: verification-done
removed: verification-needed
Andy Whitcroft (apw) wrote :

Set up two trusty machines and two vivid machines both updated to the appropriate -proposed and confirmed they could all be configured into the same fans. Also setup lxc containers on two of them and confirmed they could talk to each other as expected. Marking verified.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package iproute2 - 3.16.0-2ubuntu1.1

---------------
iproute2 (3.16.0-2ubuntu1.1) vivid; urgency=low

  * Update Ubuntu FAN support to V3. (LP: #1470091)

 -- Andy Whitcroft <email address hidden> Mon, 29 Jun 2015 16:59:24 +0100

Changed in iproute2 (Ubuntu Vivid):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for iproute2 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.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-fan - 0.3.0~15.04.1

---------------
ubuntu-fan (0.3.0~15.04.1) vivid; urgency=low

  * Add fanctl control program in preparation for v3 kernel bits.
    (LP: #1470091)
  * Add fanctl.8 manual page.
  * Fix dnsmasq except-interface specification to fan-*.
  * Loosen iproute2 dependancy to allow test builds to match.
  * debian/ubuntu-fan.postinst: add post install conversion of previous
    configuration to /etc/network/fan.
  * debian/control: switch depends: to dnsmasq-base to prevent installation
    of the system daemon when not needed.
  * Update the README to better describe use cases and to point to external
    resources.

 -- Andy Whitcroft <email address hidden> Mon, 06 Jul 2015 23:04:40 +0100

Changed in ubuntu-fan (Ubuntu Vivid):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-fan - 0.3.0~14.04.1

---------------
ubuntu-fan (0.3.0~14.04.1) trusty; urgency=low

  * Add fanctl control program in preparation for v3 kernel bits.
    (LP: #1470091)
  * Add fanctl.8 manual page.
  * Fix dnsmasq except-interface specification to fan-*.
  * Loosen iproute2 dependancy to allow test builds to match.
  * debian/ubuntu-fan.postinst: add post install conversion of previous
    configuration to /etc/network/fan.
  * debian/control: switch depends: to dnsmasq-base to prevent installation
    of the system daemon when not needed.
  * Update the README to better describe use cases and to point to external
    resources.

 -- Andy Whitcroft <email address hidden> Mon, 06 Jul 2015 23:04:40 +0100

Changed in ubuntu-fan (Ubuntu Trusty):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package iproute2 - 3.12.0-2ubuntu1

---------------
iproute2 (3.12.0-2ubuntu1) trusty; urgency=low

  * Add Ubuntu FAN support V3. (LP: #1470091)

 -- Andy Whitcroft <email address hidden> Mon, 29 Jun 2015 17:05:40 +0100

Changed in iproute2 (Ubuntu Trusty):
status: Fix Committed → Fix Released
no longer affects: linux-lts-utopic (Ubuntu)
Changed in linux (Ubuntu Trusty):
importance: Undecided → High
no longer affects: linux-lts-utopic (Ubuntu Vivid)
no longer affects: linux-lts-utopic (Ubuntu Wily)
no longer affects: linux-lts-vivid (Ubuntu)
no longer affects: linux-lts-vivid (Ubuntu Vivid)
no longer affects: linux-lts-vivid (Ubuntu Wily)
Changed in linux-lts-utopic (Ubuntu Trusty):
importance: Undecided → High
Changed in linux-lts-vivid (Ubuntu Trusty):
importance: Undecided → High
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers