[openstack-dev] [nova][cinder] how to handle AZ bug 1496235?

Matt Riedemann mriedem at linux.vnet.ibm.com
Wed Sep 23 19:15:46 UTC 2015



On 9/23/2015 1:46 PM, Ivan Kolodyazhny wrote:
> Hi Matt,
>
> In Liberty, we introduced allow_availability_zone_fallback [1] option in
> Cinder config as fix for bug [2]. If you set this option, Cinder will
> create volume in a default AZ instead of set volume into the error state
>
> [1]
> https://github.com/openstack/cinder/commit/b85d2812a8256ff82934d150dbc4909e041d8b31
> [2] https://bugs.launchpad.net/cinder/+bug/1489575
>
> Regards,
> Ivan Kolodyazhny
>
> On Wed, Sep 23, 2015 at 9:00 PM, Matt Riedemann
> <mriedem at linux.vnet.ibm.com <mailto:mriedem at linux.vnet.ibm.com>> wrote:
>
>     I came across bug 1496235 [1] today.  In this case the user is
>     booting an instance from a volume using source=image, so nova
>     actually does the volume create call to the volume API.  They are
>     booting the instance into a valid nova availability zone, but that
>     same AZ isn't defined in Cinder, so the volume create request fails
>     (since nova passes the instance AZ to cinder [2]).
>
>     I marked this as invalid given how the code works.
>
>     I'm posting here since I'm wondering if there are alternatives worth
>     pursuing.  For example, nova could get the list of AZs from the
>     volume API and if the nova AZ isn't in that list, don't provide it
>     on the volume create request.  That's essentially the same as first
>     creating the volume outside of nova and not specifying an AZ, then
>     when doing the boot from volume, provide the volume_id as the source.
>
>     The question is, is it worth doing that?  I'm not familiar enough
>     with how availability zones are meant to work between nova and
>     cinder so it's hard for me to have much of an opinion here.
>
>     [1] https://bugs.launchpad.net/nova/+bug/1496235
>     [2]
>     https://github.com/openstack/nova/blob/master/nova/virt/block_device.py#L381-L383
>
>     --
>
>     Thanks,
>
>     Matt Riedemann
>
>
>     __________________________________________________________________________
>     OpenStack Development Mailing List (not for usage questions)
>     Unsubscribe:
>     OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>     <http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe>
>     http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>

Sorry but that seems like a hack.

I'm trying to figure out the relationship between AZs in nova and cinder 
and so far no one seems to really know.  In the cinder IRC channel I was 
told there isn't one, which would mean we shouldn't even try creating 
the volume using the server instance AZ.

Also, if there is no relationship, I was trying to figure out why there 
is the cinder.cross_az_attach config option.  That was added in grizzly 
[1].  I was thinking maybe it was a legacy artifact from nova-volume, 
but that was dropped in grizzly.

So is cinder.cross_az_attach even useful?

[1] https://review.openstack.org/#/c/21672/

-- 

Thanks,

Matt Riedemann




More information about the OpenStack-dev mailing list