[SRU] curtin in yakkety to supported releases

Bug #1577872 reported by Scott Moser on 2016-05-03
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
curtin (Ubuntu)
Medium
Unassigned
Trusty
Medium
Unassigned
Wily
Medium
Unassigned
Xenial
Medium
Unassigned

Bug Description

== Begin SRU Template ==
[Impact]
This update to curtin is required to support features of MAAS 1.9 that is being SRU'd to trusty and wily under bug 1509147. There are also numerous bug fixes that affect the code path used with older maas as well. See the changelog entry below for a full list.

Changes to wily and xenial much more bug fix only.

[Test Case]
The test case is really MAAS 1.9 functionality. The MAAS bug 1509147 should include methods for verifying this.

For curtin's part, curtin now contains fairly extensive continuous integration test on trunk.
Those results can be seen at https://server-team-jenkins.canonical.com/job/curtin-vmtest-venonat/ .

[Regression Potential]
The chance for regression here is most likely in using curtin with an older MAAS release.

[Other Info]
The version of curtin here is completely backwards compatible with previous versions of MAAS and previous versions of curtin. Specifically a user could take curtin update without MAAS 1.9 SRU to trusty and be fine.

There are dramatic changes to curtin between the version in 14.04 and what is being SRU'd. This will no doubt be alarming to a user. However, there has been extensive work on improving curtin's test suite both in actual install tests in a VM and in uniti tests.

== End SRU Template ==

