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 <[email protected]> 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 -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

