This change enables all capabilties regardless of peer address
family, thereby enabling announcement of IPv6 prefixes over IPv4
sessions and vice-versa. Peers can opt in/out with capabilities
configured on the remote end of the session.
Change-Id: I7b241cdfddcecbdd8cdde2e88de35b9be6982451
Closes-Bug: #1784590
All of the methods of common db mixin are available via neutron-lib
and the mixin will be removed before long.
This patch switches the code over to use neutron-lib's APIs rather
than those of the mixin.
This commit also includes the following unrelated change
to pass the gate.
----------------------------------------
tox.ini: Remove symbolic links to fix issues in py3 jobs
2019-02-11 21:38:47.092425 | ubuntu-xenial | py35 runtests: commands[1] | find . -type d -name __pycache__ -delete
2019-02-11 21:38:47.093110 | ubuntu-xenial | setting PATH=/home/zuul/src/git.openstack.org/openstack/neutron-dynamic-routing/.tox/py35/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
2019-02-11 21:38:47.097926 | ubuntu-xenial | /home/zuul/src/git.openstack.org/openstack/neutron-dynamic-routing$ /usr/bin/find . -type d -name __pycache__ -delete
2019-02-11 21:38:47.101454 | ubuntu-xenial | /usr/bin/find: cannot delete ‘./.tox/py35/lib/python3.5/plat-x86_64-linux-gnu/__pycache__’: Directory not empty
2019-02-11 21:38:47.101813 | ubuntu-xenial | /usr/bin/find: cannot delete ‘./.tox/py35/lib/python3.5/collections/__pycache__’: Directory not empty
2019-02-11 21:38:47.102118 | ubuntu-xenial | /usr/bin/find: cannot delete ‘./.tox/py35/lib/python3.5/encodings/__pycache__’: Directory not empty
2019-02-11 21:38:47.304506 | ubuntu-xenial | /usr/bin/find: cannot delete ‘./.tox/py35/lib/python3.5/importlib/__pycache__’: Directory not empty
2019-02-11 21:38:47.309574 | ubuntu-xenial | ERROR: InvocationError for command '/usr/bin/find . -type d -name __pycache__ -delete' (exited with code 1)
----------------------------------------
Change-Id: If4fa99d98e9507d9fefa84cd39d7d1d3381801a0
We recently removed nenutron.common.rpc [1] as the rpc module lives in
neutron-lib now. This project was missed because I didn't find
neutron.common.rpc as an import. This patch switches rpc uses over to
neutron-lib.
This also addresses an issue where toxenv fails when it encounters a
non-empty __pycache__ directory. This adjusts the options passed to
find so that it is tolerant of this scenario and allows tox runs to
proceed.
[1] https://review.openstack.org/#/c/634790/
Change-Id: Ice83f7574f146436e3db045693b530f0cfeda049
When a bgp-dragent is deployed with enable_new_services
set to False so that the agent is disabled upon creation
the first attempt to enable it again throws an error but
the second time works, see the bug report.
Change-Id: If77e2035d0c12d0391ab9c38054bf2e0d24dac4a
Closes-Bug: 1799455
This commit converts the existing neutron-dynamic-routing policy.json
into policy-in-code.
Partially Implements: blueprint neutron-policy-in-code
Change-Id: I4f99739ca8b979ddf69c52c3f1b36e320326db8d
This change causes neutron-dynamic-routing to stop consuming Ryu
in favor of os-ken. os-ken becomes the reference implementation
for BGP services and neutron-dynamic-routing no longer has a
dependency on Ryu.
Partially-Implements: blueprint ryu-framework-maintenace-transition
Change-Id: I4a68440809cad5de2d6d191f7211d68b542672e5
The neutron.common.rpc and exceptions were rehomed into neutron-lib and
are currently shimmed in neutron [1]
This patch consumes those modules from neutron-lib by using lib's
modules rather than neutrons.
[1] https://review.openstack.org/#/c/586525/
Change-Id: Ic95e9ab17fa6ba3b12cea7837322f113d0084aeb
To access neutron objects we're moving to a dynamic plugin approach as
shown in the depends on and related patches.
This patch removes the imports of neutron.objects and uses neutron-lib
to load them instead.
Change-Id: I63bf23a6c116388dd038cfb4b75721f314997bca
The model_query module is in neutron-lib and the CommonDBMixin will
eventually be removed. This patch swiches use of the _model_query
method over to query_with_hooks from neutron-lib.
This patch also bumps the neutron-lib version up to 1.20.0
Change-Id: I3f2711239772a41ccb6a0d7eb19f11326f125e86
Access to neutron.db.api's context manager is already in neutron-lib
and in fact neutron is already using it as a shim. This patch switches
over context manager access to use neutron-lib's accessors.
Also see https://review.openstack.org/#/c/613122
Change-Id: Id07fb7da50f80a3434c6bf790ffddf2bb25a6796
Because:
- They are not necessary.
- Neutron agent scheduler code (reschedule_resources_from_down_agents)
seems to (correctly) assume each get_admin_context() call returns
a fresh context. This mocking breaks it.
- Right now, Neutron agentdb uses the new engine facade [1] and
Neutron agent scheduler doesn't. It causes caching issue in our
unit tests. (See the Related-Bug) Stopping reusing contexts
(thus sessions) would prevent the issue.
[1] https://review.openstack.org/#/c/611462/
Related-Bug: #1803745
Change-Id: Ia986f98f8bda9c7cde33af3dfdf2e45a2685fd6d
In python3.6 the path used by os.path.join can be either
a string or bytes, so mock the neutron.common.config.init
to return a string so the tests pass with python3.6.
Change-Id: I10b399edb76b2ed3a2a235f9f4ec278ef94c4251
Signed-off-by: Chuck Short <chucks@redhat.com>
More in-depth type checking of args in Python 3.6 causes issues
with the current approach to patching sys.argv for agent unit
tests; Directly patch argv with the required test arguments
rather than using return_value (which does not really do what
the test assumes it does).
Change-Id: I8966323e3f0853351fe27207ae63901c2f9f351a
Reserving subnet CIDR make impossible to reuse the same
CIDR for a subnet twice for the test case class.
Change-Id: Ia32f0e3fea509d1eb0074f5d4bdaf5b02b6dcae0
Depends-On: I421dd28999086ee0af9246121f4f033291e341b4
Closes-Bug: #1766702
The create_connection function in neutron.common.rpc is just an alias to
Connection. This patch switches to the later so we can remove the former
in: https://review.openstack.org/#/c/560130
Change-Id: Ie8eaca442fa2872fe061f997898d9cd7d9195c9d
New releases of oslo.config support a 'mutable' parameter to Opts.
This is only respected when the new method mutate_config_files is
called instead of reload_config_files. Neutron-dynamic-routing
delegates making this call to oslo.service.
This was provided in patchset
Icec3e664f3fe72614e373b2938e8dee53cf8bc5e
Further patches will be needed to make select config options be
marked as mutable. This change enables support for oslo provided
config options to be updated via SIGHUP such as log level.
Change-Id: Icb405ae7197af7507469593e8555b833186c0e68
Task: 12505
Story: 2001545
Since a separate job has not been created [0], move the scenario test
into the basic directory so that it will be executed there.
Set TEMPEST_CONCURRENCY=1 for the basic scenario job in order to avoid
resource collisions.
[0] https://review.openstack.org/529256
Change-Id: Idbf2739a585473fdf1d364ad1ee263ad359fd750
The neutron.common.topics module was rehomed into neutron-lib with
commit Ie88b84949cbd55a4e7ad06341aab77b286cdc485
This patch consumes it by using neutron-lib's version of the module in
prep for Ia4a4604c259ce862597de80c6deeb3d408bf0e95
Change-Id: I71a90ca62a664a9bab2e7b151f0cce7eeab8ff41
When get_bgp_speaker_with_advertised_routes() collects the data for BGP
peers, it needs to include the auth_type field, otherwise adding the
speaker to an agent will fail.
Change-Id: I668397be4a531ba5c0628eb23df9a84d0de8c28c
Closes-Bug: 1750121
Remove unnecessary settings of None in the floating IP
creation.
This is now dealt correctly with by neutron.
Change-Id: Ifa7195bc0c58eca077579039705bb1738f3d362e
DB validations need to make sure that the value is True or False.
'0' was causing the unit tests to fail.
Change-Id: I0af74c88ce4c4e9d117ea5ff3394eec5be27ecf7
The range for local_as and remote_as has been modified for [MIN_ASNUM,MAX_4BYTE_ASNUM],
so the description of the range should be modified in file "base.py".
Change-Id: Id37af6c571f7fb028c315c61ffffee0fc0482362
* https://review.openstack.org/519310 syncs the code from neutron
project to neutron-tempest-plugin repo and it is better to
depend on new one in order to avoid the breakage.
Depends-On: I9962fd5aa9a13f315208255e2cc5f599871a6f53
Change-Id: I34efe893b93240c4689de1dda978209926022dfd
Commit I81748aa0e48b1275df3e1ea41b1d36a117d0097d added the l3 extension
API definition to neutron-lib, commit
I2324a3a02789c798248cab41c278a2d9981d24be rehomed the l3 exceptions and
Ifd79eb1a92853e49bd4ef028e7a7bd89811c6957 shims the l3 exceptions in
neutron.
This patch consumes the l3 API definition from neutron-lib
in prep for If2e66e06b83e15ee2851ea2bc3b64ad366e675dd
Change-Id: Ie5f87829ce55fed290bce4be933b9e2b0615be46
Neutron agent scheduler has been switched to use Agent OVO[1].
So this patch uses agent OVO for bgp_dragent_scheduler.
[1] https://review.openstack.org/#/c/495810
Change-Id: I7e5da95ab3c28c00f3be9eca2c92a772492cfa69
Closes-Bug: #1732603
Now neutron_dynamic_routing supports 2 byte AS numbers only.
This patch expands AS numbers constraint so that it supports
4 byte AS numbers. It expects that operators use asplain
notation to set AS numbers[1]. That's backward compatible with
existing 2 byte AS numbers.
[1]: https://tools.ietf.org/html/rfc5396
Change-Id: I06ae0c42d983e88e1f38c501d5c85a7956f195ad
Closes-Bug: #1573092
The external network extension's API definition was rehomed into
neutron-lib with I9933b91d1e82db3891b3b72f06e94316e56a4f15 and
broke our unittests.
Change-Id: Ib184871ac7ec5cd09cfb26d911cec8d9ae6fca7e
The tempest.test.is_extension_enabled() has moved to
tempest.common.utils.is_extension_enabled() in Pike.
Change-Id: I8fb12f913f187e4f0208438e7f39b2691f0dd4f3