Difference between revisions of "Neutron/DynamicRouting/TestingDynamicRouting"
Line 9: | Line 9: | ||
An ugly schema of the environment will be the following: | An ugly schema of the environment will be the following: | ||
− | + | ||
== Prepare devstack == | == Prepare devstack == | ||
Line 59: | Line 59: | ||
Before run devstack, you should install Ryu BGP driver. Ryu uses olso.config for declare and load configuration options and last version throws a conflict exception. You'd rather install last version from source: | Before run devstack, you should install Ryu BGP driver. Ryu uses olso.config for declare and load configuration options and last version throws a conflict exception. You'd rather install last version from source: | ||
− | + | $ git clone https://github.com/osrg/ryu | |
− | $ git clone https://github.com/osrg/ryu | + | $ cd ryu && sudo python setup.py install |
− | $ cd ryu && sudo python setup.py install | ||
− | |||
now you can run devstack. | now you can run devstack. | ||
+ | |||
+ | == Prepare quagga == | ||
+ | |||
+ | Install Quagga in another virtual machine with a bridged interface. This interface gets IP address 192.168.2.65 |
Revision as of 07:37, 25 August 2014
Contents
Tutorial to test Dynamic Routing
This page explains how to test the Dynamic Routing functionality. Currently this feature is not merged yet and it should be ready for Juno.
Environment to Test
We want to test how Dynamic Routing Agent (dr_agent) is able to exchange routes from Neutron to a uplink Quagga instance. To do so, we are going to deploy a Virtual Machine with devstack and another Virtual Machine with a quagga instance. It will not be a real scenario deployment because we will need to do a trick in the gateway router, but the purpose of this tutorial is just see how the dr_agent works advertising and discovering routes as well as the exposed neutron resources through the python-neutronclient tool.
An ugly schema of the environment will be the following:
Prepare devstack
Just deploy a devstack in a Virtual Machine with a bridged interface. Let's supose this bridged interface gets the 192.168.2.38 address. There is a WIP patch in gerrit to allow depoy the dr-agent here.
To let devstack clone the under-review BGP code (neutron and python-neutronclient), use the following local.conf:
!/usr/bin/env bash
[[local|localrc]] THE_PASSWORD=dummy DATABASE_PASSWORD=${DATABASE_PASSWORD:-$THE_PASSWORD} RABBIT_PASSWORD=${RABBIT_PASSWORD:-$THE_PASSWORD} SERVICE_TOKEN=${SERVICE_TOKEN:-$THE_PASSWORD} SERVICE_PASSWORD=${SERVICE_PASSWORD:-$THE_PASSWORD} ADMIN_PASSWORD=${ADMIN_PASSWORD:-$THE_PASSWORD} SCREEN_LOGDIR=/tmp NEUTRON_REPO=https://review.openstack.org/openstack/neutron NEUTRON_BRANCH=refs/changes/38/115938/1 NEUTRONCLIENT_REPO=https://review.openstack.org/openstack/python-neutronclient NEUTRONCLIENT_BRANCH=refs/changes/18/111318/5 #disable heat, too much time for the Fedora image disable_service h-eng disable_service h-api disable_service h-api-cfn disable_service h-api-cw # enable neutron disable_service n-net enable_service q-svc enable_service q-dhcp enable_service q-meta enable_service q-lbaas enable_service q-agt enable_service q-l3 # enable dynamic routing agent (NEW!) enable_service q-dragent HOST_IP=192.168.2.38
please note the enable_service q-dragent
line is the one that deploys the dr-agent and the branches used in gerrit mention the patchset. So for check the last version you should see if the last part of the branch name is the last patchset available.
Before run devstack, you should install Ryu BGP driver. Ryu uses olso.config for declare and load configuration options and last version throws a conflict exception. You'd rather install last version from source:
$ git clone https://github.com/osrg/ryu $ cd ryu && sudo python setup.py install
now you can run devstack.
Prepare quagga
Install Quagga in another virtual machine with a bridged interface. This interface gets IP address 192.168.2.65