Any other installation guides besides devstack and vagrant

Asked by patrick on 2015-10-21

I've already had a multi-nodes openstack cluster including the following components:
neutron, nova, keystone, cinder and glance.

And I want to install dragonflow on the top of the existing openstack cluster intsead of installing from the scratch. But I can't find any guides or documentations about that. So, I do it all by myself.

1) Install dragonflow and ryu with pip;
2) Edit neutron.conf to add L3controller_ip_list = <controller_ip>;
3) Start l3 controller agent by
/usr/bin/python26 /usr/bin/neutron-l3-controller-agent --log-file=/var/log/dragonflow/dragonflow.log --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/l3_agent.ini

And it raised an error:
 neutron.agent.l3.agent RemoteError: Remote error: OperationalError (OperationalError) (1054, "Unknown column 'floatingips.is_internal' in 'field list'")

Could anyone provide any suggestion or any sample dragonflow configurations to make it works?
Thanks.

Question information

Language:
English Edit question
Status:
Solved
For:
DragonFlow Edit question
Assignee:
No assignee Edit question
Solved by:
patrick
Solved:
2015-11-12
Last query:
2015-11-12
Last reply:
2015-10-22
Gal Sagie (gal-sagie) said : #1

Hi Patrick,

As you mentioned, we are missing an installation guide and we will add one after the summit.

In the mean time what you need to do in order to install Dragonflow, is follow the same steps that the devstack
plugin does to install it.

You can see the plugin at our repository: dragonflow/devstack/plugin.sh

Search for the text "if [[ "$Q_ENABLE_DRAGONFLOW_LOCAL_CONTROLLER" == "True" ]]; then"

And follow the method calls:

1) install_df (which calls the etcd_driver file methods) - basically this installs etcd server and client
                           and also installs Ryu and clone Dragonflow repository
2) install OVS 2.4 and start the OVSDB server with specific flags (you can see the IP is used as remote to be the same
    as the host ip and start vswitchd
3) do some defining and start dragonflow controller (you need to follow the same methods done in that block)

I suggest to first install Dragonflow with devstack.
I hope that after the summit we can write a more detailed guide (or automation script) to do what you need
without all this problem.
Btw, what you are trying to run (neutron.agent.l3.agen) is no longer needed in Dragonflow, it is code that is used for centralized Dragonflow, right now the only parts that Dragonflow needs is the Neutron plugin and the local Dragonflow controller.

patrick (kldeng05) said : #2

Hi, Gal.
Sorry for my late reply and thank you for your suggestions. Finally, I installed DragonFlow in multi-nodes mode with devstack. And I dumped the flow tables of br-int after creating two private network connected by a router and lanuching one VM on each network:

NXST_FLOW reply (xid=0x4):
 cookie=0x0, duration=3979.531s, table=0, n_packets=0, n_bytes=0, idle_age=3979, priority=1 actions=drop
 cookie=0x0, duration=3979.520s, table=0, n_packets=0, n_bytes=0, idle_age=3979, priority=0 actions=NORMAL
 cookie=0x0, duration=3978.780s, table=0, n_packets=2527, n_bytes=205534, idle_age=1, priority=1000,in_port=5 actions=write_metadata:0x1f4f/0xffff
 cookie=0x0, duration=3979.530s, table=0, n_packets=1636, n_bytes=160328, idle_age=1, priority=1000,in_port=14 actions=NORMAL
cookie=0x0, duration=3979.514s, table=23, n_packets=0, n_bytes=0, idle_age=3979, priority=0 actions=drop

port 5 is connected to one of VMs.
As referred by your blog post (http://galsagie.github.io/sdn/openstack/ovs/dragonflow/2015/05/11/dragonflow-2/), it should have "goto_table:40" action in the port 5 action set.

And from my understanding, the packet origrinating from VM will be ended after traversing the flow table 0. Correct me if I am wrong.

Did I missing anyting during the installation or configuration?

Thank you!

patrick (kldeng05) said : #3

I found what the proble is. Missing "-O OpenFlow1.3" in ovs-ofctl dump-flows for Goto_table instruction is not supported in OpenFlow 1.0.

Hello everyone,

I wanted to know if there is an update for this post because I have the same issue that patrick meet :

I would like to install Dragonflow who seems a very nice solution to provide SDN in multi-nodes OpenStack platform but the documentation is about Devstack.

Gal Sagie have you add the documentation since the summit 2015 ?

Hope someone can help me on this great project .

:)