NetApp Cinderバックエンドで同時VM作成中にボリュームがアタッチ状態のままになる
環境
OpenStack Cinderドライバ
問題
- NetAppのCinderバックエンドにイメージが保存されている状態でVMを同時に作成すると、ボリュームがアタッチ状態のままになり、複数のブートボリュームへのイメージのコピーに失敗します。VM
- はエラー状態になり、イメージをバックアップするCinderボリュームは「使用中」状態になります。理想的には「使用可能」状態に戻るはずです。
燃え殻ログ:
ERROR cinder.image.image_utils [req-7e214e75-537f-4fce-a950-1282d706458c None service] IOError: 32 Corrupt image download. Hash was 123df5e21724340549c148ec7095f1befb32de86d9e262fe130b5d37749eb454fc471067145fc135679d0a143481b45841088ec04aedad58ad5450791d1c0982 expected a60da1bdcc623fad6260604fb16c9d31e4fb9662bb242a92baa650ff8b4ec4b246948c11f8b241627fa588b37430cf8026841baa330f70d28fbe2ea68412ab36: BrokenPipeError: [Errno 32] Corrupt image download. Hash was 123df5e21724340549c148ec7095f1befb32de86d9e262fe130b5d37749eb454fc471067145fc135679d0a143481b45841088ec04aedad58ad5450791d1c0982 expected a60da1bdcc623fad6260604fb16c9d31e4fb9662bb242a92baa650ff8b4ec4b246948c11f8b241627fa588b37430cf8026841baa330f70d28fbe2ea68412ab36
Glance API ログ:
ERROR glance_store._drivers.cinder.store [None req-0e639f3e-09f2-4824-96f7-1bf2f36e185b 4fc9479c227440febb8be7ea5181d87d bc3e29b2026b4e30b5e9a44ca9f3a82a - - default default] Failed to disconnect volume c6f214f8-4245-449b-9ebc-360bb621312b.: os_brick.exception.ExceptionChainer:
Chained Exception #1
Traceback (most recent call last):
File "/opt/pf9/glance/lib/python3.9/site-packages/os_brick/initiator/connectors/fibre_channel.py", line 377, in disconnect_volume
self._linuxscsi.flush_multipath_device(mpath_path)
File "/opt/pf9/glance/lib/python3.9/site-packages/os_brick/initiator/linuxscsi.py", line 448, in flush_multipath_device
self._execute('multipath', '-f', device_map_name, run_as_root=True,
File "/opt/pf9/glance/lib/python3.9/site-packages/os_brick/executor.py", line 55, in _execute
result = self.__execute(*args, **kwargs)
File "/opt/pf9/glance/lib/python3.9/site-packages/os_brick/privileged/rootwrap.py", line 172, in execute
return execute_root(*cmd, **kwargs)
File "/opt/pf9/glance/lib/python3.9/site-packages/oslo_privsep/priv_context.py", line 271, in _wrap
return self.channel.remote_call(name, args, kwargs,
File "/opt/pf9/glance/lib/python3.9/site-packages/oslo_privsep/daemon.py", line 215, in remote_call
raise exc_type(*result[2])
oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command.
Command: multipath -f /dev/disk/by-id/dm-uuid-mpath-3600a098038314e6d353f57684943462f
Exit code: 1
Stdout: ''
Stderr: '1302664.817150 | /dev/disk/by-id/dm-uuid-mpath-3600a098038314e6d353f57684943462f: map in use\n'