1387 Commits

Author SHA1 Message Date
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
Andrew Bonney
a190ae4f61 Fix conditional for non-OVN deployments
In an LXB environment, the neutron_ovn_controller group still
contains all of the compute nodes, which causes this task to
fail.

Change-Id: I7a63a79e8b9012c9f32b9316d9590ccd9e641c01
2023-09-28 08:20:34 +00:00
Dmitriy Rabotyagov
3569b7a27d Fix linters for example playbook
Change-Id: Ieb2e21fe558ee14ec7cc1a4b264f0dd2671eb9fa
2023-09-28 09:51:34 +02:00
Zuul
b399ac2a3c Merge "Fix typo for vpnaas_custom_config distribution" 2023-09-16 00:42:05 +00:00
James Denton
7c0ac931b0 Check length of network_mappings
The OVS bridge creation logic for OVN deployments may fail
when the provider bridge has not been defined. This patch uses
logic that exists in the OVS deployment scenario to check the
length of neutron_provider_networks.network_mappings to ensure
a value has been set before attempting to create the bridge.

Change-Id: I34256e4ad22169ae6907a3c40270cb714cf33466
2023-09-06 08:53:08 -05:00
Zuul
4abf3e9383 Merge "Retry applying OVN connection settings" 2023-09-06 12:34:16 +00:00
Dmitriy Rabotyagov
30ef7c945f Fix typo for vpnaas_custom_config distribution
Accidentally condition was to check a group against `group_name`,
while this should be `group_names`. Right now in case of definition
neutron_vpnaas_custom_config role will fail with undefined variable.

Change-Id: Ia5b44729858dd9f742f1094f46e3cde1ceb70495
2023-09-06 12:05:57 +02:00
Zuul
733c4cf8c5 Merge "Fix linters and metadata" 2023-09-06 00:31:43 +00:00
Zuul
ed54ffde67 Merge "Revert "Workaround ovs bug that resets hostname with add command"" 2023-09-05 18:38:27 +00:00
Dmitriy Rabotyagov
8ceea78a97 Fix linters and metadata
With update of ansible-lint to version >=6.0.0 a lot of new
linters were added, that enabled by default. In order to comply
with linter rules we're applying changes to the role.

With that we also update metdata to reflect current state.

Depends-On: https://review.opendev.org/c/openstack/ansible-role-systemd_service/+/888223
Change-Id: I3905e334cfbeb7ccb976358016f81c5edd6cd284
2023-09-04 18:55:41 +02:00
Jonathan Rosser
ab19186dad Retry applying OVN connection settings
This task runs immediately after one which may start the OVN
services and the unix socket files may not yet be present
when the command is run to configure the connection settings.

Introduce retires to the task to give time for the services to
start and the sockets to exist.

See https://paste.opendev.org/show/bPgVSIHyVPY5MwC373Zj/

Change-Id: I286169ca9ec493ef9ff1923249336cdc168619d0
2023-09-04 16:16:02 +01:00
Zuul
01da88f560 Merge "Add quorum queues support for the service" 2023-09-04 08:24:11 +00:00
Marc Gariepy
a3c09f159b Stop haproxy on ovn-controller nodes
include ovn-controller nodes.

Change-Id: I122a7e2df0d546c18e4ec607abeb36cb0cec196f
2023-08-21 13:32:57 +00:00
Dmitriy Rabotyagov
0a5e0de6b0 Revert "Workaround ovs bug that resets hostname with add command"
This reverts commit 74b0884fc232aa96f601b4c24c3e36f3fba4f1bb.

Reason for revert: UCA and OVS SIG have updated package and marked corresponding bugs as resolved.

Change-Id: Idbb9f4ee84a075bfa6e7e63c8d5b81951ce0ae65
2023-08-17 15:41:31 +00:00
Dmitriy Rabotyagov
924e290af9 Define constraints file for docs and renos
Right now we are not using any constraints for docs and releasenotes builds.
This has resulted in docs job failures once Sphinx 7.2.0 has been released.

The patch will ensure that constraints are used an we should not face
simmilar issue again.

