I reproduced this issue on my system and the exception in cinder volume is:
Traceback (most recent call last):
File "/opt/remote_cinder/cinder/volume/manager.py", line 2740, in extend_volume
self.driver.extend_volume(volume, new_size)
File "/opt/remote_cinder/cinder/utils.py", line 782, in trace_logging_wrapper
result = f(*args, **kwargs)
File "/opt/remote_cinder/cinder/volume/drivers/hpe/hpe_3par_base.py", line 206, in extend_volume
common.extend_volume(volume, new_size)
File "/opt/remote_cinder/cinder/volume/drivers/hpe/hpe_3par_common.py", line 586, in extend_volume
self._extend_volume(volume, volume_name, growth_size_mib)
File "/opt/remote_cinder/cinder/volume/drivers/hpe/hpe_3par_common.py", line 1319, in _extend_volume
{'vol': volume_name, 'ex': ex})
File "/usr/local/lib/python3.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
self.force_reraise()
File "/usr/local/lib/python3.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
six.reraise(self.type_, self.value, self.tb)
File "/usr/local/lib/python3.7/site-packages/six.py", line 703, in reraise
raise value
File "/opt/remote_cinder/cinder/volume/drivers/hpe/hpe_3par_common.py", line 1293, in _extend_volume
self.client.growVolume(volume_name, growth_size_mib)
File "/usr/local/lib/python3.7/site-packages/hpe3parclient/client.py", line 816, in growVolume
response, body = self.http.put('/volumes/%s' % name, body=info)
File "/usr/local/lib/python3.7/site-packages/hpe3parclient/http.py", line 399, in put
return self._cs_request(url, 'PUT', **kwargs)
File "/usr/local/lib/python3.7/site-packages/hpe3parclient/http.py", line 321, in _cs_request
**kwargs)
File "/usr/local/lib/python3.7/site-packages/hpe3parclient/http.py", line 297, in _time_request
resp, body = self.request(url, method, **kwargs)
File "/usr/local/lib/python3.7/site-packages/hpe3parclient/http.py", line 262, in request
raise exceptions.from_response(resp, body)
hpe3parclient.exceptions.HTTPConflict: Conflict (HTTP 409) 87 - invalid operation: online copy in progress
This happens because we are cloning the image from the cinder cache and cloning uses online copy, which means that we cannot extend the volume until the online copy has completed.
I reproduced this issue on my system and the exception in cinder volume is:
Traceback (most recent call last): cinder/ cinder/ volume/ manager. py", line 2740, in extend_volume driver. extend_ volume( volume, new_size) cinder/ cinder/ utils.py" , line 782, in trace_logging_ wrapper cinder/ cinder/ volume/ drivers/ hpe/hpe_ 3par_base. py", line 206, in extend_volume extend_ volume( volume, new_size) cinder/ cinder/ volume/ drivers/ hpe/hpe_ 3par_common. py", line 586, in extend_volume _extend_ volume( volume, volume_name, growth_size_mib) cinder/ cinder/ volume/ drivers/ hpe/hpe_ 3par_common. py", line 1319, in _extend_volume lib/python3. 7/site- packages/ oslo_utils/ excutils. py", line 220, in __exit__ force_reraise( ) lib/python3. 7/site- packages/ oslo_utils/ excutils. py", line 196, in force_reraise reraise( self.type_ , self.value, self.tb) lib/python3. 7/site- packages/ six.py" , line 703, in reraise cinder/ cinder/ volume/ drivers/ hpe/hpe_ 3par_common. py", line 1293, in _extend_volume client. growVolume( volume_ name, growth_size_mib) lib/python3. 7/site- packages/ hpe3parclient/ client. py", line 816, in growVolume put('/volumes/ %s' % name, body=info) lib/python3. 7/site- packages/ hpe3parclient/ http.py" , line 399, in put request( url, 'PUT', **kwargs) lib/python3. 7/site- packages/ hpe3parclient/ http.py" , line 321, in _cs_request lib/python3. 7/site- packages/ hpe3parclient/ http.py" , line 297, in _time_request lib/python3. 7/site- packages/ hpe3parclient/ http.py" , line 262, in request from_response( resp, body) exceptions. HTTPConflict: Conflict (HTTP 409) 87 - invalid operation: online copy in progress
File "/opt/remote_
self.
File "/opt/remote_
result = f(*args, **kwargs)
File "/opt/remote_
common.
File "/opt/remote_
self.
File "/opt/remote_
{'vol': volume_name, 'ex': ex})
File "/usr/local/
self.
File "/usr/local/
six.
File "/usr/local/
raise value
File "/opt/remote_
self.
File "/usr/local/
response, body = self.http.
File "/usr/local/
return self._cs_
File "/usr/local/
**kwargs)
File "/usr/local/
resp, body = self.request(url, method, **kwargs)
File "/usr/local/
raise exceptions.
hpe3parclient.
This happens because we are cloning the image from the cinder cache and cloning uses online copy, which means that we cannot extend the volume until the online copy has completed.
Related bug: https:/ /bugs.launchpad .net/cinder/ +bug/1657227