In order to support MAAS sru of 1.9 into trusty, we need a newer version of curtin.
Below is the combined debian changelog.

  * debian/new-upstream-snapshot, debian/README.source: add
    new-upstream-snapshot and mention it in README.source
  * debian/control: drop python from curtin-common Depends.
     remove unnecessary Depends on util-linux as it is essential.
     python3-curtin, python-curtin: drop unnecessary 'curl' from Depends.
     python3-curtin, python-curtin: list oauthlib and yaml Depends
  * debian/control: add bcache-tools to curtin Depends.
  * New upstream snapshot.
    - Detect and remove legacy /etc/network/interfaces.d/eth0.cfg from
      target (LP: #1582410)
    - fix timestamp not being updated in reported events
    - mdadm: resolve mdadm/bcache and trusty+hwe issues (LP: #1569549, LP: #1514094)
    - fix support for 4k disks (LP: #1436632, LP: #1564977)
    - emit source /etc/network/interfaces.d/*.cfg in
      rendered /etc/network/interfaces
    - net: introduce 'control' field to network configuration to allow
      for declaring manual controlled interfaces
    - disable cloud-init networking as curtin is the source of network config
    - block: wipe_volume improvements
    - reporter: enhance reporting events to include levels and
      improve usefullness of messages
    - network: add bonding tests and cleanup newline rendering
    - block: fix partition path issue with nvme devices
    - fix logic error in kernel installation
    - block: add debug regarding raid modules being missing on mdadm create
    - add s390x support to curtin and vmtest
[Wily and Trusty < revno 365]
    - support build on xenial where python3 pyflakes is split out
      (LP: #1471928)
    - fix uefi install path on nvme devices
    - numerous unit tests and vmtests improvements. Add running
      of pylint for static checking.
    - Add bond parsing & improved source, source-directory parsing
      of /etc/network/interfaces. (LP: #1536262)
    - move global dns-* options under auto lo in /etc/network/interfaces
    - partitioning: limited support for odd ordering of partition numbers
      (LP: #1543263)
    - change use of mkfs.fat to mkfs.vfat and add dependency. (LP: #1539720)
    - block-meta: use removable devices if no non-removable devices are
      found [Robert Clark] (LP: #1532062)
    - Improve 'curtin mkfs' and move mkfs logic to block.mkfs fixes
      using btrfs on precise and trusty.
    - fix failures caused by systems with invalid system_clock (LP: #1520400)
    - support bcache installation on precise (LP: #1449099)
    - fix bug in install_grub to partition when storage_config provided
      fixing lvm installation on power8 (LP: #1523779).
    - block_meta: handle 'preserve' flag for raid devices (LP: #1522147)
    - close file descriptors from --config= arguments
    - xenial: disable update-motd during an apt-get update
    - subp: add decode parameter, defaulting to replace.
      this fixes errors when output of a command had non-utf chars
    - support passing an integer or valid float to human2bytes
    - Use /proc/mounts to find missing mountpoints rather than relying
      entirely on lsblk as lsblk differs widely between ubuntu releases.
    - support extracting tar files compressed with xz or bzip or
      uncompressed. Previously required gzip compression.
    - Improve dependency checking and installation (LP: #1514888)
      this fixes curtin running on precise and installing dependencies
      it needs.
    - Reduce chance udev race with mdadm opening /dev/mdX (LP: #1512857)
    - Allow re-use of bcache cache devices with separate backing devices
      (LP: #1514094)
    - invoke mkfs.ext3 or mkfs.ext4 with -F to fix issues found if
      target device had a filesystem already present.
    - Partition alignment and sizing fixes (LP: #1513085)
    - Set bcache cache_mode if present in storage config (LP: #1510334)
    - when apt-get update is called during installation, do not download
      translation files and source files, reducing chances for mismatch.
[Trusty only < revno 276]
    - add system-install sub command. 'curtin system-install pastebinit'
      will install packages in a way guaranteed to not prompt.
    - add 'system-upgrade' command and config to easily update the
      system after installation before reboot. (LP: #1481992)
    - fix reporting of FAIL when a subcommand used sys.exit(0)
    - grub-install: if fail to find mounted uefi partition, give more
      debug output
    - network config: add support for dns-search key in subnet and search
      in nameserver
    - Ensure required networking packages are installed in the target.
      (LP: #1491994)
    - stop grub from going into graphical/vga mode on installed systems
    - curthooks: support specifying kernel/package without mapping
    - ChrootableTarget: do not attempt to change resolv.conf if
      there is no /etc directory
    - list the set of features that curtin has for library users.
      users can now check the FEATURES list for a specific feature.
    - fix bug in argument parsing --set mykey=foo=bar
    - in-target: add '--capture' to in-target and special case target=/
    - support declaring json in --set argument via --set=json:...
    - add reporting function to allow calling a webhook endpoint
      with status of curtin install.
    - Allow partprobe to return 1, which is expected when no partition table
      exists (LP: #1488632).
    - support storage config providing /dev/disk/by-dname links
      (LP: #1487533, LP: #1477756)
    - enable setting of verbosity and showtrace via config file (LP: #1467673)
    - drop python-parted dependency (LP: #1483196, LP: #1477795)
    - swap: use fallocate if possible for much faster swap file creation
      (LP: #1482994)
    - support network-config, where networking configuration is declared
      in curtin config that will be applied to the host.
    - support storage-config, allowing curtin to install and use many
      different storage configurations (LVM, bcache, btrfs...)

Related Bugs:
 * bug 1509147: [SRU] MAAS 1.9

Scott Moser (smoser) on 2016-05-03
summary: - sru xenial curtin to trusty
+ [SRU] xenial curtin to trusty
Changed in curtin (Ubuntu):
status: New → Fix Released
importance: Undecided → Medium
Changed in curtin (Ubuntu Trusty):
status: New → Confirmed
Changed in curtin (Ubuntu Wily):
status: New → Confirmed
Changed in curtin (Ubuntu Trusty):
importance: Undecided → Medium
Changed in curtin (Ubuntu Wily):
importance: Undecided → Medium
Scott Moser (smoser) on 2016-05-05
summary: - [SRU] xenial curtin to trusty
+ [SRU] yakkety curtin to trusty and xenial
Changed in curtin (Ubuntu Xenial):
status: New → Confirmed
importance: Undecided → Medium
summary: - [SRU] yakkety curtin to trusty and xenial
+ [SRU] curtin in yakkety to supported releases
description: updated
description: updated
Scott Moser (smoser) wrote :

I've just uploaded 0.1.0~bzr387-0ubuntu1~YY.MM.1 to each xenial wily and trusty.
yakkety does not yet have 387 due to LP: #1560134.

description: updated
Scott Moser (smoser) on 2016-05-11
description: updated

Hello Scott, or anyone else affected,

Accepted curtin into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/curtin/0.1.0~bzr387-0ubuntu1~16.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 curtin (Ubuntu Xenial):
status: Confirmed → Fix Committed
tags: added: verification-needed
Martin Pitt (pitti) wrote :

Does this SRU to wily actually make sense? Non-LTS releases aren't very interesting on servers in the first place, and now that Xenial is out and wily only has two more months to live the effort/benefit ratio is even higher.

Martin Pitt (pitti) wrote :

Hello Scott, or anyone else affected,

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

Changed in curtin (Ubuntu Trusty):
status: Confirmed → Fix Committed
Scott Moser (smoser) on 2016-06-03
description: updated
Chris J Arges (arges) wrote :

Hello Scott, or anyone else affected,

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

Chris J Arges (arges) wrote :

Hello Scott, or anyone else affected,

Accepted curtin into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/curtin/0.1.0~bzr389-0ubuntu1~16.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!

Scott Moser (smoser) wrote :

Martin, I suggested wily SRU really only because otherwise it is older than trusty.
I'm OK with your position as SRU team member saying its not important.

Andres Rodriguez (andreserl) wrote :

Tested this and works as expected!

tags: added: verification-done
removed: verification-needed
Scott Moser (smoser) on 2016-06-10
Changed in curtin (Ubuntu Wily):
status: Confirmed → Won't Fix
Martin Pitt (pitti) wrote :

Andres, which release did you test? Resetting to v-needed as it's unclear what you did and wheter it was for trusty, xenial, or both.

tags: added: verification-needed
removed: verification-done
Mike Pontillo (mpontillo) wrote :

The MAAS team regularly tests on both Trusty and Xenial, for MAAS 1.9 and 2.x (respectively). I'm confident in the earlier statement of `verification-done`, especially as it relates to Xenial.

That said, I'm 80% confident in Trusty, only because we have MAAS 1.5.4 in -security, MAAS 1.7.6 in -updates, and MAAS 1.9.2 in -proposed. We rarely go back and tests releases as old as 1.5.4 or 1.7.6. So I think it's fine to leave this in -proposed in Trusty until MAAS 1.9.x issued as a SRU as well.

tags: added: verification-done
removed: verification-needed
Brian Murray (brian-murray) wrote :

If you want to leave curtin in -proposed in Trusty, then the tags should be verification-needed-trusty and verification-done-xenial. As it stands with just a verification-done tag the SRU team might release it into Trusty's -updates.

tags: added: verification-done-xenial verification-needed-trusty
removed: verification-done
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package curtin - 0.1.0~bzr389-0ubuntu1~16.04.1

---------------
curtin (0.1.0~bzr389-0ubuntu1~16.04.1) xenial-proposed; urgency=medium

  * New upstream snapshot.
    * Detect and remove legacy /etc/network/interfaces.d/eth0.cfg from
      target (LP: #1582410)

curtin (0.1.0~bzr387-0ubuntu1~16.04.1) xenial-proposed; urgency=medium

  * sru current curtin (LP: #1577872)
  * debian/control: drop python from curtin-common Depends.
     remove unnecessary Depends on util-linux as it is essential.
     python3-curtin, python-curtin: drop unnecessary 'curl' from Depends.
     python3-curtin, python-curtin: list oauthlib and yaml Depends
  * debian/control: add bcache-tools to curtin Depends.
  * New upstream snapshot.
    - fix timestamp not being updated in reported events
    - mdadm: resolve mdadm/bcache and trusty+hwe issues
    - fix support for 4k disks
    - emit source /etc/network/interfaces.d/*.cfg in
      rendered /etc/network/interfaces
    - net: introduce 'control' field to network configuration to allow
      for declaring manual controlled interfaces
    - disable cloud-init networking as curtin is the source of network config
    - block: wipe_volume improvements
    - reporter: enhance reporting events to include levels and
      improve usefullness of messages
    - network: add bonding tests and cleanup newline rendering
    - block: fix partition path issue with nvme devices
    - fix logic error in kernel installation
    - block: add debug regarding raid modules being missing on mdadm create
    - add s390x support to curtin and vmtest

 -- Scott Moser <email address hidden> Fri, 03 Jun 2016 10:34:52 -0400

Changed in curtin (Ubuntu Xenial):
status: Fix Committed → Fix Released

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

Jon Grimm (jgrimm) wrote :

We do not want this released to trusty because it will expose another known bug.We have a newer SRU in unapproved queue that will fix things up.

tags: added: verification-failed-trusty
removed: verification-needed-trusty
Changed in curtin (Ubuntu Trusty):
status: Fix Committed → In Progress

Hello Scott, or anyone else affected,

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

Changed in curtin (Ubuntu Trusty):
status: In Progress → Fix Committed
tags: added: verification-needed
tags: added: verification-done
removed: verification-needed
tags: added: verification-done-trusty
removed: verification-failed-trusty
Launchpad Janitor (janitor) wrote :
Download full text (6.5 KiB)

This bug was fixed in the package curtin - 0.1.0~bzr399-0ubuntu1~14.04.1

---------------
curtin (0.1.0~bzr399-0ubuntu1~14.04.1) trusty-proposed; urgency=medium

  * SRU current curtin
    - curtin/net: fix inet value for subnets, don't add interface attributes
      to alias (LP: #1588547)
    - improve net-meta network configuration (LP: #1592149)
    - reporting: set webhook handler level to DEBUG, no filtering
      (LP: #1590846)
    - tests/vmtests: add yakkety, remove vivid
    - curtin/net: use post-up for interface alias, resolve 120 second time out
      on Trusty when using interface aliases
    - vmtest: provide info on images used
    - fix multipath configuration and add multipath tests (LP: #1551937)
    - tools/launch and tools/xkvm: whitespace cleanup and bash -x
    - tools/launch: boot by root=LABEL=cloudimg-rootfs
    - Initial vmtest power8 support and TestSimple test.

curtin (0.1.0~bzr389-0ubuntu1~14.04.1) trusty-proposed; urgency=medium

  * New upstream snapshot.
    * Detect and remove legacy /etc/network/interfaces.d/eth0.cfg from
      target (LP: #1577872)

curtin (0.1.0~bzr387-0ubuntu1~14.04.1) trusty-proposed; urgency=medium

  * sru current curtin (LP: #1577872)
  * debian/new-upstream-snapshot, debian/README.source: add
    new-upstream-snapshot and mention it in README.source
  * debian/control: drop python from curtin-common Depends.
     remove unnecessary Depends on util-linux as it is essential.
     python3-curtin, python-curtin: drop unnecessary 'curl' from Depends.
     python3-curtin, python-curtin: list oauthlib and yaml Depends
  * debian/control: add bcache-tools to curtin Depends.
  * New upstream snapshot.
    - fix timestamp not being updated in reported events
    - mdadm: resolve mdadm/bcache and trusty+hwe issues
    - fix support for 4k disks
    - emit source /etc/network/interfaces.d/*.cfg in
      rendered /etc/network/interfaces
    - net: introduce 'control' field to network configuration to allow
      for declaring manual controlled interfaces
    - disable cloud-init networking as curtin is the source of network config
    - block: wipe_volume improvements
    - reporter: enhance reporting events to include levels and
      improve usefullness of messages
    - network: add bonding tests and cleanup newline rendering
    - block: fix partition path issue with nvme devices
    - fix logic error in kernel installation
    - block: add debug regarding raid modules being missing on mdadm create
    - add s390x support to curtin and vmtest
    - support build on xenial where python3 pyflakes is split out
    - fix uefi install path on nvme devices
    - numerous unit tests and vmtests improvements. Add running
      of pylint for static checking.
    - Add bond parsing & improved source, source-directory parsing
      of /etc/network/interfaces.
    - move global dns-* options under auto lo in /etc/network/interfaces
    - partitioning: limited support for odd ordering of partition numbers
    - change use of mkfs.fat to mkfs.vfat and add dependency.
    - block-meta: use removable devices if no non-removable devices are
      found [Robert Clark]
    - Improve 'curtin mkfs' and move mkfs...

Read more...

Changed in curtin (Ubuntu Trusty):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers