Bagpipe-bgp agent don't support IPv6

Bug #1856154 reported by Slawek Kaplonski
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
BaGPipe
Confirmed
Wishlist
Unassigned

Bug Description

It seems that bagpipe-bgp service can't start when "peers" config option has IPv6 address configured.
We are trying to add ipv6 only neutron-tempest-plugin job for stadium projects [1] and it's failing due to that:

Dec 12 01:22:03.596425 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon [-] Error while starting BGP daemon: oslo_config.cfg.ConfigFileValueError: Value for option peers from LocationInfo(location=<Locations.user: (4, True)>, detail='') is not valid: [2001:4801:7828:104:be76:4eff:fe10:2d8b] is not a valid host address
Dec 12 01:22:03.596425 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon Traceback (most recent call last):
Dec 12 01:22:03.596425 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/usr/local/lib/python3.6/dist-packages/oslo_config/types.py", line 844, in __call__
Dec 12 01:22:03.596425 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon value = self.ip_address(value)
Dec 12 01:22:03.596425 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/usr/local/lib/python3.6/dist-packages/oslo_config/types.py", line 730, in __call__
Dec 12 01:22:03.596425 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon self.version_checker(value)
Dec 12 01:22:03.596425 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/usr/local/lib/python3.6/dist-packages/oslo_config/types.py", line 741, in _check_ipv4
Dec 12 01:22:03.596425 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon raise ValueError("%s is not an IPv4 address" % address)
Dec 12 01:22:03.596425 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon ValueError: [2001:4801:7828:104:be76:4eff:fe10:2d8b] is not an IPv4 address
Dec 12 01:22:03.596425 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon
Dec 12 01:22:03.596425 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon During handling of the above exception, another exception occurred:
Dec 12 01:22:03.596425 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon
Dec 12 01:22:03.596425 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon Traceback (most recent call last):
Dec 12 01:22:03.596425 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/usr/local/lib/python3.6/dist-packages/oslo_config/types.py", line 847, in __call__
Dec 12 01:22:03.596425 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon value = self.hostname(value)
Dec 12 01:22:03.598757 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/usr/local/lib/python3.6/dist-packages/oslo_config/types.py", line 800, in __call__
Dec 12 01:22:03.598757 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon raise ValueError("%s is an invalid hostname" % value)
Dec 12 01:22:03.598757 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon ValueError: [2001:4801:7828:104:be76:4eff:fe10:2d8b] is an invalid hostname
Dec 12 01:22:03.598757 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon
Dec 12 01:22:03.598757 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon During handling of the above exception, another exception occurred:
Dec 12 01:22:03.598757 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon
Dec 12 01:22:03.598757 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon Traceback (most recent call last):
Dec 12 01:22:03.598757 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/usr/local/lib/python3.6/dist-packages/oslo_config/cfg.py", line 2689, in _do_get
Dec 12 01:22:03.598757 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon return (convert(val), alt_loc)
Dec 12 01:22:03.598757 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/usr/local/lib/python3.6/dist-packages/oslo_config/cfg.py", line 2660, in convert
Dec 12 01:22:03.598757 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon self._substitute(value, group, namespace), opt)
Dec 12 01:22:03.598757 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/usr/local/lib/python3.6/dist-packages/oslo_config/cfg.py", line 2782, in _convert_value
Dec 12 01:22:03.598757 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon return opt.type(value)
Dec 12 01:22:03.598757 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/usr/local/lib/python3.6/dist-packages/oslo_config/types.py", line 515, in __call__
Dec 12 01:22:03.598757 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon raise first_error
Dec 12 01:22:03.598757 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/usr/local/lib/python3.6/dist-packages/oslo_config/types.py", line 509, in __call__
Dec 12 01:22:03.598757 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon validated_value = self.item_type(value.strip())
Dec 12 01:22:03.601193 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/usr/local/lib/python3.6/dist-packages/oslo_config/types.py", line 849, in __call__
Dec 12 01:22:03.601193 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon raise ValueError("%s is not a valid host address" % (value,))
Dec 12 01:22:03.601193 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon ValueError: [2001:4801:7828:104:be76:4eff:fe10:2d8b] is not a valid host address
Dec 12 01:22:03.601193 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon
Dec 12 01:22:03.601193 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon During handling of the above exception, another exception occurred:
Dec 12 01:22:03.601193 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon
Dec 12 01:22:03.601193 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon Traceback (most recent call last):
Dec 12 01:22:03.601193 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/opt/stack/networking-bagpipe/networking_bagpipe/bagpipe_bgp/bgp_daemon.py", line 98, in daemon_main
Dec 12 01:22:03.601193 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon pecan_api = api.PecanAPI()
Dec 12 01:22:03.601193 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/opt/stack/networking-bagpipe/networking_bagpipe/bagpipe_bgp/api/api.py", line 58, in __init__
Dec 12 01:22:03.601193 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon app = setup_app()
Dec 12 01:22:03.601193 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/opt/stack/networking-bagpipe/networking_bagpipe/bagpipe_bgp/api/api.py", line 43, in setup_app
Dec 12 01:22:03.601193 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon guess_content_type_from_ext=True
Dec 12 01:22:03.601193 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/usr/local/lib/python3.6/dist-packages/pecan/__init__.py", line 86, in make_app
Dec 12 01:22:03.601193 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon app = Pecan(root, **kw)
Dec 12 01:22:03.601193 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/usr/local/lib/python3.6/dist-packages/pecan/core.py", line 832, in __init__
Dec 12 01:22:03.601193 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon super(Pecan, self).__init__(*args, **kw)
Dec 12 01:22:03.603483 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/usr/local/lib/python3.6/dist-packages/pecan/core.py", line 240, in __init__
Dec 12 01:22:03.603483 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon root = self.__translate_root__(root)
Dec 12 01:22:03.603483 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/usr/local/lib/python3.6/dist-packages/pecan/core.py", line 275, in __translate_root__
Dec 12 01:22:03.603483 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon module = __import__(name, fromlist=fromlist)
Dec 12 01:22:03.603483 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/opt/stack/networking-bagpipe/networking_bagpipe/bagpipe_bgp/api/controllers.py", line 349, in <module>
Dec 12 01:22:03.603483 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon class RootController(object):
Dec 12 01:22:03.603483 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/opt/stack/networking-bagpipe/networking_bagpipe/bagpipe_bgp/api/controllers.py", line 362, in RootController
Dec 12 01:22:03.603483 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon attach_localport = AttachController()
Dec 12 01:22:03.603483 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/opt/stack/networking-bagpipe/networking_bagpipe/bagpipe_bgp/api/controllers.py", line 67, in __init__
Dec 12 01:22:03.603483 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon self.manager = vpn_manager.VPNManager.get_instance()
Dec 12 01:22:03.603483 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/opt/stack/networking-bagpipe/networking_bagpipe/bagpipe_bgp/vpn/manager.py", line 495, in get_instance
Dec 12 01:22:03.603483 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon cls._create_instance()
Dec 12 01:22:03.603483 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/usr/local/lib/python3.6/dist-packages/oslo_concurrency/lockutils.py", line 359, in inner
Dec 12 01:22:03.603483 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon return f(*args, **kwargs)
Dec 12 01:22:03.603483 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/opt/stack/networking-bagpipe/networking_bagpipe/bagpipe_bgp/vpn/manager.py", line 481, in _create_instance
Dec 12 01:22:03.605629 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon cls._instance = cls()
Dec 12 01:22:03.605629 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/opt/stack/networking-bagpipe/networking_bagpipe/bagpipe_bgp/common/log_decorator.py", line 39, in wrapper
Dec 12 01:22:03.605629 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon return method(*args, **kwargs)
Dec 12 01:22:03.605629 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/opt/stack/networking-bagpipe/networking_bagpipe/bagpipe_bgp/vpn/manager.py", line 69, in __init__
Dec 12 01:22:03.605629 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon self.bgp_manager = bgp_manager.Manager()
Dec 12 01:22:03.605629 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/opt/stack/networking-bagpipe/networking_bagpipe/bagpipe_bgp/engine/bgp_manager.py", line 60, in __init__
Dec 12 01:22:03.605629 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon if cfg.CONF.BGP.peers:
Dec 12 01:22:03.605629 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/usr/local/lib/python3.6/dist-packages/oslo_config/cfg.py", line 3130, in __getattr__
Dec 12 01:22:03.605629 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon return self._conf._get(name, self._group)
Dec 12 01:22:03.605629 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/usr/local/lib/python3.6/dist-packages/oslo_config/cfg.py", line 2627, in _get
Dec 12 01:22:03.605629 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon value, loc = self._do_get(name, group, namespace)
Dec 12 01:22:03.605629 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon File "/usr/local/lib/python3.6/dist-packages/oslo_config/cfg.py", line 2701, in _do_get
Dec 12 01:22:03.605629 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon raise ConfigFileValueError(message)
Dec 12 01:22:03.605629 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon oslo_config.cfg.ConfigFileValueError: Value for option peers from LocationInfo(location=<Locations.user: (4, True)>, detail='') is not valid: [2001:4801:7828:104:be76:4eff:fe10:2d8b] is not a valid host address
Dec 12 01:22:03.605629 ubuntu-bionic-rax-ord-0013344842 bagpipe-bgp[31822]: ERROR networking_bagpipe.bagpipe_bgp.bgp_daemon

[1] https://review.opendev.org/#/c/686043/

Tags: rfe
Changed in networking-bagpipe:
status: New → Confirmed
Revision history for this message
Thomas Morin (tmmorin-orange) wrote :

This is as much a design limitation than a bug: bagpipe-bgp has not at this point seen anywork to make it work with IPv6, nor for BGP peerings or inside BGP VPNs.

Changed in networking-bagpipe:
importance: Undecided → Wishlist
tags: added: rfe
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.