Adds new method nova.utils.get_hash_str
Some modules are using their own method to generate hex from string. This patch adds a new method "get_hash_str" in nova.utils and cleans every module needs to use it. Change-Id: I2fa7dd2ea12c1d516224132d13454d109bb6c1e3
This commit is contained in:
parent
a3d292fd2e
commit
d7f2d32874
|
@ -36,7 +36,6 @@ S3 client with this module::
|
|||
|
||||
import bisect
|
||||
import datetime
|
||||
import hashlib
|
||||
import os
|
||||
import os.path
|
||||
import urllib
|
||||
|
@ -206,7 +205,7 @@ class BaseRequestHandler(object):
|
|||
if self.application.bucket_depth < 1:
|
||||
return os.path.abspath(os.path.join(
|
||||
self.application.directory, bucket, object_name))
|
||||
hash = hashlib.md5(object_name).hexdigest()
|
||||
hash = utils.get_hash_str(object_name)
|
||||
path = os.path.abspath(os.path.join(
|
||||
self.application.directory, bucket))
|
||||
for i in range(self.application.bucket_depth):
|
||||
|
@ -348,7 +347,7 @@ class ObjectHandler(BaseRequestHandler):
|
|||
object_file.write(self.request.body)
|
||||
object_file.close()
|
||||
self.set_header('ETag',
|
||||
'"%s"' % hashlib.md5(self.request.body).hexdigest())
|
||||
'"%s"' % utils.get_hash_str(self.request.body))
|
||||
self.finish()
|
||||
|
||||
def delete(self, bucket, object_name):
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
import __builtin__
|
||||
import datetime
|
||||
import functools
|
||||
import hashlib
|
||||
import importlib
|
||||
import os
|
||||
import os.path
|
||||
|
@ -303,6 +304,12 @@ class GenericUtilsTestCase(test.NoDBTestCase):
|
|||
utils.get_shortened_ipv6_cidr,
|
||||
"failure")
|
||||
|
||||
def test_get_hash_str(self):
|
||||
base_str = "foo"
|
||||
value = hashlib.md5(base_str).hexdigest()
|
||||
self.assertEqual(
|
||||
value, utils.get_hash_str(base_str))
|
||||
|
||||
|
||||
class MonkeyPatchTestCase(test.NoDBTestCase):
|
||||
"""Unit test for utils.monkey_patch()."""
|
||||
|
|
|
@ -569,7 +569,7 @@ class LibvirtVolumeTestCase(test.NoDBTestCase):
|
|||
libvirt_driver = volume.LibvirtNFSVolumeDriver(self.fake_conn)
|
||||
export_string = '192.168.1.1:/nfs/share1'
|
||||
export_mnt_base = os.path.join(mnt_base,
|
||||
libvirt_driver.get_hash_str(export_string))
|
||||
utils.get_hash_str(export_string))
|
||||
file_path = os.path.join(export_mnt_base, self.name)
|
||||
|
||||
connection_info = {'data': {'export': export_string,
|
||||
|
@ -592,7 +592,7 @@ class LibvirtVolumeTestCase(test.NoDBTestCase):
|
|||
export_string = '192.168.1.1:/nfs/share1'
|
||||
options = '-o intr,nfsvers=3'
|
||||
export_mnt_base = os.path.join(mnt_base,
|
||||
libvirt_driver.get_hash_str(export_string))
|
||||
utils.get_hash_str(export_string))
|
||||
file_path = os.path.join(export_mnt_base, self.name)
|
||||
|
||||
connection_info = {'data': {'export': export_string,
|
||||
|
@ -640,7 +640,7 @@ class LibvirtVolumeTestCase(test.NoDBTestCase):
|
|||
libvirt_driver = volume.LibvirtGlusterfsVolumeDriver(self.fake_conn)
|
||||
export_string = '192.168.1.1:/volume-00001'
|
||||
export_mnt_base = os.path.join(mnt_base,
|
||||
libvirt_driver.get_hash_str(export_string))
|
||||
utils.get_hash_str(export_string))
|
||||
file_path = os.path.join(export_mnt_base, self.name)
|
||||
|
||||
connection_info = {'data': {'export': export_string,
|
||||
|
@ -683,7 +683,7 @@ class LibvirtVolumeTestCase(test.NoDBTestCase):
|
|||
export_string = '192.168.1.1:/volume-00001'
|
||||
options = '-o backupvolfile-server=192.168.1.2'
|
||||
export_mnt_base = os.path.join(mnt_base,
|
||||
libvirt_driver.get_hash_str(export_string))
|
||||
utils.get_hash_str(export_string))
|
||||
file_path = os.path.join(export_mnt_base, self.name)
|
||||
|
||||
connection_info = {'data': {'export': export_string,
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
import contextlib
|
||||
import datetime
|
||||
import functools
|
||||
import hashlib
|
||||
import inspect
|
||||
import os
|
||||
import pyclbr
|
||||
|
@ -1137,3 +1138,8 @@ def get_image_from_system_metadata(system_meta):
|
|||
image_meta['properties'] = properties
|
||||
|
||||
return image_meta
|
||||
|
||||
|
||||
def get_hash_str(base_str):
|
||||
"""returns string that represents hash of base_str (in hex format)."""
|
||||
return hashlib.md5(base_str).hexdigest()
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
"""Volume drivers for libvirt."""
|
||||
|
||||
import glob
|
||||
import hashlib
|
||||
import os
|
||||
import time
|
||||
import urllib2
|
||||
|
@ -616,7 +615,7 @@ class LibvirtNFSVolumeDriver(LibvirtBaseVolumeDriver):
|
|||
@type options: string
|
||||
"""
|
||||
mount_path = os.path.join(CONF.libvirt.nfs_mount_point_base,
|
||||
self.get_hash_str(nfs_export))
|
||||
utils.get_hash_str(nfs_export))
|
||||
self._mount_nfs(mount_path, nfs_export, options, ensure=True)
|
||||
return mount_path
|
||||
|
||||
|
@ -640,11 +639,6 @@ class LibvirtNFSVolumeDriver(LibvirtBaseVolumeDriver):
|
|||
else:
|
||||
raise
|
||||
|
||||
@staticmethod
|
||||
def get_hash_str(base_str):
|
||||
"""returns string that represents hash of base_str (in hex format)."""
|
||||
return hashlib.md5(base_str).hexdigest()
|
||||
|
||||
|
||||
class LibvirtAOEVolumeDriver(LibvirtBaseVolumeDriver):
|
||||
"""Driver to attach AoE volumes to libvirt."""
|
||||
|
@ -753,7 +747,7 @@ class LibvirtGlusterfsVolumeDriver(LibvirtBaseVolumeDriver):
|
|||
@type options: string
|
||||
"""
|
||||
mount_path = os.path.join(CONF.libvirt.glusterfs_mount_point_base,
|
||||
self.get_hash_str(glusterfs_export))
|
||||
utils.get_hash_str(glusterfs_export))
|
||||
self._mount_glusterfs(mount_path, glusterfs_export,
|
||||
options, ensure=True)
|
||||
return mount_path
|
||||
|
@ -776,11 +770,6 @@ class LibvirtGlusterfsVolumeDriver(LibvirtBaseVolumeDriver):
|
|||
else:
|
||||
raise
|
||||
|
||||
@staticmethod
|
||||
def get_hash_str(base_str):
|
||||
"""returns string that represents hash of base_str (in hex format)."""
|
||||
return hashlib.md5(base_str).hexdigest()
|
||||
|
||||
|
||||
class LibvirtFibreChannelVolumeDriver(LibvirtBaseVolumeDriver):
|
||||
"""Driver to attach Fibre Channel Network volumes to libvirt."""
|
||||
|
|
Loading…
Reference in New Issue