Commit Graph

122 Commits

Author SHA1 Message Date
Dmitriy Rabotyagov 601c66666f Run neutron OVN agents as neutron user
As of today we run some agents, like neutron-ovn-metadata agent as
root user, since it needs access to ovsdb socket, which has 750 permissions
by default.

With that, for OVN we already use connection via host:port to the same
ovsdb manager, which allows to run it as an arbitrary user.

In order to align connection methods and to run services with lower
privileges
we introduce couple of new variables that allow to create valid connection
strings for both OpenFlow listeners and regular connection to the manager.

Change-Id: Iceab27aa1fdacc8b13f7ef6974b6a9076b8b7cd9
2024-02-20 13:34:49 +01:00
Dmitriy Rabotyagov 70bb847605 Add Availability Zone variables
At the moment the only way to configure multi-AZ support in Neutron were
config overrides, which work quite nicely with LXB/OVS scenarios. However,
with OVN changing configuration is not enough, and command that sets
up OVN Gateway should provide extra CMS option.

In order to improve AZ support in Neutron role, we add couple of variables
that control behaviour and allow to perform required configuration without
config overrides for OVS/LXB/OVN.

Co-Authored-By: Danila Balagansky <dbalagansky@me.com>
Closes-Bug: #2002040
Change-Id: Ic964329c06765176692f7b0c32f33ec46360a3fb
2024-01-03 15:03:27 +01:00
Dmitriy Rabotyagov 59697ba1c5 Deprecate OpenDaylight support
OpenDaylight support has been deprecated by Neutron team in 2023.2 [1]. We remove support from
our code to address that decision.

[1] 517df91c9e

Change-Id: Iaaf87b6d5400fe88c7edf86995ea9ba891866678
2023-10-05 14:48:53 +00:00
Marc Gariepy c5e00f91f7 Disable dhcp-agent and metadata-agent for OVN
OVN doesn't need the neutron-metadata-agent and
neutron-dhcp-agent service.

Change-Id: I58e94199a32ad300b3f70861dc7804f34518c8c2
2023-01-18 13:58:28 +00:00
OpenStack Release Bot 92fa6a5295 Update master for stable/zed
Add file to the reno documentation build to show release notes for
stable/zed.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/zed.

Sem-Ver: feature
Change-Id: I533256a64b09248d3bacdb69c30b411928940182
2022-12-13 13:18:09 +00:00
Zuul b0db979c90 Merge "add ovn ssl config" 2022-12-01 11:23:56 +00:00
Marc Gariepy 556c5c6733 add ovn ssl config
Create ssl-certs for ovn deployment
ssl encryption is now enabled between neutron and ovn componants.

Change-Id: If8ca3f2035ada97cff248ad49771eefab95c6c23
2022-11-30 16:03:14 +00:00
Marcus Klein 2d53620286 Allow to set dnsmasq configuration options
This is useful to work around
https://bugs.launchpad.net/ubuntu/+source/dnsmasq/+bug/1974230 by setting
"no-negcache" into neutron_dhcp_config_list.

Change-Id: I1a0c1b5a125c72635efc89c9763aa41bfb503a3f
2022-11-23 15:19:59 +01:00
shahab taee 26b768ea5b Allow to provide custom configuration for VPNaaS
As we need to monitor vpn connection detailes, the only way to config vpnaas to log states and connections of vpn
is to provide own templates for VPNaaS configuration. With that we enable deployers to provide custom configuration
files for using with any vpn drivers (stronswan/openswan).

Co-Authored-By: Dmitriy Rabotyagov <noonedeadpunk@gmail.com>
Change-Id: I54dbd5c9690281af475312a277eab534403edf92
2022-06-18 10:00:36 +02:00
Andrew Bonney 01951cd77b Add configuration option for heartbeat_in_pthread
This configuration option has been observed to result in file
descriptor leaks in certain circumstances. A variable is added
here so that it can be easily overridden.

