where can I find scaleiodriver?

asked 2016-06-20 16:44:06 -0600

mkhan gravatar image

updated 2016-06-23 10:28:21 -0600

I been looking for scaleiolibvertdriver.py is missing in the mitaka and liberty version. I deployed sacleio with openstack. I can create volume but cannot attached a volume to instance. Cat /etc/cinder/rootwrap.d/os-brick.filters

local_dev/lvm.py: 'lvcreate', '-L', ...

lvcreate: EnvFilter, env, root, LC_ALL=C, lvcreate lvcreate_lvmconf: EnvFilter, env, root, LVM_SYSTEM_DIR=, LC_ALL=C, lvcreate

local_dev/lvm.py: 'lvextend', '-L' '%(new_size)s', '%(lv_name)s' ...

local_dev/lvm.py: 'lvextend', '-L' '%(new_size)s', '%(thin_pool)s' ...

lvextend: EnvFilter, env, root, LC_ALL=C, lvextend lvextend_lvmconf: EnvFilter, env, root, LVM_SYSTEM_DIR=, LC_ALL=C, lvextend

local_dev/lvm.py: 'lvremove', '-f', %s/%s % ...

lvremove: CommandFilter, lvremove, root

local_dev/lvm.py: 'lvrename', '%(vg)s', '%(orig)s' '(new)s'...

lvrename: CommandFilter, lvrename, root

local_dev/lvm.py: 'lvchange -a y -K <lv>'

lvchange: CommandFilter, lvchange, root

local_dev/lvm.py: 'lvconvert', '--merge', snapshot_name

lvconvert: CommandFilter, lvconvert, root

local_dev/lvm.py: 'udevadm', 'settle'

udevadm: CommandFilter, udevadm, root

cat /etc/nova/rootwrap.d/


nova/virt/disk/mount/api.py: 'kpartx', '-a', device

nova/virt/disk/mount/api.py: 'kpartx', '-d', device

kpartx: CommandFilter, kpartx, root

nova/virt/xenapi/vm_utils.py: tune2fs, -O ^has_journal, part_path

nova/virt/xenapi/vm_utils.py: tune2fs, -j, partition_path

tune2fs: CommandFilter, tune2fs, root

nova/virt/disk/mount/api.py: 'mount', mapped_device

nova/virt/disk/api.py: 'mount', '-o', 'bind', src, target

nova/virt/xenapi/vm_utils.py: 'mount', '-t', 'ext2,ext3,ext4,reiserfs'..

nova/virt/configdrive.py: 'mount', device, mountdir

nova/virt/libvirt/volume.py: 'mount', '-t', 'sofs' ...

mount: CommandFilter, mount, root

nova/virt/disk/mount/api.py: 'umount', mapped_device

nova/virt/disk/api.py: 'umount' target

nova/virt/xenapi/vm_utils.py: 'umount', dev_path

nova/virt/configdrive.py: 'umount', mountdir

umount: CommandFilter, umount, root

nova/virt/disk/mount/nbd.py: 'qemu-nbd', '-c', device, image

nova/virt/disk/mount/nbd.py: 'qemu-nbd', '-d', device

qemu-nbd: CommandFilter, qemu-nbd, root

nova/virt/disk/mount/loop.py: 'losetup', '--find', '--show', image

nova/virt/disk/mount/loop.py: 'losetup', '--detach', device

losetup: CommandFilter, losetup, root

nova/virt/disk/vfs/localfs.py: 'blkid', '-o', 'value', '-s', 'TYPE', device

blkid: CommandFilter, blkid, root

nova/virt/libvirt/utils.py: 'blockdev', '--getsize64', path

nova/virt/disk/mount/nbd.py: 'blockdev', '--flushbufs', device

blockdev: RegExpFilter, blockdev, root, blockdev, (--getsize64|--flushbufs), /dev/.*

nova/virt/disk/vfs/localfs.py: 'tee', canonpath

tee: CommandFilter, tee, root

nova/virt/disk/vfs/localfs.py: 'mkdir', canonpath

mkdir: CommandFilter, mkdir, root

nova/virt/disk/vfs/localfs.py: 'chown'

