On demand configuration of SDN network links for SDN controllers running the Ryu REST Router.
Switchboard allows authorized users to create, approve and manage SDN connections between hosts and is currently used in production at Duke University, where we have begun deploying Software Defined Network (SDN) infrastructure for on-demand configuration of bypass networks both on campus and between higher education institutions over Internet2. These SDN connections can provide very-high-speed paths for moving large volumes of data, and can be configured by on-the-fly Switchboard—a web application developed at Duke.
Switchboard enables real-time, self-service provisioning of high-speed network links by authorized users; this simplifies setting up both long term networks and one-time connections for data migrations.
To make this run a development version on your Mac:
You should probably run Ruby 2.1.2. Ruby Version Manager (RVM - see rvm.io) can be nice if you need to have multiple versions of Ruby on your system.
1.) check out this github project:
git clone https://github.com/mccahill/switchboard.git
2.) run bundle
bundle install
3.) set up the database
rake db:setup rake db:migrate rake db:seed
4.) for development Switchboard is set to run as user ‘liz’. You can change this by editing line 11 in
app/controllers/application.rb netid = 'liz'
5.) We use Capistrano deploy the application. You will need to edit the capistrano configs to suit your situation.
To deploy a staging instance, from within your Switchboard application directory type:
cap staging deploy
The production deployment command is:
cap production deploy
6.) Two config files are are specific to your instance of Switchboard:
config/database.yml config/switchboard.yml
Examples of what these files should contain are found here:
config/database_example.yml config/switchboard_example.yml
You should edit and rename these file to match what you have for database and SDN controller settings.
7.) You are now ready to start your server:
rails s
or run a rails console:
rails c
8.) next: see the README-SDN-SETUP to configure an SDNHub setup so switchboard has something to talk to.