[Packstack] [Neutron][Liberty] crash openvswitch due to segment ID set to None
Hi,
I've wanted to test Liberty and used Packstack to deploy: 1x Controller, 1xNetwork Node, 2x Compute node
I use Neutron and ML2 plugin for my environment. Everything is setup properly and neutron agent-list / neutron agent-show <id> show my expected configuration and everything is up and running. On my network/compute nodes, my openvswitch agent is active (Running)
The issue happen has soon as i try to setup some networks:
Creation of a router: no issue
neutron router-create admin_router
create a network/subnet: no issue
neutron net-create public -- --router:external=True --provider:network_type local neutron subnet-create --allocation-pool start=10.1.10.100,end=10.1.10.200 --gateway=10.1.10.1 --name public_subnet public 10.1.10.0/24
however if i restart my neutron-openvswitch-agent, it will die
[root@NetworkNode ml2]# service neutron-openvswitch-agent status
Redirecting to /bin/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; enabled)
Active: failed (Result: exit-code) since Fri 2015-11-27 12:14:51 EST; 679ms ago
Process: 24386 ExecStart=/usr/bin/neutron-openvswitch-agent --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-openvswitch-agent --log-file /var/log/neutron/openvswitch-agent.log (code=exited, status=1/FAILURE)
Main PID: 24386 (code=exited, status=1/FAILURE)
this is what i get in my log file:
[root@NetworkNode ml2]# tail -2 /var/log/neutron/openvswitch-agent.log
2015-11-27 12:14:51.136 24386 ERROR neutron.plugins.ml2.drivers.openvswitch.agent.ovs_neutron_agent [req-def72090-0c7d-4142-aad6-d40ecd086107 - - - - -] invalid literal for int() with base 10: 'None' Agent terminated!
2015-11-27 12:14:51.142 24386 INFO oslo_rootwrap.client [req-def72090-0c7d-4142-aad6-d40ecd086107 - - - - -] Stopping rootwrap daemon process with pid=24415
[root@NetworkNode ml2]#
if i delete my network, then the ovs agent will start again
i did some research on this
invalid literal for int() with base 10: 'None' Agent terminated!
and i found this known bug: https://review.openstack.org/#/c/237586/
The segmentation_id of a OVS VLAN can be None, but a recent change
assumed that it was always an integer. It highlighted the fact that we
try to store None in the OVS database, which got stored as a string.
This fixes the storage, and handles loading the value while keeping
compatibility.
I'm using flat vlan and i believe this is the issue i face...
Where i'm not comfortable is :
- Is the liberty version retrieve through RDO contain the patch ? Is there anyway to know this ?
- If not, any idea when it may be ? Any idea as a workaround ??
Not being able to use Flat vlan is slightly disruptive ^^'
Thanks for your feedback/help
Nicolas