Bug 1464694

Summary: Adding neutron tag service plugin causing overcloud deployment to fail
Product: Red Hat OpenStack Reporter: Arie Bregman <abregman>
Component: openstack-neutronAssignee: Assaf Muller <amuller>
Status: CLOSED NOTABUG QA Contact: Toni Freger <tfreger>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 10.0 (Newton)CC: abregman, amuller, chrisw, nyechiel, oblaut, srevivo
Target Milestone: ---Keywords: AutomationBlocker
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-06-25 13:01:25 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
neutron configuration file none

Description Arie Bregman 2017-06-24 15:42:23 UTC
Created attachment 1291520 [details]
neutron configuration file

Description of problem:

Director deployment fails when passing the following heat parameter:

NeutronServicePlugins: "router,qos,trunk,metering,tag"

The failure is:

"ValueError: Multiple plugins for service TAG were configured".

Version-Release number of selected component (if applicable): openstack-neutron-9.3.1-2.el7ost.noarch

How reproducible: 100%


Steps to Reproduce:
1. Deploy OSP 10 and pass this to overcloud deployment:

NeutronServicePlugins: "router,qos,trunk,metering,tag"


Actual results: Overcloud deployment fails with "ValueError: Multiple plugins for service TAG were configured"


Expected results: Overcloud deployment passed successfully


Additional info: Attached neutron.conf

Comment 2 Assaf Muller 2017-06-25 12:18:01 UTC
The 'tag' service plugin is a 'default service plugin', as defined here:
https://github.com/openstack/neutron/blob/stable/newton/neutron/plugins/common/constants.py#L44

Those plugins are loaded automatically. What's happening is that 'tag' is being defined in neutron.conf:service_plugins, so Neutron is trying to load it twice. If you look at controller0 /var/log/neutron/server.log:

"2017-06-24 13:15:47.267 89733 DEBUG neutron.manager [-] Loading service plugins: ['router', 'qos', 'trunk', 'metering', 'tag', 'flavors', 'auto_allocate', 'timestamp', 'network_ip_availability', 'tag', 'revisions'] _load_service_plugins /usr/lib/python2.7/site-packages/neutron/manager.py:190"

(Note 'tag' appearing twice)

Then neutron-server complains that tag was defined twice and errors out.

However default tripleo-heat-templates doesn't seem to include tag by default (Good!):
https://github.com/openstack/tripleo-heat-templates/blob/2518394c2f45d5514946de962f8dfd13aa7c7377/puppet/services/neutron-base.yaml#L43

I'm assuming something in the CI system is adding the 'tag' service plugin in error. Arie I couldn't find infrared in the RHBZ component list, we can either move this bug to a different component or close it.

Comment 3 Arie Bregman 2017-06-25 13:01:25 UTC
Thanks Assaf! Closing this bug.