Add an application which logs the data and metadata
of every packet received to the log file.
Change-Id: I665c03c9bdf9f00f9c734ae355336396e15bd27b
Closes-Bug: #1815886
This adds basic framework for dragonflow-status upgrade
check commands. For now it has only "check_placeholder"
check implemented.
Real checks can be added to this tool in the future.
Change-Id: I9791b3fcce65b08f92b3c5d54b529633579f795a
Story: 2003657
Task: 26128
The vswitch_api and ryu are specific to ovs and should be removed from
the main code logic.
They are now encapsulated within the df_ovs_driver.
Currently the vswitch is still referenced directly from the driver in
all the tests. This behavior should be removed in a later patch.
Change-Id: Id919faaebece90c1410226d38f28c52af7693c08
Partial-Bug: #1781376
Move all the ovs-specific code from the df_local_controller to a driver
that is loaded dynamically and wire it properly.
Partial-Bug: #1781376
Change-Id: I2e59042286154bd4f1c58e92c1513ddda97ebedb
To work around the ZMQ issues (publisher binds to a port, thus only one
publisher can work on a given IP), we had a lot of junk code in our
repo.
Removed all redundant mechanisms (use_multiproc, is_neutron_server) and
modified to have 2 types of configurable ZMQ drivers:
1. zmq_remote_pubsub_driver - Has TCP publisher and IPC subscriber, This
should be used in the publisher service.
2. zmq_pubsub_driver - Has IPC publisher and TCP subscriberi, This
should be used in all other uses.
The way to set the one to use is via configuration, thus it is up to the
deployment to make sure this is configured correctly.
Change-Id: Ibf7894e608187e87bdeb7774749bfa0cc15eae56
Add a stevedore entrypoint (dragonflow.db.models). Modules containing
models (e.g. the files in dragonflow/db/models) can now be registered
dynamically (i.e. not hard-coded). The changes to setup.cfg show how
this is done.
Change-Id: I42c0b35e54693b9690771398a99c2d9a4d1c9ab0
Add initial scaffolding to support applications with non-hard-coded
table names and registers.
Includes:
* 'wiring' configuration (vertices and edges)
* Decorator for new applications, with States, Entrypoints, Exitpoints,
and public and private variables.
Includes code for reading and parsing this information, and connecting
the 'external' tables, i.e. the exitpoints of one app to the entrypoint
if the next app.
Change-Id: I81ee47b0c6e741888b3446602cca5e1835c9ae2f
Related-Bug: #1738986
Co-Authored-By: Lihi Wishnitzer <lihiwish@gmail.com>
To enable skydive, one should now enable the service in the local.conf
file using the following line:
enable_service df_skydive
If you would like to install the SkyDive analyzer on the same node, the
SkyDive install lines MUST be before the DragonFlow ones!
Please see doc/source/single-node-conf/etcd_skydive_local_controller.conf
file for usage example
Change-Id: I66c3eaf18904ae1c109d0ca8007269c41261d791
Depends-On: c5921051d7bc05d2c29494be842329e2ffcc008a
Related-Bug: #1749429
Add a parser for the dragonflow model and allow printing the model to
stdout. In the next stages we want to add different representations as
well: e.g. jsonschema, UML, etc.
This is a standalone app, currently not taking any argument. We will add
arguments in the future when more parsers will be added.
Change-Id: I6cb92a676ed7ecf2f23a9c1c4b18ecf57fa409d8
Partial-Bug: #1734146
Our L3 router plugin will complain if agent scheduler extension is
advertised by the plugin, yes not agents available.
This patch splits the plugin into 2 types, so devstack / deployer can
use the one that fits the deployment.
Change-Id: Ieb21189df61967f7dff62ec9ad631b2a5f3dacad
Related-Bug: #1707496
This patch introduces forwarding app for SFC, see API at [1] for
more information.
[1] https://docs.openstack.org/developer/networking-sfc/api.html
Partially-implements: blueprint service-function-chaining
Change-Id: I87b7337b3a56bd416eaa793d58e47872e18f4fae
Added networking_sfc drivers for flow classifiers and SFC functionality.
Can be enabled in devstack with ENABLE_DF_SFC
Partially-implements: blueprint service-function-chaining
Change-Id: I3600caba5618ed16ebad565f73cc4ad1ca128693
This patch creates a new path for all apps bundled with Dragonflow:
dragonflow.controller.apps
And renames several apps so all apps follow the naming convention.
Change-Id: I5db9540971503c4f855b04bd281b4333378fd149
We used to load apps by listing module and class names in a
configuration entry. This patch defines entry points for all present
apps, so we don't have to import them by module path, additionally,
other packages can register new apps, allowing further extensibility.
Closes-Bug: #1702462
Change-Id: Iffa0fea3db36df2f59ef19a621b41838d66cb8d7
The mechanism could be used to send updates from dragonflow controller
to neutron server. It was used as port status notifier, but it could
also been used as fip status notifier.
This patch rename the class to a neutral name "neutron_notifier".
Change-Id: I9aaf30810517ac7a53d120f9cb28b35737c76804
Related-Bug: #1682066
This patch adds BGP db model and BGP service. Currently, BGP service
will sync local cache periodically.
DF bgp service status report will be in following patch, based on
service status report implementation.
Change-Id: I73455fb442c75b8a81ccf371b25b4823c91b85a8
Partially-implements: blueprint bgp-dynamic-routing
The gating on python 3.4 is restricted to <= Mitaka. This is due
to the change from Ubuntu Trusty to Xenial, where only python3.5
is available. There is no need to continue to keep these settings.
Change-Id: Ie516ade5312592ce39e4c27e0e694713c0946082
1. devstack script
2. cassandra driver
It is the first step on support of Cassandra. The driver is
implemented by CQL statements.
Change-Id: If2f9d37b1410ceaa09de2555397f1a21d2a1db4b
Implements: blueprint cassandra-support
Configuration options of metadata_service_app has been moved to
dragonflow/conf/df_metadata_service.py.
Change-Id: I546d39817681464744998db1abd046677e9669a2
Partially-Implements: blueprint centralize-config-options
This patch provides a notification driver for QoS Plugin. QoS plugin can
notify the north bound messages to Dragonflow by the notification driver.
The north bound messages the patch supported are as follows:
1. Create QoS
2. Update QoS
3. Delete Qos
4. Create port with QoS
5. Update port with QoS
6. Update network with QoS
coresponding spec:
Implements: blueprint qos-app
Co-Authored-By: Hong Hui Xiao <honghui_xiao@yeah.net>
Co-Authored-By: xuxiaojie <xiaojie.xu@huawei.com>
Change-Id:I8ebebc40248374a424a14b93f186293a708c6b70
This adds the ability syn DF db port status
to Neutron db by monitoring ovsdb at each
compute node.
This patch handles the Logical port status up/down updates
At startup, it catches the initial 'create' events from
compute node and updates the port status if not in sync.
If the Logical_Port.up changes from False to True
it sets the port status to 'ACTIVE' so that neutron server
can send 'network-vif-plugged' event to nova.
If the Logical_Port.up changes from True to False
it sets the port status to 'DOWN' so that neutron server
can send 'network-vif-unplugged' event to nova.
Change-Id: I9ab9375686e98f3d90778322d024122abf4ff8c8