Commit Graph

199 Commits (db972238418f87a77b8fdf9f0b32d88b54347f0b)

Author SHA1 Message Date
Bernard Cafarelli 57f527a748
Fix rocky gates, multiple fixes
1. Make grenade jobs experimental for EM branches

As discussed in ML thread[1], we are going to
make grenade jobs as non voting for all EM stable and
oldest stable. grenade jobs are failing not and it might take
time to fix those if we are able to fix. Once it jobs are
working depends on project team, they can bring them back to
voting or keep non-voting.

If those jobs are failing consistently and no one is fixing them
then removing those n-v jobs in future also fine.

Additionally, it was proposed in neutron CI meeting [2] that non-voting
jobs would be moved to experimental, so move grenade jobs there instead
of keeping them non-voting




(cherry picked from commit 9313dce459)

2. Install pip2 for functional/fullstack/neutron-tempest-iptables_hybrid

Else both jobs fail with "sudo: pip: command not found"

3. Add ensure-tox for functional/fullstack/neutron-tempest-iptables_hybrid

Similar error message for tox

4. Disable OVS compilation for fullstack and move job to experimental

Compilation fails similarly to recent master failures:
/opt/stack/new/ovs/datapath/linux/geneve.c:943:15: error: ‘const struct ipv6_stub’ has no member named ‘ipv6_dst_lookup’

But branch 2.9 is not updated anymore. Use official package

This triggers a few tests failures, so move it to experimental (instead
of marking non-voting), same as grenade jobs

Change-Id: Ie846a8cb481da65999b12f5547b407cc7bdc3138
3 years ago
Bernard Cafarelli 004caf773a
Change ovs version we use in fullstack tests
Kernel 4.4.0-145 backported a change on IPv6 fragmentation API, so
update the OVS version checked out for fullstack tests to a hash
including the needed compatibility layer changes

Change-Id: Ia9383c02e1c62e31db9493729aedbed5b94a3a3f
Closes-bug: #1823155
4 years ago
Ian Wienand 344495f1a8 Replace git:// URLs with https://
This is a mechanically generated change to replace
git:// URLs with https:// equivalents.

