Commit Graph

26 Commits

Author SHA1 Message Date
Brian Haley 0611735715 Remove ovn.ini example file
The ovn.ini file is a hold-over from the networking-ovn
tree. The docs all reference configuring OVN (and OVS)
options in ml2_conf.ini, so remove the old file and add
the neutron.ml2.ovn namespace to
etc/oslo-config-generator/ml2_conf.ini.

Trivialfix

Change-Id: I26dedc80e07aedffb1713560d4431b7a334b70b5
2023-09-06 15:19:30 -04:00
Takashi Kajinami 395dd237d1 Fix missing oslo.versionedobjects library option
This ensures the options for oslo.versionedobjects library are
included in the file generated by oslo-config-generator.

Change-Id: Ib6352323557d968527bcc7b31e3ac14f619c41fa
2023-08-08 15:06:02 +09:00
Takashi Kajinami 289ae97c1c Add missing osprofiler options
osprofiler was integrated to Neutron a while ago[1] but the options
for this library have not been added to neutron.conf properly.

This ensures the options are rendered by oslo-config-generator.

[1] 9a43f58f4d

Change-Id: Ice1b3f701ac244e17d855484263199f8a0b8310b
2023-02-28 18:06:17 +09:00
Rodolfo Alonso Hernandez abfa8940b1 [OVN] Fix the OVN Agent config file location
The "ovn_agent.ini" file should be in "/etc/neutron/plugins/ml2",
same as any other ML2 mechanism driver agent configuration.

Related-Bug: #1998608
Change-Id: I3f0e948202b522df162ed67fe669a6ff8e90ab41
2023-02-02 13:26:35 +01:00
Rodolfo Alonso Hernandez d0c7bb653a [OVN] Implementation of OVN Neutron Agent
This patch implements the OVN Neutron Agent executable, the extension
manager engine, the agent extension abstract class and the configuration
section.

Related-Bug: #1998608
Change-Id: I94bb98217e03f9ac314cb9723da277a23368649c
2023-01-26 07:41:38 +01:00
Takashi Kajinami 67bd2badc9 Fix missing [designate] options
This change ensures the [designate] options, which is used by
the designate external DNS driver, are rendered into neutron.conf
generated by oslo-config-generator.

Change-Id: I56a1079fbfc044532aee64f4fbdec50d9524a580
2022-11-22 12:00:50 +09:00
Miguel Lavalle 7f0413c84c Implement experimental features framework
During the Zed PTG it was decided to handle unsupported features in
Neutron as experimental. See section titled "When we say something is
not supported?", day 2 in [1]. The agreement was:

"We keep existing jobs for linuxbridge driver for example, but when the
tests start to fail we skip them and finally we stop the job also.
To make it clear for operators we add warning logs highlighting that the
given feature/driver is experimental, and introduce cfg option to enable
such features explicitly."

This commit implements this agreement, initially with Linuxbridge

Depends-On: https://review.opendev.org/c/openstack/neutron-tempest-plugin/+/845646

[1] https://lists.openstack.org/pipermail/openstack-discuss/2022-April/028164.html

Change-Id: Ib18efa3f472736b58c8967847b1061da0e3897d7
2022-06-30 17:59:49 -05:00
Takashi Kajinami d6b1dd4a93 Include oslo.cache options in neutron.conf
Neutorn uses oslo.cache library for caching. This change ensures that
options of the library are included in neutron.conf generated by
oslo-config-generator.
This change also removes cache_utils module from neutron.opts because
the module is not used in that file.

Closes-Bug: #1940790
Change-Id: I9ccd145d5ea1a1e0033eb43b609cc6428ea95f23
2021-08-23 11:54:12 +09:00
Takashi Kajinami c75df16e50 Add missing options to generated neutron.conf
This change adds missing oslo.config.opts endpoints to the config file
to generated neutron.conf, so that the following options are included
in the neutron.conf generated by the oslo-config-generator command.

1) Some options of the oslo.service library, related to periodic tasks
   and base service implementation

2) Options of the oslo.reports library

3) Options of the healthcheck middleware from oslo.middleware

