Update NexentaStor5 driver
- Disable SmartCompression feature for NFS backend. Thick provisioned volumes created as files containing zeros are not being compressed with standard compression if SmartCompression feature is enabled. This functionality will be fixed in a later release. - Update driver features. - Update default REST API port. - Update recommended NFS options. Change-Id: Icc509ce074d17ee073c58c43d98215fef5ad55c3
This commit is contained in:
parent
0e6d77e497
commit
3c8fbb9566
@ -102,6 +102,7 @@ class TestNexentaNfsDriver(test.TestCase):
|
||||
get_filesystem.return_value = {
|
||||
'mountPoint': '/path/to/volume',
|
||||
'nonBlockingMandatoryMode': False,
|
||||
'smartCompression': False,
|
||||
'isMounted': True
|
||||
}
|
||||
get_service.return_value = {
|
||||
@ -112,18 +113,59 @@ class TestNexentaNfsDriver(test.TestCase):
|
||||
}
|
||||
self.assertIsNone(self.drv.check_for_setup_error())
|
||||
get_filesystem.assert_called_with(self.drv.root_path)
|
||||
set_filesystem.assert_not_called()
|
||||
get_service.assert_called_with('nfs')
|
||||
get_nfs.assert_called_with(self.drv.root_path)
|
||||
get_filesystem.return_value = {
|
||||
'mountPoint': '/path/to/volume',
|
||||
'nonBlockingMandatoryMode': True,
|
||||
'smartCompression': True,
|
||||
'isMounted': True
|
||||
}
|
||||
set_filesystem.return_value = {}
|
||||
payload = {
|
||||
'nonBlockingMandatoryMode': False,
|
||||
'smartCompression': False
|
||||
}
|
||||
self.assertIsNone(self.drv.check_for_setup_error())
|
||||
get_filesystem.assert_called_with(self.drv.root_path)
|
||||
set_filesystem.assert_called_with(self.drv.root_path, payload)
|
||||
get_service.assert_called_with('nfs')
|
||||
get_nfs.assert_called_with(self.drv.root_path)
|
||||
get_filesystem.return_value = {
|
||||
'mountPoint': '/path/to/volume',
|
||||
'nonBlockingMandatoryMode': False,
|
||||
'smartCompression': True,
|
||||
'isMounted': True
|
||||
}
|
||||
payload = {
|
||||
'smartCompression': False
|
||||
}
|
||||
set_filesystem.return_value = {}
|
||||
self.assertIsNone(self.drv.check_for_setup_error())
|
||||
get_filesystem.assert_called_with(self.drv.root_path)
|
||||
set_filesystem.assert_called_with(self.drv.root_path, payload)
|
||||
get_service.assert_called_with('nfs')
|
||||
get_nfs.assert_called_with(self.drv.root_path)
|
||||
get_filesystem.return_value = {
|
||||
'mountPoint': '/path/to/volume',
|
||||
'nonBlockingMandatoryMode': True,
|
||||
'smartCompression': False,
|
||||
'isMounted': True
|
||||
}
|
||||
payload = {
|
||||
'nonBlockingMandatoryMode': False
|
||||
}
|
||||
set_filesystem.return_value = {}
|
||||
self.assertIsNone(self.drv.check_for_setup_error())
|
||||
get_filesystem.assert_called_with(self.drv.root_path)
|
||||
set_filesystem.assert_called_with(self.drv.root_path, payload)
|
||||
get_service.assert_called_with('nfs')
|
||||
get_nfs.assert_called_with(self.drv.root_path)
|
||||
get_filesystem.return_value = {
|
||||
'mountPoint': 'none',
|
||||
'nonBlockingMandatoryMode': False,
|
||||
'smartCompression': False,
|
||||
'isMounted': False
|
||||
}
|
||||
self.assertRaises(jsonrpc.NefException,
|
||||
@ -131,6 +173,7 @@ class TestNexentaNfsDriver(test.TestCase):
|
||||
get_filesystem.return_value = {
|
||||
'mountPoint': '/path/to/volume',
|
||||
'nonBlockingMandatoryMode': False,
|
||||
'smartCompression': False,
|
||||
'isMounted': False
|
||||
}
|
||||
self.assertRaises(jsonrpc.NefException,
|
||||
|
@ -80,6 +80,7 @@ class NexentaNfsDriver(nfs.NfsDriver):
|
||||
1.8.1 - Support for NexentaStor tenants.
|
||||
1.8.2 - Added manage/unmanage/manageable-list volume/snapshot support.
|
||||
1.8.3 - Added consistency group capability to generic volume group.
|
||||
1.8.4 - Disabled SmartCompression feature.
|
||||
"""
|
||||
|
||||
VERSION = '1.8.3'
|
||||
@ -146,8 +147,12 @@ class NexentaNfsDriver(nfs.NfsDriver):
|
||||
message = (_('NFS root filesystem %(path)s is not mounted')
|
||||
% {'path': filesystem['mountPoint']})
|
||||
raise jsonrpc.NefException(code='ENOTDIR', message=message)
|
||||
payload = {}
|
||||
if filesystem['nonBlockingMandatoryMode']:
|
||||
payload = {'nonBlockingMandatoryMode': False}
|
||||
payload['nonBlockingMandatoryMode'] = False
|
||||
if filesystem['smartCompression']:
|
||||
payload['smartCompression'] = False
|
||||
if payload:
|
||||
self.nef.filesystems.set(self.root_path, payload)
|
||||
service = self.nef.services.get('nfs')
|
||||
if service['state'] != 'online':
|
||||
|
@ -32,6 +32,25 @@ Supported operations
|
||||
|
||||
* Change volume type.
|
||||
|
||||
* Get volume statistics.
|
||||
|
||||
* Revert a volume to a snapshot.
|
||||
|
||||
* Manage and unmanage volumes and snapshots.
|
||||
|
||||
* List manageable volumes and snapshots.
|
||||
|
||||
* Create, modify, delete, and list consistency groups.
|
||||
|
||||
* Create, modify, delete, and list snapshots of consistency groups.
|
||||
|
||||
* Create consistency group from consistency group or consistency group
|
||||
snapshot.
|
||||
|
||||
* Support consistency groups capability to generic volume groups.
|
||||
|
||||
* Attach a volume to multiple servers simultaneously (multiattach).
|
||||
|
||||
iSCSI driver
|
||||
~~~~~~~~~~~~
|
||||
|
||||
@ -59,7 +78,7 @@ volume driver controls:
|
||||
nexenta_host=HOST-IP
|
||||
|
||||
# Port for Rest API (integer value)
|
||||
nexenta_rest_port=8080
|
||||
nexenta_rest_port=8443
|
||||
|
||||
# Username for NexentaStor Rest (string value)
|
||||
nexenta_user=USERNAME
|
||||
@ -115,13 +134,13 @@ volume driver controls:
|
||||
nas_host=HOST-IP
|
||||
|
||||
# Port for Rest API (integer value)
|
||||
nexenta_rest_port=8080
|
||||
nexenta_rest_port=8443
|
||||
|
||||
# Path to parent filesystem (string value)
|
||||
nas_share_path=POOL/FILESYSTEM
|
||||
|
||||
# Specify NFS version
|
||||
nas_mount_options=vers=4
|
||||
# Recommended NFS options
|
||||
nas_mount_options=vers=3,minorversion=0,timeo=100,nolock
|
||||
|
||||
#. Create filesystem on appliance and share via NFS. For example:
|
||||
|
||||
|
@ -0,0 +1,7 @@
|
||||
---
|
||||
issues:
|
||||
- |
|
||||
SmartCompression feature is disabled for the NexentaStor5 NFS driver.
|
||||
Thick provisioned volumes created as files containing zeros are not
|
||||
being compressed with standard compression if SmartCompression feature
|
||||
is enabled. This functionality will be fixed in a later release.
|
Loading…
Reference in New Issue
Block a user