Adapt CephFS driver to do not try to escape export ip
Changes CephFS driver to do not try to escape export ip in case it is a hostname. The CephFS driver might use the hostname as an export ip in case no ``cephfs_ganesha_server_ip`` is configured. If that happens, we should not be allowing ip validations to occur uppon a hostname, because it differs from an IPv4 or IPv6 and that isn't necessarily an issue. Change-Id: I1bd57eec3474768596cfab1bf2f8eb6123cc95a8
This commit is contained in:
parent
34d2094843
commit
43ebc12fb5
@ -987,9 +987,16 @@ class NFSProtocolHelper(ganesha.GaneshaNASHelper2):
|
||||
def get_export_locations(self, share, subvolume_path):
|
||||
export_locations = []
|
||||
for export_ip in self.export_ips:
|
||||
# Try to escape the export ip. If it fails, means that the
|
||||
# `cephfs_ganesha_server_ip` wasn't possibly set and the used
|
||||
# address is the hostname
|
||||
try:
|
||||
server_address = driver_helpers.escaped_address(export_ip)
|
||||
except ValueError:
|
||||
server_address = export_ip
|
||||
|
||||
export_path = "{server_address}:{mount_path}".format(
|
||||
server_address=driver_helpers.escaped_address(export_ip),
|
||||
mount_path=subvolume_path)
|
||||
server_address=server_address, mount_path=subvolume_path)
|
||||
|
||||
LOG.info("Calculated export path for share %(id)s: %(epath)s",
|
||||
{"id": share['id'], "epath": export_path})
|
||||
|
@ -0,0 +1,8 @@
|
||||
---
|
||||
fixes:
|
||||
- |
|
||||
When ``cephfs_ganesha_server_ip`` is not set, the current hostname is used
|
||||
as a default for such config option. The driver was treating this value
|
||||
as an IP address and trying to perform validations on it. The CEPH NFS
|
||||
driver will no longer treat hostnames as ip addresses and try to validate
|
||||
them as such.
|
Loading…
Reference in New Issue
Block a user