<div dir="ltr">Hi,<div><br></div><div>Looks like we need to be able to set AZ per backend. What do you think about such option?<br><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature">Regards,<br>Ivan Kolodyazhny</div></div>
<br><div class="gmail_quote">On Mon, Aug 10, 2015 at 7:07 PM, John Griffith <span dir="ltr"><<a href="mailto:john.griffith8@gmail.com" target="_blank">john.griffith8@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div class="h5"><div style="font-family:monospace,monospace"><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Aug 10, 2015 at 9:24 AM, Dulko, Michal <span dir="ltr"><<a href="mailto:michal.dulko@intel.com" target="_blank">michal.dulko@intel.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
In Kilo cycle [1] was merged. It started passing AZ of a booted VM to Cinder to make volumes appear in the same AZ as VM. This is certainly a good approach, but I wonder how to deal with an use case when administrator cares about AZ of a compute node of the VM, but wants to ignore AZ of volume. Such case would be when fault tolerance of storage is maintained on another level - for example using Ceph replication and failure domains.<br>
<br>
Normally I would simply disable AvailabilityZoneFilter in cinder.conf, but it turns out cinder-api validates if availability zone is correct [2]. This means that if Cinder has no AZs configured all requests from Nova will fail on an API level.<br>
<br>
Configuring fake AZs in Cinder is also problematic, because AZ cannot be configured on a per-backend manner. I can only configure it per c-vol node, so I would need N extra nodes running c-vol,  where N is number of AZs to achieve that.<br>
<br>
Is there any solution to satisfy such use case?<br>
<br>
[1] <a href="https://review.openstack.org/#/c/157041" rel="noreferrer" target="_blank">https://review.openstack.org/#/c/157041</a><br>
[2] <a href="https://github.com/openstack/cinder/blob/master/cinder/volume/flows/api/create_volume.py#L279-L282" rel="noreferrer" target="_blank">https://github.com/openstack/cinder/blob/master/cinder/volume/flows/api/create_volume.py#L279-L282</a><br>
<br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</blockquote></div><br></div></div></div><div class="gmail_extra"><div style="font-family:monospace,monospace">​Seems like we could introduce the capability in cinder to ignore that if it's desired?  It would probably be worth looking on the Cinder side at being able to configure multiple AZ's for a volume (perhaps even an aggregate Zone just for Cinder).  That way we still honor the setting but provide a way to get around it for those that know what they're doing.</div><span class="HOEnZb"><font color="#888888"><div style="font-family:monospace,monospace"><br></div><div style="font-family:monospace,monospace">John</div><br></font></span></div></div>
<br>__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div></div></div>