TOX_CONSTRAINTS_FILE is updated by Release bot once new branch is created,
so it should always track relevant constraints.

Some extra syntax-related changes can apply, since patch is being passed
through ConfigParser, that does not preserve comments and align indenting.


Change-Id: I877b57ba117a820be7ca05d01037069295099f06
2023-08-17 16:32:23 +02:00
Dmitriy Rabotyagov
2b398f5f43 Use proper galera port in configuration
While <service>_galera_port is defined and used for db_setup
role, it's not in fact used in a connection string for oslo.db.

Change-Id: I74735ad2f127a4c62d4e5c4d24dd1af76e5b76a3
2023-08-07 07:05:15 +00:00
Zuul
45f823de0c Merge "Configure OVN NB and SB DB Connection probes" 2023-07-28 10:54:59 +00:00
Danila Balagansky
d35c27bf71 Configure OVN NB and SB DB Connection probes
Allow configuration of `inactivity_probe` in Connection table in NB and
SB for new installations.

Issues, which successfully resolve by using this as a workaround:
1. https://www.mail-archive.com/ovs-discuss@openvswitch.org/msg07431.html
2. https://bugs.launchpad.net/kolla-ansible/+bug/1917484

According to the OVN ML, specifically this part [1], there is no other
way to set `inactivity_probe` other than using Connection table. And the
only valid option for it would be `0.0.0.0`, so that it could be applied
to all connections.

`ovn-ctl` forces `ovsdb-server` to look for addresses to listen on in
Connection table with `db-nb-use-remote-in-db` and
`db-sb-use-remote-in-db` options which are enabled by default.

If `db-nb-create-insecure-remote` and `db-sb-create-insecure-remote` are
set to `yes` (when `neutron_ovn_ssl` is `False`), this would result in
flooding OVN logs with `Address already in use` errors.

So we will rely on default value `no` for them from now on and only
listen on and with whatever options are provided in Connection tables.

[1] https://www.mail-archive.com/ovs-discuss@openvswitch.org/msg07476.html

Change-Id: If87cf7cfa1788d68c9a4013d7f4877692f2bb11c
2023-07-12 13:24:18 +03:00
Dmitriy Rabotyagov
89c24924dc Add quorum queues support for the service
This change implements and enables by default quorum support
for rabbitmq as well as providing default variables to globally tune
it's behaviour.

In order to ensure upgrade path and ability to switch back to HA queues
we change vhost names with removing leading `/`, as enabling quorum
requires to remove exchange which is tricky thing to do with running
services.

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-plugins/+/875399
Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/873618
Change-Id: I43840a397ea6da6c3187291a74591c2205e1dca1
2023-07-06 13:43:00 +00:00
Zuul
13c1ce70dd Merge "Switch driver jobs to Jammy" 2023-06-30 16:16:11 +00:00
Dmitriy Rabotyagov
542b22513f Switch driver jobs to Jammy
We're dropping Ubuntu Focal support early in 2023.2 release,
so we need to switch all jobs to Jammy before this happens.

Change-Id: I677494ad02d58f891b376b44230ce9d137ca34a9
2023-05-25 13:38:39 +02:00
Dmitriy Rabotyagov
d0c37ede9f Drop OVN package installation from ovn_config
OVN packages are isntalled as a part of common package installation
as they're appended during neutron_package_list population. So
there should be no need in having another set of tasks that install
these packages.

Change-Id: I119dd30b6e11e9ba373367a1b65d56d723ef0b45
2023-05-22 17:18:01 +00:00
Dmitriy Rabotyagov
d58bdb151a Ensure OVN is restarted on package update
Change-Id: I851a81d47e2ab985213f711ccd81a6870f42317b
Needed-By: https://review.opendev.org/c/openstack/openstack-ansible/+/879890
2023-05-22 17:17:55 +00:00
Zuul
e9ef1f0707 Merge "Add TLS support to neutron_server backends" 2023-05-03 11:41:36 +00:00
Damian Dabrowski
a68fe97981 Add TLS support to neutron_server backends
By overriding the variable `neutron_backend_ssl: True` HTTPS will
be enabled, disabling HTTP support on the neutron backend api.

