Commit Graph

110 Commits

Author SHA1 Message Date
Maciej Jozefczyk fb2806f808 [OVN] Unify OVN/OVS compilation
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
2020-07-07 22:05:59 +00:00
Slawek Kaplonski 6ef6f2b59b Migrate fullstack job definition to zuulv3 syntax
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
2019-03-16 09:59:59 +01:00
Zuul 325d19eaea Merge "Migrate neutron-functional job to zuul v3 syntax" 2019-03-13 23:25:03 +00:00
Slawek Kaplonski 33110fb7e8 Migrate neutron-functional job to zuul v3 syntax
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
2019-03-13 11:07:38 +00:00
Slawek Kaplonski c3ad500df0 [Fullstack] Don't compile ovs kernel module on Ubuntu Bionic
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
2019-03-13 10:09:24 +00:00
Kailun Qin 33f404a519 Devstack plugin for network-segment-range api
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
2019-03-10 03:37:51 +00:00
Bernard Cafarelli 05b0144e83
[Fullstack] Use newer openvswitch
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
2019-03-07 15:22:46 +01:00
Bernard Cafarelli 9359366d93 Switch default functional tests to python3, add job for python2
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
2019-01-30 13:31:29 +00:00
Slawek Kaplonski 0081aaa380 Remove hooks for dsvm-scenario-linuxbridge
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
2019-01-17 20:08:08 +00:00
Slawek Kaplonski 0364c05de1 Migrate neutron-tempest-iptables_hybrid job to zuulv3 and python 3
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
2018-12-30 12:32:21 +01:00
Hongbin Lu f0678b9b09 Add propagate_uplink_status to port
Introduce an attribute 'propagate_uplink_status' to port.
This attribute can be implemented for VF port to indicate if the VF
link state should follow the state of the PF.

Note: ML2 extension driver loaded on request via configuration:

  [ml2]
  extension_drivers = uplink_status_propagation

Other related patches:
* neutron-lib: https://review.openstack.org/#/c/571821/
* tempest test: https://review.openstack.org/#/c/586719/
* OSC: https://review.openstack.org/#/c/586684/
* neutronclient: https://review.openstack.org/#/c/586712/

APIImpact Add 'propagate_uplink_status' attribute to 'port' resource

Change-Id: Ie8260c332e24c1880f9f82e6b6dacca8415be842
Close-Bug: #1722720
2018-11-29 19:33:16 +00:00
Bernard Cafarelli e67d99b654
Make neutron-fullstack job run py3
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
2018-11-13 14:31:19 +01:00
Zuul 48a0d56e4b Merge "Use mktemp instead of tempfile in gate_hook.sh" 2018-09-21 22:06:58 +00:00
Nate Johnston c5d55d692a Use mktemp instead of tempfile in gate_hook.sh
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
2018-09-18 22:18:32 -04:00
Slawek Kaplonski 91d6151a4d Revert "Use nested virt in scenario jobs"
Nested virt doesn't work well on infra nodes.
This reverts commit 73f111e7e8.

Change-Id: Ie76684e656066834fc0600d618004ca21ccb1223
Closes-Bug: #1788006
2018-09-15 11:40:46 +00:00
Slawek Kaplonski 73f111e7e8 Use nested virt in scenario jobs
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
2018-08-19 07:35:49 +00:00
Slawek Kaplonski 50ddf4b5ad Replace ovsfw tempest job with iptables-hybrid tempest job
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
2018-06-03 11:14:03 +02:00
Slawek Kaplonski edc909a267 Change ovs release used to compile kernel module for tests node
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
2018-05-23 06:31:32 +00:00
Zuul c8570c10bf Merge "Add l3_agent_mode configuration in tempest" 2018-03-16 06:56:12 +00:00
Dongcan Ye 7eeec2a0c9 Add l3_agent_mode configuration in tempest
Add dvr_snat agent mode, this will works for
all types of routers.

Change-Id: I029504d53d4a6e4178c0384be9f21408f333ce20
Closes-Bug: #1731857
2018-03-12 16:41:00 +00:00
IWAMOTO Toshihiro 46d693530b Compile ovs for ovsfw to avoid ovs-vswitchd core dumps
Change-Id: I750224f7495aa46634bec1211599953cbbd4d1df
Closes-bug: #1742863
2018-02-13 10:18:31 +09:00
Jakub Libosvar 4db37df648 log-api: Don't enable logging for linuxbridge
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
2018-01-18 13:52:09 +00:00
Ihar Hrachyshka 602437216f Configure log extension for ovs scenario job only
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
2018-01-15 13:11:50 -08:00
Nguyen Phuong An b27164f0a8 [log]: Devstack plugin for logging api
This patch implements devstack plugin for logging api. The logging
api service base on logging api spec [1].

[1] https://specs.openstack.org/openstack/neutron-specs/specs/pike/logging-API-for-security-group-rules.html