This is in aid of a planned future move of the git hosting
infrastructure to a self-hosted instance of gitea (,
which does not support the git wire protocol at this stage.

This update should result in no functional change.

For more information see the thread at

Change-Id: I48b2ca81cad8d239a3f2ba0723272ff6db6fd932
4 years ago
Hongbin Lu 2b1d8ea4a2 Implement filter validation
Enforce validation on filter parameters on list requests.
If an API request contains an unknown or unsupported parameter,
the server will return a 400 response instead of silently ignoring
the invalid input.

In resource attributes map, all filter parameters are annotated by
the ``is_filter`` keyword. Attributes with is_filter set to True
are candidates for validation.

Enabling filter validation requires support from core plugin and
all service plugins so each plugin need to indicate if it supports
the validation by setting ``__filter_validation_support`` to True.
If this field is not set, the default is False and validation is
turned off. Right now, the ML2 plugin and all the in-tree service
plugin support filter validation. Out-of-tree plugins will have
filter validation disabled by default.

An API extension is introduced to allow API users to discover this
new API behavior. This feature can be disabled by cloud operators
if they choose to do that. If it is disabled, the extension won't
be presented.

Depends-On: Ic3ab5b3ffdc378d570678b9c967cb42b0c7a8a9b
Depends-On: I4397df1c35463a8b532afdc9c5d28b37224a37b4
Depends-On: I3f2e6e861adaeef81a1a5819a57b28f5c6281d80
Depends-On: I1189bc9a50308df5c7e18c329f3a1262c90b9e12
Depends-On: I057cd917628c77dd20c0ff7747936c3fec7b4844
Depends-On: I0b24a304cc3466a2c05426cdbb6f9d99f1797edd

Change-Id: I21bf8a752813802822fd9966dda6ab3b6c4abfdc
Partial-Bug: #1749820
5 years ago
Zuul 29dc0a893e Merge "Multiple port binding for ML2" 5 years ago
Zuul 156f29aea3 Merge "Adjust filters on listing availability zones" 5 years ago
Jakub Libosvar f7b62a7f29 Multiple port binding for ML2
Functionality is added to the ML2 plugin to handle multiple port

Co-Authored-By: Anindita Das <>
Co-Authored-By: Miguel Lavalle <>

Partial-Bug: #1580880

Change-Id: Ie31d4e27e3f55edfe334c4029ca9ed685e684c39
5 years ago
Zuul f6ebd0c0ba Merge "Add support to regenerate port mac_address" 5 years ago
Hongbin Lu 7899ef2671 Adjust filters on listing availability zones
In before, filtering of AZs is using the filter implementation of
agents. To filter the AZs, users need to find the AZ fields to filter,
locate their corresponding fields in agent, and compile the filters
based on the mapping between AZ and agent. This is undesirable.

This patch improve the filtering of AZ by converting the AZ filters
to agent filters. The supporting AZ filters are:
* name: the name of the availability zone
* state: the value is either 'available' or 'unavailable'
* resource: the value is either 'network' or 'router'

NOTE: For backward-compatibility, the old filters still works but
its usage is discourage.

APIImpact: Add filters to specify attributes of availability zones

Needed-By: Icbf427f20ca912a40d68e8042abeeabffeb3005f
Change-Id: Id882f949cc73a34290c311f3ce3d69d1b809c29f
5 years ago
Harald Jensås 8361b8b5ae Routed Networks - peer-subnet/segment host-routes (2/2)
Ensure that host routes are maintained for each subnet within
a network. Subnets associated with different segments on the
same network get host_routes entries added/removed as subnets
are created, deleted or updated.

This change handle the host_routes for the peer subnets on the
same network when a subnet is created or deleted.

Also adds a shim api extension.

APIImpact: Host routes are now calculated for routed networks.
Closes-Bug: #1766380
Change-Id: Iafbabe6352283e7f1a535a7b147bd81fb32f0ed1
5 years ago
Harald Jensås 8f3a066b20 Add support to regenerate port mac_address
Passing 'null' (None) as the mac address in a port update
request causes the port's mac address to be re-generated
using the base MAC address Neutron uses for VIFs.

This change implementes a temporary lib api definition
with a new converter that will generate valid mac if the
data provided is None.

APIImpact: Port mac_addr regenerated if None passed on update.
Closes-Bug: #1768690
Change-Id: I7d04beea4810718c3b745de8ea97897b1323267e
5 years ago
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
We now need separate job to test non-default firewall driver
which currently is iptables-hybrid driver.


Change-Id: I6061a173c95c8a41a61bfa298ae5964cc9b5d2e8
5 years ago
Jens Harbott 4f722be0c8 Update ubuntu image used for testing
The release we are using is more than a year old, let's update to a
recent release in order to make sure we stay up to date.

Change-Id: Ie26870495719bb4d702be3fa3068440714edd3e9
5 years ago
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:

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
5 years ago
Hongbin Lu a732bbf19e Support filter attribute with empty string
This will enable users to filter list of results with attributes
with empty value. For example, the request below will list
all unbound ports (unbound ports have blank device_id).

  GET "/ports?device_id="

Change-Id: I9001214de126eb888c2425b6a6275f59ec8478e7
Closes-Bug: #1749304
5 years ago
Zuul fbdd2f3798 Merge "Add port_details to Floating IP" 5 years ago
Hongbin Lu c760d4f26f Add port_details to Floating IP
If the floating IP is associated with a port, this attribute
will contain detailed information of the associated port. This allows
users to retrieve the floating IPs with information of its associated
port (if any) in one API call.

Other related patches:
* neutron-lib:
* osc:
* sdk:
* tempest-plugin:

APIImpact the API reference needs to be updated

Change-Id: I31e940d2986278d2fbee6fdfea4ff15f7c07ebaa
Partial-Bug: #1723026
5 years ago
Zuul 4d40e6e40e Merge "Add a shim extension standard-attr-segment" 5 years ago
Hongbin Lu 9506044550 Add a shim extension standard-attr-segment
Standard attributes has been added to segment [1] and we need
a shim extension to indicate this.


Change-Id: I761fa7cb684a457726dedc95fde92d6adb86f5e4
Partial-Bug: #1765008
5 years ago
Sławek Kapłoński baee36d71e [Scenario] Enable "qos-fip" network extension in tempest config
It is required to run FloatingIP QoS scenario test in test jobs
which uses legacy zuul playbooks (like dvr-multinode job for example)

Change-Id: Id3e94383bc385176e1b19a9c2f64fe29026b59e2
5 years ago
Boden R 87a36cacc6 remove tag and tag_ext extensions
The tag and tag_ext extensions are deprecated for removal, but are not
used widely today [1]. Rather than rehoming these extensions to
neutron-lib and carrying out their deprecation life-cycle for no
apparent reason, this patch proposes we just remove them now.

While [2] initially removed these extensions, we had to revert
them with [3].

Depends-On: I295a5b84eb7fa3439561fa009b7499f94d8df4d2

[2] I0d7bcd789b468b1dd3f7ea13e6751a46203d6778
[3] If16443616eee703b66d57b6422dd451a443fbc64

Change-Id: I97095453610fff114d999a526d67e78119546ff5
5 years ago
Zuul c8570c10bf Merge "Add l3_agent_mode configuration in tempest" 5 years ago
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
5 years ago
Sławek Kapłoński 0ab03003b9 [Scenario tests] Try longer SSH timeout for ubuntu image
It looks that many scenario tests are failing because of too long
instance booting time and reached ssh timeout during checking
So longer timeout should solve this problem and tests should
not fail with this reason.

Change-Id: I5d0678ea2383483e6106976c148353ef4352befd
Closes-Bug: #1754327
5 years ago
Zuul 114712ef59 Merge "Revert "remove tag and tag_ext extensions"" 5 years ago
Hongbin Lu 4904455bf2 Revert "remove tag and tag_ext extensions"
It looks this patch breaks Zun's gate. The reason might be
that Zun depends on Kuryr-libnetwork which still use the
legacy tag extension. I propose to revert this for now and
give the kuryr team some time to migrate to the new extension.

This reverts commit 38148d1752.

Change-Id: If16443616eee703b66d57b6422dd451a443fbc64
5 years ago
Zuul 2eb6ee4f75 Merge "remove tag and tag_ext extensions" 5 years ago
IWAMOTO Toshihiro 46d693530b Compile ovs for ovsfw to avoid ovs-vswitchd core dumps
Change-Id: I750224f7495aa46634bec1211599953cbbd4d1df
Closes-bug: #1742863
5 years ago
Boden R 38148d1752 remove tag and tag_ext extensions
The tag and tag_ext extensions are deprecated for removal, but are not
used today [1]. Rather than rehoming these extensions to neutron-lib and
carrying out their deprecation life-cycle for no apparent reason, this
patch proposes we just remove them now.


Change-Id: I0d7bcd789b468b1dd3f7ea13e6751a46203d6778
5 years ago
Zuul 132e43bfc7 Merge "Filter port-list based on security_groups." 5 years ago
Ahmed Zaid 43d3e88a07 Filter port-list based on security_groups.
This patch allows users to filter ports depending on security groups.
In addition to that I added a unit test to verify this change.
TODO: move into neutron-lib.

Closes-Bug: 1405057
Change-Id: I528719d895fc1d89f74e2ee85b9ddc470323c601
5 years ago
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
5 years ago
Zuul 9f619094af Merge "Configure log extension for ovs scenario job only" 5 years ago
Zuul 1813f7c497 Merge "Support filtering port with IP address substring" 5 years ago
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

Change-Id: I2db1ffea4c172a9461b22c46e99f0abbb4fc1d85
Related-Bug: #1743463
5 years ago
Hongbin Lu 5c601bebeb Support filtering port with IP address substring
Neutron currently supports filtering ports by matching the exact
IP address. This patch adds support for substring matching using
"LIKE" SQL operator.

This patch also added a new API extension to show whether or not
the substring matching capability is available.

APIImpact add IP address substring filtering on listing ports
API-ref: I97259b85a2dce5a54bb6ea2cb9d9779ec0a25504

Co-Authored-By: Zhenyu Zheng <>

Change-Id: I9549b2ba676e1bad0812682c3f3f3c97de15f5f6
Closes-Bug: #1718605
5 years ago
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].


