3
You have come across a cloud computing network fabric controller. It has
4
identified itself as "Quantum." It aims to tame your (cloud) networking!
8
1) Quantum REST API: Quantum supports a REST-ful programmatic interface to
9
manage your cloud networking fabric.
11
2) Quantum Plugins: Quantum sports a plug-able architecture that allows
12
Quantum's REST API to be backed by various entities that can create a
13
cloud-class virtual networking fabric. The advantages of this plug-able
14
architecture is two-folds:
16
a) Allows for ANY open-source project or commercial vendor to write a
19
b) Allows Quantum users to not be tied down to a single Quantum
20
implementation and enables them to switch out a plug-in by simple editing a
21
config file - plugins.ini
25
The following python packages are required to run quantum. These can be
39
1) Install easy_install (there is probably a distribution specific package for
43
$ easy_install pip==dev
44
3) Install packages with pip:
45
$ pip install <package name>
47
# -- Configuring Quantum plug-in
49
1) Identify your desired plug-in. Choose a plugin from one of he options in
50
the quantum/plugins directory.
52
2) Update plug-in configuration by editing the quantum/plugins.ini file and
53
modify "provider" property to point to the location of the Quantum plug-in.
54
It should specify the class path to the plugin and the class name (i.e. for
55
a plugin class MyPlugin in quantum/plugins/myplugin/myplugin.py the
56
provider would be: quantum.plugins.myplugin.myplugin.MyPlugin)
58
3) Read the plugin specific README, this is usually found in the same
59
directory as your Quantum plug-in, and follow configuration instructions.
61
# -- Launching the Quantum Service
63
1) Start quantum using the following command [on the quantum service host]:
64
~/src/quantum$ PYTHONPATH=.:$PYTHONPATH python bin/quantum etc/quantum.conf
66
# -- Making requests against the Quantum Service
68
Please refer to sample Web Service client code in:
70
../quantum/test_scripts/miniclient.py
72
# -- CLI tools to program the Quantum-managed Cloud networking fabric
74
Quantum comes with a programmatic CLI that is driven by the Quantum Web
75
Service. You can use the CLI by issuing the following command:
77
~/src/quantum$ PYTHONPATH=.:$PYTHONPATH python quantum/cli.py
79
This will show help all of the available commands.
81
An example session looks like this:
84
$ PYTHONPATH=. python quantum/cli.py -v create_net $TENANT network1
85
Created a new Virtual Network with ID:e754e7c0-a8eb-40e5-861a-b182d30c3441
87
# -- Writing your own Quantum plug-in
89
If you wish the write your own Quantum plugin, please refer to some concrete as
90
well as sample plugins available in:
92
../quantum/quantum/plugins/.. directory.
94
There are a few requirements to writing your own plugin:
96
1) Your plugin should implement all methods defined in the
97
quantum/quantum_plugin_base.QuantumPluginBase class
99
2) Copy your Quantum plug-in over to the quantum/quantum/plugins/.. directory
101
3) The next step is to edit the plugins.ini file in the same directory
102
as QuantumPluginBase class and specify the location of your custom plugin
105
4) Launch the Quantum Service, and your plug-in is configured and ready to
106
manage a Cloud Networking Fabric.