[Bug 1060404] Re: update-grub runs and fails in containers

Serge Hallyn 1060404 at bugs.launchpad.net
Tue Jan 8 14:29:27 UTC 2013


** Description changed:

- ==============================
- SRU justification for lxc part:
- 1. Impact: update-grub fails, causing apt-get updates to fail if there is a new kernel.
- 2. Development fix: modify ubuntu templates to mount devtmpfs before starting container
- 3. Stable fix: same as development fix.
- 4. Test case:
- 	sudo lxc-create -t ubuntu-cloud -n q1
- 	sudo lxc-start q1
- 	# inside the container, run sudo update-grub
- 5. Regression potential: This adds one more mount per container (by default, removable), taking up more memory.
- ==============================
- If grub is installed in a container (as happens, for instance, with the ubuntu-cloud template) then an update of grub or linux-image will cause update-grub to be run.  It tries, finds it can't access the root device, fails, and causes the update to fail.
+ [XXX edit - removed the SRU justification for lxc part.  The proposed solution
+ was not safe, and was undone in a later commit.  devtmpfs cannot be mounted
+ in a container, because changes under the container's /dev are then
+ reflected in the host's /dev.
+ 
+ If grub is installed in a container (as happens, for instance, with the
+ ubuntu-cloud template) then an update of grub or linux-image will cause
+ update-grub to be run.  It tries, finds it can't access the root device,
+ fails, and causes the update to fail.
  
  It would be better for update-grub to detect that it is in a container
  and simply exit 0, so that the apt-get can succeed.  I'm attaching a
  debdiff which does that.

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to grub2 in Ubuntu.
https://bugs.launchpad.net/bugs/1060404

Title:
  update-grub runs and fails in containers

Status in “grub2” package in Ubuntu:
  Fix Released
Status in “lxc” package in Ubuntu:
  Fix Released
Status in “upstart” package in Ubuntu:
  Invalid
Status in “grub2” source package in Precise:
  Confirmed
Status in “lxc” source package in Precise:
  Triaged
Status in “upstart” source package in Precise:
  Confirmed
Status in “grub2” source package in Quantal:
  Fix Released
Status in “lxc” source package in Quantal:
  Fix Released
Status in “upstart” source package in Quantal:
  Invalid

Bug description:
  [XXX edit - removed the SRU justification for lxc part.  The proposed solution
  was not safe, and was undone in a later commit.  devtmpfs cannot be mounted
  in a container, because changes under the container's /dev are then
  reflected in the host's /dev.

  If grub is installed in a container (as happens, for instance, with
  the ubuntu-cloud template) then an update of grub or linux-image will
  cause update-grub to be run.  It tries, finds it can't access the root
  device, fails, and causes the update to fail.

  It would be better for update-grub to detect that it is in a container
  and simply exit 0, so that the apt-get can succeed.  I'm attaching a
  debdiff which does that.

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




More information about the foundations-bugs mailing list