NFS share not mounted due to findmnt behaviour change
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
High
|
Lee Yarwood | ||
Newton |
In Progress
|
Undecided
|
Lee Yarwood |
Bug Description
Description
===========
The following findmnt behaviour change present in util-linux-
findmnt --target behaviour changed in 7.3, shows all mount-points in chroot
https:/
Steps to reproduce
==================
- Install devstack with the NFS plugin on a RHEL 7.3, CentOS 7.3 or Fedora 25 host.
- Attempt to launch a volume backed instance.
Expected result
===============
NFS share mounted by both Nova and Cinder allowing the instance to launch correctly.
Actual result
=============
NFS share only mounted by Cinder causing the instance to fail to launch.
Environment
===========
1. Exact version of OpenStack you are running. See the following
list for all releases: http://
devstack (master) + devstack-plugin-nfs (master) + CentOS 7.3
2. Which hypervisor did you use?
(For example: Libvirt + KVM, Libvirt + XEN, Hyper-V, PowerKVM, ...)
What's the version of that?
Libvirt + KVM
2. Which storage type did you use?
(For example: Ceph, LVM, GPFS, ...)
What's the version of that?
NFS
3. Which networking type did you use?
(For example: nova-network, Neutron with OpenVSwitch, ...)
n/a
Logs & Configs
==============
Changed in nova: | |
importance: | Undecided → High |
Changed in nova: | |
assignee: | nobody → Lee Yarwood (lyarwood) |
status: | New → In Progress |
Changed in nova: | |
assignee: | Lee Yarwood (lyarwood) → Matthew Booth (mbooth-9) |
Changed in nova: | |
assignee: | Matthew Booth (mbooth-9) → Lee Yarwood (lyarwood) |
Reviewed: https:/ /review. openstack. org/420146 /git.openstack. org/cgit/ openstack/ nova/commit/ ?id=86b361d9166 200db2174be8721 4190a29e77f98f
Committed: https:/
Submitter: Jenkins
Branch: master
commit 86b361d9166200d b2174be87214190 a29e77f98f
Author: Lee Yarwood <email address hidden>
Date: Fri Jan 13 16:45:32 2017 +0000
libvirt: workaround findmnt behaviour change
findmnt as provided by util-linux- 2.23.2- 33 now returns 0 when --source
is already mounted on the host under a different mountpoint [1]. This causes
issues in environments where cinder-volume may have already mounted a
given NFS share.
This change works around this behaviour change by using os.path.ismount
to confirm if the target is already a mountpoint and if a source is
provided also checking /proc/mounts to confirm that it is mounted at the
target location.
[1] https:/ /bugzilla. redhat. com/show_ bug.cgi? id=1405238
Closes-Bug: #1656774 0a9a75bbf666a54 a604ace558c
Change-Id: Id64cc77237bf77