Bug 1392542

Summary: RHV:Storage screen does not ensure storage name is not too large for RHV
Product: Red Hat Quickstart Cloud Installer Reporter: James Olin Oden <joden>
Component: WebUIAssignee: Derek Whatley <dwhatley>
Status: CLOSED ERRATA QA Contact: James Olin Oden <joden>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 1.1CC: dwhatley, dymurray, qci-bugzillas
Target Milestone: ---Keywords: Triaged
Target Release: 1.1   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-02-28 01:40:51 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description James Olin Oden 2016-11-07 17:43:46 UTC
Description of problem:
I did a RHV deployment and set the data domain storage name to:

   ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-abcdefghijklmnopqrstuvwxyz

Which is around 64 characters, which is well past the 50 characters allowed.

The UI let me do this and started the deployment but at some point an ansible script produced the following error:

TASK [storage : Set up data domain] ********************************************
fatal: [mac525400359e30.b.b]: FAILED! => {"changed": true, "cmd": ["/etc/qci//scripts/storage_setup", "--url=https://mac525400359e30.b.b/ovirt-engine/api", "--username=admin@internal", "--password=changeme", "--datacenter=Default", "--storage-name=ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-abcdefghijklmnopqrstuvwxyz", "--storage-path=/var/lib/exports/vms", "--storage-address=192.168.175.10", "--storage-type=nfs", "--domain-type=data"], "delta": "0:00:06.213302", "end": "2016-11-07 16:29:43.072204", "failed": true, "rc": 1, "start": "2016-11-07 16:29:36.858902", "stderr": "Traceback (most recent call last):
  File \"/etc/qci//scripts/storage_setup\", line 131, in <module>
    main()
  File \"/etc/qci//scripts/storage_setup\", line 38, in main
    storage_domain = create_storage_domain(engine_api, storage, datacenter)
  File \"/etc/qci//scripts/storage_setup\", line 110, in create_storage_domain
    engine_api.storagedomains.add(sd_params))
  File \"/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/brokers.py\", line 27349, in add
    headers={\"Correlation-Id\":correlation_id, \"Expect\":expect}
  File \"/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/proxy.py\", line 79, in add
    return self.request('POST', url, body, headers, cls=cls)
  File \"/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/proxy.py\", line 122, in request
    persistent_auth=self.__persistent_auth
  File \"/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/connectionspool.py\", line 79, in do_request
    persistent_auth)
  File \"/usr/lib/python2.7/site-packages/ovirtsdk/infrastructure/connectionspool.py\", line 162, in __do_request
    raise errors.RequestError(response_code, response_reason, response_body)
ovirtsdk.infrastructure.errors.RequestError: \r
status: 400\r
reason: Bad Request\r
detail: Cannot add Storage. The given name is too long.", "stdout": "Creating data storage domain", "stdout_lines": ["Creating data storage domain"], "warnings": []}


Version-Release number of selected component (if applicable):
QCI-1.1-RHEL-7-20161103.t.0

How reproducible:
every time

Steps to Reproduce:
1.  Create a RHV deployment that uses a storage name that is longer than
    the RHV allowed size of storage names.
2.  Deploy it.

Actual results:
It fails to deploy with the above error.

Expected results:
The UI should not allow one to progress from the storage screen if a storage name is too large.

Comment 2 Derek Whatley 2016-11-22 16:45:56 UTC
The limitation on storage domain name length can be seen within the initial config for ovirt-engine labelled as "StorageDomainNameSizeLimit"

https://github.com/oVirt/ovirt-engine/blob/master/packaging/dbscripts/upgrade/pre_upgrade/0000_config.sql#L428

Comment 3 Derek Whatley 2016-11-22 18:21:47 UTC
https://github.com/fusor/fusor/pull/1293

Comment 4 Derek Whatley 2016-12-07 19:02:44 UTC
Changes should be present in any recent compose. QCI-1.1-RHEL-7-20161205.t.1 should work, for instance.

Comment 5 James Olin Oden 2016-12-12 20:55:41 UTC
Still have the problem with self hosted and my export (i.e. the other two storage names that conditionally appear based on selecting self hosted and deploying CFME respectively).

Tested with compose:   QCI-1.1-RHEL-7-20161209.t.0

Comment 6 Derek Whatley 2016-12-13 15:32:13 UTC
https://github.com/fusor/fusor/pull/1310 is merged. RHV, RHV self-hosted, and Export storage domain names are now limited to 50 characters in length.

Comment 7 Dylan Murray 2017-01-09 13:48:28 UTC
This fix made it into the 1/6/17 compose.

Comment 8 James Olin Oden 2017-01-09 15:54:00 UTC
Compose: QCI-1.1-RHEL-7-20170106.t.0

Comment 11 errata-xmlrpc 2017-02-28 01:40:51 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2017:0335