VM evacuation is broken with shared storage if VM console.log is not owned by nova
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
| OpenStack Compute (nova) |
High
|
Cedric Brandily | ||
| Newton |
High
|
Stephen Finucane | ||
| Ocata |
High
|
Stephen Finucane |
Bug Description
On my Ocata deployment (with a shared storage between my KVMs hypervisors), the following worflow is failing:
* stop nova-compute on a KVM hypervisor
* stop a VM on the KVM hypervisor using virsh destroy
* evacuate the VM ... which fails with the stacktrace:
ERROR nova.compute.
ERROR nova.compute.
ERROR nova.compute.
ERROR nova.compute.
ERROR nova.compute.
ERROR nova.compute.
ERROR nova.compute.
ERROR nova.compute.
ERROR nova.compute.
ERROR nova.compute.
ERROR nova.compute.
ERROR nova.compute.
ERROR nova.compute.
ERROR nova.compute.
ERROR nova.compute.
ERROR nova.compute.
ERROR nova.compute.
ERROR nova.compute.
ERROR nova.compute.
ERROR nova.compute.
After some investigation:
_ensure_
>>> open('/etc/shadow')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IOError: [Errno 13] Permission denied: '/etc/shadow'
EACCES errors are raised when you cannot do something because of insufficient permissions, EPERM are raised when you cannot do something (even with root account).
[1] nova.virt.
[2] https:/
Changed in nova: | |
assignee: | nobody → Cedric Brandily (cbrandily) |
status: | New → In Progress |
Changed in nova: | |
importance: | Undecided → Low |
tags: | added: rebuild |
Reviewed: https:/
Committed: https:/
Submitter: Jenkins
Branch: master
commit 3072b0afbc157ee
Author: cedric.brandily <email address hidden>
Date: Thu May 18 21:26:09 2017 +0200
Correct _ensure_
_ensure_
A change[2] updated in order to succeed if the file exists without nova
being able to read it (typically happens when libvirt rewrites uid/gid)
by ignoring EPERM errors.
It seems the method should ignore EACCES errors. Indeed EACCES errors
are raised when an action is not permitted because of insufficient
permissions where EPERM errors when an action is not permitted at all.
[1] nova.virt.
[2] https:/
Closes-Bug: #1691831
Change-Id: Ifc075a0fd91fc8
Changed in nova: | |
status: | In Progress → Fix Released |
Fix proposed to branch: stable/ocata
Review: https:/
Fix proposed to branch: stable/newton
Review: https:/
summary: |
- VM evacuation is broken with shared torage if VM console.log is not + VM evacuation is broken with shared storage if VM console.log is not owned by nova |
Changed in nova: | |
importance: | Low → High |
Reviewed: https:/
Committed: https:/
Submitter: Jenkins
Branch: stable/ocata
commit 81838f1ae910383
Author: cedric.brandily <email address hidden>
Date: Thu May 18 21:26:09 2017 +0200
Correct _ensure_
_ensure_
A change[2] updated in order to succeed if the file exists without nova
being able to read it (typically happens when libvirt rewrites uid/gid)
by ignoring EPERM errors.
It seems the method should ignore EACCES errors. Indeed EACCES errors
are raised when an action is not permitted because of insufficient
permissions where EPERM errors when an action is not permitted at all.
[1] nova.virt.
[2] https:/
Closes-Bug: #1691831
Change-Id: Ifc075a0fd91fc8
(cherry picked from commit 3072b0afbc157ee
Reviewed: https:/
Committed: https:/
Submitter: Jenkins
Branch: stable/newton
commit 9d299ae50ea52c6
Author: cedric.brandily <email address hidden>
Date: Thu May 18 21:26:09 2017 +0200
Correct _ensure_
_ensure_
A change[2] updated in order to succeed if the file exists without nova
being able to read it (typically happens when libvirt rewrites uid/gid)
by ignoring EPERM errors.
It seems the method should ignore EACCES errors. Indeed EACCES errors
are raised when an action is not permitted because of insufficient
permissions where EPERM errors when an action is not permitted at all.
[1] nova.virt.
[2] https:/
Closes-Bug: #1691831
Change-Id: Ifc075a0fd91fc8
(cherry picked from commit 3072b0afbc157ee
This issue was fixed in the openstack/nova 16.0.0.0b2 development milestone.
This issue was fixed in the openstack/nova 15.0.6 release.
This issue was fixed in the openstack/nova 14.0.8 release.
Fix proposed to branch: master /review. openstack. org/466088
Review: https:/