Closes-Bug: #1940009
Change-Id: I9f4763efc02e5cacca3a00e9f101f83d3f3fb1e7
2021-08-16 17:46:01 +09:00
David Vallee Delisle 89fd50d0f9 Adding placement auth options to oslo.config entry_points
To assist with automated configuration validation, we need entry points
for oslo.config.opts for placement auth options.

Change-Id: Ibaaa1600e6a14f3308024c4e22e3489ee21e7244
2021-05-10 09:00:57 -04:00
Rodolfo Alonso Hernandez a6dbf97242 Deprecate XenAPI support
The configuration options are now marked as deprecated for
removal in X release.

Any related code is deleted. Neutron does not support XenAPI,
same as Nova [1][2].

[1]https://review.opendev.org/#/c/749304/
[2]https://review.opendev.org/#/c/749309/

Change-Id: Ifdb2200a5dac3508fdf8907bdd1f4547dff35341
Story: #2007686
Task: #41269
2020-12-09 20:15:39 +00:00
Lucas Alvares Gomes 48ab58b46e [OVN] Change DevStack to use the local OVN driver
This patch is changing DevStack to deploy with the local OVN driver
(instead of the networking-ovn old repo).

A few tweaks were needed in the code in order to get it to work, more
precisely:

* OVN metadata configuration was pointing to some module variables that
  didn't exist.
* OVN metadata configuration generation was missing

Below is the following configuration needed in the local.conf to deploy
OVN:

[[local|localrc]]

enable_plugin neutron https://opendev.org/openstack/neutron

Q_AGENT=ovn
Q_ML2_PLUGIN_MECHANISM_DRIVERS=ovn,logger
Q_ML2_PLUGIN_TYPE_DRIVERS=local,flat,vlan,geneve
Q_ML2_TENANT_NETWORK_TYPE="geneve"

enable_service ovn-northd
enable_service ovn-controller
enable_service neutron-ovn-metadata-agent

disable_service n-net
enable_service q-svc

disable_service q-agt
disable_service q-l3
disable_service q-dhcp
disable_service q-meta

Change-Id: I0b899a33943550a53822d1d057cdee525cbbc6ec
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
2020-01-16 09:28:43 +00:00
Maciej Józefczyk 65692127f6 [OVN] Move OVN commons to neutron tree
Move OVN related commons to neutron tree.

Previous paths in networking-ovn tree:
./networking_ovn/common/constants.py -> ./neutron/common/ovn/constants.py
./networking_ovn/common/exceptions.py -> ./neutron/common/ovn/exceptions.py
./networking_ovn/common/utils.py -> ./neutron/common/ovn/utils.py
./networking_ovn/common/hash_ring_manager.py -> neutron/common/ovn/hash_ring_manager.py
./networking_ovn/common/config.py -> ./neutron/conf/plugins/ml2/drivers/ovn/ovn_conf.py

Co-Authored-By: Gal Sagie <gal.sagie@huawei.com>
Co-Authored-By: Boden R <bodenvmw@gmail.com>
Co-Authored-By: Daniel Alvarez <dalvarez@redhat.com>
Co-Authored-By: Amitabha Biswas <abiswas@us.ibm.com>
Co-Authored-By: Chandra S Vejendla <csvejend@us.ibm.com>
Co-Authored-By: Babu Shanmugam <bschanmu@redhat.com>
Co-Authored-By: Lucas Alvares Gomes <lucasagomes@gmail.com>
Co-Authored-By: Terry Wilson <twilson@redhat.com>
Co-Authored-By: Ramu Ramamurthy <ramu.ramamurthy@us.ibm.com>
Co-Authored-By: Maciej Józefczyk <mjozefcz@redhat.com>
Co-Authored-By: Gary Kotton <gkotton@vmware.com>
Co-Authored-By: Andrew Austin <aaustin@redhat.com>
Co-Authored-By: Miguel Angel Ajo <majopela@redhat.com>
Co-Authored-By: Brian Haley <bhaley@redhat.com>
Co-Authored-By: Dong Jun <dongj@dtdream.com>
Co-Authored-By: xurong00037997 <xu.rong@zte.com.cn>
Co-Authored-By: Rodolfo Alonso Hernandez <ralonsoh@redhat.com>