Change-Id: Ib86535ad24319cb0e10a48df50651264201673c3
Depends-On: Ib8668dd25ee7c5000a6dafcc7db3dbc33ad190be
Partially-implements: blueprint security-group-logging
Related-Bug: #1468366
6 years ago
Dongcan Ye e774b88428 Tempest: Add availability-zone for agent
Change-Id: I586420488cc2db43e849132c0d2465185e4b32d0
Partial-Bug: #1684069
6 years ago
Ihar Hrachyshka 16262d6409 gate: don't configure linuxbridge jobs for geneve
The only tunneling the agent supports is vxlan.

Change-Id: Iff45d3f4021699dbe42750ca88c520f3327e01b7
6 years ago
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
6 years ago
Jenkins 81dd9b5317 Merge "gate_hook: configure range of GRE ids" 6 years ago
Jenkins b59d008b1e Merge "Drop the web_framework option" 6 years ago
Ihar Hrachyshka 8b5dc9c14c gate_hook: configure range of GRE ids
lib/neutron doesn't configure for gre by default, so we need to set the
range of tunnel ids ourselves if we ever want to switch to the new
devstack library.

Change-Id: I205dde23d1e9f219736f4a5df40b4542dcd97586
6 years ago
Kevin Benton e2ea0b4652 Drop the web_framework option
This option is no longer needed as we have switched to pecan
and will be deleting the legacy API layer.

