[Engine-devel] value too long for type character varying(20) in function "insertvds_interface"

Itzik Brown ItzikB at mellanox.com
Mon May 14 06:12:03 UTC 2012


The problem is with the mac_addr field.
For my Infiniband HCA the hardware address is 59 chars long.
I changed the scheme of the engine and now it works.

Itzik

-----Original Message-----
From: Livnat Peer [mailto:lpeer at redhat.com] 
Sent: שבת 12 מאי 2012 21:48
To: Dan Kenigsberg
Cc: Itamar Heim; Itzik Brown; engine-devel at ovirt.org; Yaniv Dary
Subject: Re: [Engine-devel] value too long for type character varying(20) in function "insertvds_interface"

On 11/05/12 11:40, Dan Kenigsberg wrote:
> On Fri, May 11, 2012 at 11:04:14AM +0300, Itamar Heim wrote:
>> On 05/11/2012 03:52 AM, Itzik Brown wrote:
>>> Hi,
>>>
>>> When running VDSM on host with Infiniband HCAs I get the following errors in /usr/share/jboss-as/standalone/log/server.log on the ovirt-engine host.
>>>
>>> WARN  [org.ovirt.engine.core.vdsbroker.VdsManager] (QuartzScheduler_Worker-17) ResourceManager::refreshVdsRunTimeInfo::Failed to refresh VDS , vds = 783eb0ac-9a91-11e1-a8e4-000c29de7759 : xena003, error = DataIntegrityViolationException: CallableStatementCallback; SQL [{call insertvds_interface(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)}]; ERROR: value too long for type character varying(20)
>>>   Where: SQL statement "INSERT INTO vds_interface(addr, bond_name, bond_type, gateway, id, is_bond, bond_opts, mac_addr, name, network_name, speed, subnet, boot_protocol, type, VDS_ID, vlan_id, mtu, bridged)
>>>         VALUES(v_addr, v_bond_name, v_bond_type, v_gateway, v_id, v_is_bond, v_bond_opts, v_mac_addr, v_name, v_network_name, v_speed, v_subnet, v_boot_protocol, v_type, v_vds_id, v_vlan_id, v_mtu, v_bridged)"
>>>
>>> More detailed log:
>>> http://pastebin.com/AHD3di5i
>>>
>>> VDSM: From git repository commit 
>>> 8a14b63fbbafbdb9ee7f85a9b702bff310f4f668
>>> oVirt-engine: From git repository comit 
>>> b24dddf094e08afa6a2032a487b37476318a872d
>>>
>>> Any suggestions?
>>
>> in general, you would need to send a patch to upgrade the scheme to a 
>> value longer than 20 characters for a logical network name.
>> 1. I think bridge name is linux is limited to 15 characters, so not
>>    sure actually why 20 are allowed today. danken?
> 
> No idea why it's 20.. IIRC vdsm silently ignore the trailing chars 
> past the 15th.
> 

I opened a BZ on this -

https://bugzilla.redhat.com/show_bug.cgi?id=821172
"VM network name should be limited to 15 chars "


Livnat

>> 2. if changing the db scheme of the engine, also need to remember to
>>    upgrade the history db as well.
>> 3. if different network implementation can support varying lengths,
>>    need to add validations in engine ("CanDoAction") to check the
>>    length per type of network implementation.




More information about the Engine-devel mailing list