Bug 1392634

Summary: TripleO does not configure Neutron to read ml2_conf_sriov.ini when sriovnicswitch mech driver is enabled
Product: Red Hat OpenStack Reporter: Benjamin Schmaus <bschmaus>
Component: openstack-tripleoAssignee: Yariv <yrachman>
Status: CLOSED NOTABUG QA Contact: Arik Chernetsky <achernet>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 9.0 (Mitaka)CC: atelang, beagles, fbaudin, jslagle, mburns, rhel-osp-director-maint, skramaja, vchundur
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-08-07 02:37:16 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:

Description Benjamin Schmaus 2016-11-07 23:42:37 UTC
Description of problem:

In a deploy where:

  NeutronMechanismDrivers: ['openvswitch','sriovnicswitch']

and

  controllerExtraConfig:
    neutron::plugins::ml2::supported_pci_vendor_devs: ['8086:10ed']
    neutron::plugins::ml2::sriov_agent_required: true

are configured, /etc/neutron/plugins/ml2/ml2_conf_sriov.ini is modified, however it is not called by the neutron-server service:

45391 /usr/bin/python2 /usr/bin/neutron-server --config-file /usr/share/neutron/neutron-dist.conf --config-dir /usr/share/neutron/server --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-server --log-file /var/log/neutron/server.log

This prevents the configuration from taking effect on the controllers. Prior versions stored the ml2_sriov configuration in ml2_conf.ini and did not display this issue.


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

How reproducible:
100%

Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Benjamin Schmaus 2016-11-07 23:43:28 UTC
"neutron::plugins::ml2::supported_pci_vendor_devs: ['8086:10ed']" and "neutron::plugins::ml2::agent_required: True" are set in controllerExtraConfig and the corresponding change to /etc/neutron/plugins/ml2/ml2_conf_sriov.ini is made, however that file is not use by neutron-server systemd unit file. unit file needs to be modified or the configuration should be stored in a config file or directory called by neutron-server:

# egrep -v "^$|^#" /etc/neutron/plugins/ml2/ml2_conf_sriov.ini 
[DEFAULT]
[ml2_sriov]
supported_pci_vendor_devs = 8086:10ed
agent_required=True

# cat /usr/lib/systemd/system/neutron-server.service 
[Unit]
Description=OpenStack Neutron Server
After=syslog.target network.target

[Service]
Type=notify
User=neutron
ExecStart=/usr/bin/neutron-server --config-file /usr/share/neutron/neutron-dist.conf --config-dir /usr/share/neutron/server --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-server --log-file /var/log/neutron/server.log
PrivateTmp=true
NotifyAccess=all
KillMode=process

[Install]
WantedBy=multi-user.target

Comment 8 Saravanan KR 2017-02-13 05:18:32 UTC
@Brent, Given the fact that the corresponding puppet code has been deprecated in Ocata, I don't think it is a good idea to do an change related to it. https://review.openstack.org/#/c/427607/5/manifests/plugins/ml2.pp

I would just say that, we just update the manual steps doc to create the link or whatever needed for it, given the fact that it is for OSP9. This would be simple and straight forward.