Change-Id: Ib46bfdd14a150a324dbf28c6a50c839c5c824e35
Related-Blueprint: neutron-ovn-merge
2019-12-04 13:15:16 +00:00
Harald Jensås afff649a39 Notify ironic on port status changes
This patch adds an ironic notifier that sends notifications
to ironic endpoint /v1/events. The events are triggered by
port updates and deletions. Only ports with vnic_type
baremetal are honored.

Story: 1304673
Task: 22263
Closes-Bug: #1828367
Implements: blueprint event-notifier-ironic
Authored-By: Vasyl Saienko <vsaienko@mirantis.com>
Co-Authored-By: Harald Jensås <hjensas@redhat.com>
Co-Authored-By: Julia Kreger <juliaashleykreger@gmail.com>
Change-Id: I0bb3187a88a7f20adb8c60e24945db159afb83f1
2019-05-27 13:38:42 +02:00
Ben Nemec 1cf30c552d Add oslo.privsep to config-generator list
We recently exposed the privsep opts for config generator use, so
projects that depend on oslo.privsep should include them in their
sample configs.

Change-Id: Ibaef2e2848855cd8ef987ec58457220911ad7c69
2019-03-01 16:54:20 +00:00
Miguel Angel Ajo 6037e53f07 Remove deprecated support for QoS notification_drivers
In Ocata, notification_drivers were deprecated in favor of
the new QoSDriver architecture.

This patch removes backwards compatible support for notification
drivers along with its testing.

Change-Id: I5f747635be3fd66b70326d9f94c85a6736286bd2
2017-04-17 06:32:01 -07:00
Jianghua Wang 8047da17db XenAPI: Support daemon mode for rootwrap
For Neutron's compute agent in a XenServer's compute node, the commands
actually need run in Dom0. Currently XenServer only supports rootwrap
for that purpose by invoking a script which invokes XenAPI to execute
commands in dom0. There are much performance overhead due to it requires
parsing on the script and the configuration file every time running
commands.

This change is to support daemon mode with which each agent service will
call XenAPI directly to execute commands in dom0. And it will keep the
single XenAPI session.

DocImpact: Need update the following configuration.

file: /etc/neutron/plugins/ml2/openvswitch_agent.ini
[agent]
root_helper_daemon = xenapi_root_helper
[xenapi]
connection_url = http://169.254.0.1
connection_username = root
connection_password = xenroot

Closes-Bug: #1585510
Change-Id: I684034359fe0571bc92dbcf342a9821553b1da35
2017-01-19 07:33:43 +00:00
Moshe Levi e9efe86856 SR-IOV: remove ml2_conf_sriov.ini from oslo-config-generator
This I42dadfd0b62730ca2d34d37cb63f19f6fec75567 patch
remove the supported_pci_vendor_devs option and now
no additional options are required for sriov ml2 mech
driver. The is a clean up patch to remove also the
ml2_conf_sriov.ini from the oslo-config-generator.

Closes-Bug: #1641220

Change-Id: Ida6c0930ce65169a9bc59ef80d6b427b2d5d4e09
2016-12-21 08:27:07 +02:00
Ihar Hrachyshka a8e1badbd2 Expose OVS bridge related options into metering agent config file
Agent state options (report_interval), or interface related options
(f.e. ovs_integration_bridge) should be exposed into all configuration
files for all agents that may report a state, or instantiate a bridge
object.

Since some of options that were previously considered 'base' don't apply
to metering agent (specifically, availability_zone), moved them into
separate lists and included them into relevant agents (l3 and dhcp).

The only glitch with the change is that log_agent_heartbeats option is
now exposed into metering agent configuration file, even though the
agent does not honour it. I think it's minor and we can live with it.

Change-Id: Ibceca20cec60e75a8c6ddd35f3f9cb8cca272a9e
2016-10-02 12:33:52 +00:00
Juan Antonio Osorio Robles 19c354aacd Add http_proxy_to_wsgi to api-paste
This sets up the HTTPProxyToWSGI middleware in front of Neutron-API. The
purpose of this middleware is to set up the request URL correctly in
case there is a proxy (For instance, a loadbalancer such as HAProxy)
in front of Neutron.

