RETIRED, SDN based Distributed Virtual Router for OpenStack Neutron
Go to file
Anusree b50edcca47 Enable mutable config in dragonflow
New releases of oslo.config support a 'mutable' parameter to Opts.
oslo.service provides an option here Icec3e664f3fe72614e373b2938e8dee53cf8bc5e
allows services to tell oslo.service they want mutate_config_files to be
called by passing a parameter.

This commit is to use the same. This allows dragonflow to benefit from
I1e7a69de169cc85f4c09954b2f46ce2da7106d90, where the 'debug' option
(owned by oslo.log) is made mutable. we should be able to turn debug
logging on and off by changing the config.

tc goal:
https://governance.openstack.org/tc/goals/rocky/enable-mutable-configuration.html

Change-Id: I0ab4405413f786052fcf7f896b70e627926803ec
2018-07-26 02:00:57 +05:30
devstack Refactoring of ZMQ pubsub 2018-06-12 13:01:49 +00:00
doc Run Docker container without the controller service 2018-07-16 11:52:29 +03:00
dragonflow Enable mutable config in dragonflow 2018-07-26 02:00:57 +05:30
etc Add Docker support 2018-06-25 08:38:13 +00:00
rally-jobs Adds doc8 check to pep8 2018-07-13 03:52:28 +00:00
releasenotes Add support for osprofiler in dragonflow 2018-01-14 13:27:55 +00:00
tools Merge "Run Docker container without the controller service" 2018-07-16 13:22:28 +00:00
vagrant Remove redundant line from vagrant All-In-One script 2018-03-22 15:38:27 +02:00
zuul Add neutron_tempest_plugin to tempest dependencies 2018-04-08 13:19:37 +00:00
.coveragerc Update .coveragerc after the removal of openstack directory 2016-10-17 16:53:51 +05:30
.gitignore Switch to stestr 2018-07-05 13:38:59 +07:00
.gitreview Update .gitreview file for project rename 2015-06-12 23:12:30 +00:00
.mailmap Initial Cookiecutter Commit. 2015-01-29 16:46:27 +02:00
.stestr.conf Gate fix: verify .testrepository exists before changing permissions 2017-09-13 05:41:22 +03:00
.zuul.yaml add lower-constraints job 2018-06-12 11:20:48 +03:00
babel.cfg Initial Cookiecutter Commit. 2015-01-29 16:46:27 +02:00
CONTRIBUTING.rst Optimize the link address 2017-04-07 10:52:28 +08:00
Dockerfile Add Docker support 2018-06-25 08:38:13 +00:00
HACKING.rst Update and optimize documentation links 2017-07-19 10:58:45 +00:00
LICENSE Initial Cookiecutter Commit. 2015-01-29 16:46:27 +02:00
lower-constraints.txt update requirements for neutron-lib 1.18.0 2018-07-23 07:08:23 -06:00
README.rst Add release note link in README 2018-07-10 14:29:40 +07:00
requirements.txt update requirements for neutron-lib 1.18.0 2018-07-23 07:08:23 -06:00
setup.cfg Move controller ovs functionality to a driver 2018-07-16 08:49:51 +03:00
setup.py Updated from global requirements 2017-03-02 11:43:54 +00:00
test-requirements.txt Adds doc8 check to pep8 2018-07-13 03:52:28 +00:00
tox.ini Re-add D001 test and fix all documents accordingly 2018-07-15 17:50:13 +03:00

Team and repository tags

image

Distributed SDN-based Neutron Implementation

Solution Overview

Overview

Dragonflow implements Neutron using a lightweight embedded SDN Controller.

Our project mission is to Implement advanced networking services in a manner that is efficient, elegant and resource-nimble

Distributed Dragonflow

Comprehensive agentless implementation of the Neutron APIs and advanced network services, such as fully distributed Switching, Routing, DHCP and more.

This configuration is the current focus of Dragonflow. Overview and details are available in the Distributed Dragonflow Section

Solution Overview

Mitaka Version Features

  • L2 core API

    IPv4, IPv6 GRE/VxLAN/STT/Geneve tunneling protocols L2 Population

  • Distributed L3 Virtual Router

  • Distributed DHCP

  • Distributed DNAT

  • Security Groups Using OVS and Connection tracking

  • Pluggable Distributed Database

    Supported databases:

    Stable:

    ETCD, RAMCloud, Redis, Zookeeper

    In progress:

    RethinkDB

  • Pluggable Publish-Subscribe

    ZeroMQ, Redis

  • Selective DB Distribution

    Tenant Based Selective data distribution to the compute nodes

Experimental Mitaka Features

  • Local Controller Reliability

In progress

  • IGMP Distributed application
  • Allowed Address Pairs
  • Port Security
  • DHCP DOS protection
  • Distributed Meta Data Service
  • Kuryr integration
  • Local Controller HA
  • ML2 Driver, hierarchical Port Binding
  • VLAN L2 Networking support
  • Smart broadcast/multicast

In planning

  • Distributed Load Balancing (East/West)
  • DNS service
  • Port Fault detection
  • Dynamic service chaining (service Injection)
  • SFC support
  • Distributed FWaaS
  • Distributed SNAT
  • VPNaaS

Configurations

To generate the sample dragonflow configuration files, run the following command from the top level of the dragonflow directory:

tox -e genconfig

If a 'tox' environment is unavailable, then you can run the following script instead to generate the configuration files:

./tools/generate_config_file_samples.sh