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
Now, as neutron-functional job is moved to zuulv3 syntax,
the same can be easily done with fullstack job.
This patch also switches experimental neutron-fullstack-with-wsgi
job.
This patch removes also fullstack part from gate scripts
and it removes hooks for dstat and stack_base as both are not
used anywhere else.
Related-Bug: #1804844
Change-Id: Iac7583f01651410a3df3e349b2c843b109a8bb18
This patch migrates also neutron-functional-python27 job to
zuul v3 syntax.
Neutron's functional tests have to be run on host with
deployed minimal devstack but without running any e.g. neutron
services. Because of that new job's template inherits from
devstack-minimal job instead of devstack-tox-functional and
we need to have own run_functional_job and post_functional_job
playbooks.
It also adds ansible roles:
- configure_functional_tests
- setup_logdir
- fetch_journal_log
which are used in new neutron-functional job definition.
Those roles can be also used later e.g. for fullstack job.
Change-Id: I80bc17c8c9f43050ac0c21176fbc4be46c11ce35
Related-bug: #1804844
In fullstack tests it was required to compile ovs kernel module
for specific version from sources because we needed fix [1] for vxlan
tunnels traffic.
Now, as in Ubuntu Bionic there is at least ovs 2.9 available,
this installation from sources shouldn't be necessary anymore.
[1] b1c74f3527
Closes-Bug: #1818632
Change-Id: I83df981a4446e8f52f6f623351d1b80c224a5aff
This patch implements devstack plugin for network-segment-range api.
The network-segment-range api service is based on network-segment-range
spec [1].
[1] https://specs.openstack.org/openstack/neutron-specs/specs/stein/network-segment-range-management.html
Co-authored-by: Allain Legacy <Allain.legacy@windriver.com>
Partially-implements: blueprint network-segment-range-management
Change-Id: I09116a4323763db12917e03f354cf0ef25289fd0
Current version used is old and does not work on Bionic nodes. But as
Xenial kernels do not include the fix for local VXLAN tunnels
(bug/1684897), we still have to use a locally compiled version.
On Xenial nodes, the Queens UCA repository has openvswitch 2.9.0
On Bionic nodes, we have 2.9.2
So use the latest 2.9 release for fullstack testing
Change-Id: Ifb61daa1f14969a1d09379599081e96053488f9f
Closes-Bug: #1818632
As a part of the python 3 community goal, this converts the functional
tests to run with python3 by default, and in Zuul.
As discussed at the Stein PTG in Denver, unit and functional tests will
still run on both versions, so this adds a python2 job for functional
tests.
This patch also suppress logging levels from some external libraries
to avoid issues with subunit.parser and python 3. For details see bug
reported for Cinder [1].
[1] https://bugs.launchpad.net/cinder/+bug/1728640
Co-Authored-By: Slawek Kaplonski <skaplons@redhat.com>
Change-Id: I8958d0b5b9147ffd1ef2d1cef5dcbf79c8be5cd4
This job is used only in stable/ocata branch so there is no need to
keep those hooks in master branch anymore.
Change-Id: I65f712934314122da0bb2f14d1e3fe9cbd5dd759
This patch also removes config of osprofiler middleware in api-paste.ini
file in neutron-tempest-iptables_hybrid job as this middleware is
currently enabled by default.
Change-Id: Ifd3fdc33ba5c489618a568cccc20ee14e7d600a6
In the Neutron CI meeting on 2018-10-02 [1] we decided on the proper
approach for fullstack testing of Neutron in Zuul. The approach is:
1. There should be only one fullstack CI job, named "neutron-fullstack"
2. The neutron-fullstack job should invoke python3 in tox.ini
This change implements the agreed-upon approach.
Switching the nodeset to newer OS will be handled in a separate step
[1] http://eavesdrop.openstack.org/meetings/neutron_ci/2018/neutron_ci.2018-10-02-16.00.html
Co-Authored-By: Nate Johnston <nate.johnston@redhat.com>
Change-Id: I37c1cb42b3a94532e7b7fea21a929a39fe63f00b
The gate_hook.sh file uses `tempfile`, which does not exist in Fedora
28. In Ubuntu it is marked as deprecated in favor of `mktemp`, which
does exist in Fedora 28. Since we would like to add a set of tests
running on Fedora 28 it makes sense to replace references to `tempfile`
with `mktemp`.
Change-Id: I9c97cc03b569f8ded6b65358c23f04353e12169d
Nested virt doesn't work well on infra nodes.
This reverts commit 73f111e7e8.
Change-Id: Ie76684e656066834fc0600d618004ca21ccb1223
Closes-Bug: #1788006
virt_type option in nova-compute will be now set to "kvm" instead
of "qemu" if test job will be running on node which supports
nested virtualization.
In case of nodes where it's not supported, devstack will
automatically switch it to "qemu" again. It's in [1].
This should improve time of booting vms so tests should be finished
faster and there should be less errors with ssh to instance timeouts.
[1]
http://git.openstack.org/cgit/openstack-dev/devstack/tree/lib/nova#n289
Change-Id: Ia361f33f0b103ed44ef372c1464b3c0473a19291
In commit [1] openvswitch firewall driver is switched to be
default one used in devstack.
So various tempest jobs will use this driver and it will be
tested.
We now need separate job to test non-default firewall driver
which currently is iptables-hybrid driver.
[1] https://review.openstack.org/#/c/568297/
Depends-On: https://review.openstack.org/#/c/568297/
Change-Id: I6061a173c95c8a41a61bfa298ae5964cc9b5d2e8
In some test jobs, like fullstack and ovsfw-scenario job
openvswitch kernel module is compiled from source before tests.
This compilation was failing because of new kernel 4.4.0-127 provided
by Ubuntu.
Kernel module will be compiled from source which contains
fix for this change in kernel.
See related openvswitch commit message for details:
138df3e563
As current Ubuntu uses ovs 2.9.0 we don't need to compile ovs for
ovsfw-scenario-job anymore because fix we needed is already contained
in ovs 2.9.0.
Change-Id: Idc34776e5b2fad105e246f7718220c23f0a94164
Closes-bug: #1772689
We still run API tests agains logging API and the job has OVS enabled.
As all linuxbridge flavors contain same string, this patch changes when
logging service plugin is configured which is always but in linuxbridge
scenario job.
Change-Id: I66234f45ee74c070119d84830790df296ba8d5f7
Related-bug: #1743463
Current implementation of the agent l2 extension is not compatible with
linuxbridge. More work should happen before it's possible to enable it
back.
Change-Id: I2db1ffea4c172a9461b22c46e99f0abbb4fc1d85
Related-Bug: #1743463
Having environment that supports different MTUs for networks,
check connectivity between 2 VMs with such networks
Change-Id: I5721a9ee35235c15bef1a9e8d62568abbfb5dc45
This makes the rally extras loading logic compatible
with devstack-gate and unblocks the rally job.
Closes-Bug: #1714901
Change-Id: I80c9a155ee2b52558109c764075a58dfabee44d4
This test has been disabled since [1].
But it seems the failure ratio is not so high with
the current code. Let's re-enable it now and see how it goes.
Note: This same test has been enabled on the gate jobs for
other implementation for a while. It doesn't fail much there
either. (networking-midonet)
[1] I37f1488db258f6a4d383fb472cb5433c65371ac5
Related-Bug: #1662109
Change-Id: Ia39c73189ad8a3331c1911989fe69428f064f7a6
configure_for_func_testing.sh configures rootwrap into venv directory.
This patch consumes venv passed from project-config including python
version flavor.
Change-Id: I7fea6e9aa09550e00edf6ce2d7301312307df5fd
This should help with a gate failure where IPV4_ADDRS_SAFE_TO_USE would
not be honoured by devstack, rendering a job failed on a particular
cloud (like citycloud), like:
'Could not determine host ip address. See local.conf for suggestions on
setting HOST_IP.'
Closes-Bug: #1693689
Change-Id: Iee7cc4c129e6e9eab91107fda92f66c5379d6f95
The test was disabled due to some issues in the reference implementation.
CIs for other implementations might not want to disable it.
Closes-Bug: #1689238
Related-Bug: #1662109
Change-Id: I36357e2ef967db3a73c2341903cd18f5109a006b
After switching to UCA, we started getting ovs 2.5.2. There was a
condition that compiled openvswitch only if the version was lower than
2.5.1. This patch always compiles only kernel part of openvswitch so we
get VXLAN tunnelling working with fullstack.
Closes-bug: 1684897
Change-Id: I13898fc661d590609d2ef40873daef987956db6b
A lot of clouds using the router service plugin don't configure for DVR,
but the service plugin still loads the extension, and exposes it via
API. Which will break if api consumers (admins with default policy.json)
attempt to create new style routers based on the information passed
through /extensions/ api.
This change introduces a new config option that allows to avoid loading
the extension. For complatibility sake, it requires an opt-in from ops
side to disable it, otherwise the extension is still loaded as before.
This is helpful for automation matters. It may also be useful when
preparing tempest.conf api_extensions=, when you could actually pass the
result of /extensions/ request into tempest and expect the test suite to
pass without yanking dvr off the list for non-dvr setups.
We could go further and try to check if the controller is configured
properly. That is complicated by the fact that f.e. such validation may
require talking to ml2 drivers, or even agents, which is not feasible
during api startup.
Change-Id: I84be9be93862fe71a2d5b5322d7ebd476c784163
Related-Bug: #1450067
This patch introduces support for requests where the user does
not know the segmentation details of a subport and by specifying
segmentation_type=inherit will let the trunk plugin infer these
details from the network to which the subport is connected to, thus
ignoring the segmentation_id in case it were to be specified.
This type of request is currently expected to have correct results
when the network segmentation type is 'vlan', and the network has
only one segment (provider-net extension use case).
DocImpact: Extend trunk documentation to include Ironic use case.
Closes-bug: #1648129
Depends-on: Ib510aade1716e6ca92940b85245eda7d0c84a070
Change-Id: I3be2638fddf3a9723dd852a3f9ea9f64eb1d0dd6
With jobs passing either dsvm-scenario-ovs or dsvm-scenario-linuxbridge,
there is no need to handle dsvm-scenario case.
The patch also isolates configuration for iptables verification for
linuxbridge job only because ovs flavor does not use iptables firewall
but ovsfw.
Depends-On: Ie3261f528ccedb5fc2b1597c84cf998e82ede2cd
Change-Id: Ib5ca9568a4cd7979ee9e0f30bbaec5b4757cb6ed
Devstack does not support multiple duplicate sections in local.conf.
Currently it works by chance, and is not guaranteed to work when next
changes land for devstack. So we should make sure we generate local.conf
that does not have duplicate sections.
This can be achieved using tools from devstack-tools package, that allow
to produce and merge multiple local.conf files compatible with devstack.
This change will need to be backport to all stable branches to
accommodate for branchless devstack-gate repo.
Related-Bug: #1667331
Co-Authored-By: Ihar Hrachyshka <ihrachys@redhat.com>
Depends-On: I53119876b82eeaec19382dbe115cb1740bed0cec
Change-Id: Ibd0f67f9131e7f67f3a4a62cb6ad28bf80e11bbf
Bashate is a style checker program for bash scripts. This addition
improves the quality of the current bash scripts and ensures that
any future change will follow the same standards.
Change-Id: Ia346f77632d4ac7beb288fa3aacea221d7969c87
There is a bug 1640283 fixed in OVS 2.5.1 but currently we ship Neutron
with openvswitch 2.5.0. The patch adds a decorator that skips particular
tests in case minimal version requirement is not met.
Change-Id: I3a665f3ba770e4acad7e7ead3f8cc557a86952cf
Also enable ovs firewall for all jobs that match 'ovs' in $VENV. This
will be needed to switch dvr/ovs scenario job to the new firewall
driver, that should fix test_trunk.
Change-Id: I5a36fa3a44e9de4225a00c854a95ad7b5d8987f7
Needed-By: Ie3261f528ccedb5fc2b1597c84cf998e82ede2cd
With devstack-gate switching to local.conf we can no longer use bash for
evaluating settings variables. Also we shouldn't populate local.conf
directly and let devstack-gate do that.
Since now devstack never uses localrc file directly, we set [[localrc]]
sections for local.conf instead.
As a nice side effect, it will make the gate hook work with devstack
that may not have the Ie571b5fa5a33d9ed09f30ba7c7724b958ce17616 in
(Newton and below), which may make backports easier later.
Change-Id: Ibe640a584add3acc89520a2bbb25b6f4c5818e1b
Closes-bug: 1667331