Recent changes to the gate base images [1] removed a package
neutron requires (netcat-openbsd). This patch installs the
required package.
[1] https://review.openstack.org/#/c/292573
Closes-bug: #1558397
Change-Id: I4041478ca09bd124827782774b8520908ef07be0
Now that gate does not rely on -constraints targets [1], we should be
safe to remove them.
[1] Iea3a0b1f740d5679ebfa135f2bf5b89c52008716
Change-Id: I59855f1b15d54323dcc7c4759904be7124a1df1a
We should not use -ne with strings; instead, != should be used.
This bug in the script effectively left all tox targets unconstrained.
Change-Id: I867a3c7a2049e1d8e5cde76d8eb60d15880c430d
Since neutron gate already switched to -constraints target, we need to
keep those targets until we switch gate back to using targets without
the postfix.
This change effectively makes both types of targets identical.
Note: override install_command for venv, releasenotes, and cover targets
since corresponding gate jobs do not provide constraints file yet.
Also removed cover-constraints target since it would never work in gate
anyway.
Co-Authored-By: Ihar Hrachyshka <ihrachys@redhat.com>
Co-Authored-By: Andreas Jaeger <aj@suse.com>
Change-Id: Ica2d509df0c54496aba7cb3162565384cc5d34c8
This patch adds resources, fixtures and base test_connectivity tests
for host with linuxbridge agent.
Model of host with linuxbridge agent is made in separate namespace
named "host-XXX". It has got connectivity with rabbit via ovs port.
Same port is used also to provide connectivity with different "hosts"
Co-Authored-By: Mathieu Rohon <mathieu.rohon@gmail.com>
Change-Id: I6230d8d09f77bd20674bf6c3be69fbc1627d66f8
Closes-bug: #1518675
A while ago we copied Tempest networking API tests in to the
Neutron repo, and along came thousands of lines of code of Tempest
testing infrastructure (neutron.tests.tempest). For a while we
periodically refreshed our fork via:
tools/copy_api_tests_from_tempest.sh
I think it's time we move away from that model by eliminating
the fork. We do this by deleting unused code and importing the
rest from tempest_lib. There's some Tempest code still not
moved from Tempest to tempest_lib in tempest.common. I think
it's preferable to import that code than to copy it, and Tempest
cores mostly agree. Manila and Ironic also do the same.
To be able to import from tempest I added it as a requirement:
Since Tempest is not on PyPi, I had to get it from git. Only the api
tests environment needs Tempest, so instead of adding it to
test-requirements, I added it specifically to the api and
api-constraints venvs.
neutron.tests.tempest.test and neutron.tests.tempest.common.*
still remain. These are tighly coupled with one another, and
sadly since Neutron forked Tempest code, Tempest has made significant
changes to those files that also require changes to the test files.
I aim to get rid of the Neutron fork of these files in a follow up
change.
Also fixed import grouping in test files so that it's std libs,
3rd party libs, and then Neutron code.
* Removed neutron.tests.tempest.config:
- We only added one option after the fork. I created a new group
called 'neutron_plugin_options' and moved the new option to that
group. This is in preperation for the Tempest plugin architecture,
where you're supposed to add new config options to a new group
and not to existing configuration groups. Note that this is
obviously a backward incompatible change, but it's to an option
added in the same cycle.
* Removed neutron.tests.tempest.test and neutron.tests.tempest.common.
- This introduced an API change to the way we access Keystone,
which required mechanical changes to a few tests (create_tenant
calls need a different client now).
- The way Tempest manages primary, admin and alternative tenant
credentials was changed after we forked, which required another
mechanical change to a few tests.
* Cut all of the Keystone clients we don't need. We only need
to create/delete tenants, the other clients were used in Tempest by
actual Keystone tests.
* Changed neutron.tests.api.base.BaseNetworkTest:
- Re-implemented get_client_manager so that it returns the Neutron
clients manager and not the one in the Tempest repo.
- Updated it from the Tempest repo so that it uses the new way
to manage credentials (Since it now uses the Tempest test base
class and not our out of date forked copy).
Change-Id: I4f9193dfe26f2d36985cb480a98709ec182a2f7b
After the upgrade of Gerrit the message field works as expected
so the review tool can use it instead of filtering using the
topic. This implies that having the bug number in the commit
message is enough for the patch to be included in the dashboard.
Change-Id: I6e61643fe862f842d731abaacfd1b18881e0c45e
Some spring cleaning:
- Remove obsolete cisco vpn configs
- Remove obsolete references from UT check script
- Remove obsolete script for cleaning up plugins
- Remove obsolete mock of heleosapi module
Change-Id: I0051e0b75b17279ffb61de328d7ccc7a12dc99dc
In the run_tests.sh, it export tools_path/venv/venv_path.
In the install_venv.sh, to get venv value in environ values. In
the with_venv.sh, to get correct envirion values.
Change-Id: Ia041937eaa8cf2194a929c846a7a96312a641ac5
Partial-Bug: #1535514
Usually I edit the script every time, to see what it would do
before the actual run. Add that mode via a flag.
Change-Id: I3ea50b905217947a43e4437b4925bb79c45a3d18
Adds a test to Neutron to check object versions for any changes
to objects. It prompts the developer to update the version of the
changed object. It uses oslo.versionedobjects.
Change-Id: I99454b28ae0b5fa663354eeccdf709d4030a280b
Co-Authored-By: Ryan Rossiter <rlrossit@us.ibm.com>
VPNaaS functional tests now use dsvm-functional instead of
*-constraints. Always assuming *-constraints breaks the functional
jobs which is not run in a constrainted environment yet.
Paritial-Bug: #1529027
Change-Id: I3a4f1d61d13f1e444f7624d68d121d04d81eb724
Ensure that event handlers are invoked upon completion of
ML2 operations which add or remove tracked resources.
Also validate that the event handlers are called for the
appropriate resources and that quota usage's dirty bit
is set and unset as expected.
These are not unit tests, but added in the unit test tree
as they leverage code both from the DB unit test and the ML2
unit test framework. This module has indeed been added to
the 'exclusion list' in check_unit_test_structure.sh, and
should be moved to the functional test tree together with
the other modules.
Closes-Bug: #1499358
Change-Id: I78c432c35f3f3339607cd533019ae6d0fa2a5cd6
This removes what's left of the brocade code and artifacts from the
neutron tree. All the vendor code is now in the
openstack/networking-brocade repo.
Closes-Bug: #1518637
Change-Id: Ia366ec28d0ae9fd7f9fe41c9a82d5d44971d27d8
This script queries launchpad to get:
1) Bug number of bugs tagged with rfe-approved
2) Bug number of critical/high bugs
3) list of blueprints targeted for the milestone passed as param
With this information the scripts prints queries that can be used
in Gerrit directly and creates a .dash file that can be used by
gerrit-dash-creator to output a dashboard url.
Change-Id: I09f8c04c6c609d4791bd5af825105ba092831e43
This adds a new tox environment, genconfig, which generates sample
neutron core configuration file using oslo-config-generator.
Updates to some configuration option help messages to reflect useful
details that were missing in the code but were present in config files.
It also adds details to devref on how to update config files.
Partially-Implements: blueprint autogen-neutron-conf-file
DocImpact
Change-Id: I1c6dc4e7d479f1b7c755597caded24a0f018c712
Closes-bug: #1199963
Co-Authored-By: Louis Taylor <louis@kragniz.eu>
More detailed instructions for --autogenerate, including how to rely
less on devstack. Also some tweaks to scripts and requirements to
simplify the process.
Closes-Bug: #1197570
Change-Id: I97043b30a8df7408a73af38c6a015fc0dcf82571
Adds some utility methods and a couple of base test cases that
can be added to. These first tests exercise the ovs driver (dnsmasq)
and so the code is organised accordingly - OVS specific test cases
are defined in a DHCPAgentOVSTestFramework
Partial-Bug: #1469065
Co-Authored-By: Cedric Brandily <zzelle@gmail.com>
Co-Authored-By: Sergey Belous <sbelous@mirantis.com>
Change-Id: Ic9d5a2f2b8014e4d81f5e5f6fa58b119a86de075
The embrane plugin is EOL.
Users have been transitioned to other solutions.
Closes-Bug: #1504670
Depends-On: Ic13a101f04086af84251c98d775d75334504007d
Change-Id: Ibc336db310d051cae65291724ea5becadc3d3d45
Remove disable_service from configure_for_func_testing.
A recent Devstack patch (Linked in bug report) checks
that a disabled service is not enabled later. This breaks
the code this patch touches. I believe the DBs were disabled
and enabled with the assumption that Devstack expects only
a single DB to be configured at a time, but that doesn't
seem to be the case. Simply removing the disable calls seems
to work fine.
Also exclude oslo.messaging==2.6.0 as per global-requirements.txt.
Closes-Bug: #1505259
Closes-Bug: #1505295
Depends-On: I47ab12f719fba41c2f0c03047b05eb28f4423682
Change-Id: I0fbcc1218e1aa9adbf89f6121c1c2e224ed93cab
This plugin didn't decompose in the last two cycles, I failed
to spot a functional CI, and there hasn't been any meaningful
activity done in the subtree for the past couple of cycles
I think it is time to implement the eviction.
Related-blueprint: core-vendor-decomposition
Change-Id: I949a51873ee5af654b577952d423dd29a6ced8e7
The server in neutron.cmd.eventlet.api was almost exactly the same
as neutron.cmd.eventlet.server.main_wsgi_pecan(). This patch just
gets rid of the former and updates a bash script to reference the
latter.
Change-Id: Ib1ae1d4de9f61bf9eea7e3ceb7fd971195e452e3
This patch follows the previous patch(listed as dependent) and moves
the remaining cisco db models from neutron to networking-cisco.
The patch deletes l3_model and cisco_router_plugin and their associated
config and helper files from neutron
Change-Id: I5b71e1dfb683e633e1cd11386dfb7c2ed7cc7d62
Partial-Bug: #1489609
Always no quotes for $() statement.
We don't need quotes to hold blanks in result:
# i=$(echo 1 2 3)
# echo $i
1 2 3
#
These quotes can make something wrong in some case:
# i=$(echo '!')
#
# i="$(echo '!')"
-bash: !: event not found
#
No real problem for current code in split.sh, only to use a
better code style.
Change-Id: Ib86d59e10be0aca4774ad2fc656915a96b1b6c74
Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
This patch is the initial work for the pecan refactor.
* Adds pecan as a requirement
* Adds a simple API server named 'neutron-dev-server' for use
when neutron server is not deployed in a web server
* Wraps the app with the openstack request ID middleware
* Adds a basic V2 controller that breaks out requests by method
* Adds functional tests to ensure request ID is set and requests
are properly sent to the V2 controller.
Partially-Implements: blueprint wsgi-pecan-switch
Co-Authored-By: Brandon Logan <brandon.logan@rackspace.com>
Co-Authored-By: Mark McClain <mark@mcclain.xyz>
Change-Id: Ic9697ff30ab8359b62ce01eb73dc927065a8e3e6
In preparation for decomposing the built-in reference implementation,
this commits consolidates the sriov agent and driver code into a
coherent place for it's life in the new repository. I've also given
the unit tests a new home.
DocImpact
UpgradeImpact
Partially-Implements: blueprint reference-implementation-split
Partial-Bug: #1468433
Closes-Bug: #1427317
Change-Id: Ic8b5215de76e191030228bc28773cd6535e889d8
Signed-off-by: Kyle Mestery <mestery@mestery.com>
This commit moves the L2 agents (Linuxbridge and OVS) into the
ML2 directory, while at the same time also moving the ML2 server
bits into toplevel directories. It also moves the configuration
files and unit tests. We also move the l2pop RPC mixin while
here as well.
DocImpact
UpgradeImpact
Partially-Implements: blueprint reference-implementation-split
Partial-Bug: #1468433
Closes-Bug: #1427317
Change-Id: If6feca7b7a6bdd6c3c6feb929fa26fb4b1f72770
Signed-off-by: Kyle Mestery <mestery@mestery.com>
The port is in most cases disabled, so to use it, we should first enable
it, and it means that we should still rely on ovs-vsctl for that initial
call.
Closes-Bug: #1468259
Change-Id: I097b1c441df1f7f1785b8744f27809617bb21c14
It's a nice wrapper spinned out recently from tempest-lib that should
cover all our needs that we currently fulfill with pretty_tox.sh.
Change-Id: I2268ed45ab628fe5dcab657d6287594847ab587c
Modify the script so that it can be used by the *aaS functional tests.
This is done by allowing callers, namely other *aaS repos, to override
information, like the project name and virtual environment used (for
example, VPNaaS has two functional jobs with different virtual env).
Change-Id: I450273036e938a4acc9a7bc1dc193a9c207b2d58
Closes-Bug: #1446807
Arbitrarily restricting ourselves from using bash because developers on
platforms like netbsd don't want to install bash from ports doesn't
make sense. Any non-trivial shell script is likely to use features
like arrays or string manipulation that are poorly supported (if at
all) by sh, and the continued bumping of the number of expected bash
scripts is an indication that the check is not serving its purpose
anyway.
Along with removing the check, all shebang references to /bin/bash
have been replaced with /usr/bin/env bash in an attempt to be more
compatible across different hosts.
Change-Id: Ief72dc380cc88af38959c330897e2c127e33c332
Closes-Bug: #1440824
This change moves plugin test modules to conform to the new rules on
unit test tree structure (see TESTING.rst).
Vendor plugin paths continue to be ignored, and unit test modules that
test features instead of modules are also ignored pending their
removal to the functional test tree.
Change-Id: I482c377ca72ffd58692ad84bd9692356513e4c98
Closes-Bug: #1440834
This change ensures that the structure of the unit test tree matches
that of the code tree to make it obvious where to find tests for a
given module. A check is added to the pep8 job to protect against
regressions.
The plugin test paths are relocated to neutron/tests/unit/plugins
but are otherwise ignored for now.
Change-Id: If307593259139171be21a71c58e3a34bf148cc7f
Partial-Bug: #1440834
To make api test development simpler, move the tests to
neutron.tests.api. The neutron.tests.tempest subtree will remain
while work continues to transition the required functionality to
tempest-lib.
Change-Id: Ie90671fbfe2f633e851da82728e152482133fd87
A recent change to devstack renamed lib/neutron to lib/neutron-legacy,
and this change updates the functional setup script to reflect the
change.
Change-Id: I5eb4b4052da4b0db128feb42feae50a8bc59f373
Closes-Bug: #1438426