Bug 1468025

Summary: Heat ScaleIO/Cinder Puppet module deploys invalid Cinder driver by default
Product: Red Hat OpenStack Reporter: Siggy Sigwald <ssigwald>
Component: puppet-cinderAssignee: Alan Bishop <abishop>
Status: CLOSED ERRATA QA Contact: Avi Avraham <aavraham>
Severity: medium Docs Contact:
Priority: medium    
Version: 11.0 (Ocata)CC: eharney, jjoyce, jschluet, slinaber, tshefi, tvignaud
Target Milestone: z4Keywords: OtherQA, Triaged, ZStream
Target Release: 11.0 (Ocata)   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: puppet-cinder-10.3.1-2.el7ost Doc Type: Bug Fix
Doc Text:
Previously, the ScaleIO cinder driver code had been relocated in the cinder code tree, however, the puppet code responsible for configuring the driver had not been updated to refer to the driver in its new location. Consequently, Puppet would misconfigure the ScaleIO driver by using an obsolete reference to the driver location. The driver still continued to function because cinder has a built-in mechanism for mapping references to old driver locations to their new location. With this update, the `puppet-cinder` code has been updated to reference the ScaleIO driver in its new location.
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-02-13 16:31:14 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:
Embargoed:

Description Siggy Sigwald 2017-07-05 19:36:12 UTC
Description of problem:
In RHOSP11 the bundled Dell EMC ScaleIO module used for heat deployments uses an old driver name. This driver file does not exist anymore -- this makes the entire Cinder backend deployment using the provided template not work.

To fix this, please make the following changes. 
In this file: /usr/share/openstack-puppet/modules/cinder/manifests/backend/scaleio.pp
The volume_driver variable must be changed from:
cinder.volume.drivers.emc.scaleio.ScaleIODriver
to
cinder.volume.drivers.dell_emc.scaleio.driver.ScaleIODriver

The correctly named driver file comes with RHOSP11, the Puppet module just specifies the incorrect legacy file that has not existed for a while already.

How reproducible:
This happens evey time when using the ScaleIO Cinder backend.

Comment 1 Eric Harney 2017-07-19 13:38:24 UTC
We should fix this, but things should work with the old path, since the Cinder volume manager has a compat layer that maps the old path to the new path:

https://git.openstack.org/cgit/openstack/cinder/tree/cinder/volume/manager.py?h=10.0.3#n158

Comment 2 Alan Bishop 2017-09-25 16:19:58 UTC
Patch has been accepted upstream, and I'm backporting to stable/pike, and then stable/ocata.

Comment 3 Alan Bishop 2017-09-26 13:13:23 UTC
Patch has been accepted on stable/pike, and proposed to stable/ocata.

Comment 4 Alan Bishop 2017-10-13 16:38:02 UTC
It looks like the fix will be picked up during the import from RDO for 11z4.

Comment 7 Tzach Shefi 2018-01-29 11:58:22 UTC
Set OtherQA, 
Don't have ScaleIO system to actually run any Cinder functions over. 

I did however verify that on this file:
/usr/share/openstack-puppet/modules/cinder/manifests/backend/scaleio.pp

Volume_driver variable has been changed to correct one:
cinder.volume.drivers.dell_emc.scaleio.driver.ScaleIODriver

Comment 10 errata-xmlrpc 2018-02-13 16:31:14 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:0310