Change-Id: I833d72715daff81b64da077e899615b9b2002650
Related-Bug: #1961603
2022-03-15 10:39:52 +00:00
Jonathan Rosser 65016f2883 Remove legacy db pooling variables
Change-Id: Ie04bea4468c9fe789195857d9d47a02470cda6e3
2022-02-01 09:21:11 +00:00
Zuul 31e18c0291 Merge "Add Support for DPDK Bonding" 2021-12-18 22:27:51 +00:00
Satish Patel 0122ca1d65 Add Support for DPDK Bonding
This patch will allow you to setup DPDK bonds within a given OVS
bridge using DPDK-accelerated interfaces. A new provider network
key, network_bond_interfaces, and related keys, have been
introduced.

Co-Authored-By: James Denton <james.denton@rackspace.com>

Change-Id: I3fc2846a0c2b6579e4cdb54c3a7c36620700cd44
2021-12-18 18:36:56 +00:00
Damian Dabrowski 2134df4c53 Database connection pooling improvements
- Implemented new variable ``connection_recycle_time`` responsible for SQLAlchemy's connection recycling
- Set new default values for db pooling variables which are inherited from the global ones.

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/819424
Change-Id: I9609542a2d0de17c9e7a148f5a21ac1e47a390ac
2021-12-08 13:55:04 +00:00
James Denton 23964743a5 Implement ironic_neutron_agent and baremetal driver
This patch implements changes to support the ironic_neutron_agent
and baremetal plugin for Neutron (Ironic).

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/813006
Change-Id: If37161aaee17d72d9463b361489d5febac434e83
2021-10-27 10:43:13 +00:00
Zuul e06c25eaa1 Merge "Adding support of subnet_dns_publish_fixed_ip extension in ml2 plugin" 2021-03-25 10:37:00 +00:00
Satish Patel 10e31ea1e2 Adding support of subnet_dns_publish_fixed_ip extension in ml2 plugin
The subnet-dns-publish-fixed-ip extension adds a new attribute to the definition of the subnet resource. When set to true it will allow publishing DNS records for fixed IPs from that subnet independent of the restrictions described in the [1].

[1] https://docs.openstack.org/neutron/latest/admin/config-dns-int-ext-serv.html

Change-Id: I095564cec0f5804e4d0ea9b5201ed40b9d9be603
2021-03-22 21:44:14 +00:00
Zuul 63951b5c2a Merge "Remove third-party OVS NSH support in favor of built-in support" 2021-03-16 19:21:04 +00:00
James Denton d088ddf4b4 Remove third-party OVS NSH support in favor of built-in support
This patchset removes the ovs_nsh_support variable used to deploy
a custom-compiled release of Open vSwitch with NSH support in favor
of relying on built-in NSH support in recent releases of Open vSwitch[1].

[1] https://mail.openvswitch.org/pipermail/ovs-dev/2017-November/340716.html

Change-Id: If6456d2916982226bbdc5080ec58a47b6fb1ec8d
2021-03-16 08:56:55 +00:00
Erik Berg d146f6e6ca powervm: drop custom code
The PowerVM driver has been deprecated in os_nova. The code in
question here can be replaced with the following setting;

  neutron_firewall_driver: openvswitch

Change-Id: Id8c4b017adb8cbf6e7264bba8cde3a82bdb7ee7a
2021-03-12 21:14:47 +01:00
James Denton 69845d63a0 Add integrated tests various Neutron deployment scenarios
This patchset implements an integrated test for various deployment
scenarios, both metal and lxc, where applicable. Some test cleanup
has been performed.

The basic server ops tempest test is also included. Expectations are that
the deployed cirros VM will be reachable behind a floating IP internally
for testing purposes (in most cases).

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/778008/
Change-Id: I0bdcdef7938183a82ca249f1c95592aea683cf98
2021-03-03 17:13:13 +00:00
Erik Berg 5dddaa2cfa Allow overriding firewall_driver for ovs
By setting neutron_firewall_driver in user_variables.yml
you can set it to openvswitch even if not using dpdk.

