Description of problem: In ipv6 openvswitch-agent doesn't start. The log shows the following error: 2016-01-17 18:31:56.232 29462 TRACE neutron ConfigFileValueError: fd00:fd00:fd00:5000:f816:3eff:fe65:5a3a is not an IPv4 address Version-Release number of selected component (if applicable): openstack-neutron-openvswitch-2015.1.2-6.el7ost.noarch openstack-puppet-modules-2015.1.8-41.el7ost.noarch openstack-tripleo-heat-templates-0.8.6-103.el7ost.noarch How reproducible: 100% Steps to Reproduce: 1. Deploy ipv6 enabled overcloud 2. SSH to the controller node 3. Run systemctl status neutron-openvswitch-agent.service Actual results: [root@overcloud-controller-0 heat-admin]# systemctl status neutron-openvswitch-agent.service ● neutron-openvswitch-agent.service - OpenStack Neutron Open vSwitch Agent Loaded: loaded (/usr/lib/systemd/system/neutron-openvswitch-agent.service; disabled; vendor preset: disabled) Active: failed (Result: exit-code) since Sun 2016-01-17 18:31:56 EST; 16min ago 2016-01-17 18:31:56.232 29462 CRITICAL neutron [-] ConfigFileValueError: fd00:fd00:fd00:5000:f816:3eff:fe65:5a3a is not an IPv4 address Expected results: The openvswitch agent gets started.
This shows a Neutron error not an OVS one. Would you please be able to provide the OVS logs? What type of tunnel is used? VXLAN?
Yes, this is the Neutron Openvswitch agent. There is not much info in the /var/log/neutron/openvswitch-agent.log log except the trace. The tunnel type was VXLAN. CRITICAL neutron [-] ConfigFileValueError: fd00:fd00:fd00:5000:f816:3eff:fe65:5a3a is not an IPv4 address TRACE neutron Traceback (most recent call last): TRACE neutron File "/usr/bin/neutron-openvswitch-agent", line 10, in <module> TRACE neutron sys.exit(main()) TRACE neutron File "/usr/lib/python2.7/site-packages/neutron/cmd/eventlet/plugins/ovs_neutron_agent.py", line 20, in main TRACE neutron ovs_neutron_agent.main() TRACE neutron File "/usr/lib/python2.7/site-packages/neutron/plugins/openvswitch/agent/ovs_neutron_agent.py", line 1736, in main TRACE neutron q_utils.log_opt_values(LOG) TRACE neutron File "/usr/lib/python2.7/site-packages/neutron/common/utils.py", line 270, in log_opt_values TRACE neutron cfg.CONF.log_opt_values(log, std_logging.DEBUG) TRACE neutron File "/usr/lib/python2.7/site-packages/oslo_config/cfg.py", line 2199, in log_opt_values TRACE neutron _sanitize(opt, getattr(group_attr, opt_name))) TRACE neutron File "/usr/lib/python2.7/site-packages/oslo_config/cfg.py", line 2520, in __getattr__ TRACE neutron return self._conf._get(name, self._group) TRACE neutron File "/usr/lib/python2.7/site-packages/oslo_config/cfg.py", line 2242, in _get TRACE neutron value = self._do_get(name, group, namespace) TRACE neutron File "/usr/lib/python2.7/site-packages/oslo_config/cfg.py", line 2283, in _do_get TRACE neutron raise ConfigFileValueError(str(ve)) TRACE neutron ConfigFileValueError: fd00:fd00:fd00:5000:f816:3eff:fe65:5a3a is not an IPv4 address
VXLAN does not support IPv6 in OpenStack Neutron Kilo. Please read: http://openvswitch.org/pipermail/discuss/2015-January/016344.html Only VLAN mode can be use for now. Also see: https://bugs.launchpad.net/neutron/+bug/1531660 So this is not a bug.
VXLAN is effectively the default for Trippleo Heat Templates (assuming it hasn't been changed). IPv6 VXLAN is not supported by OVS 2.3. That said OSP 7 (Kilo) on RHEL 7.2 is using Openvswitch 2.4.0 (2.4.0-1.el7) unfortunately isn't supported either on that version. It seems OVS support for IPv6 tunnel is coming. Not sure if it's going to make it to OVS 2.5 which is still moving. Currently Neutron OpenvSwitch driver and agent support IPv4-only endpoint addresses. Work is in progress to make that happen in meantime OVS support the feature: https://bugs.launchpad.net/neutron/+bug/1525895