NetplanUpdates

Revision 13 as of 2019-03-19 17:38:33

Clear message

This document describes the policy for updating netplan.io in a stable, supported release.

Netplan is an abstraction layer for network configuration used on all releases of Ubuntu since Ubuntu 18.10; and generates systemd-networkd or NetworkManager configuration based on initial netplan configuration (written in YAML) present at boot time.

In order to closely align with new networking requirements being backported to supported releases as well as the MAAS product, netplan.io needs to be periodically updated in order to enable new features. Therefore, the following types of changes are allowed as long as the conditions outlined below are met:

  • Bug fixes
  • New features

In the event of a change breaking backwards compatibility, then SRU team approval will need to be obtained.

Requesting the SRU

The SRU should be done with a single process bug, instead of individual bug reports for individual bug fixes. Individual bug fixes may also be tracked/closed by the upload; however only the one process bug must have the following:

  • The SRU should be requested per the StableReleaseUpdates documented process

  • The template at the end of this document should be used and all ‘TODO’ filled out
  • References to each bug fixed by the SRU should be included in the changelog and major changes called out in the SRU template, especially where changed behavior is not backwards compatible.
  • For each release (e.g. trusty, xenial, etc.) that is proposed to be updated by the SRU a link to the results of integration testing, via autopkgtest, successfully completed using the proposed package with no unexplained errors or failures
  • Any architecture specific fixes need to be noted and architecture specific test results included
  • Any packaging changes (e.g. a dependency changes) need to be stated
  • If any manual testing occurs it should also be documented. See LP #1588052 as an example.

QA Process

Merges

Updates to netplan trunk go through the following process:

  • Reviewed and approved by a member of the development team
  • TODO: Daily integration tests on trunk
  • Successful run of unit tests and style tests on a per-commit basis

Packaging

The following describes the requirements for each package generated for the SRU.

For each package generated a successful completion of netplan’s integration tests, as described below, using the proposed package with no unexplained errors or failures

Integration Tests

Netplan includes an in-tree integration suite to validating various network configurations. The tests themselves involve a large number of different configuration scenarios designed to touch as many features and functionalities as possible including tests to cover previous opened bugs.

SRU Template

[Impact]
This release sports both bug-fixes and new features and we would like to
make sure all of our supported customers have access to these improvements.
The notable ones are:

   * <TODO: Create list with LP: # included>

See the changelog entry below for a full list of changes and bugs.

[Test Case]
The following development and SRU process was followed:
https://wiki.ubuntu.com/NetplanUpdates

Netplan contains an extensive integration test suite that is ran using
the SRU package for each releases. This test suite's results are available here:
http://autopkgtest.ubuntu.com/packages/n/netplan.io

A successful run is required before the proposed netplan package
can be let into -updates.

The netplan team will be in charge of attaching the artifacts and console
output of the appropriate run to the bug.  Netplan team members will not
mark ‘verification-done’ until this has happened.

[Regression Potential]
In order to mitigate the regression potential, the results of the
aforementioned integration tests are attached to this bug.

<TODO: attach test artifacts for every SRU release, not a link as links expire>

[Discussion]
<TODO: other background>

[Changelog]
<TODO: Paste in change log entry>