Fauré is a network management platform built atop the Ravel controller. Ravel is a software-defined networking (SDN) controller that uses a standard SQL abstraction to represent and update the network (For more information on Ravel, see https://github.com/ravel-net/ravel or http://ravel-net.org or follow the walkthrough). In addition to the familiar interface of traditional databases inherited from Ravel, Fauré incorporates and implements the new theories of incomplete database, allowing direct modeling and new verification methods of networks that are only partially known (For more information, see the Fauré paper at HotNets'21).
sarasate
application. Relational Algebra for Conditional Table.
For the details, see README_sarasate.md
bgp
application. BGP simulation by using Sarasate application
For the details, see README_bgp.md
For installation instructions, see INSTALL
.
We assume your system has matched prerequisites, the INSTALL
can successfully run under these prerequisites. Thus, before installing Fauré, please check whether the prerequisites are available.
Fauré command-line arguments:
--help
, -h
: show the help message and exit--clean
, -c
: cleanup Ravel and Mininet --onlydb
, -o
: start Ravel without Mininet--reconnect
, -r
: reconnect to an existing database, skipping reinit--noctl
, -n
: start without controller (Mininet will still attempt to connect to a remote controller)--db
, -d
: PostgreSQL database name--user
, -u
: PostgreSQL username--password
, -p
: force prompt for PostgreSQL password--verbosity
, -v
: set logging output verbosity (debug|info|warning|critical|error)For example, to run Fauré under --onlydb
with default database ravel and user ravel
sudo python3 ravel.py --onlydb
To run Fauré under --onlydb
with other databases and users:
sudo python3 ravel.py --onlydb --db=dbname --user=username --password=password
The Fauré CLI has a number of commands to monitor and control applications and the network:
help
: show list of commandsapps
: list discovered applicationsstat
: show running configurationp
: execute SQL statementtime
: print execution timeprofile
: print detailed execution timereinit
: truncate all database tables except topologywatch
: spawn new xterm watching database tablesorch load
: load a set of orchestrated applications (in ascending ordering of priority)orch unload
: unload one or more applications from the orchestrated setorch auto [on/off]
: auto-commit commands for orchestrationFauré 1.0 support Python 3!
We upgrade Python 2 to Python 3 in Fauré. If still want to use the Python 2 version, see Ravel.
In Fauré system, we are not openning all modes provided in Ravel system. In the future, we will open all modes related to Mininet in the Fauré system.