Bug 1271389 - neutron-server fails to start when using short name (ml2) for core_plugin
Summary: neutron-server fails to start when using short name (ml2) for core_plugin
Alias: None
Product: RDO
Classification: Community
Component: rdo-manager
Version: trunk
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
: Liberty
Assignee: chris alfonso
QA Contact: yeylon@redhat.com
Depends On:
TreeView+ depends on / blocked
Reported: 2015-10-13 20:08 UTC by John Trowbridge
Modified: 2016-04-26 16:57 UTC (History)
8 users (show)

Clone Of:
Last Closed: 2015-10-20 13:14:15 UTC

Attachments (Terms of Use)

Description John Trowbridge 2015-10-13 20:08:34 UTC
Description of problem:
If the driver short name (ml2) is specified for core_plugin in neutron.conf rather than the full driver path (neutron.plugins.ml2.plugin.Ml2Plugin) neutron-server will no start with the following error in the neutron-server.log: 

ERROR neutron ValueError: Empty module name.

Version-Release number of selected component (if applicable):

How reproducible:
100% with RDO-Manager where the short name is used for configuring the core_plugin.

Steps to Reproduce:
1. Deploy RDO-Manager following [1] and use the delorean current repo instead of current-passed-ci. 

[1] https://repos.fedorapeople.org/repos/openstack-m/rdo-manager-docs/liberty/ 

Actual results:
Overcloud will fail because neutron-server is unable to start, and neutron-server logs on the overcloud will contain the error:
ERROR neutron ValueError: Empty module name.

Expected results:
Overcloud deploys successfully.

Additional info:

Comment 1 Alan Pevec 2015-10-13 20:23:24 UTC
> openstack-neutron-

that build looks ok, /usr/lib/python2.7/site-packages/neutron- has ml2 entry

Comment 2 John Trowbridge 2015-10-13 20:33:30 UTC
Some additional info:

This does not seem to reproduce on packstack, even with specifying the short name.

This does not happen on the undercloud, which has the exact same neutron version as the overcloud, and the same exact setting for core_plugin.

I checked `rpm -V python-neutron` on the overcloud to check if maybe the egginfo was messed up by overcloud install, but it returns nothing. Also, the entry_points.txt is there and has ml2 under the neutron.core_plugins.

Comment 3 John Trowbridge 2015-10-13 21:12:51 UTC
Further digging pointed to a kilo version for python-networking-cisco-2015.1.0-1.el7.noarch being installed in the overcloud image, and this package had redefined the ml2 plugin and stevedore choked on the dupe:

[root@overcloud-controller-0 heat-admin]# grep -R 'neutron.plugins.ml2.plugin:Ml2Plugin' /usr/lib/python2.7/site-packages/*
/usr/lib/python2.7/site-packages/networking_cisco-2015.1.0-py2.7.egg-info/entry_points.txt:ml2 = neutron.plugins.ml2.plugin:Ml2Plugin
/usr/lib/python2.7/site-packages/neutron- = neutron.plugins.ml2.plugin:Ml2Plugin

Moving the bug to rdo-manager as I am not sure the best place to fix this right now.

Comment 4 Ihar Hrachyshka 2015-10-15 10:12:21 UTC
There is no Liberty compatible python-networking-cisco release so far, please remove the rpm.

Comment 5 John Trowbridge 2015-10-16 20:47:12 UTC
The issue is resolved by using the instructions in this docs patch
https://github.com/redhat-openstack/tripleo-docs/commit/26d63c1abf991b3a7938ab93af73ccb9fd7e4b03 to build the images, or by using the hosted images here: https://repos.fedorapeople.org/repos/openstack-m/rdo-images-centos-liberty/

Comment 6 Alan Pevec 2015-10-21 19:59:42 UTC
This was fixed upstream in master and stable/kilo branches https://review.openstack.org/211795 but upstream has not tagged 2015.1.1 yet.

Note You need to log in before you can comment on or make changes to this bug.