When running migration from ML2OVS to ML2OVN using infrared plugin
some ML2OVS-specific templates remain in 'overcloud deploy' command.
This is not correct and can cause issues.
Change-Id: I41c81cd42ab85395cb5fc56f339d14f2e939ebbc
Closes-bug: #1896470
Previously docker command used grep to search for neutron server
container. It used image name instead of container name. With the switch
to podman, it stopped working. This patch fixes the container name.
Change-Id: Id650c2e7ac427dd53ebaab4e6d95d54efc657e3f
Closes-bug: #1895108
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
Updates to tools/migrate_names.txt to correctly represent
mapping between neutron and networking-ovn.
Change-Id: I4a85391b6b6422b66875f23bd9f93216be0bd087
This is not available by default in Ubuntu Focal which we are migrating
to in this cycle as a community goal.
Change-Id: I2a7d03addc54a05aa310c7b72e6f91a98bf79b65
The DevStack module for OVN has now been moved to the DevStack repository,
this patch is deletes it from the Neutron repository.
Depends-On: https://review.opendev.org/#/c/748140/
Change-Id: I2c30b8130525380234d767a7cb46f9bcca2a0d6b
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
This patch is a workaround for bug in OVS [1]. The OVS is restarted
after setting protocols for the integration bridge. This will cause
a data plane disruption. We can remove the workaround once
the bug [1] is fixed.
Closes-bug: #1890596
[1] https://bugzilla.redhat.com/show_bug.cgi?id=1782834
Change-Id: Ia635f705fa03036a9e9c1c14eab59038ec39bda3
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
The heat stack name is variable. This patch adds a new environment
variable to support migrating stacks that are different name than
overcloud.
Change-Id: I6fd72bf83def28ae633d720b8495888cea3ac0a3
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
There were duplicated methods doing almost the same in terms
of OVS/OVN compilation.
This change:
* move of OVS related compilation code to devstack/lib/ovs
* delete of OVS related compilation code from devstack/lib/ovn_agent
* source unified functions in devstack/lib/ovn_agent from
devstack/lib/ovs
* Unify NEUTRON_PATH variable to NEUTRON_DIR
Closes-Bug: #1877377
Change-Id: Ia012a8e116a276a6674f86366c803e0e2d8ff704
Instead of adapting to changes to the tripleo inventory structure let
ansible parse it for us using ansible-inventory.
Change-Id: I34ad0fd5feed65dd1266993a77f6ebc69fecfdfb
Closes-bug: #1884764
Docker commands are replaced with podman. References to docker resources
is fixed. Some improvements to avoid storing container ids and
performing operations is also done in this patch.
Change-Id: I2b9661d06b30eeb7752bdb4fad73778d2ed940d7
Updates to tools/migrate_names.txt to correctly represent
mapping between neutron and networking-ovn.
Change-Id: I76562302119c6727a78bc72c4cf5346b3b8befe6
OVS tag v2.13.0 is not compatible with current used kernel on upstream
Bionic Ubuntu kernel 4.15.0. This patch sticks to commit hash to unblock
the gate. We can either change to newer 2.13 tag once released or better
stop compiling OVS and use one packaged by Ubuntu.
Run functional/fullstack tests with selected OVN and OVS versions
Previously for functional tests OVS version was hardcoded - v2.12.0,
and OVN was installed from OVS repository.
After we merged OVN driver to Neutron tree we run both
Neutron/OVS and Neutron/OVN functional tests in one job.
This patch adds possibility to specify from which tag/branch OVS and OVN
should be checkout.
Change-Id: I83688031951b97bfe64f3aaa761ad7afc1d5ea55
Closes-Bug: #1883601
Closes-Bug: #1878160
Updates to tools/migrate_names.txt to correctly represent
mapping between neutron and networking-ovn.
networking_ovn/common/ovn_client.py neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py
networking_ovn/common/acl.py neutron/common/ovn/acl.py
doc/source/contributor/design doc/source/contributor/internals/ovn
Change-Id: Ib8973ee96431815377a36f85e2bef0ef87e96ca1
Migration ansible playbooks are not able to connect to overcloud
nodes using ssh due to bad settings in the generated ansible
inventory file. Ctlplane subnet ip addresses should be used by
ansible in order to be able to establish connection successfully.
Closes-bug: #1881029
Change-Id: I1588b88279ba1e25706cc74f4a888901e5aadcb6
TripleO used to uninstall services if the resources were set to None. It
was not intentional and TripleO no longer does that. This patch manually
removes dhcp, l3, metadata and ovs agents from controller and compute
nodes, including its systemd service files.
Closes-Bug: #1878358
Change-Id: I140ae0c476bf9e19b4429ce388ddc7cc3f4cd421
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
A change in TripleO [1] changed behavior and forbids update when backend
is changed. Unless ForceNeutronDriverUpdate is set. This patch sets the
parameter when migrating from ML2/OVS to OVN. More information at [2].
[1]
379f886119
[2] https://bugzilla.redhat.com/show_bug.cgi?id=1769880
Change-Id: Ic85a214a96d3ffa054aa5e1c17ab430c71c4e4a1
Co-Authored-By: Jakub Libosvar <jlibosva@redhat.com>
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
With the move to the Victoria job template in
https://review.opendev.org/#/c/722681/, the py37 jobs no
longer get run, so the check and gate job entries can
be removed.
Added a keepalived py38 KillFilter line to match the py36
and py37 ones.
Also updated TESTING.rst to use py38 in all examples.
Change-Id: Ief793b54d53c3239cfb24278e88e4f4189bbc2c2
The patch removes paunch and cleans network namespaces by iterating over
namespaces belonging to Neutron agents. It also clears side-car
containers spawned by Neutron using podman command.
Change-Id: I017e7b3c3674e065a523eff5ebbea352f619f45e
This patch is migrating the OVN migration scripts. At the moment, only
migration from ML2/OVS to ML2/OVN in a TripleO environment is supported.
Co-Authored-By: Miguel Angel Ajo <majopela@redhat.com>
Co-Authored-By: Jakub Libosvar <libosvar@redhat.com>
Co-Authored-By: Daniel Alvarez <dalvarez@redhat.com>
Co-Authored-By: Maciej Józefczyk <mjozefcz@redhat.com>
Co-Authored-By: Numan Siddique <nusiddiq@redhat.com>
Co-Authored-By: Roman Safronov <rsafrono@redhat.com>
Co-Authored-By: Terry Wilson <twilson@redhat.com>
Related-Blueprint: neutron-ovn-merge
Change-Id: I925f4b650209b8807290d6a69440c31fd72a1762
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
If a relative path is set in rootwrap filters_path, the rootwrap
command must be executed from the neutron root directory. Some
commands, like those execute by RootHelperProcess, do not have
a defined working directory. To avoid the problems present in the
related bug, an absolute path is set in the rootwrap configuration.
Related-Bug: #1862927
Change-Id: I02ce4d6b84242c42ec26954eeb9b776cb779bff4
https://review.opendev.org/705154 introduced NEUTRON_PATH but let it
empty by default, this patch adds default value to NEUTRON_PATH.
Partial-Bug: #1861469
Change-Id: Id5aab7f14e23ae8d7d1fc7ac4d23c67964bdb674
Commit 00a74d1137abe78a0f34a73144ee7e2ccc486a32 change the OVS
package compile from source, this makes some neutron staduim
projects func gate has no permission accessing the "ovs" dir.
This patch adds a BUILD_OVS_FROM_SOURCE environment variables,
let it can be override by gate_hook.
Change-Id: Ib33fffbaaea6abfbd9719e0712918d4ae65b3ee2
Partial-Bug: #1861469
In an effort to help on migrating changes from neutron to networking-ovn,
these 3 scripts are being introduced under tools.
Also adding documentation about these under OVN folder.
1) files_in_patch.py
Use this to show files that are changed in a patch file.
$ # Make a patch to use as example
$ git show > /tmp/commit.patch
$ ./tools/files_in_patch.py /tmp/commit.patch | grep .py
tools/download_gerrit_change.py
tools/files_in_patch.py
tools/migrate_names.py
2) download_gerrit_change.py
Given a gerrit change id, it will fetch the latest patchset of the change
from review.opendev.org as a patch file.
$ ./tools/download_gerrit_change.py --help
Usage: download_gerrit_change.py [OPTIONS] GERRIT_CHANGE
Options:
-o, --output_patch TEXT Output patch file [default: stdout]
-g, --gerrit_url TEXT The url to Gerrit server [default:
https://review.opendev.org/]
-t, --timeout INTEGER Timeout, in seconds [default: 10]
--help Show this message and exit.
$ ./tools/download_gerrit_change.py 698863 -o /tmp/change.patch
$ ./tools/files_in_patch.py /tmp/change.patch
networking_ovn/ml2/mech_driver.py
networking_ovn/ml2/trunk_driver.py
networking_ovn/tests/unit/ml2/test_mech_driver.py
networking_ovn/tests/unit/ml2/test_trunk_driver.py
3) migrate_names.py
Use this tool to modify the name of the files in a patchfile so it can
be converted to/from the legacy networking-ovn and neutron repositories.
$ ./tools/migrate_names.py --help
Usage: migrate_names.py [OPTIONS]
Options:
-i, --input_patch TEXT input_patch patch file or gerrit change
-o, --output_patch TEXT Output patch file. Default: stdout
-m, --mapfile PATH Data file that specifies mapping to be applied to
input [default: /home/user/openstack/neutron.git
/tools/migrate_names.txt]
--reverse / --no-reverse Map filenames from networking-ovn to Neutron repo
--help Show this message and exit.
$ ./tools/migrate_names.py -i 701646 > /tmp/ovn_change.patch
$ ./tools/migrate_names.py -o /tmp/reverse.patch -i /tmp/ovn_change.patch --reverse
$ diff /tmp/reverse.patch /tmp/ovn_change.patch | grep .py
< --- a/neutron/plugins/ml2/drivers/ovn/mech_driver/mech_driver.py
< +++ b/neutron/plugins/ml2/drivers/ovn/mech_driver/mech_driver.py
> --- a/networking_ovn/ml2/mech_driver.py
> +++ b/networking_ovn/ml2/mech_driver.py
<... snip ...>
$ ./tools/files_in_patch.py /tmp/ovn_change.patch
networking_ovn/ml2/mech_driver.py
networking_ovn/ml2/trunk_driver.py
networking_ovn/tests/unit/ml2/test_mech_driver.py
networking_ovn/tests/unit/ml2/test_trunk_driver.py
Change-Id: I17904c996e1357f7292d25aab4d448edb052f44c
Related-Blueprint: neutron-ovn-merge
This patch is changing the tools/configure_for_func_testing.sh script to
install OVN when setting up the environment for functional tests.
The "ovn" driver in master needs the latest released version of OVN
(2.12), unfortunately this version is not yet present in the ubuntu
repository so we need to compile it from source.
Partially-Implements: blueprint neutron-ovn-merge
Change-Id: I181da9981ec95da8cef36ba2bb667b5a4ec9db22
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
In comments given automatically by abandon_old_reviews.sh script
there was still Jenkins mentioned as CI tool.
We are using Zuul for very long time and "zuul" user is voting
now instead of "jenkins" so this patch updates those commit
messages to make this messages correct.
TrivialFix
Change-Id: Iad119108ea82b47ac2a66b9f6f8a8bb56b57e7b6
Set a big timeout for rootwrap daemon in functional and fullstack
tests. The value defined in 7800, the same as the Zuul jobs
timeout.
This timeout increase will prevent the daemon to close when
executing a test root command, as described in the bug. An
unexpected rootwrap daemon closure is not considered as a normal
event during the test execution.
The default value set in the configuration file is 600 seconds, the
same as daemon default value. This timeout is increased only when
OS_SUDO_TESTING=1, that means functional and fullstack tests, when
using the script "tools/deploy_rootwrap.sh".
Change-Id: I691300a4e9a7cccd8887bc8f95ba9cea32988bac
Closes-Bug: #1850558
Since it's no longer supported past Train, lets stop
running the tests.
Updated docs and made some pep8 code tweaks as well.
Change-Id: I1c171ab906a3b4c66558163ad26947ebf710a276
Remove an erroneous "source", we test for existing of a file, the source
is misplaced.
The source results in errors executing like:
/home/zuul/src/opendev.org/openstack/neutron/tools/configure_for_func_testing.sh: line 81: [: source: binary operator expected
Change-Id: Iea8121eb4b25e66e2527feb5bf3f8f351114c721
This patch includes a fix for "configure_for_func_testing.sh" script.
When the guidelines are followed from the following link:
https://docs.openstack.org/neutron/latest/contributor/testing/testing.
html
the test script displays the following error:
ERROR 1045 (28000): Access denied for user 'root'@'localhost'
(using password: YES).
The fix for this is to include the saved password in order to access the
MySQL database.
Change-Id: I6ab5cb3ef1583258cebec9f8f5966eda250a6367
Bug-Link: https://bugs.launchpad.net/neutron/+bug/1836028
In a recent change [0] in devstack fixup_uca (Universal Cloud Archive)
was changed to fixup_ubuntu. This change follows this in
configure_for_func_testing.sh
[0]: https://review.opendev.org/619562
Change-Id: Ibf6a85d470f179ee996dcc4e6717d433dd860752
Related-Bug: #1792936