← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1899649] [NEW] Volume marked as available after a failure to build

 

Public bug reported:

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:

https://github.com/openstack/nova/blob/261de76104ca67bed3ea6cdbcaaab0e44030f1e2/nova/compute/manager.py#L2225-L2241

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_and_run_instance raising exception.RescheduledException

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://docs.openstack.org/releases/

   1e10461c71cb78226824988b8c903448ba7a8a76

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
==============

** Affects: nova
     Importance: Undecided
     Assignee: Lee Yarwood (lyarwood)
         Status: New


** Tags: cinder compute scheduler volumes

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1899649

Title:
  Volume marked as available after a failure to build

Status in OpenStack Compute (nova):
  New

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:

  https://github.com/openstack/nova/blob/261de76104ca67bed3ea6cdbcaaab0e44030f1e2/nova/compute/manager.py#L2225-L2241

  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_and_run_instance raising exception.RescheduledException

  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://docs.openstack.org/releases/

     1e10461c71cb78226824988b8c903448ba7a8a76

  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
  ==============

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1899649/+subscriptions


Follow ups