Change-Id: I9301ba7f962a644631a300337b626d7652e43f63
2021-01-12 12:25:36 +01:00
James Denton 98b3af136a Make VLAN ranges option when defining provider networks
The provider_network library expects VLAN ranges to be defined within
the provider network definition. In cases where this was not desired,
operators would set dummy ranges (i.e. 1:1) to work around this requirement.
The changes introduced in this patch make 'range' optional.

Change-Id: I0ab1720e5abd74dccf121e8bc075e55d9fbce6e1
2020-12-05 10:05:54 +00:00
Andreas Jaeger 9669860c62 Use newer openstackdocstheme and reno versions
The sync from https://review.opendev.org/733244 updated to
openstackdocstheme 2.2.1 and reno 3.1.0 versions.

Set openstackdocs_pdf_link to link to PDF file. Note that
the link to the published document only works on docs.openstack.org
where the PDF file is placed in the top-level html directory. The
site-preview places the PDF in a pdf directory.

openstackdocstheme renames some variables, so follow the renames
before the next release removes them. A couple of variables are also
not needed anymore, remove them.

See also
http://lists.openstack.org/pipermail/openstack-discuss/2020-May/014971.html

Change-Id: I137842c58acf84c5d8d67d4a1e4a2e8ab073ae19
2020-06-03 20:01:06 +02:00
OpenStack Release Bot 8c859b3c9b Update master for stable/ussuri
Add file to the reno documentation build to show release notes for
stable/ussuri.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/ussuri.

Change-Id: I56574d3a75a036f45720ab3e590c7cc9c1a78da9
Sem-Ver: feature
2020-06-01 13:16:45 +00:00
Andreas Jaeger 4767a92cd4 Update docstheme for style
New version of openstackdocstheme (Victoria+) respects pygments_style.
Since openstack-ansible starts using Victoria (master) requirements but has not
branched for Ussuri yet, it uses the new version.

Change pygments_style to 'native' since old theme version always used
'native' and the theme now respects the setting and using 'sphinx' can
lead to some strange rendering.

Change-Id: Ia8c05e4791a3db5eaa82593990d378d2d091c820
2020-05-20 17:26:08 +00:00
James Denton 485e358be8 Add networking-generic-switch support for Ironic integration
This patch implements support for the networking-generic-switch (NGS)
Neutron mechanism driver to facilitate VLAN-based network segmentation
in multi-tenant Ironic deployments.

Change-Id: I502196175f9d7d75ea37d3fbaa5e4a88a8e59859
Implements: networking-generic-switch mechanism driver
2020-04-07 22:13:02 +00:00
Dmitriy Rabotyagov ab363fd2e6 Replace git.openstack.org with opendev.org
This patch replaces git.openstack.org with opendev.org as redirection
from old path was enabled.
Also we change upper constraints url due to [1]

[1] http://lists.openstack.org/pipermail/openstack-discuss/2019-May/006478.html

Change-Id: I8d47a48220a3d83f1836f1b96bdd33c8f8c80342
2019-11-14 17:13:09 +02:00
OpenStack Release Bot 73de0092a3 Update master for stable/train
Add file to the reno documentation build to show release notes for
stable/train.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/train.

Change-Id: I7b53ed83745d2dd719d607ae1f372e7011436d8c
Sem-Ver: feature
2019-10-22 19:00:30 +00:00
Zuul 6a90b01173 Merge "Update invalid link for Conf" 2019-09-28 15:18:24 +00:00
Q.hongtao 8d1679e11a Update invalid link for Conf
Change-Id: I36181655461b75de7fead107744c02048e556446
2019-09-18 19:47:12 +08:00
pengyuesheng 764199666c Bump the openstackdocstheme extension to 1.20
Some options are now automatically configured by the version 1.20:
- project
- html_last_updated_fmt
- latex_engine
- latex_elements
- version
- release.

Depend-On:https://review.opendev.org/#/c/672904/

Change-Id: If54b8222c205262dde5a18c1b562df20d5e4ed6d
2019-08-01 10:30:31 +08:00
Dmitriy Rabotyagov 4c282b5fe7 Drop legacy neutron L3 HA tool
Since neutron has built-in L3 HA for fair time and is pretty stable,
this patch aims to drop custom legacy ha toolset.
This allows to drop creation of neutron_log_dir when it's defined.

