On Tue, Oct 02, 2012 at 08:58:21AM +0900, FUJITA Tomonori wrote:
> Can you write up doc about how to set up this?

Here is.

>From 8830ea259e97553d907879173456bc69b4225335 Mon Sep 17 00:00:00 2001
Message-Id: 
<8830ea259e97553d907879173456bc69b4225335.1349185519.git.yamah...@valinux.co.jp>
From: Isaku Yamahata <[email protected]>
Date: Tue, 2 Oct 2012 22:43:37 +0900
Subject: [PATCH] docs: tunneling app

Signed-off-by: Isaku Yamahata <[email protected]>
---
 doc/source/openstack.rst                |    1 +
 doc/source/tunneling_with_openstack.rst |  159 +++++++++++++++++++++++++++++++
 2 files changed, 160 insertions(+)
 create mode 100644 doc/source/tunneling_with_openstack.rst

diff --git a/doc/source/openstack.rst b/doc/source/openstack.rst
index ec1b9b1..5c973ca 100644
--- a/doc/source/openstack.rst
+++ b/doc/source/openstack.rst
@@ -10,3 +10,4 @@ Ryu provides tenant isolation feature in OpenStack.
    using_with_openstack.rst
    step_by_step.rst
    how_l2_segregation_works.rst
+   tunneling_with_openstack.rst
diff --git a/doc/source/tunneling_with_openstack.rst 
b/doc/source/tunneling_with_openstack.rst
new file mode 100644
index 0000000..be1a384
--- /dev/null
+++ b/doc/source/tunneling_with_openstack.rst
@@ -0,0 +1,159 @@
+.. _tunneling_with_openstack:
+
+*******************************
+Using tunneling  with OpenStack
+*******************************
+This section describes how to setup openstack (nova, quantum) and ryu-manage
+with tunneling enabled.
+
+Overview
+========
+
+* install necessary components
+
+  TODO: when the modifications are upstreamed, drop them.
+
+   * patched ryu
+   * patched openvswitch
+   * openstack
+     * patched quantum
+     * other openstack component(nova, ...) can be used from the upstream as is
+* setup configuration appropriately
+* run those component
+* start guest instance as you like.
+* enjoy
+
+If you have not tried openstack, it is strongly recommended to try normal
+openstack setup with quantum OVS plugin at first.
+
+
+Avaiable repository
+-------------------
+Unfortunately several components needs patches at the moemnt.
+For convenience, they are avaiable at github as follows.
+TODO: when the modifications are upstreamed, drop them.
+
+NOTE: you may want to check if  configuration files of them.
+
+* git://github.com/yamahata/ryu.git ryu-gre-tunnel-sep-28-2012
+* git://github.com/yamahata/openvswitch.git ryu-gre-tunnel-sep-28-2012
+* git://github.com/yamahata/quantum.git ryu-gre-tunnel-sep-28-2012
+* git://github.com/yamahata/devstack.git ryu-gre-tunnel-sep-26-2012
+
+Other component of openstack can be used from the upstream.
+Probably openstack Folsom stable tree would be safe choice.
+
+Devstack way
+============
+It is recommended to use devstack.
+
+#. download the patched devstack from the above git repo
+#. edit localrc depending on your environment
+
+   For detailed, see the next section.
+
+   .. code-block:: none
+
+      # git clone git://github.com/yamahata/devstack.git 
ryu-gre-tunnel-sep-26-2012
+      # cd devstack
+      # vi localrc
+      edit localrc appropriately
+
+#. run devstack
+
+   # ./stack.sh
+
+#. wait stack.sh to finish and use openstack as usual
+
+devstack localrc
+----------------
+This is minimal sample. See stack.sh for details and other optional variables.
+* services
+   * service node case
+      * 
ENABLED_SERVICES="g-api,g-reg,key,n-api,n-crt,n-obj,n-cpu,-n-net,n-vol,n-sch, 
n-novnc,n-xvnc,n-cauth,horizon,mysql,rabbit,quantum,q-agt,q-l3,q-dhcp,q-svc,ryu,r-svc"
+   * compute only node case
+      * ENABLED_SERVICES="n-cpu,quantum,q-agt"
+
+* nova virt driver stuff
+   * LIBVIRT_TYPE=kvm
+
+* quantum stuff
+   * Q_PLUGIN=ryu
+     We'd like to use ryu plugin
+   * Q_HOST
+     ip address on which qemutum server is running
+   * QUANTUM_REPO=git://github.com/yamahata/quantum.git
+   * QUANTUM_BRANCH=ryu-gre-tunnel-sep-28-2012
+
+* ryu stuff
+   * 
RYU_APPS=ryu.app.simple_isolation,ryu.app.rest,ryu.app.rest_tunnel,ryu.app.rest_conf_switch
+   * RYU_REPO=git://github.com/yamahata/ryu.git
+   * RYU_BRANCH=ryu-gre-tunnel-sep-28-2012
+
+* optional available setting
+   * quamtum ryu plugin
+      IP address on which ryu-manager is running.
+
+      * RYU_API_HOST
+      * RYU_OFP_HOST
+
+
+Manual way
+==========
+#. download the ryu repository from the above git repo
+#. run ryu-manager with the following
+   .. code-block: none
+     # git clone git://github.com/yamahata/ryu.git ryu-gre-tunnel-sep-28-2012
+     # cd ryu
+     # ./bin/ryu-manager --app_lists=ryu/app/gre_tunnel.py 
--app_lists=ryu/app/quantum_adapter.py --app_lists=ryu/app/rest.py 
--app_lists=ryu/app/rest_conf_switch.py --app_lists=ryu/app/rest_tunnel.py 
--app_lists=ryu/app/tunnel_port_updater.py 
--sql_connection=mysql://root:mysql@localhost/ovs_quantum?charset=utf8 
--quantum_url=http://localhost:9696 
--quantum_admin_auth_url=http://localhost:5000/v2.0/ 
--quantum_controller_addr=tcp:172.16.3.33:6633
+
+  The point is to run the following ryu network applications.
+   * gre_tunnel
+   * quantum_adapter
+   * tunnel_port_updater
+   * rest
+   * rest_conf_switch
+   * rest_tunnel
+
+  Here is the configurations for quantum adapter
+   * --sql_connection
+     This is the database connection to quantum db which is same to
+     the one in quantum/plugin/ryu/ryu.ini
+   * --int_bridge
+     the name of integration bridge of quantum which is same to
+     the value of integration_bridge in quantum/plugin/ryu/ryu.ini
+   * --quantum_url
+     URL for connecting to quantum
+   * --quantum_url_timeout
+     timeout value for connecting to quantum in seconds
+   * --quantum_admin_username
+     username for connecting to quantum in admin context
+   * --quantum_admin_password
+     password for connecting to quantum in admin context
+   * --quantum_admin_tenant_name
+     tenant name for connecting to quantum in admin context
+   * --quantum_admin_auth_url
+     auth url for connecting to quantum in admin context
+   * --quantum_auth_strategy
+     auth strategy for connecting to quantum in admin context
+     keystone or noauth
+   * --quantum_controller_addr
+     openflow mehod:address:port to set controller of
+     This option must be specified as no default value is set.
+
+#. necessary quantum settings
+
+   * nova/nova.conf
+      * libvirt_vif_driver = nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver
+   * quantum/plugin/ryu.ini
+      * openflow_rest_api
+   * quantum/quantum.conf
+      * core_plugin = quantum.plugins.ryu.ryu_quantum_plugin.RyuQuantumPluginV2
+      * interface_driver =  
quantum.agent.linux.interface.OVSVethInterfaceDriver
+
+#. run necessary daemons as you want
+
+#. don't forget to run quantum agent depending on your setup
+    * quantum-ryu-agent
+    * quantum-dhcp-agent
+    * quantum-l3-agent
-- 
1.7.10.4



------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to