Change-Id: Ib86535ad24319cb0e10a48df50651264201673c3
Depends-On: Ib8668dd25ee7c5000a6dafcc7db3dbc33ad190be
Partially-implements: blueprint security-group-logging
Related-Bug: #1468366
2017-12-19 14:40:57 +07:00
Dongcan Ye e774b88428 Tempest: Add availability-zone for agent
Change-Id: I586420488cc2db43e849132c0d2465185e4b32d0
Partial-Bug: #1684069
2017-11-14 15:59:50 +08:00
Genadi Chereshnya bc32d85bfb [Tempest] Check connectivity between VM with different MTU size net
Having environment that supports different MTUs for networks,
check connectivity between 2 VMs with such networks

Change-Id: I5721a9ee35235c15bef1a9e8d62568abbfb5dc45
2017-09-22 02:40:28 +00:00
Kevin Benton 07ddb11685 Match load_rc_for_rally logic to load_rc_hook
This makes the rally extras loading logic compatible
with devstack-gate and unblocks the rally job.

Closes-Bug: #1714901
Change-Id: I80c9a155ee2b52558109c764075a58dfabee44d4
2017-09-04 12:29:01 +00:00
Jenkins c4587ef4d1 Merge "Enable QoS scenario tests" 2017-08-01 20:22:38 +00:00
YAMAMOTO Takashi fe0bb07113 Enable QoS scenario tests
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
2017-08-01 06:54:17 +00:00
Sławek Kapłoński 970488a8b0 Add fullstack-python35 testenv in tox.ini
Change-Id: Iebb36f050ae6831ff03d74079d98b2fa2f67b6ec
2017-06-29 07:38:14 +00:00
Jakub Libosvar 33778d9605 functional: Add support for python35 flavor
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
2017-06-15 13:57:30 +00:00
Ihar Hrachyshka 96a821c48b tests: use devstack-gate to deploy dstat for functional/fullstack
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
2017-06-08 18:42:53 +00:00
Jenkins 9a040544dc Merge "Disable QoS scenario tests differently" 2017-06-02 19:22:21 +00:00
James Anziano 2d77118771 Enable segments plugin in gate
Change-Id: I821f7c07f21a10c8a8d2b3c7e79da205b805d525
2017-05-16 16:24:15 +00:00
YAMAMOTO Takashi 8528ea2b0e Disable QoS scenario tests differently
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
2017-05-08 19:02:11 +09:00
Jakub Libosvar 70b82034ac fullstack: Compile openvswitch module for fullstack test
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
2017-04-20 15:24:03 -04:00
lianghao 309e65d5f9 Add api test to create vxlan network
The test case checks if neutron can create a vxlan network
using providernet extension.

Change-Id: Ieb492097088c810532d4d5fe2ac5c3d92f650762
2017-04-18 01:44:23 +00:00
Ihar Hrachyshka da8d5b4770 Allow to disable DVR api extension loading
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
2017-04-16 17:44:31 -07:00
Jenkins d0c41c9987 Merge "Disable dvr tempest tests using DISABLE_NETWORK_API_EXTENSIONS" 2017-04-16 05:11:28 +00:00
Ihar Hrachyshka dd8164d41a Disable dvr tempest tests using DISABLE_NETWORK_API_EXTENSIONS
This allows to avoid duplicating extension list in two places.

Change-Id: I7ab1cb8e8b31a0a3dbb9db5008233b0b3f1881a2
2017-04-04 08:04:52 -07:00
Armando Migliaccio 4a6d06550b Inherit segmentation details for trunk subports if requested
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
2017-04-03 21:22:38 -07:00
Ihar Hrachyshka 3725a75d03 Clean up dsvm-scenario handler for gate_hook
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
2017-03-06 04:38:24 +00:00
Jenkins 4118ea2e7b Merge "gate_hook: accept dsvm-scenario-[ovs|linuxbridge] venv name" 2017-03-07 16:19:07 +00:00
Jenkins 807bea9f67 Merge "Convert gate_hook to devstack-tools" 2017-03-03 21:27:14 +00:00
Sean Dague 8626979c75 Convert gate_hook to devstack-tools
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
2017-02-28 22:08:01 +00:00
Jenkins 4ded53918f Merge "functional: Stop compiling OVS from source" 2017-02-28 19:32:26 +00:00
Victor Morales a14439549f Add bashate support
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
2017-02-25 06:29:55 +00:00
Jakub Libosvar 7210696702 functional: Stop compiling OVS from source
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
2017-02-25 04:35:30 +00:00
Ihar Hrachyshka 2708e19468 gate_hook: accept dsvm-scenario-[ovs|linuxbridge] venv name
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
2017-02-24 19:58:01 +00:00
Jakub Libosvar d46636112f gate-hook: Accomodate devstack-gate local.conf changes
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
2017-02-23 00:38:06 +00:00