Bug 1731304

Summary: Failed to initialize driver PureDriverException when configuring Pure Storage as Cinder backend
Product: Red Hat OpenStack Reporter: Yadnesh Kulkarni <ykulkarn>
Component: openstack-cinderAssignee: Pablo Caruana <pcaruana>
Status: CLOSED NOTABUG QA Contact: Tzach Shefi <tshefi>
Severity: medium Docs Contact: Chuck Copello <ccopello>
Priority: medium    
Version: 13.0 (Queens)CC: abishop, brault, eharney, pcaruana, pgrist, simon
Target Milestone: ---Keywords: OtherQA
Target Release: ---Flags: tshefi: automate_bug-
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-11-07 15:16:12 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Yadnesh Kulkarni 2019-07-19 01:58:36 UTC
Description of problem:
The deployment completes successful without any errors but the status cinder-volume is down.

(overcloud) [stack@undercloud ~]$ openstack volume service list
+------------------+--------------------------------+------+----------+-------+----------------------------+
| Binary           | Host                           | Zone | Status   | State | Updated At                 |
+------------------+--------------------------------+------+----------+-------+----------------------------+
| cinder-scheduler | overcloud-controller-no-ceph-1 | nova | enabled  | up    | 2019-07-17T06:15:45.000000 |
| cinder-scheduler | overcloud-controller-no-ceph-0 | nova | enabled  | up    | 2019-07-17T06:15:49.000000 |
| cinder-scheduler | overcloud-controller-no-ceph-2 | nova | enabled  | up    | 2019-07-17T06:15:42.000000 |
| cinder-volume    | hostgroup@tripleo_pure         | nova | enabled  | down  | 2019-07-17T05:12:27.000000 |
+------------------+--------------------------------+------+----------+-------+----------------------------+


cinder-volume shows below logs
~~~
2019-07-17 00:19:19.886 55 ERROR cinder.volume.manager Traceback (most recent call last):
2019-07-17 00:19:19.886 55 ERROR cinder.volume.manager   File "/usr/lib/python2.7/site-packages/cinder/volume/manager.py", line 456, in init_host
2019-07-17 00:19:19.886 55 ERROR cinder.volume.manager     self.driver.do_setup(ctxt)
2019-07-17 00:19:19.886 55 ERROR cinder.volume.manager   File "/usr/lib/python2.7/site-packages/cinder/volume/drivers/pure.py", line 236, in do_setup
2019-07-17 00:19:19.886 55 ERROR cinder.volume.manager     raise exception.PureDriverException(msg)
2019-07-17 00:19:19.886 55 ERROR cinder.volume.manager PureDriverException: Missing 'purestorage' python module, ensure the library is installed and available.
2019-07-17 00:19:19.886 55 ERROR cinder.volume.manager 
2019-07-17 00:19:20.133 55 INFO cinder.volume.manager [req-213db357-9058-4713-ba03-080245d8b13a - - - - -] Initializing RPC dependent components of volume driver PureISCSIDriver (7.0.0)
2019-07-17 00:19:20.134 55 ERROR cinder.utils [req-213db357-9058-4713-ba03-080245d8b13a - - - - -] Volume driver PureISCSIDriver not initialized
2019-07-17 00:19:20.135 55 ERROR cinder.volume.manager [req-213db357-9058-4713-ba03-080245d8b13a - - - - -] Cannot complete RPC initialization because driver isn't initialized properly.: DriverNotInitialized: Volume driver not ready.
2019-07-17 00:19:30.136 55 ERROR cinder.service [-] Manager for service cinder-volume hostgroup@tripleo_pure is reporting problems, not sending heartbeat. Service will appear "down".
2019-07-17 00:19:40.138 55 ERROR cinder.service [-] Manager for service cinder-volume hostgroup@tripleo_pure is reporting problems, not sending heartbeat. Service will appear "down".
2019-07-17 00:19:50.139 55 ERROR cinder.service [-] Manager for service cinder-volume hostgroup@tripleo_pure is reporting problems, not sending heartbeat. Service will appear "down".
2019-07-17 00:20:00.142 55 ERROR cinder.service [-] Manager for service cinder-volume hostgroup@tripleo_pure is reporting problems, not sending heartbeat. Service will appear "down".
~~~

Z-stream release:
(undercloud) [stack@undercloud ~]$ cat /etc/rhosp-release
Red Hat OpenStack Platform release 13.0.6 (Queens)

Comment 8 Alan Bishop 2019-08-05 18:21:21 UTC
Yadnesh,

As I mentioned in comment #2, support for Pure Storage requires a cinder plugin. And, as Paul mentions in comment #7, a plugin is available at [1].

[1] https://access.redhat.com/containers/?tab=overview#/registry.connect.redhat.com/purestorage/openstack-cinder-volume-pure-rhosp-13

The CEE and/or the customer needs to download the Pure Storage plugin, and update the overcloud to deploy it by overriding the DockerCinderVolumeImage tripleo parameter.

Please update the bz after confirming this resolves the problem.

Comment 9 Simon Dodsley 2019-08-16 19:20:15 UTC
The error states that the purestorage python SDK module is missing. This is why the driver will not initialize. 

If you use the approved container this will install the correct modules for you.