Merge "VStorage: make logging path configurable"
This commit is contained in:
commit
691b54f6b4
@ -56,10 +56,6 @@ class VZStorageTestCase(test.TestCase):
|
||||
def setUp(self):
|
||||
super(VZStorageTestCase, self).setUp()
|
||||
|
||||
self._remotefsclient = mock.patch.object(
|
||||
remotefs, 'VZStorageRemoteFSClient').start()
|
||||
get_mount_point = mock.Mock(return_value=self._FAKE_MNT_POINT)
|
||||
self._remotefsclient.get_mount_point = get_mount_point
|
||||
cfg = copy.copy(self._FAKE_VZ_CONFIG)
|
||||
self._vz_driver = vzstorage.VZStorageDriver(configuration=cfg)
|
||||
self._vz_driver._local_volume_dir = mock.Mock(
|
||||
@ -168,12 +164,26 @@ class VZStorageTestCase(test.TestCase):
|
||||
self.assertRaises(exception.VzStorageException,
|
||||
self._vz_driver._ensure_share_mounted, ':')
|
||||
|
||||
def test_ensure_share_mounted(self):
|
||||
@mock.patch.object(remotefs.RemoteFsClient, 'mount')
|
||||
def test_ensure_share_mounted(self, mock_mount):
|
||||
drv = self._vz_driver
|
||||
share = self._FAKE_SHARE
|
||||
drv.shares = {'1': '["1", "2", "3"]', share: '["some", "options"]'}
|
||||
share = 'test'
|
||||
expected_calls = [
|
||||
mock.call(share, ['-u', 'cinder', '-g', 'root', '-l',
|
||||
'/var/log/vstorage/%s/cinder.log.gz' % share]),
|
||||
mock.call(share, ['-l', '/var/log/dummy.log'])
|
||||
]
|
||||
|
||||
share_flags = '["-u", "cinder", "-g", "root"]'
|
||||
drv.shares[share] = share_flags
|
||||
drv._ensure_share_mounted(share)
|
||||
|
||||
share_flags = '["-l", "/var/log/dummy.log"]'
|
||||
drv.shares[share] = share_flags
|
||||
drv._ensure_share_mounted(share)
|
||||
|
||||
mock_mount.assert_has_calls(expected_calls)
|
||||
|
||||
def test_find_share(self):
|
||||
drv = self._vz_driver
|
||||
drv._mounted_shares = [self._FAKE_SHARE]
|
||||
|
@ -300,13 +300,19 @@ class VZStorageDriver(remotefs_drv.RemoteFSSnapDriver):
|
||||
raise exception.VzStorageException(msg)
|
||||
cluster_name = m.group(2)
|
||||
|
||||
# set up logging to non-default path, so that it will
|
||||
# be possible to mount the same cluster to another mount
|
||||
# point by hand with default options.
|
||||
mnt_flags = ['-l', '/var/log/pstorage/%s-cinder.log.gz' % cluster_name]
|
||||
if self.shares.get(share) is not None:
|
||||
extra_flags = json.loads(self.shares[share])
|
||||
mnt_flags.extend(extra_flags)
|
||||
if share in self.shares:
|
||||
mnt_flags = json.loads(self.shares[share])
|
||||
else:
|
||||
mnt_flags = []
|
||||
|
||||
if '-l' not in mnt_flags:
|
||||
# If logging path is not specified in shares config
|
||||
# set up logging to non-default path, so that it will
|
||||
# be possible to mount the same cluster to another mount
|
||||
# point by hand with default options.
|
||||
mnt_flags.extend([
|
||||
'-l', '/var/log/vstorage/%s/cinder.log.gz' % cluster_name])
|
||||
|
||||
self._remotefsclient.mount(share, mnt_flags)
|
||||
|
||||
def _find_share(self, volume):
|
||||
|
@ -0,0 +1,8 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
Logging path can now be configured for vzstorage driver in
|
||||
shares config file (specified by vzstorage_shares_config option).
|
||||
To set custom logging path add `'-l', '<path_to_log_file>'` to
|
||||
mount options array. Otherwise default logging path
|
||||
`/var/log/vstorage/<cluster_name>/cinder.log.gz` will be used.
|
Loading…
x
Reference in New Issue
Block a user