cinder volume create with bad availability_zone should fail immediately

Bug #1185714 reported by stephen mulcahy on 2013-05-30
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
Low
Haomai Wang

Bug Description

the cinder api accepts requests for volume creation specifying a non-existent availability_zone with the volume created going into the error state once the backend recognises that the availability zone doesn't exist. This error should be caught at the api and an error immediately returned to the user.

To reproduce in devstack:

cinder create --availability_zone badaz 1

(request accepted, volume creation begins)

cinder show <volume uuid>

volume in error state

Changed in cinder:
status: New → Confirmed
Xiaoxi Chen (xiaoxi-chen) wrote :

Seems the request will failed by scheduler actually, will not go to backend.
I think this make sense ,no reason for API to keep a complete Availability-zone list

The user experience would be better if they received a failure on submitting the create volume request rather than a volume in an error state some time after submitting the request - with no indication of why the volume is in an error state.

this information should be available from the services table so the api should be able to do some sort of validation

Changed in cinder:
importance: Undecided → Low
Vincent Hou (houshengbo) on 2013-06-09
Changed in cinder:
assignee: nobody → Vincent Hou (houshengbo)

Fix proposed to branch: master
Review: https://review.openstack.org/32422

Changed in cinder:
assignee: Vincent Hou (houshengbo) → Haomai Wang (haomai)
status: Confirmed → In Progress

Reviewed: https://review.openstack.org/32422
Committed: http://github.com/openstack/cinder/commit/1f994f2589411e80852650025a5a8e6cb0dc8c85
Submitter: Jenkins
Branch: master

commit 1f994f2589411e80852650025a5a8e6cb0dc8c85
Author: Haomai Wang <email address hidden>
Date: Mon Jun 10 23:20:26 2013 +0800

    Add availability zone checking in the api service

    This patch adds availability zone checking for api request period.
    If the availability zone the request specified isn't exist in the
    Cinder services, the response returned to the user will give an
    error immediately.

    Fixes bug: 1185714

    Change-Id: I842eec7b500c3ff6a7e5d8fc5e397d61617b0eea

Changed in cinder:
status: In Progress → Fix Committed
Thierry Carrez (ttx) on 2013-07-17
Changed in cinder:
milestone: none → havana-2
status: Fix Committed → Fix Released
Thierry Carrez (ttx) on 2013-10-17
Changed in cinder:
milestone: havana-2 → 2013.2
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers