Image upload is failing with NoFibreChannelVolumeDeviceFound after configuring Cinder(HP3Par FC storage) as glance backend
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
glance_store |
Fix Released
|
Medium
|
Abhishek Kekane |
Bug Description
Image upload is failing with NoFibreChannelV
The issue here we are facing is that usually cinder calls os_brick with multipath info but in this case glance is doing the call (without passing any multipath info). Cinder driver of glance_store passes 'hard-coded' False as multipath is not used to os_brick library.
In order to fix this we need to add new config option for cinder driver of glance_store 'cinder_
Steps to reproduce:
1. Configure cinder back end(HP3Par FC storage) for the Image service
2. Create image
$ glance image-create --name "cirros2" --file cirros-
Output:
500 Internal Server Error: The server has either erred or is incapable of performing the requested operation. (HTTP 500)
glance-api.log:-
~~~
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi Traceback (most recent call last):
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi File "/usr/lib/
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi request, **action_args)
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi File "/usr/lib/
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi return method(*args, **kwargs)
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi File "/usr/lib/
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi return func(self, req, *args, **kwargs)
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi File "/usr/lib/
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi self._restore(
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi File "/usr/lib/
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi self.force_
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi File "/usr/lib/
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi six.reraise(
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi File "/usr/lib/
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi image.set_
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi File "/usr/lib/
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi self.base.
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi File "/usr/lib/
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi _send_notificat
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi File "/usr/lib/
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi self.force_
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi File "/usr/lib/
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi six.reraise(
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi File "/usr/lib/
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi self.repo.
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi File "/usr/lib/
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi return self.image.
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi File "/usr/lib/
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi self.image.
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi File "/usr/lib/
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi verifier=verifier)
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi File "/usr/lib/
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi verifier)
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi File "/usr/lib/
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi verifier=verifier)
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi File "/usr/lib/
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi return store_op_fun(store, *args, **kwargs)
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi File "/usr/lib/
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi with self._open_
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi File "/usr/lib64/
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi return self.gen.next()
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi File "/usr/lib/
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi device = conn.connect_
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi File "/usr/lib/
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi result = f(*args, **kwargs)
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi File "/usr/lib/
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi return f(*args, **kwargs)
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi File "/usr/lib/
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi timer.start(
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi File "/usr/lib/
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi return hubs.get_
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi File "/usr/lib/
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi return self.greenlet.
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi File "/usr/lib/
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi result = func(*self.args, **self.kw)
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi File "/usr/lib/
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi raise exception.
2019-12-24 07:10:30.869 28 ERROR glance.common.wsgi NoFibreChannelV
~~~
Changed in glance-store: | |
importance: | Undecided → Medium |
assignee: | nobody → Abhishek Kekane (abhishek-kekane) |
description: | updated |
In addition to the hard-code use of multipath, cinder driver is also hard-coded enforce_multipath to False. So we should add two new config options here,
1. cinder_ use_multipath enforce_ multipath
2. cinder_