The ansible-role-pki is used to generate the required TLS
certificates if this functionality is enabled.

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/879085
Change-Id: I9f16f916d1ef3e5937c91f6b09a3d4073594ecb4
2023-04-29 18:42:54 +02:00
Dmitriy Rabotyagov
74b0884fc2 Workaround ovs bug that resets hostname with add command
In UCA repo for Antelope OVS version to 3.1.0 is used that is affected
by the bug [1]. Until that is fixed, we're masking ovs-record-hostname
service.

[1] https://bugs.launchpad.net/cloud-archive/+bug/2017757

Change-Id: Iead62b464a68bbfcffb0e79a4db004760287e89b
2023-04-27 08:51:53 +00:00
Zuul
43adbb0b95 Merge "Use include instead of import for conditional tasks" 2023-04-19 11:49:56 +00:00
Dmitriy Rabotyagov
956896e8a7 Use include instead of import for conditional tasks
When import is used ansible loads imported role or tasks which
results in plenty of skipped tasks which also consume time. With
includes ansible does not try to load play so time not wasted on
skipping things.

Change-Id: I50b99306a52f1a2379e55f390653b274afd5885f
2023-04-13 17:16:07 +00:00
Dmitriy Rabotyagov
090b0aeb07 Ensure service is restarted on unit file changes
At the moment we don't restart services if systemd unit file is changed.

We knowingly prevent systemd_service role handlers to execute
by providing `state: started` as otherwise service will be restarted twice.
With that now  we ensure that role handlers will also listen for systemd
unit changes.

Change-Id: I831f6d62f0d31384258571e01a4e7cdd75b73e2c
2023-04-10 16:57:55 +02:00
Zuul
a44d332075 Merge "[doc] Add LXB scenario documentation" 2023-04-04 18:35:41 +00:00
Dmitriy Rabotyagov
f1a8c35853 Workaround ovs bug that resets hostname with add command
After RDO bumped OVS version to 3.1 from 2.17 CentOS/Rocky fails
tempest testing due to systemd unit calling adding hostname [1]
while ovs-vsctl add in 3.1 actually behaves exactly as `set` which
simply resets defined hostname on each service restart. To avoid that
we're adding `--no-record-hostname` flag that will prevent such
behaviour.

[1] https://github.com/openvswitch/ovs/blob/branch-3.1/utilities/ovs-ctl.in#L51

Change-Id: I8bee1850e3a120f7b76f586909e6d74361696e32
Related-Bug: #2013189
2023-03-30 17:48:01 +00:00
Dmitriy Rabotyagov
dffcff7c94 Disable CentOS LXC jobs due to the bug in systemd packaging
At the moment systemd-udev package is being resolved to
systemd-boot-unsigned due to CentOS packaging issue. Resolution to this
issue would be providing a full path to any of file that is not provided
but systemd-boot-unsigned but provided by systemd-udev
which does not have a really clean and good workaround.

So we're disabling CentOS LXC jobs for now and waiting for CentOS
waiting to fix this. There're bunch of bug reports and all systemd there
in quite a messy state overall.

Change-Id: I6e744d1e708df11204b3436c53ea6ed723683b18
2023-03-30 19:47:21 +02:00
Zuul
2d7f8f4643 Merge "Generate OVN certs only for OVN scenario" 2023-02-23 15:12:32 +00:00
Damian Dabrowski
017194176c Fix typo in ansible_facts['pkg_mgr']
In [1] we accidentally merged change containing typo.

[1] https://review.opendev.org/c/openstack/openstack-ansible-os_neutron/+/860480

Change-Id: Iec4eacab8f6ddd2d3d2f59c0928f5e6455bbdbdd
2023-02-21 19:55:03 +01:00
Jonathan Rosser
0fee203e6c Ensure that all neutron config files are used when deployed with uwsgi
Previously only /etc/neutron/neutron.conf was passed, this patch
uses the uwsgi pyargv option to pass multiple instances of
--config-file to the service.