So, for instance, when TLS connections are being terminated in the
proxy, and one tries to get the versions from the / resource of
Neutron, one will notice that the protocol is incorrect; It will show
'http' instead of 'https'. So this middleware handles such cases.
Thus helping Keystone discovery work correctly.

The HTTPProxyToWSGI is off by default and needs to be enabled via a
configuration value.

Change-Id: Ice9ee8f4e04050271d59858f92034c230325718b
Closes-Bug: #1590608
2016-10-14 11:24:03 +03:00
Fang Zhen 56efc8ac76 Switch to oslo.cache
Oslo incubator is about to stop for cache module. We could use
oslo.cache instead. The legacy memory backend is replaced by
oslo_cache.dict.

Closes-Bug: #1517883

Change-Id: I108242ca9f27c9ec47959ce7615bc7d84cae014b
2016-06-02 15:22:36 +00:00
Armando Migliaccio e8d3626d1c Remove BGP code from neutron
Once the spinout is undergoing we should perform the eviction.

Partially-implements: blueprint bgp-spinout

Depends-on: I8be510153edbc496575cde34943ca4c56645e0fb
Change-Id: I20b6ddd37d10eae70e8294d578e53137c0f866fe
2016-04-25 21:54:06 -07:00
Andreas Scheuring 2bcedf27a1 Autogenerate macvtap agent config file
Enable autogeneration of /etc/neutron/ config file for macvtap agent.

Change-Id: I3637d16e3ab53248ba9b84eeb8b7d979af0ecaae
Closes-Bug: #1552742
2016-03-03 16:11:18 +01:00
vikram.choudhary fbe754b04b BGP Dynamic Routing: introduce BgpDrAgent
This patch implements a new agent named "BgpDrAgent". The new agent
will host different BGP speaking drivers and makes the required BGP
peering session/s for neutron. The agent takes the needed "peer/s and
route/s" information from the BGP speaker entity and synchronize the
same to the registerd driver.

For realizing HA, two BgpDrAgents should host the same BGP speaker.

Partially-Implements: blueprint bgp-dynamic-routing
Co-Authored-By: Ryan Tidwell <ryan.tidwell@hpe.com>
Co-Authored-By: Jaume Devesa <devvesa@gmail.com>
Co-Authored-By: Numan Siddique <nusiddiq@redhat.com>
Change-Id: I3217795bdd0fa2d9d4b39274f4f95fc013c8d29d
2016-02-18 10:46:55 -08:00
Michael Krotscheck 7f65b06033 Added CORS support to Neutron
This adds the CORS support middleware to Neutron, allowing a deployer
to optionally configure rules under which a javascript client may
break the single-origin policy and access the API directly.

For neutron, both the paste.ini and the direct-wrap method of
deploying the middleware were chosen, since neutron is in a state of
migration to pecan. Note that if someone deploys pecan-neutron behind
other middleware, any responses provided by that middleware will not
be CORS-enabled, as these responses would be returned before the
headers could be annotated. This results in a response not readable
by the user agent.

OpenStack CrossProject Spec:
   http://specs.openstack.org/openstack/openstack-specs/specs/cors-support.html
Oslo_Middleware Docs:
   http://docs.openstack.org/developer/oslo.middleware/cors.html
OpenStack Cloud Admin Guide:
   http://docs.openstack.org/admin-guide-cloud/cross_project_cors.html
DocImpact: Add link to CORS configuration in admin cloud guide.

Change-Id: I02acea6124d28370d92e7c94ca2d1d6c5c8937ac
2015-12-09 05:53:59 -08:00
Martin Hickey 71190773e1 Automatically generate neutron core configuration files
This adds a new tox environment, genconfig, which generates sample
neutron core configuration file using oslo-config-generator.

Updates to some configuration option help messages to reflect useful
details that were missing in the code but were present in config files.

It also adds details to devref on how to update config files.

Partially-Implements: blueprint autogen-neutron-conf-file

DocImpact

Change-Id: I1c6dc4e7d479f1b7c755597caded24a0f018c712
Closes-bug: #1199963
Co-Authored-By: Louis Taylor <louis@kragniz.eu>
2015-11-27 15:22:59 +00:00