Bug 1302358 - File Storage domain export path does not support [IPv6]:/path input
File Storage domain export path does not support [IPv6]:/path input
Product: vdsm
Classification: oVirt
Component: General (Show other bugs)
Unspecified Unspecified
unspecified Severity medium (vote)
: ovirt-4.1.1
: 4.19.5
Assigned To: Idan Shaby
: 1302356 (view as bug list)
Depends On:
Blocks: RHEV_IPv6
  Show dependency treegraph
Reported: 2016-01-27 10:24 EST by Edward Haas
Modified: 2017-04-21 05:47 EDT (History)
7 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Up until now, we could use only IPV4 addresses to create file storage domains. Now, IPV6 Addresses can also be used to do so. Here's an example for an IPV6 export address: [2001:0db8:85a3:8a2e:0370:7334]:/path/to/storage For more information, please refer to: http://www.ovirt.org/develop/release-management/features/network/ipv6-support/
Story Points: ---
Clone Of:
Last Closed: 2017-04-21 05:47:54 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: Storage
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
rule-engine: ovirt‑4.1+
danken: testing_plan_complete?

Attachments (Terms of Use)

External Trackers
Tracker ID Priority Status Summary Last Updated
oVirt gerrit 56538 master MERGED webadmin: Refactor validations to cope with IPv6 addresses 2016-05-05 08:00 EDT
oVirt gerrit 56539 master MERGED engine: Allow IPv6 in NFS mount points 2016-05-05 08:00 EDT
oVirt gerrit 58938 master MERGED tests: add tests for file domains' lookup 2017-02-01 09:16 EST
oVirt gerrit 69835 master MERGED fileSD: escape values passed to glob.glob 2017-02-01 09:39 EST
oVirt gerrit 70473 master MERGED compat: add glob.escape from Python 3.6 2017-01-30 16:10 EST
oVirt gerrit 71575 ovirt-4.1 MERGED compat: add glob.escape from Python 3.6 2017-02-06 09:42 EST
oVirt gerrit 71576 ovirt-4.1 MERGED tests: add tests for file domains' lookup 2017-02-06 09:42 EST
oVirt gerrit 71577 ovirt-4.1 MERGED fileSD: escape values passed to glob.glob 2017-02-06 09:42 EST

  None (edit)
Description Edward Haas 2016-01-27 10:24:44 EST
Description of problem:
When creating a new Storage Domain, the export path cannot be edited with an IPv6 address.
The format should be [IPv6 Address]:/path, e.g [201::1]:/path

Version-Release number of selected component (if applicable):

How reproducible:
Try to add a new storage domain with an IPv6 address/

Steps to Reproduce:
1. Open Storage tab.
2. Click New Domain
3. Edit in 'Export Path' textbox something like: [201::1]:/my/folder
4. Try to add the domain.

Actual results:
Error on the textbox: NFS mount path is illegal...

Expected results:
To accept the address and connect to the storage.

Additional info:
Should work with all storage types.
It is part of the IPv6 task.
With an FQDN that points to an IPv6 address, it works fine.
Comment 1 Tal Nisan 2016-01-31 12:31:47 EST
*** Bug 1302356 has been marked as a duplicate of this bug. ***
Comment 2 Yevgeny Zaspitsky 2016-04-20 06:43:40 EDT
org.ovirt.engine.ui.uicommonweb.validation.LinuxMountPointValidation should be updated in order to validate IPv6 containing URLs properly.
Comment 3 Idan Shaby 2017-01-05 11:54:08 EST
It looks like this bug is only about the webadmin for some reason.
If I got it right, it is not possible to add a file domain using an ipv6 address at all, and not only via the webadmin.
Am I right? Or have I got it wrong when trying to do it via the REST API?
If I am wrong, can you give an example for a REST API call to add an file domain?
Comment 4 Idan Shaby 2017-01-09 02:44:52 EST
The problem seems to reside in vdsm.
Updating the BZ.
Comment 5 Idan Shaby 2017-01-09 03:04:04 EST
In more details:
It seems that oop.getProcessPool(possibleDomain)... in fileSD - scanDomains -> collectMetaFile doesn't return the metaFiles because the '[' and ']' are not escaped.
The exact same bug occurred when I tried to create a domain with a name like "the[new]sd". We need to escape the '[]' characters because when trying to find what the sd dir contains I think that vdsm treats the '[]' as a part of a regex, and since it cannot find the dir it complains that the storage domain does not exist.
Comment 6 Idan Shaby 2017-03-07 01:51:16 EST
Until this bug was solved, file domains could not be created using IPV6 addresses. Therefore, this will probably require creating new automation tests by QE.
Raz, can you please make sure that it happens?
Comment 7 Raz Tamir 2017-03-10 10:04:53 EST
Comment 8 Elad 2017-03-12 07:38:16 EDT
IPv6 export path is accepted. ConnectStorageServer is executed using the correct path including the IPv6 address of the NFS server.  

2017-03-12 13:32:15,311+02 INFO  [org.ovirt.engine.core.vdsbroker.vdsbroker.ConnectStorageServerVDSCommand] (default task-28) [b6c72be6-776b-4b6c-a044-f80317eed34e] START, ConnectStorageServerVDSCommand(HostName
 = host_mixed_1, StorageServerConnectionManagementVDSParameters:{runAsync='true', hostId='652a6dec-7c2d-423e-9b9b-abcb4c29d04f', storagePoolId='00000000-0000-0000-0000-000000000000', storageType='NFS', connectio
nList='[StorageServerConnections:{id='null', connection='[fe80::21b:21ff:fe75:35fb]:/Storage_NFS/elad/2', iqn='null', vfsType='null', mountOptions='null', nfsVersion='AUTO', nfsRetrans='null', nfsTimeo='null', i
face='null', netIfaceName='null'}]'}), log id: 33dd9a16


Note You need to log in before you can comment on or make changes to this bug.