Commit Graph

64 Commits

Author SHA1 Message Date
Sean McGinnis 7839f35ca3
Retire repo
This patch completes step 2 of the infra project retirement process
found here:

https://docs.opendev.org/opendev/infra-manual/latest/drivers.html#step-2-remove-project-content

Reference:

http://lists.openstack.org/pipermail/openstack-discuss/2020-June/015600.html

Depend-on: https://review.opendev.org/737566

Change-Id: Id3a5477860323547a4e17155061f597a8c96640b
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2020-06-23 10:49:40 -05:00
zhulingjie 7db3e3b005 Update the home-page for README.rst
Change-Id: I015569ac7cfa778c8eb19f7ae5bd8c5a796d643e
Closes-Bug: #1797775
2019-06-16 10:52:11 +00:00
Omer Anson e077ff987d Add a packet logger application
Add an application which logs the data and metadata
of every packet received to the log file.

Change-Id: I665c03c9bdf9f00f9c734ae355336396e15bd27b
Closes-Bug: #1815886
2019-03-21 07:48:16 +00:00
LeopardMa 9a8c454d44 Change openstack-dev to openstack-discuss
Change-Id: I87c145f08a96438e369dfd3f38ab4aa1e2bbb104
2018-12-04 02:52:03 -05:00
Omer Anson bd037320f2 Add REST API service
Usage documentation will follow.

Partially implements, since authentication is not yet supported.

Co-Authored-By: Shachar Snapiri <shachar.snapiri@toganetworks.com>
Change-Id: Ic9a69baf33d5bed4c35f89d45c8acfd3129e5d03
Partially-Implements: blueprint add-dragonflow-api
2018-11-11 15:59:09 +02:00
whoami-rajat 34fd2a0ec7 Add dragonflow-status upgrade check command framework
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
2018-10-18 16:03:00 +05:30
Shachar Snapiri 7f973380b6 Separate vswitch_api and ryu from the main logic
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
2018-08-29 00:26:36 +03:00
Shachar Snapiri cbb9993b3d Move controller ovs functionality to a driver
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
2018-07-16 08:49:51 +03:00
Nguyen Van Trung cd628426cd Follow the new PTI for document build
For compliance with the Project Testing Interface as described in:
https://governance.openstack.org/tc/reference/project-testing-interface.html

For more details information, please refer to:
http://lists.openstack.org/pipermail/openstack-dev/2017-December/125710.html

Change-Id: Iec12cf7d3d9a84ff6ef4550d8453e822e80bc3c7
2018-07-09 09:16:16 +07:00
Shachar Snapiri bbe1347e4e Refactoring of ZMQ pubsub
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
2018-06-12 13:01:49 +00:00
Omer Anson da6a6d1938 Allow modules to be registered dynamically
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
2018-05-31 11:10:48 +03:00
Dima Kuznetsov c3280d5ca5 New application framework
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>
2018-04-29 15:58:26 +03:00
Shachar Snapiri 7be2d258e2 Add df_skydive_service to dragonflow
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
2018-04-11 14:15:02 +03:00
Shachar Snapiri a5af838258 Add dragonflow model printers - first stage
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
2017-11-29 17:30:59 +02:00
Lihi Wishnitzer 51b85e265e Add pubsub mechanism to etcd
Change-Id: I18890c0b14b2308699906121c854e1dddd9041f9
2017-10-19 09:41:40 +03:00
Omer Anson 25356f1405 Adding RethinkDB driver
Closes-Bug: #1625206
Closes-Bug: #1527217
Partial-Bug: #1530877
Change-Id: I2e592b752a51cd3651be6c020ca052f57fa9efef
2017-09-13 07:07:44 +00:00
Omer Anson c5ed2128f5 Add an in-memory NB database driver
This driver can be used by unit tests to have an NB databse that looks
and feels 'real'.

Change-Id: I9aeb242e3151f452c1130d8b300e6958e64874f4
2017-09-06 15:31:39 +03:00
Dima Kuznetsov 843a852671 L3 router plugin: support agent scheduler conditionally
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
2017-08-27 08:41:30 +03:00
Dima Kuznetsov ca4eeb5282 [05/xx] Move port events handling into standalone app
Change-Id: Idff1ceacaaa5e2c4e3b8c067d7c00d4f61be487c
2017-08-16 18:06:50 +03:00
Dima Kuznetsov 4647e0b8ab [04/xx] Introduce SFC forwarding app
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
2017-07-26 12:01:47 +03:00
Jenkins d8e6eab4c7 Merge "[03/xx] Introduce SFC flow classifier app" 2017-07-19 12:42:37 +00:00
Jenkins 709e811e67 Merge "[02/xx] Add SFC drivers to Dragonflow" 2017-07-19 12:42:16 +00:00
Dima Kuznetsov 9a3092ffce [03/xx] Introduce SFC flow classifier app
This patch introduces classification app for SFC, see flow classifier
API at [1] for more information.

Fullstack tests for the app provided in the SFC app patch [2]

