Bug 1477204

Summary: [downstream clone - 4.1.6] [RFE] Logical Network name length needs to be 256 bytes
Product: Red Hat Enterprise Virtualization Manager Reporter: rhev-integ
Component: ovirt-engineAssignee: Leon Goldberg <lgoldber>
Status: CLOSED ERRATA QA Contact: Michael Burman <mburman>
Severity: urgent Docs Contact:
Priority: high    
Version: 4.1.0CC: danken, devdatta, fgarciad, jdonohue, lsurette, myakove, nenduri, pstehlik, rbalakri, Rhev-m-bugs, srevivo, ycui, yibyang, ykaul
Target Milestone: ovirt-4.1.6Keywords: FutureFeature, ZStream
Target Release: ---Flags: lsvaty: testing_plan_complete-
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: 1458407 Environment:
Last Closed: 2017-09-19 07:18:50 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Network RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1458407, 1476823    
Bug Blocks:    

Description rhev-integ 2017-08-01 13:14:42 UTC
+++ This bug is a downstream clone. The original bug is: +++
+++   bug 1458407 +++
======================================================================

Description of problem:

Current maximum logical network name length is 15 characters.

Typical Cisco ACI logical network names are much longer than 15 characters. 
It consists of tenant name, application name, and end point group name.
We need to support 256 characters long.

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


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

(Originally by nenduri)

Comment 1 rhev-integ 2017-08-01 13:14:52 UTC
Is this for external network or any network?

(Originally by Yaniv Dary)

Comment 3 rhev-integ 2017-08-01 13:14:57 UTC
(In reply to Yaniv Lavi from comment #1)
> Is this for external network or any network?

We need this change for any network. 

we use internal networks in phase 1 and we plan to use external networks (without any network plumbing on rhev host) in phase 2.

(Originally by nenduri)

Comment 4 rhev-integ 2017-08-01 13:15:05 UTC
Can you provide a sample network name? We consider whether we want to support unrestricted network names or to keep our current limitations on character types. (keeping the limitation may simplify and haste our implementation a bit)

(Originally by danken)

Comment 5 rhev-integ 2017-08-01 13:15:12 UTC
(In reply to Dan Kenigsberg from comment #3)
> Can you provide a sample network name? We consider whether we want to
> support unrestricted network names or to keep our current limitations on
> character types. (keeping the limitation may simplify and haste our
> implementation a bit)

The ACI network names (EPG names) are in the following format.

TenantName|ApplicationName|EPGName

For example:

Coke|HumanResource|Epg1

The default delimiter is "|". But we do allow configuring delimiter too.

(Originally by nenduri)

Comment 7 Michael Burman 2017-08-06 05:34:48 UTC
This RFE need some additional work - 

- Issue 1 - When creating names like -
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg

tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt

Engine fails to create vNIC profiles to such networks with internal server error:
2017-08-06 08:23:47,804+03 ERROR [org.ovirt.engine.core.bll.network.vm.AddVnicProfileCommand] (default task-8) [6148f74c-7bf4-4cd6-b1b8-6fedc73f30e8] Exception: org.springframework.dao.DataIntegrityViolationExcept
ion: CallableStatementCallback; SQL [{call insertvnicprofile(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)}]; ERROR: value too long for type character varying(50)
  Where: SQL statement "INSERT INTO vnic_profiles (
        id,
        name,
        network_id,
        network_qos_id,
        port_mirroring,
        passthrough,
        migratable,
        custom_properties,
        description,
        network_filter_id
        )
    VALUES (
        v_id,
        v_name,
        v_network_id,
        v_network_qos_id,
        v_port_mirroring,
        v_passthrough,
        v_migratable,
        v_custom_properties,
        v_description,
        v_network_filter_id
        )"

- Issue 2 - When creating long names with special characters(@#$%^&*) for example:
test-netw-123456-%5#@%&*()_+=1111111
test-net-@#$%^&*(
test55555555555@
Engine doesn't show and recognize those profiles in the VM's vNIC drop down list. 
Engine shows in the VM's vNIC drop down list only long names without special characters, such as:
test555555555555

Comment 10 Michael Burman 2017-09-13 12:10:08 UTC
Verified on - 4.1.6.2-0.1.el7 and vdsm-4.19.31-1.el7ev.x86_64

Comment 12 errata-xmlrpc 2017-09-19 07:18:50 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:2749