Depends-On: https://review.opendev.org/c/openstack/ansible-role-uwsgi/+/872195
Change-Id: Ifa1645a9585360e15142cac929e671e60e301bdc
Closes-Bug: 1987405
2023-01-31 22:13:24 +00:00
Dmitriy Rabotyagov
d083bfcc55 Generate OVN certs only for OVN scenario
At the moment we're generating OVN certificates regardless of
the scenario which produces unnecesary changes.

Change-Id: Ie870aa656c467b21441a38cebf7c6a075342d50f
2023-01-27 15:30:38 +00:00
Jonathan Rosser
a6001b7a36 Remove "warn" parameter from command module
This is removed in ansible 2.14.

Change-Id: I454908a306bfa5d6311261448ebefab6df1b20a7
2023-01-19 21:25:55 +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
Dmitriy Rabotyagov
77eacd1028 [doc] Add LXB scenario documentation
Since LXB was installed by default, we never had it described
explicitly as all other examples were reffering to it. Now when we've
switched to OVN as default driver, we should describe path for LXB
as well as make adjustments to reflect new defaults for neutron role.

Change-Id: I98011dbbe3a3c2f6992e1a150e5ec97642398fc0
2023-01-17 14:17:41 +00:00
James Denton
0d6ca7f07f Update OVN northd group documentation
Existing docs are missing mention of network-northd_hosts, which
is a required grouping for a successful OVN deployment. This patch
addresses that.

Change-Id: Ie532573cc04722d18915996c5148eecb180ee7ec
2023-01-11 10:12:01 -06:00
James Denton
d4cbd2d7ad Create separate lock path for neutron-ovn-metadata-agent
root user/group ownership of the neutron-ovn-metadata service caused
the neutron lock dir to be owned by root:root, which caused issues
with neutron-server's ability to write the OVN hash ring lock file
to /run/lock/neutron and prevented the creation of networks.

It appears neutron-ovn-metadata-agent needs access to the OVS DB
schema via unix:/var/run/openvswitch/db.sock, which is owned by root,
so a separate lock path has been created for the metadata agent to
workaround this.

FWIW, this issue manifested with upstream Neutron commit
536498a29a4e7662a4d0b1bb923e2521509ad77a.

Change-Id: Ib6d69bb2ce340b50140216e2abf236a1da93e46b
2022-12-22 06:53:49 -06:00
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
Dmitriy Rabotyagov
3faa793469 Do not provision neutron config when not needed
With [1] we merged not installing neutron venv and packages
when it's not required, for example on ovn_northd. At the same
time we still try to provision config files that are not needed there.
Moreover, role is failing as smart_sources bits are relying on neutron venv
existance.

[1] https://review.opendev.org/c/openstack/openstack-ansible-os_neutron/+/863546

Change-Id: I59050f09577df790119e552e39cd38463755b36f
2022-12-09 14:52:48 +00:00
Zuul
fa974be047 Merge "Remove support for calico ml2 driver." 2022-12-09 11:02:23 +00:00
Zuul
c00039c7b0 Merge "Separate OVN gateway functions from ovn-controllers" 2022-12-09 00:26:26 +00:00
Zuul
5f04414da4 Merge "Do not install neutron venv if not needed." 2022-12-08 19:33:20 +00:00
Zuul
b83a8190a1 Merge "Switch OVN Metadata Agent to journal logging" 2022-12-08 19:29:09 +00:00
Zuul
a2a89e2a07 Merge "Add lxb jobs" 2022-12-08 15:10:26 +00:00
James Denton
3d9a20b69b Separate OVN gateway functions from ovn-controllers
This patch aims for the following:

- Update docs for OVN to expand on supported scenarios
- Split out the OVN gateway chassis from the OVN controller group.

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/862924
Change-Id: I14859a19f386676fd687ea601f2d31298cf35e84
2022-12-06 17:10:57 +00:00
James Denton
e4c18905a9 Switch OVN Metadata Agent to journal logging
This patch enables logging to journal for the Neutron OVN
Metadata Agent service.

Change-Id: If1b73b1d14b1d3be4fdfad5a9b91d2f048a640e2
2022-12-06 14:03:39 +00:00