Port zfssa driver to Python 3

* Replace base64.encodestring() with
  oslo_serialization.base64.encode_as_text() to accept Unicode as
  input (encoded to UTF-8). On Python 3, the function decodes base64
  from ASCII to get Unicode.
* tests-py3.txt: add cinder.tests.unit.test_zfssa

Partial-Implements: blueprint cinder-python3
Change-Id: I29a1a752d4cad5796fba1f21fe88238cb4414717
This commit is contained in:
Victor Stinner 2015-11-08 22:13:14 +01:00
parent 2c49f5ddfc
commit e3ff1c3c69
3 changed files with 8 additions and 9 deletions

View File

@ -15,11 +15,11 @@
ZFS Storage Appliance Cinder Volume Driver
"""
import ast
import base64
import math
from oslo_config import cfg
from oslo_log import log
from oslo_serialization import base64
from oslo_utils import units
import six
@ -135,9 +135,8 @@ class ZFSSAISCSIDriver(driver.ISCSIDriver):
self.zfssa = factory_zfssa()
self.tgt_zfssa = factory_zfssa()
self.zfssa.set_host(lcfg.san_ip, timeout=lcfg.zfssa_rest_timeout)
auth_str = base64.encodestring('%s:%s' %
(lcfg.san_login,
lcfg.san_password))[:-1]
auth_str = '%s:%s' % (lcfg.san_login, lcfg.san_password)
auth_str = base64.encode_as_text(auth_str)[:-1]
self.zfssa.login(auth_str)
self.zfssa.create_project(lcfg.zfssa_pool, lcfg.zfssa_project,
@ -401,9 +400,8 @@ class ZFSSAISCSIDriver(driver.ISCSIDriver):
host = lcfg.san_ip
pool = lcfg.zfssa_pool
project = lcfg.zfssa_project
auth_str = base64.encodestring('%s:%s' %
(lcfg.san_login,
lcfg.san_password))[:-1]
auth_str = '%s:%s' % (lcfg.san_login, lcfg.san_password)
auth_str = base64.encode_as_text(auth_str)[:-1]
zfssa_tgt_group = lcfg.zfssa_target_group
repl_ip = lcfg.zfssa_replication_ip

View File

@ -14,13 +14,13 @@
"""
ZFS Storage Appliance NFS Cinder Volume Driver
"""
import base64
import datetime as dt
import errno
import math
from oslo_config import cfg
from oslo_log import log
from oslo_serialization import base64
from oslo_utils import excutils
from oslo_utils import units
import six
@ -133,7 +133,7 @@ class ZFSSANFSDriver(nfs.NfsDriver):
self.zfssa = factory_zfssa()
self.zfssa.set_host(host, timeout=lcfg.zfssa_rest_timeout)
auth_str = base64.encodestring('%s:%s' % (user, password))[:-1]
auth_str = base64.encode_as_text('%s:%s' % (user, password))[:-1]
self.zfssa.login(auth_str)
self.zfssa.create_project(lcfg.zfssa_nfs_pool, lcfg.zfssa_nfs_project,

View File

@ -121,6 +121,7 @@ cinder.tests.unit.test_volume_types
cinder.tests.unit.test_volume_types_extra_specs
cinder.tests.unit.test_volume_utils
cinder.tests.unit.test_vzstorage
cinder.tests.unit.test_zfssa
cinder.tests.unit.volume.drivers.emc.scaleio
cinder.tests.unit.volume.flows.test_create_volume_flow
cinder.tests.unit.windows.test_smbfs