[1] https://docs.openstack.org/developer/networking-sfc/api.html
[2] https://review.openstack.org/#/c/424146

Partially-implements: blueprint service-function-chaining
Change-Id: If046b84ed432c225e332f3d7daf4dafa3550c33d
2017-07-18 13:06:04 +03:00
Dima Kuznetsov f01f6307c8 [02/xx] Add SFC drivers to Dragonflow
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
2017-07-18 13:06:04 +03:00
Luong Anh Tuan fda23dc6a3 Update URL home-page in documents according to document migration
Change-Id: I113bd2f8e97d8272dfc30400a20569aec6366860
2017-07-14 02:54:56 +00:00
Dima Kuznetsov 81a9bb518b Move apps into a separate path
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
2017-07-06 17:03:48 +03:00
Dima Kuznetsov 7367754398 Use stevedore to load apps
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
2017-07-06 11:47:26 +03:00
Hong Hui Xiao 3ed9c29104 Rename port_status_notifier to neutron_notifier
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
2017-05-05 15:33:10 +08:00
Hong Hui Xiao 82fa657f14 Add bgp service plugin
Change-Id: I8095ab4636bdb608572b6ae9523c708cc58d3e51
Partially-implements: blueprint bgp-dynamic-routing
Depends-On: Ief5df0845816c39ed761baf3c202eebc3b90a8a3
2017-04-25 02:28:46 +00:00
Hong Hui Xiao df420471c7 Add BGP db model and service
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
2017-04-25 02:28:27 +00:00
Dima Kuznetsov 63ab27f882 Migrate QoS driver to new driver base
Closes-Bug: #1683784
Change-Id: I8a6a603bea463853d07379329684ca3d6a5dc16a
2017-04-24 10:13:02 +03:00
Jenkins e16f8c8519 Merge "Remove support for py34 for dragonflow" 2017-03-13 14:07:20 +00:00
gengchc2 9dc1786fe9 Remove support for py34 for dragonflow
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
2017-03-10 00:56:07 +00:00
Li Ma f7b600f710 Cassandra Support
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
2017-01-17 08:38:57 +00:00
Rajiv Kumar 64fc2162e1 Moved config options of metadata_service_app
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
2016-11-23 12:27:34 +00:00
Jenkins f3e56f2132 Merge "Add QoS North Bound Functionality" 2016-11-04 02:16:17 +00:00
Omer Anson 6326f0f84c Add license property to setup.cfg
Change-Id: Id1320301bd600c8414accf382e7de7050f7fdd1a
2016-11-02 14:10:46 +02:00
wangyongben 85af773f41 Add QoS North Bound Functionality
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
2016-11-01 18:22:15 +08:00
jingting d1162da526 port 'up' and 'down' status notification
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
2016-10-11 09:08:25 +08:00
Li Ma bf7a2176fb Implements oslo conf generator
Change-Id: Ifca462b686ea914db5861880f23adde311fb4bb9
Implements: blueprint oslo-config-generator
Closes-Bug: #1523510
2016-09-29 16:42:03 +08:00
Li Ma 169074acac Explicitly describe python support
Change-Id: I2b6d556044042190d8bb465a29983571b1197bfb
2016-09-02 16:39:20 +08:00
Jenkins 6a29ea8f6f Merge "Add Dragonflow metadata service." 2016-08-11 10:29:18 +00:00
Jenkins fb63cd05fa Merge "NB DB entry point definition" 2016-07-28 01:24:14 +00:00
Lionel Zerbib 29ccc56a00 NB DB entry point definition
This patch defines an entry point in setup.cfg for the NB DB class definition

Change-Id: Icd773943a2671db0bbf1f4623ab2e8772a879cb3
2016-07-26 13:56:33 +03:00
Omer Anson 2af5a9d1c4 Add Dragonflow metadata service.
Add dragonflow metadata service. To enable, add 'enable_service df-meta'
to local.conf before running devstack.

Change-Id: I630fdd0b9815437358419aaecc24627efcfe76d0
2016-07-25 15:35:54 +03:00
zhangyanxian 229f6418de Update the home-page info with the developer documentation
Change-Id: I6cd17ebe2d1129603d30456f5d924ae27fdc0e8c
2016-07-25 01:07:15 +00:00
wangyongben 258206352c Support L3 plugin
This patch implements dragonflow l3 plugin
support router, router interface and floating ip

Change-Id: I8ebebc40248374a424a14b93f186283a707b5a60
2016-07-20 08:19:29 +00:00
Jenkins 3b46a96bd3 Merge "Remove explicit eventlet.monkey_patch()" 2016-06-05 06:29:04 +00:00
Li Ma a74be8183c Change the project description to reflect the current status
Change-Id: I81d51458faa830ce9e1b64027845ce39d8da741e
2016-05-31 17:02:00 +08:00
Li Ma 7eb5abdf4e Remove explicit eventlet.monkey_patch()
Change-Id: Idacf87355d6efabcd0d2714f05b4285ac39ad08b
Closes-Bug: #1522784
Related-Bug: #1568220
2016-05-31 16:48:40 +08:00