diff --git a/cinder/tests/test_glusterfs.py b/cinder/tests/test_glusterfs.py index 1b81badd8c0..5560ead3fad 100644 --- a/cinder/tests/test_glusterfs.py +++ b/cinder/tests/test_glusterfs.py @@ -289,6 +289,7 @@ class GlusterFsDriverTestCase(test.TestCase): config_data.append(self.TEST_EXPORT1) config_data.append('#' + self.TEST_EXPORT2) config_data.append(self.TEST_EXPORT2 + ' ' + self.TEST_EXPORT2_OPTIONS) + config_data.append('broken:share_format') config_data.append('') drv._read_config_file(self.TEST_SHARES_CONFIG_FILE).\ AndReturn(config_data) diff --git a/cinder/tests/test_nfs.py b/cinder/tests/test_nfs.py index 1b5117ed0f7..2c7bab01da5 100644 --- a/cinder/tests/test_nfs.py +++ b/cinder/tests/test_nfs.py @@ -280,6 +280,7 @@ class NfsDriverTestCase(test.TestCase): config_data.append('') config_data.append(self.TEST_NFS_EXPORT2 + ' ' + self.TEST_NFS_EXPORT2_OPTIONS) + config_data.append('broken:share_format') drv._read_config_file(self.TEST_SHARES_CONFIG_FILE).\ AndReturn(config_data) mox.ReplayAll() diff --git a/cinder/volume/drivers/nfs.py b/cinder/volume/drivers/nfs.py index db97bb328b5..19347738c1b 100644 --- a/cinder/volume/drivers/nfs.py +++ b/cinder/volume/drivers/nfs.py @@ -17,6 +17,7 @@ import errno import os +import re from oslo.config import cfg @@ -294,6 +295,11 @@ class RemoteFsDriver(driver.VolumeDriver): share_address = share_info[0].strip().decode('unicode_escape') share_opts = share_info[1].strip() if len(share_info) > 1 else None + if not re.match(r'.+:/.+', share_address): + LOG.warn("Share %s ignored due to invalid format. Must be of " + "form address:/export." % share_address) + continue + self.shares[share_address] = share_opts LOG.debug("shares loaded: %s", self.shares)