We want bindings to be fully static when using the StaticScheduler, so
do not run the periodic actions in that scenario.
Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
Change-Id: I2d874ce7170cdf3d81940dbe64960247b244fe87
Seems the original approach was too simple, it is causing some
tracebacks due to missing functions.
Closes-Bug: 1980235
Change-Id: I15ef7ec34eeccf4dfcce94b3bca2c853c4c4a609
This patch adds BGP service plugin RPC queue to RPC workers, like it is
done in other Neutron service plugins (l3-plugin, metering, etc.).
Without it some RPC requests and AMQP heartbeats are not processed in
time, causing AMQP connection dropping, and other unpredictable unwanted
behavior.
Closes-Bug: #1974057
Change-Id: I1b13f01ca47c8390f1361e01d5eb313fe2fc417f
The [1] change modified the behavior Neutron had, which used to
force the default config options to be automatically set.
Neutron-dynamic-routing expects some of the default config options
to be set while initializing some services. If they are not set
the initialization will fail [2].
This change invokes the method that sets such config options to
fix this initialization issue.
[1] https://review.opendev.org/c/openstack/neutron/+/837392
[2] https://paste.opendev.org/show/b8DReLeBPl9xTGooN8wu/
Releated-Bug: #1968606
Change-Id: Ib3bdf9b19feb68647460814cc973699622d0a6e8
* Updated callback functions port_callback,
floatingip_update_callback to include payload
* Fixed unit test cases
Change-Id: I84956d86ea45039a8841b2b1f4f02bf373efcef5
Signed-off-by: Manu B <manu.b@est.tech>
floating_ip_address may be a netaddr.IPAddress, and using '+'
to append the /32 suffix raises a TypeError. Explicitly convert to
string before appending the suffix.
Additionally, introduce a unit test case for floatingip_update_callback
to test that the error does not re-appear.
Closes-Bug: #1924237
Signed-off-by: Aggelos Kolaitis <akolaitis@admin.grnet.gr>
Change-Id: I98d266fb986649f1d14969c968baa2f93b469f73
This was added as a workaround until neutron gets a new release in [0].
We can switch to the new code now.
[0] I5661e8689d8e3ea861fdd0393e6f25c42cd324c3
Change-Id: Ie5b3d5c5b978494abf8d58f3f0a92cb95209fb56
With python3.x, classes can use 'metaclass=' instead of
'six.add_metaclass', 'six.integer_type' can be replaced
by 'int', 'six.string_type' and 'six.text_type' are just
'str'.
Change-Id: I40a020aa4a8e69a8dd7e800352dc54a9e694d500
This happened in [0], we need to add a partial workaround until a new
neutron release is made.
[0] https://review.opendev.org/288271
Change-Id: I5661e8689d8e3ea861fdd0393e6f25c42cd324c3
This patch switches the code over to the payload style of callbacks [1]
for ROUTER_GATEWAY events for those that are not using them yet.
The unit tests are also updated where needed to account for the
payload style callbacks and publish() method. Finally the patch
normalizes the passing of gateway IPs which are currently referred to
as 'gw_ips' and 'gateway_ips' depending on the event; now all events use
'gateway_ips'.
Depends-On: https://review.opendev.org/#/c/638274/
[1] https://docs.openstack.org/neutron-lib/latest/contributor/callbacks.html
Change-Id: I8f797f31b3413e4879400ad2832539314d6e9cfc
When a server is deleted before its floating IP has been disassociated,
the notification doens't contain a `last_known_router_id` key, which
results in a `KeyError` exception being thrown.
This commit gracefully handles this situation by setting
`last_router_id` to `None` when `last_known_router_id` is missing.
Change-Id: If127a33cec7ce6c4d264a191df37c30decab4daa
Closes-Bug: #1795816
This change adds DVR-aware announcements for routable fixed IP's
to be sent, thereby routing traffic directly to the appropriate
compute node instead of the centralized router on the network node.
Change-Id: I3aecdd7979dba97dab12a6550655c90a57f56cb3
Partial-Bug: #1775250
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
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 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
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
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
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 usage of is_agent_down in neutron.db.agents_db.AgentDbMixin
is deprecated for removal in version ocata, and usage of the is_agent_down
neutron.agent.common.utils is recommended in future release.
Change-Id: Idb52516e4b8f916f4fa50a3d7ff349cd06b8f18e
A recent change in the neutron repository changed the
import statements for external_process, fixing fallout.
Fix post gate hook to accommodate for new os-testr.
New versions now use .stestr instead of previous .testrepository
directory.
Related-bug: #1716746
Change-Id: Iba7579f8de63c6ce87d95167918fc46979702a35
If a bgp speaker is binded to a down dr-agent, unbind and reschedule it.
If there is an unbinded bgp speaker, schedule it.
Change-Id: If5de81f1ca9b7781f48fd9bea84848f4261ccbe6
neutron-lib contains the synchronized lock decorator and neutron is
removing it's implementation I729da348e340509f2d09f8a6436716e2398f1583
This patch uses the decorator from neutron-lib rather than neutron.
Change-Id: Iaf2ce2e339471c91fa64047942c0bb385dd224ee
The callback system in neutron has moved to neutron-lib and hence
consumers need to follow suit.
See Ib6baee2aaeb044aaba42a97b35900d75dd43021f for more details.
Change-Id: Ibe6ec3bf9c4a97ab2e0aa9747272d885fca2936b
This executes the dr scheduler on the callback for create_bgp_speaker.
Also add the following variable for devstack.
BGP_SCHEDULER_DRIVER: specify dr scheduler driver
Change-Id: Ibf94cc2183783f9bdb2dd245ad28d304ca930589
The common config is moving from neutron/agent/common/config
to neutron/conf/agent/common.
Change-Id: I467d93897196e2b0c0c18e2938900e50238d81df
Depends-On: Iebac0cdd3bcfd0135349128921b7ad7a1a939ab8
Neutron-lib now contains the ServicePluginBase class and
thus is being removed from neutron [1]. This patch moves
all such references from neutron to neutron-lib in accordance
with the neutron-lib rehoming.
[1] https://review.openstack.org/#/c/441129/
Change-Id: I5f8f849fb3457198b4565ff37cbdf6fd212b4cdd