diff --git a/manila/share/drivers/generic.py b/manila/share/drivers/generic.py index f6f1c2a838..3855328919 100644 --- a/manila/share/drivers/generic.py +++ b/manila/share/drivers/generic.py @@ -557,6 +557,8 @@ class GenericShareDriver(driver.ExecuteMixin, driver.ShareDriver): def extend_share(self, share, new_size, share_server=None): server_details = share_server['backend_details'] + helper = self._get_helper(share) + helper.disable_access_for_maintenance(server_details, share['name']) self._unmount_device(share, server_details) self._detach_volume(self.admin_context, share, server_details) @@ -570,6 +572,8 @@ class GenericShareDriver(driver.ExecuteMixin, driver.ShareDriver): volume) self._resize_filesystem(server_details, volume) self._mount_device(share, server_details, volume) + helper.restore_access_after_maintenance(server_details, + share['name']) def _extend_volume(self, context, volume, new_size): self.volume_api.extend(context, volume['id'], new_size) diff --git a/manila/tests/share/drivers/test_generic.py b/manila/tests/share/drivers/test_generic.py index 4b96a31b15..4e60984288 100644 --- a/manila/tests/share/drivers/test_generic.py +++ b/manila/tests/share/drivers/test_generic.py @@ -1385,7 +1385,11 @@ class GenericShareDriverTestCase(test.TestCase): def test_extend_share(self): fake_volume = "fake" - fake_share = {'id': 'fake'} + fake_share = { + 'id': 'fake', + 'share_proto': 'NFS', + 'name': 'test_share', + } new_size = 123 srv_details = self.server['backend_details'] self.mock_object( @@ -1419,6 +1423,10 @@ class GenericShareDriverTestCase(test.TestCase): mock.ANY, fake_volume, new_size) self._driver._attach_volume.assert_called_once_with( mock.ANY, fake_share, srv_details['instance_id'], mock.ANY) + self._helper_nfs.disable_access_for_maintenance.\ + assert_called_once_with(srv_details, 'test_share') + self._helper_nfs.restore_access_after_maintenance.\ + assert_called_once_with(srv_details, 'test_share') self.assertTrue(self._driver._resize_filesystem.called) def test_extend_volume(self):