]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
README fixes
authorBrad Hall <bhall@nicira.com>
Thu, 9 Jun 2011 14:42:19 +0000 (07:42 -0700)
committerBrad Hall <bhall@nicira.com>
Thu, 9 Jun 2011 14:42:19 +0000 (07:42 -0700)
README
quantum/plugins/openvswitch/README

diff --git a/README b/README
index 19d15d095d034cc638b9362db834ef5369784785..f3e973faacd002e0c4632a733191c7e74ce5f388 100644 (file)
--- a/README
+++ b/README
@@ -1,25 +1,29 @@
 # -- Welcome!
 
-  You have come across a cloud computing network fabric controller.  It has identified
-  itself as "Quantum."  It aims to tame your (cloud) networking!
+  You have come across a cloud computing network fabric controller.  It has
+  identified itself as "Quantum."  It aims to tame your (cloud) networking!
 
 # -- Basics:
 
-1) Quantum REST API: Quantum supports a REST-ful programmatic interface to manage your
-   cloud networking fabric.
+1) Quantum REST API: Quantum supports a REST-ful programmatic interface to
+   manage your cloud networking fabric.
 
-2) Quantum Plugins: Quantum sports a plug-able architecture that allows Quantum's REST API
-   to be backed by various entities that can create a cloud-class virtual networking fabric.
-   The advantages of this plug-able architecture is two-folds:
+2) Quantum Plugins: Quantum sports a plug-able architecture that allows
+   Quantum's REST API to be backed by various entities that can create a
+   cloud-class virtual networking fabric.  The advantages of this plug-able
+   architecture is two-folds:
 
-   a) Allows for ANY open-source project or commercial vendor to write a Quantum plug-in.
+   a) Allows for ANY open-source project or commercial vendor to write a
+   Quantum plug-in.
 
-   b) Allows Quantum users to not be tied down to a single Quantum implementation and
-      enables them to switch out a plug-in by simple editing a config file - plugins.ini
+   b) Allows Quantum users to not be tied down to a single Quantum
+   implementation and enables them to switch out a plug-in by simple editing a
+   config file - plugins.ini
 
 # -- Dependencies
 
- The following python packages are required to run quantum.  These can be installed using pip:
+ The following python packages are required to run quantum.  These can be
+ installed using pip:
 
  eventlet>=0.9.12
  nose
@@ -32,7 +36,9 @@
  webob
  webtest
 
-1) Install easy_install (there is probably a distribution specific package for this)
+1) Install easy_install (there is probably a distribution specific package for
+this)
+
 2) Install pip:
    $ easy_install pip==dev
 3) Install packages with pip:
 
 # -- Configuring Quantum plug-in
 
-1) Explore sample and real Quantum plug-ins in the quantum.plugins module.
-
-2) Or copy another Quantum plug-in into the quantum.plugins module.
+1) Identify your desired plug-in.  Choose a plugin from one of he options in
+   the quantum/plugins directory.
 
-3) Update plug-in configuration by editing plugins.ini file and modify
-   "provider" property to point to the location of the Quantum plug-in.
+2) Update plug-in configuration by editing the quantum/plugins.ini file and
+   modify "provider" property to point to the location of the Quantum plug-in.
+   It should specify the class path to the plugin and the class name (i.e. for
+   a plugin class MyPlugin in quantum/plugins/myplugin/myplugin.py the
+   provider would be: quantum.plugins.myplugin.myplugin.MyPlugin)
 
-4) Read the plugin specific README, this is usually found in the same
+3) Read the plugin specific README, this is usually found in the same
    directory as your Quantum plug-in, and follow configuration instructions.
 
 # -- Launching the Quantum Service
@@ -63,8 +71,8 @@ Please refer to sample Web Service client code in:
 
 # -- CLI tools to program the Quantum-managed Cloud networking fabric
 
-Quantum comes with a programmatic CLI that is driven by the Quantum Web Service
-You can use the CLI by issuing the following command:
+Quantum comes with a programmatic CLI that is driven by the Quantum Web
+Service.  You can use the CLI by issuing the following command:
 
 ~/src/quantum$ PYTHONPATH=.:$PYTHONPATH python quantum/cli.py
 
@@ -85,16 +93,16 @@ well as sample plugins available in:
 
 There are a few requirements to writing your own plugin:
 
-1) Your plugin should implement all methods defined in
-../quantum/quantum/quantum_plugin_base.QuantumPluginBase class
+1) Your plugin should implement all methods defined in the
+   quantum/quantum_plugin_base.QuantumPluginBase class
 