nova/virt/libvirt/connection.py: 'chown', os.getuid( console_log

nova/virt/libvirt/connection.py: 'chown', os.getuid( console_log

nova/virt/libvirt/connection.py: 'chown', 'root', basepath('disk')

chown: CommandFilter, chown, root

nova/virt/disk/vfs/localfs.py: 'chmod'

chmod: CommandFilter, chmod, root

nova/virt/libvirt/vif.py: 'ip', 'tuntap', 'add', dev, 'mode', 'tap'

nova/virt/libvirt/vif.py: 'ip', 'link', 'set', dev, 'up'

nova/virt/libvirt/vif.py: 'ip', 'link', 'delete', dev

nova/network/linux_net.py: 'ip', 'addr', 'add', str(floating_ip)+'/32'i..

nova/network/linux_net.py: 'ip', 'addr', 'del', str(floating_ip)+'/32'..

nova/network/linux_net.py: 'ip', 'addr', 'add', '',..

nova/network ...

edit retag flag offensive close merge delete

4 answers

Sort by ยป oldest newest most voted

answered 2016-06-21 09:07:53 -0600

xing yang gravatar image


As mentioned by mriedem, ScaleIO driver is upstream since Liberty. If you are using Liberty and beyond, you should not need to copy scaleiolibvertdriver.py any more.

If you are using earlier version such as Kilo, you need to manually deploy scaleiolibvertdriver.py and follow instructions on documents available on EMC's support site. The Ask OpenStack web site is only for upstream drivers. Thanks.

edit flag offensive delete link more


Hi xing, I have followed the on openstack documentation and configure my cinder.conf file. I have tried in liberty version as well as mitaka both having same issue, volume is appear in scalieio but attaching is not working. When I attached a volume it volme is attaching /dev/vdb, no vdb in fdisk-l

mkhan gravatar imagemkhan ( 2016-06-24 09:52:59 -0600 )edit


Have you opened a ticket with EMC support?

xing yang gravatar imagexing yang ( 2016-06-29 19:43:31 -0600 )edit

answered 2016-06-21 09:09:35 -0600

xing yang gravatar image


As mentioned by mriedem, ScaleIO driver is upstream since Liberty. You should not need scaleiolibvertdriver.py from a ScaleIO package any more.

I thought you are using Kilo driver? ScaleIO driver is not upstream in Kilo and needs manual install. If you are using Kilo driver which is not upstream, please don't post question in Ask Openstack as this web site is for upstream questions only. You should post question on EMC's support site instead. Thanks.

edit flag offensive delete link more

answered 2016-06-27 00:58:08 -0600

Moss gravatar image

updated 2016-07-06 06:46:16 -0600


There was an error in openstack documentation regarding scaleio backend:


It is already corrected in liberty's docs:


We are using scaleio in liberty with below cinder.conf on each compute with cinder-volume service:

## cinder volume with scaleio backend
[root@infiniti ~]# yum install -y openstack-cinder python-oslo-policy
[root@infiniti ~]# grep -v \# /etc/cinder/cinder.conf | grep -v ^$
my_ip =
glance_host = controller
default_volume_type = scaleio
auth_strategy = keystone
enabled_backends = scaleio
verbose = false
connection = mysql+pymysql://cinder:{cinderpass}@controller/cinder
idle_timeout = 30
memcached_servers = controller:11211
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = cinder
password = {cinderpass}
rabbit_host = controller
volume_driver = cinder.volume.drivers.emc.scaleio.ScaleIODriver
volume_backend_name = scaleio
san_ip = {gatewayipaddress}
sio_protection_domain_name = default
sio_storage_pool_name = default
sio_storage_pools = default:default
sio_unmap_volume_before_deletion = true
san_login = admin
san_password = {passforscaleiogateway}

[root@infiniti ~]# systemctl enable --now openstack-cinder-volume

# default volume type settings
[root@controller ~]# source adminrc
[root@controller ~]# cinder type-list
| ID | Name | Description | Is_Public |
[root@controller ~]# cinder type-create --is-public true --description 'scaleio volumes' scaleio
|                  ID                  |   Name  |   Description   | Is_Public |
| b7518f00-41f1-4276-aca3-0e422cd00ba4 | scaleio | scaleio volumes |    True   |
[root@controller ~]# cinder type-key scaleio set sio:provisioning_type=thin
[root@controller ~]# cinder extra-specs-list
|                  ID                  |   Name  |             extra_specs             |
| b7518f00-41f1-4276-aca3-0e422cd00ba4 | scaleio | {u'sio:provisioning_type': u'thin'} |
[root@controller ~]# cinder type-default
|                  ID                  |   Name  |   Description   | Is_Public |
| b7518f00-41f1-4276-aca3-0e422cd00ba4 | scaleio | scaleio volumes |    N/A    |
# verify after cinder-volume is ready on compute
[root@controller ~]# cinder service-list
|      Binary      |        Host        | Zone |  Status | State |         Updated_at         | Disabled Reason |
| cinder-scheduler |      controller      | nova | enabled |   up  | 2016-06-13T06:29:58.000000 |        -        |
|  cinder-volume   |  infiniti@scaleio  | nova | enabled |   up  | 2016-06-13T06:30:04.000000 |        -        |
edit flag offensive delete link more


Are you referring to "san_ip" ? It was already fixed in http://docs.openstack.org/liberty/config-reference/content/ScaleIO-cinder-driver.html (http://docs.openstack.org/liberty/con...).

san_ip = GATEWAY_IP

xing yang gravatar imagexing yang ( 2016-06-29 00:05:29 -0600 )edit

Right - the docs for liberty are already corrected - I edited my answer.

Moss gravatar imageMoss ( 2016-07-06 06:45:14 -0600 )edit

answered 2016-06-21 08:43:27 -0600

mriedem gravatar image

The scaleio volume driver for libvirt was added to nova back in liberty:


If you have os-brick>=0.3.0 it should work:


Note that the minimum required os-brick for the liberty release is 0.4.0:


edit flag offensive delete link more


I am using mitaka and liberty version both having same issue creating a volume and a volume is appear in scaleio dashboard but attachment to instance is not taking place any idea, why ?

mkhan gravatar imagemkhan ( 2016-06-22 14:52:05 -0600 )edit

Check the nova-compute and cinder-volume logs to make sure the volume is being created and see what's failing when trying to attach it to the server instance in nova. From what I remember there were also rootwrap filter changes required to call some scaleio executable - make sure that's in place.

mriedem gravatar imagemriedem ( 2016-06-23 09:23:05 -0600 )edit

I have checked both of cinder and nova. I can create volume and is visible in scaleio but attachment is not taking place no error as well. As you have mention rootwrap filter, compute.filter is also fully configured.

mkhan gravatar imagemkhan ( 2016-06-23 09:34:09 -0600 )edit

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower


Asked: 2016-06-20 16:44:06 -0600

Seen: 257 times

Last updated: Jul 06 '16