Volume marked as available after a failure to build
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Medium
|
Lee Yarwood | ||
Victoria |
Fix Released
|
Medium
|
Lee Yarwood |
Bug Description
Description
===========
When skipping the scheduler by specifying a host in the provided availability_zone parameter of a request ('$az:$host') any failure to build an instance with volumes attached on the target host will result in the removal of all volume attachments within Cinder. This in turn marks this volume as available, allowing future requests to potentially use the volume.
This is due to the following exception handling code being used when no retry info is provided when skipping the scheduler:
This is contrast to what happens after a failure to schedule an instance with volumes attached where the volume attachments remain and the volume is left in a reserved state.
Steps to reproduce
==================
* Attempt to spawn an instance on a specific host using the availability_zone parameter.
* Ensure this request fails during _build_
Expected result
===============
Any associated volumes still have attachments to the instance and are left in a reserved state.
Actual result
=============
All volume attachments are removed and any associated volumes are left in an available state.
Environment
===========
1. Exact version of OpenStack you are running. See the following
list for all releases: http://
1e10461c71cb
2. Which hypervisor did you use?
(For example: Libvirt + KVM, Libvirt + XEN, Hyper-V, PowerKVM, ...)
What's the version of that?
N/A
2. Which storage type did you use?
(For example: Ceph, LVM, GPFS, ...)
What's the version of that?
N/A
3. Which networking type did you use?
(For example: nova-network, Neutron with OpenVSwitch, ...)
N/A
Logs & Configs
==============
Changed in nova: | |
status: | In Progress → Fix Released |
importance: | Undecided → Medium |
Related fix proposed to branch: master /review. opendev. org/757893
Review: https:/