-2) Copy your Quantum plug-in over to the ../quantum/quantum/plugins/.. directory
+2) Copy your Quantum plug-in over to the quantum/quantum/plugins/.. directory
 
 3) The next step is to edit the plugins.ini file in the same directory
    as QuantumPluginBase class and specify the location of your custom plugin
    as the "provider"
 
-4) Launch the Quantum Service, and your plug-in is configured and ready to manage
-   a Cloud Networking Fabric.
+4) Launch the Quantum Service, and your plug-in is configured and ready to
+   manage a Cloud Networking Fabric.
 
 
index 689624f1b98ffefb8c60449a124b260fa6e76eba..090e53b73dcf5d7f378104d2c058f6361fba976e 100644 (file)
@@ -43,11 +43,13 @@ To prep mysql, run:
 
 $ mysql -u root -p -e "create database ovs_quantum"
 
-Make sure any xenserver running the ovs quantum agent will be able to communicate with the host running the quantum service:
+Make sure any xenserver running the ovs quantum agent will be able to
+communicate with the host running the quantum service:
 
 //log in to mysql service
 $ mysql -u root -p
-//grant access to user-remote host combination
+// grant access to user-remote host combination.  Note: if you're going to use
+// a wildcard here it should be a management network with only trusted hosts.
 mysql> GRANT USAGE ON *.* to root@'yourremotehost' IDENTIFIED BY 'newpassword';
 //force update of authorization changes
 mysql> FLUSH PRIVILEGES;
@@ -70,6 +72,7 @@ $ make agent-dist
 - Unpack the tarball and run install.sh.  This will install all of the
   necessary pieces into /etc/xapi.d/plugins.  It will also spit out the name
   of the integration bridge that you'll need for your nova configuration.
+  Make sure to specify this in your nova flagfile as --flat_network_bridge.
 - Run the agent [on your hypervisor (dom0)]:
 $ /etc/xapi.d/plugins/ovs_quantum_agent.py /etc/xapi.d/plugins/ovs_quantum_plugin.ini
 
@@ -86,21 +89,19 @@ This will show help all of the available commands.
 An example session looks like this:
 
 $ export TENANT=t1
-$ PYTHONPATH=. python quantum/cli.py -v create_net $TENANT network1
+$ PYTHONPATH=. python quantum/cli.py create_net $TENANT network1
 Created a new Virtual Network with ID:e754e7c0-a8eb-40e5-861a-b182d30c3441
 $ export NETWORK=e754e7c0-a8eb-40e5-861a-b182d30c3441
-$ PYTHONPATH=. python quantum/cli.py -v create_port $TENANT $NETWORK
+$ PYTHONPATH=. python quantum/cli.py create_port $TENANT $NETWORK
 Created Virtual Port:5a1e121b-ccc8-471d-9445-24f15f9f854c on Virtual Network:e754e7c0-a8eb-40e5-861a-b182d30c3441
 $ export PORT=5a1e121b-ccc8-471d-9445-24f15f9f854c
-$ PYTHONPATH=. python quantum/cli.py -v plug_iface $TENANT $NETWORK $PORT ubuntu1-eth1
+$ PYTHONPATH=. python quantum/cli.py plug_iface $TENANT $NETWORK $PORT ubuntu1-eth1
 Plugged interface "ubuntu1-eth1" to port:5a1e121b-ccc8-471d-9445-24f15f9f854c on network:e754e7c0-a8eb-40e5-861a-b182d30c3441
-$ PYTHONPATH=. python quantum/cli.py -v plug_iface $TENANT $NETWORK $PORT ubuntu2-eth1
-Plugged interface "ubuntu2-eth1" to port:5a1e121b-ccc8-471d-9445-24f15f9f854c on network:e754e7c0-a8eb-40e5-861a-b182d30c3441
 
-Now you should have connectivity between ubuntu1-eth1 and ubuntu2-eth1..
+(.. repeat for more ports and interface combinations..)
 
 # -- Other items
 
-- To get a listing of the vif names that the ovs quantum service will expect
-  them in, issue the following command on the hypervisor (dom0):
+- To get a listing of the vif names in the format that the ovs quantum service
+  will expect them in, issue the following command on the hypervisor (dom0):
 $ for vif in `xe vif-list params=uuid --minimal | sed s/,/" "/g`; do echo $(xe vif-list params=vm-name-label uuid=${vif} --minimal)-eth$(xe vif-list params=device uuid=${vif} --minimal); done