From d8d2f02f3014e8d7e0ef9a61723f5a10f050cc81 Mon Sep 17 00:00:00 2001 From: Matt Riedemann Date: Wed, 23 Sep 2015 13:21:06 -0700 Subject: [PATCH] Deprecate cinder.cross_az_attach option Introduced in 1504cbc5d4a27695fa663f0b0f3f7b48745bdb45 in Grizzly, the use cases around this option are unclear but there have been several bugs related to it. For example, 6060888b58db42eea826939852838f9e1c204d2c changed boot from volume to pass the server instance availability zone to cinder when creating the volume. However, if that same AZ does not exist in Cinder, the volume create request will fail - which is bug 1496235. Cinder works around this with b85d2812a8256ff82934d150dbc4909e041d8b31 using a config option to allow falling back to a default Cinder AZ if the one requested does not exist. By default this fallback is disabled though. It also sounds like availability zones in Cinder were an artifact from when Cinder was split out from the nova-volume service, but Cinder AZ use cases are also unclear. And it's also unclear what the relationship is between AZs in Nova and Cinder. So given the problems here and the lack of a clear use case to justify having this configuration option in tree, along with it's added complexity, deprecate the option for removal. Related-Bug: #1496235 Related-Bug: #1380780 Related-Bug: #1489575 Related-Bug: #1497253 Change-Id: I52cd3d8867d3b35f5caba377302bfc52c112f1d6 --- nova/volume/cinder.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/nova/volume/cinder.py b/nova/volume/cinder.py index 94775cb20d2f..0dd57afd102f 100644 --- a/nova/volume/cinder.py +++ b/nova/volume/cinder.py @@ -52,8 +52,11 @@ cinder_opts = [ help='Number of cinderclient retries on failed http calls'), cfg.BoolOpt('cross_az_attach', default=True, - help='Allow attach between instance and volume in different ' - 'availability zones.'), + deprecated_for_removal=True, + help='DEPRECATED: Allow attach between instance and volume ' + 'in different availability zones. This option is ' + 'deprecated in the 13.0.0 release and will be removed ' + 'in the 14.0.0 release.'), ] CONF = cfg.CONF