← Back to team overview

touch-packages team mailing list archive

[Bug 1313513] Re: mountall does not honour _netdev

 

Status changed to 'Confirmed' because the bug affects multiple users.

** Changed in: mountall (Ubuntu)
       Status: New => Confirmed

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to mountall in Ubuntu.
https://bugs.launchpad.net/bugs/1313513

Title:
  mountall does not honour _netdev

Status in mountall package in Ubuntu:
  Confirmed

Bug description:
  Hi,

  This is a fresh install of Ubuntu 14.04 LTS AMD64.  I tried
  configuring a Ceph Rados Block Device (rbd) to be mounted during boot
  on /var/lib/one, containing my OpenNebula configuration and database.

  The idea being that should the machine go belly up, I'll have an up-
  to-date snapshot of the OpenNebula data on Ceph to mount on the new
  frontend machine.

  /etc/ceph/rbdmap is configured, I set up /etc/fstab with an entry:

  /dev/rbd/pool/rbdname /var/lib/one xfs defaults,_netdev 0 1

  then rebooted.  According to mount(8), _netdev is supposed to tell
  mountall to skip mounting this device until the network is up.

  As seen from the attached snapshot, it doesn't bother to wait, and
  blindly tries to mount the RBD before connecting to Ceph: this will
  never work.

  mountall seems to rely on *knowing* a list of network file systems:
  this means when someone comes up with a new network file system, or
  uses a conventional disk file system with a remote block device,
  mountall's heuristic falls flat on its face as has been demonstrated
  here.  The problem would also exist for iSCSI, AoE, FibreChannel, nbd
  and drbd devices.

  Due to bug 1313497, the keyboard is non-functional.  Recovery is
  useless as the keyboard is broken there too, and now the machine is
  waiting for a keypress it will never see due to that bug.  A headless
  system would similarly have this problem.

  Two suggestions I would have:
  1. mountall should honour _netdev to decide whether to mount a device or not: this gives the user the means to manually tell mountall that the device needs network access to operate even if the filesystem looks to be local.  I'd wager that if the user specified _netdev, they probably meant it and likely know better than mountall.
  2. mountall should time out after a predefined period and NEVER wait indefinitely: even if the disk is local.  If a disk goes missing, then it is better the machine tries to boot in its degraded state so it can be remotely managed and raise an alarm, than to wait for someone to notice the machine being down.

  Unfortunately since the machine is now effectively bricked, I can only
  grep proxy server logs to see what packages got installed.
  mountall_2.53_amd64.deb seems to be the culprit.

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