Re: [controller-dev] How to use the OpenStack Neutron ML2 MechanismDriver with OpenDaylight


Hideyuki Tai <h-tai@...>
 

Hi kyle,

 

Thank you for sharing this information!

 

I checked out the devstack tree from here.

   git clone https://github.com/CiscoSystems/devstack.git

And, setup my local.conf and run stack.sh.

However, I got the error " ERROR: Unauthorized (HTTP 401)"

 

[odp-dev:~/work/devstack] $ ./stack.sh

(snip)

++ ALT_USERNAME=alt_demo

++ ALT_TENANT_NAME=alt_demo

++ [[ -z '' ]]

++ nova flavor-create m1.nano 42 64 0 1

ERROR: Unauthorized (HTTP 401)

+ clean

+ local r=1

++ jobs -p

+ kill

[odp-dev:~/work/devstack] $

 

And I also saw other error messages in output of stack.sh like this:

 

ERROR: Invalid OpenStack Nova credentials.

 

What am I missing here?

 

Regards,

Hideyuki Tai

 

 

From: controller-dev-bounces@... [mailto:controller-dev-bounces@...] On Behalf Of Kyle Mestery (kmestery)
Sent: Thursday, November 14, 2013 12:19 PM
To: controller-dev@...
Cc: ovsdb-dev@...
Subject: [controller-dev] How to use the OpenStack Neutron ML2 MechanismDriver with OpenDaylight

 

All:

 

After returning from the OpenStack Summit in Hong Kong last week, I've spent some time working on the Neutron ML2 MechanismDriver for ODL. The good news is that after plenty of help from Ryan Moats, I've got it working now! Instructions on how to use it are below. The next steps are to integrate this with something which plugs into the NeutronAPIService APIs I'm using in ODL now. For the OVSDB integration efforts there, we will also require some possible API calls to alert ODL about hosts as the come online.

 

To test out the plugin (including devstack support), try the following instructions:

 

Here are some very brief instructions on using the (fresh off the presses) OpenStack Neutron ML2 MechanismDriver with ODL:

 

  1. Setup a fresh VM running either Fedora (preferably 19) or Ubuntu (12.04 or newer).
  2. Checkout a devstack tree from here:
    1. git clone https://github.com/CiscoSystems/devstack.git
    2. git checkout opendaylight
  1. Now, setup your local.conf [1] files. This file should go into the root of your devstack directory. You can copy/paste the example below and modify the sections as the next section indicates:
    1. Make the following changes per the example below:
      1. SERVICE_HOST should be the IP of the host you're running devstack on.
      2. In the ml2_odl section, the "url" should have the IP of the host running ODL.
  1. Once modified, now stack:
    1. ./stack.sh
  1. Once this is complete, you should now have a setup which is sending Neutron API requests to ODL.

 

NOTE: This assumes you have a working ODL running somewhere.

 

The code to look at the OpenDaylight ML2 MechanismDriver is located here:

 

 

If you have any questions, please let me know and reach out to me.

 

Thanks!

Kyle

 

[1] local.conf file:

[[local|localrc]]

LOGFILE=stack.sh.log

#OFFLINE=True

RECLONE=yes

 

disable_service n-net

enable_service q-svc

#enable_service q-agt

enable_service q-dhcp

enable_service q-l3

enable_service q-meta

enable_service neutron

 

# ODL WITH ML2

#enable_service odl

Q_PLUGIN=ml2

#Q_AGENT=

Q_ML2_PLUGIN_MECHANISM_DRIVERS=opendaylight,logger

NEUTRON_BRANCH=odl_ml2

Q_HOST=$SERVICE_HOST

 

disable_service rabbit

enable_service qpid

 

HOST_NAME=$(hostname)

SERVICE_HOST_NAME=${HOST_NAME}

SERVICE_HOST=192.168.56.101

 

FLOATING_RANGE=192.168.100.0/24

MYSQL_HOST=$SERVICE_HOST

RABBIT_HOST=$SERVICE_HOST

GLANCE_HOSTPORT=$SERVICE_HOST:9292

KEYSTONE_AUTH_HOST=$SERVICE_HOST

KEYSTONE_SERVICE_HOST=$SERVICE_HOST

 

MYSQL_PASSWORD=mysql

RABBIT_PASSWORD=rabbit

SERVICE_TOKEN=service

SERVICE_PASSWORD=admin

ADMIN_PASSWORD=admin

 

[[post-config|/etc/neutron/plugins/ml2/ml2_conf.ini]]

[ml2_odl]

username=admin

password=admin

 

Join {z.archive.ovsdb-dev@lists.opendaylight.org to automatically receive all group messages.