lxc-start-ephemeral suppresses command exit status

Bug #1050351 reported by William Grant
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
lxc (Ubuntu)
Fix Released
Low
William Grant
Precise
Fix Released
Low
Unassigned

Bug Description

====================================
SRU Justification:
1. Impact: lxc-start-ephemeral return status does not reflect the return status of the command it executed.
2. Development fix: when the child successfully starts, return its return value.
3. Stable fix: same as development fix
4. Test case:
 1. sudo lxc-create -t ubuntu -n p1
 2. sudo lxc-start-ephemeral -o p1 -- /bin/false
 3. echo $? # - this should return 1, not 0.
5. Regression potential: the change is convined to lxc-start-ephemeral, so any
   regressions should not affect any other functionality.
====================================
lxc-start-ephemeral supports executing a command directly, but always exits 0 rather than using the command's status, causing errors to go unnoticed when used programmatically.

Related branches

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package lxc - 0.8.0~rc1-4ubuntu34

---------------
lxc (0.8.0~rc1-4ubuntu34) quantal; urgency=low

  [ Serge Hallyn ]
  * 0214-give-pclose-errno: help debug pclose failures when lxc runs scripts.
  * 0215-lxc-clone-name-arg: fix incorrect checking for --name argument.
    (LP: #1049914)
  * 0216-hook-kmsg-to-console: link /dev/kmsg to /dev/console so init log
    messages can be seen. (LP: #1049926)
  * 0217-lxc-clone-fix-fstab: fix check for lxc.mount in lxc-clone
    (LP: #1049987)
  * 0218-api-shutdown-fix-doublestop: don't call c->stop() when already
    stopped (LP: #1050001)
  * Update lxc-start-container apparmor abstraction to allow ecryptfs mounts
    from the pre-mount script. Remove the instruction to add that line from
    the example hook.
  * Update lxc-start-container apparmor abstraction to allow mounts to paths
    under /var/lib/lxc/$container/, so that pre-mount hooks can stage mounts
    there. Also update the mountecryptfs example premount hook to use that.
    (LP: #1050469)
  * debian/rules: remove parsing of apparmor.in files.

  [ Stéphane Graber ]
  * Update lxc-start-container apparmor abstraction to allow aufs and overlayfs
    mounts from the pre-mount scripts. This is required by some hooks and will
    be needed by the new lxc-start-ephemeral.
  * Remove multi-arch path in lxc-start-container apparmor abstraction and
    instead just allow /usr/lib/*/lxc/ so nested containers running on a
    different architecture don't get blocked by apparmor.
  * Cherry-pick python-lxc fixes from upstream:
    - Minor PEP-8 syntax fix
    - Return an exception when getting Container instance as non-root
    - Automatically convert any state string passed to wait() to its uppercase
      equivalent.
    - Replace test.py by a full example of the API.
    - Remove zombie handler function from C module as it's no longer required
      and causes weird bugs when used with the hooks.

  [ William Grant ]
  * lxc-start-ephemeral: exit with the command's status, not always 0.
    (LP: #1050351)
 -- Serge Hallyn <email address hidden> Thu, 13 Sep 2012 12:02:45 -0500

Changed in lxc (Ubuntu):
status: In Progress → Fix Released
description: updated
Changed in lxc (Ubuntu Precise):
importance: Undecided → High
status: New → In Progress
importance: High → Low
Revision history for this message
Serge Hallyn (serge-hallyn) wrote :

@William,

I see you've rejected the precise-proposed submission. Should the precise status be set to wontfix, or will you be pushing another fix?

Changed in lxc (Ubuntu Precise):
status: In Progress → Triaged
Revision history for this message
William Grant (wgrant) wrote :

I don't have the power to reject it, and I'm not sure who did or why. I'd still like to see this SRUed if possible.

Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello William, or anyone else affected,

Accepted lxc into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/lxc/0.7.5-3ubuntu66 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 lxc (Ubuntu Precise):
status: Triaged → Fix Committed
tags: added: verification-needed
Revision history for this message
Serge Hallyn (serge-hallyn) wrote :

Fix verified.

tags: added: verification-done
removed: verification-needed
Revision history for this message
Scott Kitterman (kitterman) wrote : Update Released

The verification of this Stable Release Update 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 regresssions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package lxc - 0.7.5-3ubuntu66

---------------
lxc (0.7.5-3ubuntu66) precise-proposed; urgency=low

  [ William Grant ]
  * lxc-start-ephemeral: exit with the command's status, not always 0.
    (LP: #1050351)

  [ Serge Hallyn ]
  * 0227-ubuntu-cloud-parsing: fix some option parsing bugs in ubuntu-cloud
    template (LP: #1076031)
  * 0229-lxc-clone-mount-fix: fix wrong handling of lxc.mount entries in
    lxc-clone. (LP: #1084089)
 -- Serge Hallyn <email address hidden> Thu, 29 Nov 2012 12:43:44 -0600

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

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.