← Back to team overview

group.of.nepali.translators team mailing list archive

[Bug 1823872] Re: Fixing fsfreeze-hook can break unattended upgrades

 

Thanks Rbalint for fixing that.
Since a triggering change in qemu is in at least >=Bionic and was reported to even affect continuous unattended upgrades there would you considering SRUing your changes as needed?
I added tasks for all releases, but set >=Bionic to high to to that being an issue in the field IMHO.

** Also affects: qemu (Ubuntu Cosmic)
   Importance: Undecided
       Status: New

** Also affects: unattended-upgrades (Ubuntu Cosmic)
   Importance: Undecided
       Status: New

** Also affects: qemu (Ubuntu Bionic)
   Importance: Undecided
       Status: New

** Also affects: unattended-upgrades (Ubuntu Bionic)
   Importance: Undecided
       Status: New

** No longer affects: qemu (Ubuntu Bionic)

** No longer affects: qemu (Ubuntu Cosmic)

** Changed in: unattended-upgrades (Ubuntu Bionic)
     Assignee: (unassigned) => Balint Reczey (rbalint)

** Changed in: unattended-upgrades (Ubuntu Cosmic)
     Assignee: (unassigned) => Balint Reczey (rbalint)

** Changed in: unattended-upgrades (Ubuntu Bionic)
   Importance: Undecided => High

** Changed in: unattended-upgrades (Ubuntu Cosmic)
   Importance: Undecided => High

** Also affects: qemu (Ubuntu Xenial)
   Importance: Undecided
       Status: New

** Also affects: unattended-upgrades (Ubuntu Xenial)
   Importance: Undecided
       Status: New

** Also affects: qemu (Ubuntu Trusty)
   Importance: Undecided
       Status: New

** Also affects: unattended-upgrades (Ubuntu Trusty)
   Importance: Undecided
       Status: New

** No longer affects: qemu (Ubuntu Xenial)

** No longer affects: qemu (Ubuntu Trusty)

** Changed in: unattended-upgrades (Ubuntu Xenial)
   Importance: Undecided => Medium

** Changed in: unattended-upgrades (Ubuntu Trusty)
   Importance: Undecided => Medium

** Changed in: unattended-upgrades (Ubuntu Trusty)
     Assignee: (unassigned) => Balint Reczey (rbalint)

** Changed in: unattended-upgrades (Ubuntu Xenial)
     Assignee: (unassigned) => Balint Reczey (rbalint)

-- 
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1823872

Title:
  Fixing fsfreeze-hook can break unattended upgrades

Status in qemu package in Ubuntu:
  Invalid
Status in unattended-upgrades package in Ubuntu:
  Fix Released
Status in unattended-upgrades source package in Trusty:
  New
Status in unattended-upgrades source package in Xenial:
  New
Status in unattended-upgrades source package in Bionic:
  New
Status in unattended-upgrades source package in Cosmic:
  New

Bug description:
  [Impact]

   * If an update has a new conffile at a path that in a former version was 
     a directory like
      old: /a/b/c
      new: a/b
     Here b is the new file name and was a directory in the old version.
     Then unattended upgrades breaks on installing such a package.

   * a recent qemu update has such a case and due to that triggered the 
     issue in >=Bionic

   * The fix is to harden unattended upgrades to be able to handle the case 
     without aborting.

  [Test Case]

  Get a qemu guest e.g. of Bionic before the update to 1:2.11+dfsg-1ubuntu7.12
  That can be done with:
    $ time uvt-simplestreams-libvirt --verbose sync --source http://cloud-images.ubuntu.com/daily arch=amd64 label=daily release=bionic
    $ uvt-kvm create --password ubuntu bionic-testuu arch=amd64 release=bionic label=daily

  Log in and apt update & upgrade all packages, then Install the release level qemu in there.
    $ uvt-kvm ssh bionic-testuu
    $ sudo apt update
    $ sudo apt dist-upgrade
    $ sudo apt install unattended-upgrades
    $ sudo apt install qemu-guest-agent=1:2.11+dfsg-1ubuntu7

  All before was preparation, now force the unattended upgrade to trigger the bug.
    $ sudo unattended-upgrade -d

  With the bug you'll find some error like:
  found pkg: qemu-guest-agent
  conffile line: /etc/init.d/qemu-guest-agent f61a64ac1e48993023018fd1cff85191
  current md5: f61a64ac1e48993023018fd1cff85191
  conffile line: /etc/qemu/fsfreeze-hook/fsfreeze-hook 15f6ff42cbc5550a07ee21c2a471d905
  /etc/qemu/fsfreeze-hook/fsfreeze-hook not in package conffiles /etc/init.d/qemu-guest-agent
  /etc/qemu/fsfreeze-hook
  found conffile /etc/qemu/fsfreeze-hook in new pkg but on dpkg status
  Traceback (most recent call last):
    File "/usr/bin/unattended-upgrade", line 2057, in <module>
      sys.exit(main(options))
    File "/usr/bin/unattended-upgrade", line 1773, in main
      if conffile_prompt(item.destfile):
    File "/usr/bin/unattended-upgrade", line 988, in conffile_prompt
      with open(prefix + conf_file, 'rb') as fp:
  IsADirectoryError: [Errno 21] Is a directory: '/etc/qemu/fsfreeze-hook'

  [Regression Potential]

  TODO: rbalint who writes the fix
   * discussion of how regressions are most likely to manifest as a result of this change. 

   * It is assumed that any SRU candidate patch is well-tested before
     upload and has a low overall risk of regression, but it's important
     to make the effort to think about what ''could'' happen in the
     event of a regression.

   * This both shows the SRU team that the risks have been considered,
     and provides guidance to testers in regression-testing the SRU.

  [Other Info]
   
   * n/a

  ---

  As reported on https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/1820291/comments/20
  We fixed an issue and we added workrounds since basic mv_conffile coudn't handle it and did all sort of upgrade tests.

  That all worked fine and moved the conffile.

  It was now reported that due to some pre-checks that unattended
  upgrades might do this might do some checks on its own.

  Next step:
  - check unattended upgrades through this change
  - check if it only affects cases were the former config was modified (minority) or the default file layout (majority)

  --- original report copied ---

  just wanted to add: This bug also crashes unattended-upgrade and thus
  prevents security updates on 18.04:

  root@mailin1:~# unattended-upgrade
  Traceback (most recent call last):
    File "/usr/bin/unattended-upgrade", line 1998, in <module>
      sys.exit(main(options))
    File "/usr/bin/unattended-upgrade", line 1714, in main
      if conffile_prompt(item.destfile):
    File "/usr/bin/unattended-upgrade", line 929, in conffile_prompt
      with open(prefix + conf_file, 'rb') as fp:
  IsADirectoryError: [Errno 21] Is a directory: '/etc/qemu/fsfreeze-hook'

  Basically, unattended-upgrade wants to compare old/new conffiles and
  doesn't like it when the old conffile turns out to be a directory...

  This prevents security updates to be installed. The unattended-upgrade
  logs do not contain the trace, only the messages:

  2019-04-05 13:24:24,851 INFO Initial blacklisted packages:
  2019-04-05 13:24:24,853 INFO Initial whitelisted packages:
  2019-04-05 13:24:24,853 INFO Starting unattended upgrades script
  2019-04-05 13:24:24,854 INFO Allowed origins are: o=Ubuntu,a=bionic, o=Ubuntu,a=bionic-security, o=UbuntuESM,a=bionic'

  And that's it.

  You can't really get out of this without manually running 'apt-get
  install qemu-guest-agent' because at this point, unattended-upgrade
  can't update itself anymore.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/1823872/+subscriptions