← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1581230] [NEW] Nova should not inspect cinder volume state during attach

 

Public bug reported:

The Nova API shouldn't be looking at the internal state of a Cinder
volume to determine if it can attach.  It should simply ask Cinder to
reserve the volume.  Cinder already has checks during reserve time for
checking states.

Nova currently fetches a volume from Cinder, then checks to see if the state of the volume is in an appropriate state to attach, and then calls reserve.  The problem is 2 fold.
1) Nova shouldn't care about the internal state management of Cinder Volumes.  What happens if Cinder adds a new state that Nova doesn't know about?
2) By fetching a volume and checking, and then reserving, there is a race condition introduced.  The state of the volume can change between the time the volume is fetched from Cinder and when reserve is called.

Nova should simply call reserve volume.

** Affects: nova
     Importance: Undecided
     Assignee: Walt Boring (walter-boring)
         Status: New

** Changed in: nova
     Assignee: (unassigned) => Walt Boring (walter-boring)

-- 
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/1581230

Title:
  Nova should not inspect cinder volume state during attach

Status in OpenStack Compute (nova):
  New

Bug description:
  The Nova API shouldn't be looking at the internal state of a Cinder
  volume to determine if it can attach.  It should simply ask Cinder to
  reserve the volume.  Cinder already has checks during reserve time for
  checking states.

  Nova currently fetches a volume from Cinder, then checks to see if the state of the volume is in an appropriate state to attach, and then calls reserve.  The problem is 2 fold.
  1) Nova shouldn't care about the internal state management of Cinder Volumes.  What happens if Cinder adds a new state that Nova doesn't know about?
  2) By fetching a volume and checking, and then reserving, there is a race condition introduced.  The state of the volume can change between the time the volume is fetched from Cinder and when reserve is called.

  Nova should simply call reserve volume.

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


Follow ups