Change-Id: I36bb52248be7110b9af9b4aa9e4e7888a3af5eea
2019-07-17 15:15:55 +03:00
Zuul 360f99a45f Merge "Update neutron_bgp_speaker_driver" 2019-05-24 20:33:22 +00:00
Logan V 9f619e3f05 Remove LBaaS v2 plugin
The OVN CentOS 7 job is also set to non-voting due to openvswitch
RDO package installability errors which break the job.

Change-Id: Ib6246d58199a24eecef026e2689a8aa75eb9de74
2019-05-16 23:46:18 +00:00
Bjoern Teipel c23a94294d Update neutron_bgp_speaker_driver
The RyuBgpDriver driver is now replaced by OsKenBgpDriver
of the neutron-dynamic-routing project

Change-Id: I024777fa1d4d9880ea904a0f1d8a786b6adb2987
2019-05-15 22:41:22 -05:00
OpenStack Release Bot 3b9cf9d5a3 Update master for stable/stein
Add file to the reno documentation build to show release notes for
stable/stein.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/stein.

Change-Id: I260f4775310b8eb239ec89b52738d4bbcf3059c4
Sem-Ver: feature
2019-04-08 09:20:13 +00:00
Manuel Buil c08e11097a Use the new services names for sfc
Since Rocky, sfc and flow_classifier can be used instead of

-networking_sfc.services.sfc.plugin.SfcPlugin
-networking_sfc.services.sfc.plugin.FlowClassifierPlugin

which looks better

Change-Id: Ie94db64abf6cba1ba76c3c3e9b614b8b0be38d0b
Signed-off-by: Manuel Buil <mbuil@suse.com>
2019-02-14 09:18:22 +00:00
Jakob Englisch bf00f1d610 Fix the subprocess invocation of neutron-l3-agent
neutron-l3-agent tries to invoke neutron-keepalived-state-change
from it's PATH. The venv's bin directory is not part of the
default PATH of the neutron-l3-agent, hence the invocation fails.
This change adds the venv's bin directory to the PATH of
neutron-l3-agent.

To the best of my knowledge this is currently the only script
which is invoked and shipped by neutron itself [1]. Neutron expects
quite a few binaries in it's PATH, however other expected binaries
are typically system packages (e.g. radvd) [2].

Sadly, the PATH can not easily be extended, hence all non venv-bin
directories from the PATH are a 'one-time snapshot' from a quite
common set of directories across all common linux distributions.

[1]
https://github.com/openstack/neutron/search?q=%22cmd+%3D+%27neutron-%22&unscoped_q=%22cmd+%3D+%27neutron-%22
[2]
https://github.com/openstack/neutron/search?q=external_process.ProcessManager&unscoped_q=external_process.ProcessManager

Depends-On: I504a8270be1ddf2f24ab3ad3b4f2f4ca9c990470
Change-Id: I38bb573468dd4c57523cc1a5ff2448009ee2b216
2019-01-11 21:07:08 +01:00
Zuul 931cf1ee89 Merge "Provide support for network interface mappings without override" 2019-01-08 13:51:49 +00:00
melissaml dfc37f0346 fix url in doc
Change-Id: Ib531b8ca6383ba9544b0cda63583132c42cb7f14
2018-12-26 15:39:55 +08:00
James Denton 11cf1be93b Provide support for network interface mappings without override
This patch aims to provide support for network interface mappings
within the provider network definitions, in conjunction with the
provider_networks plugin, without having to define overrides. The previous
implementation supported only a single provider network w/ corresponding
mapping, while this will support multiple provider networks and respective
mappings.

Depends-On: https://review.openstack.org/#/c/626594/
Change-Id: I6c8ac020c8425b9e727b656fa4f9f0c0fdb6fab6
2018-12-21 13:44:30 +00:00
Jesse Pretorius 78bb29230c Remove dragonflow ML2 driver
Dragonflow is no longer maintained as an OpenStack project [1]
and has therefore been removed from OpenStack-Ansible as a
supported ML2 driver for neutron.