Implements: blueprint wsgi-pecan-switch
Change-Id: Ib153d75bb10375e048a8417139873bdf9dca8769
6 years ago
Ihar Hrachyshka 1bd60faf2e gate_hook: Switched to $NEUTRON_CORE_PLUGIN_CONF
The Q_* variable is not defined when lib/neutron is used.

Change-Id: Iafbb11cf24e07593b55d7c35e075d68980f0e247
6 years ago
Ihar Hrachyshka 3e341a9941 Fix post gate hook to accommodate for new os-testr
New os-testr uses stestr under the hood, which creates .stestr but not
.testrepository directory in the current dir. Other than that, it
doesn't seem like there is any difference in the format or names of
files generated in the directory.

Change-Id: I82d52bf0ad885bd36d2f0782a7c86ac61df532f2
Closes-Bug: #1716746
6 years ago
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
6 years ago
Ihar Hrachyshka f21c7e2851 Allow to set/modify network mtu
This patch adds ``net-mtu-writable`` API extension that allows to write
to network ``mtu`` attribute.

The patch also adds support for the extension to ml2, as well as covers
the feature with unit and tempest tests. Agent side implementation of
the feature is moved into a separate patch to ease review.

DocImpact: neutron controller now supports ``net-mtu-writable`` API
APIImpact: new ``net-mtu-writable`` API extension was added.

Related-Bug: #1671634
Change-Id: Ib232796562edd8fa69ec06b0cc5cb752c1467add
6 years ago
Jenkins c4587ef4d1 Merge "Enable QoS scenario tests" 6 years ago
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
6 years ago