Ask is moving to Stack Overflow and Serverfault.com! Please use the "opendaylight" tag on either of these sites. This site is now in Read-Only mode

0

ODL/Openstack integration

asked 2015-05-22 15:30:05 -0700

yaolin gravatar image

I have a 3-node (Control/Network/Compute) Icehouse setup that is working with vxlan/openvswitch. I swapped out openvswitch with ODL (Helium SR3). I also stopped neutron-openvswitch-agent on both network and compute nodes. However, that means there is NO process running on network/compute nodes that will be using ml2_conf.ini file (this file is still used by neutron-server on the control node). Without ml2.conf.ini, how could neutron form vxlan network? (It doesn't know the src/dst IPs). I think this is the reason why "ovs-vsctl show" doesn't show port vxlan*.

edit retag flag offensive close merge delete

4 answers

Sort by » oldest newest most voted
0

answered 2015-05-26 04:41:33 -0700

Moderators

Hi Yaolin,

When OpenDaylight controller is used as a backend network service provider, you don't really need the neutron-openvswtich-agent to do your configuration. OpenDaylight controller does that job, given that you will have to explicitly set-manager for the ovs instance to the controller. Once switch connects to the controller, it does all the required configuration (like creating integration bridge etc). Once you create network/subnet in OpenStack and attach VM to it, all of these details will be passed from OpenStack neutron server to OpenDaylight controller through REST APIs ( given that you did the required configuration in ml2conf.ini/ml2odl.ini files) and then ODL controller will create the tunnel interface on the integration bridge and install all the flow rules for enabling the routing between VMs.

did you use devstack to build your openstack compute/network node or you use some other deployment tools (or manually)? If you did manual installation of compute/network node, then you will have to do following two manual configuration at the ovs running on compute/network node.

1) Set localip config for openvswitch table in ovsdb database. Fire following command on all the network/compute nodes

OVSUUID=$(ovs-vsctl get Open_vSwitch ._uuid); ovs-vsctl set Open_vSwitch $OVSUUID other_config:local_ip=<network/compute node's local ip address>

2) ovs-vsctl set-manager tcp:<odl-controller-ip>:6640

Once you do this configuration and make sure of connectivity from OpenStack neutron server to OpenDaylight controller, it should work fine.

edit flag offensive delete publish link more
0

answered 2015-05-26 13:56:41 -0700

yaolin gravatar image

updated 2015-05-26 14:02:27 -0700

Hi Anil,

Thanks for the response. I manually setup openstack icehouse: 1 control node + 1 network node + 1 compute node.

I think you hit my concern, i.e., how does VXLAN work without the src/dst IP. So I used the command you mentioned to set local IP in ovsdb. Then I created a VM with a subnet/router. But I still don't see ovs port vxlan*.

On network node (IP: 172.29.105.220):

ovs-vsctl set OpenvSwitch 543234f4-7bcf-4fcb-9611-5aab6c6cf811 otherconfig:local_ip=172.29.106.220

root@MUSSDHUX20:/home/mtk10895# ovs-vsctl show

543234f4-7bcf-4fcb-9611-5aab6c6cf811

Manager "tcp:172.29.106.220:6640"

    is_connected: true

Bridge br-int

    Controller "tcp:172.29.106.220:6633"

        is_connected: true

    fail_mode: secure

    Port "tapa8dd368a-ed"

        Interface "tapa8dd368a-ed"

            type: internal

    Port br-int

        Interface br-int

ovs_version: "2.0.2"

On compute node (IP: 172.29.105.210):

ovs-vsctl set OpenvSwitch 5bfcc4a0-7bf8-48b1-931d-4fd4da2c4c1b otherconfig:local_ip=172.29.106.210

root@mussdhux10:/home/mtk10895# ovs-vsctl show

5bfcc4a0-7bf8-48b1-931d-4fd4da2c4c1b

Manager "tcp:172.29.106.220:6640"

    is_connected: true

Bridge br-int

    Controller "tcp:172.29.106.220:6633"

        is_connected: true

    fail_mode: secure

    Port "tap4d479a37-3e"

        Interface "tap4d479a37-3e"

    Port br-int

        Interface br-int

ovs_version: "2.0.2"

You can see port vxlan* is still missing on both nodes. Is my ovs version too old?

edit flag offensive delete publish link more

Comments

did you unset the manager and set it again? You need to do that so that ovsdb can pick up the latest configuration. I would suggest before that clean up your openstack resources (Delete port,vm,network etc).

Anil Vishnoi ( 2015-05-26 14:26:07 -0700 )edit

Yeah. I forgot to restart openvswitch. Once I restart that service, vxlan is up correctly and I can ping between 2 VMs. Thanks Anil.

yaolin ( 2015-05-26 16:35:04 -0700 )edit
0

answered 2015-12-20 23:22:07 -0700

etlars gravatar image

I had the same problem, so I just set the localip, and then succeeded~! But now, I reboot whole systems and the vms couldn't get ip addresses just like before set localip. what's wrong? all configurations are the same as those before reboot.

edit flag offensive delete publish link more
0

answered 2016-05-04 12:10:07 -0700

pedroalsouza gravatar image

I´ve tried to integrate, but i am geting stucked on the neutron-db-manage command... could you help me?

edit flag offensive delete publish link more
Login/Signup to Answer

Question Tools

Follow
2 followers

Stats

Asked: 2015-05-22 15:30:05 -0700

Seen: 1,137 times

Last updated: May 04 '16