제목에 쓴 것처럼 Openstack(Juon)이랑 ODL(Helium SR2)을 integration하는 걸 하고 있는데요.. 이게 생각대로 되질 않네요..
기본적으로 참고한 사이트는
    https://wiki.opendaylight.org/view/OpenStack_and_OpenDaylight
    https://www.rdoproject.org/Helium_OpenDaylight_Juno_OpenStack
입니다. OS는 CentOS 7.0으로 하고 있구요.. VLAN을 사용하고 있는 게 차이 정도...

ODL을 사용하지 않고 그냥 할 때는 잘 되는 걸 확인했으니 그건 어느정도 된 것 같은데..
ODL을 integration하고 나면 VM이 IP를 못받아 오네요... IP 발급은 되어 있는데...

참고로 ml2_conf.ini 파일은
[ml2]
type_drivers = vlan
tenant_network_types = vlan
mechanism_drivers = opendaylight

[ml2_type_vlan]
network_vlan_ranges = physnet1:100:299

[ml2_odl]
username = admin
password = admin
url = http://172.16.0.15:8080/controller/nb/v2/neutron

이라고 되어 있구요..

네트워크 생성은
neutron net-create demo-net
neutron subnet-create demo-net --name demo-subnet --gateway 192.168.1.1 192.168.1.0/24
neutron router-create demo-router
neutron router-interface-add demo-router demo-subnet

그리고
curl -u admin:admin http://172.16.0.15:8080/controller/nb/v2/neutron/networks
헀을 때

{
   "networks" : [ {
      "id" : "5622f39b-1439-4edc-a09d-b8d4e5b5d2fe",
      "name" : "demo-net",
      "admin_state_up" : true,
      "shared" : false,
      "tenant_id" : "2584809bf98c496ba8ec3290bdb075a5",
      "router:external" : false,
      "provider:network_type" : "vlan",
      "provider:physical_network" : "physnet1",
      "provider:segmentation_id" : "100",
      "status" : "ACTIVE",
      "subnets" : [ "4af83be1-318a-41e8-a96d-29924f44968e" ]
   } ]
}

이렇게 나옵니다..

VM을 virt-manager로 보면
further output written to /dev/ttyS0 에서 멈추네요..


Horizon에서 Log를 보면
Starting network...
udhcpc (v1.20.1) started
Sending discover...
Sending discover...

이러고 있구요..

참, ovs-vsctl list Open_vSwitch 명령어를 내리면
_uuid               : c81bb9ef-7c3c-47b1-a875-2d4033f221f8
bridges             : [17026b5b-83e0-4040-9650-de2d2fe1ca71]
cur_cfg             : 22
db_version          : "7.4.0"
external_ids        : {system-id="8c819f83-af45-48d8-9d29-4bdcbde1cbc8"}
manager_options     : [31104d69-e70b-429a-9907-6f2a1f7c5475]
next_cfg            : 22
other_config        : {bridge_mappings="physnet1:enp0s20u3", local_ip="192.168.0.102"}
ovs_version         : "2.1.3"
ssl                 : []
statistics          : {}
system_type         : unknown
system_version      : unknown

이렇게 나오는데... 여기서 enp0s20u3에 IP가 192.168.0.102로 물려 있습니다. (이 부분이 제가 모르는 부분이긴 한데.. 쩝..)

며칠째 고생하다가 아침 출근길에 '여기 올리면 누군가 답을 주실꺼야' 하는 생각이 들어라구요.. ^^