yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #58620
[Bug 1637993] Re: Getting link attributes via IPDevice fails for interfaces with long names on xenial
Reviewed: https://review.openstack.org/391808
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=0140a183dc0d5610f51badae82a16c4c44ff9885
Submitter: Jenkins
Branch: master
commit 0140a183dc0d5610f51badae82a16c4c44ff9885
Author: Omer Anson <omer.anson@xxxxxxxxxxxxxxxx>
Date: Mon Oct 31 08:52:43 2016 +0200
Truncate IPDevice's name to interface max size
An interface's name is limited to INTERFACE_MAX_SIZE. In some cases, IP
utils truncate this name automatically. In Ubuntu Xenial, ip link
returns an error instead of this behaviour.
This change truncates the device's name upon read (The full name is
still stored on the object). This way, the code does not rely on IP
utils to do the truncation. This solves the error in the test.
Change-Id: I41b226e4b52239b861e2b6e806296025502b9b60
Closes-Bug: 1637993
** Changed in: neutron
Status: In Progress => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1637993
Title:
Getting link attributes via IPDevice fails for interfaces with long
names on xenial
Status in neutron:
Fix Released
Bug description:
Getting link attributes via IPDevice fails for interfaces with long
names on xenial. This can be seen in the functional test
test_get_device_mac_too_long_name, which fails on xenial. Reproducible
on the gate with 'check experimental'.
The output from the failed test is:
ft1.1: neutron.tests.functional.agent.linux.test_ip_lib.IpLibTestCase.test_get_device_mac_too_long_name_StringException: Empty attachments:
stderr
stdout
pythonlogging:'': {{{
DEBUG [stevedore.extension] found extension EntryPoint.parse('pika = oslo_messaging._drivers.impl_pika:PikaDriver')
DEBUG [stevedore.extension] found extension EntryPoint.parse('kombu = oslo_messaging._drivers.impl_rabbit:RabbitDriver')
DEBUG [stevedore.extension] found extension EntryPoint.parse('fake = oslo_messaging._drivers.impl_fake:FakeDriver')
DEBUG [stevedore.extension] found extension EntryPoint.parse('zmq = oslo_messaging._drivers.impl_zmq:ZmqDriver')
DEBUG [stevedore.extension] found extension EntryPoint.parse('amqp = oslo_messaging._drivers.impl_amqp1:ProtonDriver')
DEBUG [stevedore.extension] found extension EntryPoint.parse('rabbit = oslo_messaging._drivers.impl_rabbit:RabbitDriver')
DEBUG [stevedore.extension] found extension EntryPoint.parse('kafka = oslo_messaging._drivers.impl_kafka:KafkaDriver')
DEBUG [stevedore.extension] found extension EntryPoint.parse('pika = oslo_messaging._drivers.impl_pika:PikaDriver')
DEBUG [stevedore.extension] found extension EntryPoint.parse('kombu = oslo_messaging._drivers.impl_rabbit:RabbitDriver')
DEBUG [stevedore.extension] found extension EntryPoint.parse('fake = oslo_messaging._drivers.impl_fake:FakeDriver')
DEBUG [stevedore.extension] found extension EntryPoint.parse('zmq = oslo_messaging._drivers.impl_zmq:ZmqDriver')
DEBUG [stevedore.extension] found extension EntryPoint.parse('amqp = oslo_messaging._drivers.impl_amqp1:ProtonDriver')
DEBUG [stevedore.extension] found extension EntryPoint.parse('rabbit = oslo_messaging._drivers.impl_rabbit:RabbitDriver')
DEBUG [stevedore.extension] found extension EntryPoint.parse('kafka = oslo_messaging._drivers.impl_kafka:KafkaDriver')
DEBUG [stevedore.extension] found extension EntryPoint.parse('pika = oslo_messaging._drivers.impl_pika:PikaDriver')
DEBUG [stevedore.extension] found extension EntryPoint.parse('kombu = oslo_messaging._drivers.impl_rabbit:RabbitDriver')
DEBUG [stevedore.extension] found extension EntryPoint.parse('fake = oslo_messaging._drivers.impl_fake:FakeDriver')
DEBUG [stevedore.extension] found extension EntryPoint.parse('zmq = oslo_messaging._drivers.impl_zmq:ZmqDriver')
DEBUG [stevedore.extension] found extension EntryPoint.parse('amqp = oslo_messaging._drivers.impl_amqp1:ProtonDriver')
DEBUG [stevedore.extension] found extension EntryPoint.parse('rabbit = oslo_messaging._drivers.impl_rabbit:RabbitDriver')
DEBUG [stevedore.extension] found extension EntryPoint.parse('kafka = oslo_messaging._drivers.impl_kafka:KafkaDriver')
DEBUG [stevedore.extension] found extension EntryPoint.parse('pika = oslo_messaging._drivers.impl_pika:PikaDriver')
DEBUG [stevedore.extension] found extension EntryPoint.parse('kombu = oslo_messaging._drivers.impl_rabbit:RabbitDriver')
DEBUG [stevedore.extension] found extension EntryPoint.parse('fake = oslo_messaging._drivers.impl_fake:FakeDriver')
DEBUG [stevedore.extension] found extension EntryPoint.parse('zmq = oslo_messaging._drivers.impl_zmq:ZmqDriver')
DEBUG [stevedore.extension] found extension EntryPoint.parse('amqp = oslo_messaging._drivers.impl_amqp1:ProtonDriver')
DEBUG [stevedore.extension] found extension EntryPoint.parse('rabbit = oslo_messaging._drivers.impl_rabbit:RabbitDriver')
DEBUG [stevedore.extension] found extension EntryPoint.parse('kafka = oslo_messaging._drivers.impl_kafka:KafkaDriver')
DEBUG [oslo_policy._cache_handler] Reloading cached file /opt/stack/new/neutron/neutron/tests/etc/policy.json
DEBUG [oslo_policy.policy] Reloaded policy file: /opt/stack/new/neutron/neutron/tests/etc/policy.json
WARNING [oslo_policy.policy] Policies ['update_rbac_policy:target_tenant'] are part of a cyclical reference.
}}}
Traceback (most recent call last):
File "neutron/tests/base.py", line 125, in func
return f(self, *args, **kwargs)
File "neutron/tests/functional/agent/linux/test_ip_lib.py", line 177, in test_get_device_mac_too_long_name
device = self.manage_device(attr)
File "neutron/tests/functional/agent/linux/test_ip_lib.py", line 83, in manage_device
namespace=attr.namespace)
File "neutron/agent/linux/interface.py", line 113, in init_l3
default_ipv6_lla = ip_lib.get_ipv6_lladdr(device.link.address)
File "neutron/agent/linux/ip_lib.py", line 531, in address
return self.attributes.get('link/ether')
File "neutron/agent/linux/ip_lib.py", line 555, in attributes
return self._parse_line(self._run(['o'], ('show', self.name)))
File "neutron/agent/linux/ip_lib.py", line 361, in _run
return self._parent._run(options, self.COMMAND, args)
File "neutron/agent/linux/ip_lib.py", line 81, in _run
return self._as_root(options, command, args)
File "neutron/agent/linux/ip_lib.py", line 96, in _as_root
log_fail_as_error=self.log_fail_as_error)
File "neutron/agent/linux/ip_lib.py", line 105, in _execute
log_fail_as_error=log_fail_as_error)
File "neutron/agent/linux/utils.py", line 139, in execute
raise RuntimeError(msg)
RuntimeError: Exit code: 255; Stdin: ; Stdout: ; Stderr: Error: argument "teste330f1130ac45f8d" is wrong: "name" too long
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1637993/+subscriptions