Nova fails to open console.log file at repeated host evacuation
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
I am trying to perform "ping-pong" host evacuation - take down ungracefully host A, evacuate host A to host B, take down ungracefully host B and evacuate to host A. The second evacuation fails at following error:
[Errno 13] Permission denied: '/var/lib/
Traceback:
2016-10-17 11:36:56.023 3433 ERROR nova.compute.
2016-10-17 11:36:56.023 3433 ERROR nova.compute.
2016-10-17 11:36:56.023 3433 ERROR nova.compute.
2016-10-17 11:36:56.023 3433 ERROR nova.compute.
2016-10-17 11:36:56.023 3433 ERROR nova.compute.
2016-10-17 11:36:56.023 3433 ERROR nova.compute.
2016-10-17 11:36:56.023 3433 ERROR nova.compute.
2016-10-17 11:36:56.023 3433 ERROR nova.compute.
2016-10-17 11:36:56.023 3433 ERROR nova.compute.
2016-10-17 11:36:56.023 3433 ERROR nova.compute.
2016-10-17 11:36:56.023 3433 ERROR nova.compute.
2016-10-17 11:36:56.023 3433 ERROR nova.compute.
2016-10-17 11:36:56.023 3433 ERROR nova.compute.
2016-10-17 11:36:56.023 3433 ERROR nova.compute.
2016-10-17 11:36:56.023 3433 ERROR nova.compute.
2016-10-17 11:36:56.023 3433 ERROR nova.compute.
2016-10-17 11:36:56.023 3433 ERROR nova.compute.
2016-10-17 11:36:56.023 3433 ERROR nova.compute.
The problem is that the console file is left on host A with qemu:qemu ownership set by libvirt after first evacuation (the host A was taken down ungracefully) and once nova tries to open that file with append permission under nova user during second evacution from host B to host A It fails due to permissions. This try of nova to open the console.log file was introduce in:
https:/
Since I believe that in default installations usually dynamic_ownership=0 is not set and qemu is not started by the same user as Nova I would consider this as a regression.
Steps to reproduce:
1. Boot a VM on host A
2. Disrupt host A and trigger evacuation to host B
3. Wait for host A to be online again
4. Disrupt host B and trigger evacuation to host A
Expected result:
Successful 2nd host evacuation
Actual result:
Nova does not have permission to open console.log file and fails the evacuation.
Newton release used
description: | updated |
Changed in nova: | |
status: | New → In Progress |
assignee: | nobody → Stephen Finucane (stephenfinucane) |
Changed in nova: | |
status: | New → Fix Released |
Fix proposed to branch: master /review. openstack. org/392643
Review: https:/