Bug 1067489 - libvirt_lxc namespace and umount in global namespace
Summary: libvirt_lxc namespace and umount in global namespace
Keywords:
Status: CLOSED DEFERRED
Alias: None
Product: Virtualization Tools
Classification: Community
Component: libvirt
Version: unspecified
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Libvirt Maintainers
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-02-20 14:29 UTC by Olivier Nicaise
Modified: 2016-05-02 14:28 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-05-02 14:28:11 UTC
Embargoed:


Attachments (Terms of Use)

Description Olivier Nicaise 2014-02-20 14:29:11 UTC
Description of problem:

I am currently having an issue with the libvirt_lxc binary that is launched when starting a lxc instance using libvirt. This process seems to have its own namespace for mounts. 
What happens is that if I umount something in the global namespace, it stays mounted in the libvirt_lxc namespace.
I'm working with drbd, and after unmounting the mount point, I want to change the state of the drbd resource as Secondary. But if fails. Indeed, libvirt_lxc has still the resource which is mounted in its namespace.

Version-Release number of selected component (if applicable):
1.1.1

How reproducible:
Everytime

Steps to Reproduce:
- Mount a drbd file system
- Start a lxc instance with libvirt (which does not involve the drbd file system mounted in point 1)
- Umount the drbd file system
- Set the drbd resource as secondary. => Does not work
I think it should also fail with other device types that can be unloaded but I did not test it (LVM, loop devices,...)

Expected results:
Drbd resource successfully changes state to secondary 

Additional info:
Confirmed as a bug by Daniel P. Berrange on the user mailing list:

Ahh, interesting scenario that I'd not considered. With LXC there are
in fact 3 mounts namespaces in play

 - The host OS namespace
 - The libvirt_lxc namespace
 - The actual container namespace

The libvirt_lxc namespace is basically the same as the host namespace,
but with the addition of a devpts for the container's /dev/pts.

We explicitly don't allow dynamic changes to propagate from the host
OS to the container namespace, however, it sounds like we *should*
allow host OS changes to propagage to the libvirt_lxc process
namespace.

Comment 1 Cole Robinson 2016-04-10 17:51:38 UTC
Sorry this bug never received a response Olivier. Do you know if this is still relevant with newer libvirt?

Comment 2 Cole Robinson 2016-05-02 14:28:11 UTC
Since there's no response, closing as DEFERRED. But if anyone is still affected with newer libvirt versions, please re-open and we can triage from there


Note You need to log in before you can comment on or make changes to this bug.