[1] https://review.openstack.org/613856

Change-Id: Ia7042e5dd697611ef4d9148b6f345d5da887b2c5
2018-11-06 12:06:21 +00:00
Francois Deppierraz 161fb3cd84 releasenotes: oslo-messaging-separate-backends add project name
Without this patch, the release notes published at
https://docs.openstack.org/releasenotes/openstack-ansible/rocky.html contains
the same line multiple times which is not very clear.

[...]
    Support separate oslo.messaging services for RPC and Notifications
    to enable operation of separate and different messaging backend servers.

    Support separate oslo.messaging services for RPC and Notifications
    to enable operation of separate and different messaging backend servers.
[...]

Change-Id: I0ed1a43670d97f2e2215d04c641f7bd4cfbe4f44
2018-10-15 16:56:48 +02:00
OpenStack Release Bot 0741b283b4 Update reno for stable/rocky
Change-Id: I7256faa49de3ab10464cef808cf93eaa7f5fad8a
2018-08-10 17:22:53 +00:00
Jesse Pretorius 02a96b9a7d Fix releasenote for opendaylight support
The use of ':' is revered by reno for a special reason.
This is causing the following error:

Exception occurred:
   File "/home/zuul/.venv/local/lib/python2.7/site-packages/yaml/scanner.py", line 576, in fetch_value
     self.get_mark())
 ScannerError: mapping values are not allowed here
   in "<string>", line 8, column 41:
      ... versions are currently supported: Nitrogen and Oxygen.

Change-Id: Ib0962adef6eb75e9dd7b819695f4f93518ff20c4
2018-08-10 18:20:26 +01:00
Jesse Pretorius 3bd96fecbf Execute service setup against a delegated host using Ansible built-in modules
In order to reduce the packages required to pip install on to the hosts,
we allow the service setup to be delegated to a specific host, defaulting
to the deploy host. We also switch as many tasks as possible to using the
built-in Ansible modules which make use of the shade library.

The 'virtualenv' package is now installed appropriately by the openstack_hosts
role, so there's no need to install it any more. The 'httplib2' package is a
legacy Ansible requirement for the get_url/get_uri module which is no longer
needed. The keystone client library is not required any more now that we're
using the upstream modules. As there are no required packages left, the task
to install them is also removed.

Change-Id: I2e33c4cb468e93259860b600719d87c4022d6805
2018-07-12 18:15:37 +01:00
Markos Chandras 20b66c9e4f Add support for using distribution packages for OpenStack services
Distributions provide packages for the OpenStack services so we add
support for using these instead of the pip ones.

Change-Id: I5bfcaff1bdc6ce74fb9f4839ecb73bf01d448280
Implements: blueprint openstack-distribution-packages
2018-06-11 13:21:17 +01:00
Andrew Smith 4db9c95d6f Update to use oslo.messaging service for RPC and Notify
This introduces oslo.messaging variables that define the RPC and
Notify transports for the OpenStack services. These parameters
replace the rabbitmq values and are used to generate the messaging
transport_url for the service. The association of the messaging
backend server to the oslo.messaging services will then be
transparent to the neutron service.

This patch:
* Add oslo.messaging variables for RPC and Notify to defaults
* Update transport_url generation
* Add oslo.messaging to tests inventories
* Add release note

Depends-On: If4326a6848d2d32af284fdbb94798eb0b03734d5
Depends-On: I2b09145b60116c029fc85477399c24f94974b61d
Change-Id: I717880458f69870acf75a101481b7776d250ebf4
2018-05-23 12:11:00 -04:00
Manuel Buil a5b370130c Set new parameter in OVS to support ODL Oxygen
ODL oxygen provides a new framework to configure tunnels called autotunnels.
SFC requires tunnels to be flow-based and to arrange that in the autotunnel
framework, the OVS internal parameter of-tunnel must be set to true.

That parameter is not read in previous ODL versions. Therefore, this patch
does not break backwards compatibility.

Change-Id: Iec6a741d1e1081da547fe6fc0a67dd723e714d60
Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-04-04 12:13:09 +02:00