Table of Contents

Headline

ODL node

Openstack

Controll Node

Devstack: Q_PLUGIN = ml2

grep -r Q_PLUGIN $devstack_dir
...
lib/neutron:source $TOP_DIR/lib/neutron_plugins/$Q_PLUGIN

Aha!

Devstack: enable_service odl-compute

odl-compute is about openstack-opendaylight integration.

> extras.d/80-opendaylight.sh

—→ install_opendaylight-compute (lib/opendaylight:36)

——

> install_package openvswitch

728: is_service_enabled neutron

install_neutron

> lib/neutron: 446

892: Start Services

966: Neutron

972:configure_neutron

> lib/neutron: function configure_neutron

—→ configureneutron_common

—→ configureneutron_dhcp/l3/meta

982: configureneutronthird_party

> lib/neutron: function configure_neutron_third_party

—→ neutronthirdpartydo configure

——

> configure__${third_party}

——

> neutron_third_party/bigswitch_floodlight

——–

> function configure_bigswitch_floodlight (do nothing)

1032: # Compute service

1041: createnovaconf_neutron

> lib/neutron: create_nova_conf_neutron

—→ standard nova_conf

1057: # Extras configuration

1060: # Phase: post-config

> source 80-opendaylight.sh stack post-config

—→ createnovaconf_neutron

1276 # Run extras

> source 80-opendaylight.sh stack extra

—→ extras.d/80-opendaylight.sh:44

echo_summary "Initializing OpenDaylight"                                  
 46         ODL_LOCAL_IP=${ODL_LOCAL_IP:-$HOST_IP}                                      
 47         ODL_MGR_PORT=${ODL_MGR_PORT:-6640}                                          
 48         read ovstbl <<< $(sudo ovs-vsctl get Open_vSwitch . _uuid)  
 49         sudo ovs-vsctl set-manager tcp:$ODL_MGR_IP:$ODL_MGR_PORT                 
 50         sudo ovs-vsctl set Open_vSwitch $ovstbl other_config={"local_ip"="$ODL_LOCAL_IP"}