<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">Hello,</span><div style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br></div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px">
I want to use Openstack Neutron as a standalone networking solution for some Docker-based infrastructure. I can't run Nova using the Docker driver due to some other issues.</div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px">
<br></div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px">So far, I have followed the Openstack installation docs for Ubuntu and have set up a controller/network node and a separate compute node. I created a new port on the network node using 'neutron port-create <network-name>' but when I look in the database, I see the following:</div>
<div style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br></div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px"><div>mysql> select * from ml2_port_bindings;</div><div>+--------------------------------------+------+-----------+---------+----------+-------------+--------+---------+</div>
<div>| port_id | host | vnic_type | profile | vif_type | vif_details | driver | segment |</div><div>+--------------------------------------+------+-----------+---------+----------+-------------+--------+---------+</div>
<div>| 185f3e6e-da1d-4249-8873-5cf5700a613e | | normal | {} | unbound | | NULL | NULL |</div><div>| 3090bac1-d1fb-48f9-a20a-3639a22dde43 | | normal | | unbound | | NULL | NULL |</div>
<div>| 54e93384-5786-44e8-bbab-5c8b764b12db | | normal | | unbound | | NULL | NULL |</div><div>| f93ac96b-0936-4f7c-b07c-ae98fe3e1037 | | normal | | unbound | | NULL | NULL |</div>
<div>+--------------------------------------+------+-----------+---------+----------+-------------+--------+---------+</div></div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br></div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px">
<br></div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px">On a separate Packstack and Devstack install (tried both), when I create a new port, I see the following in the database</div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px">
<div>mysql> select * from ml2_port_bindings;</div><div><br></div><div>+--------------------------------------+----------+----------+-------------+--------------------------------------+-----------+------------------------------------------------+---------+</div>
<div>| port_id | host | vif_type | driver | segment | vnic_type | vif_details | profile |</div><div>+--------------------------------------+----------+----------+-------------+--------------------------------------+-----------+------------------------------------------------+---------+</div>
<div>| 9942bb8f-b863-49a9-8d92-7e62ece60de2 | devstack | ovs | openvswitch | eaec5104-0888-426d-9827-ffcb63e201c1 | normal | {"port_filter": true, "ovs_hybrid_plug": true} | |</div><div>
+--------------------------------------+----------+----------+-------------+--------------------------------------+-----------+------------------------------------------------+---------+</div></div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px">
<br></div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px">I'm not sure if the difference is because I don't have Nova installed at all on my environment whereas the Packstack and Devstack install both do. On the compute node, since I don't have Neutron, I create the port manually by running:<br>
</div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br></div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px">ovs-vsctl -- --if-exists del-port foobar -- add-port br-int foobar -- set Interface foobar type=internal -- set Interface foobar external-ids:iface-id=b9869cd7-a814-45c0-b632-ad3ff1dd46b6 -- set Interface foobar external-ids:iface-status=active -- set Interface foobar external-ids:attached-mac=fa:16:3e:26:f4:70</div>
<div style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br></div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px">If I run this command on the Packstack install compute node, a new port is created and when I bind a Docker instance to it, I am able to communicate with the network node. When running this on my local environment, the port is created but none of the flows get created. After digging into the code, this seems to happen because the RPC call to the network node that asks for port details doesn't return enough information since the segment field is NULL in the database (<a href="https://github.com/openstack/neutron/blob/stable/icehouse/neutron/plugins/ml2/rpc.py" target="_blank">https://github.com/openstack/neutron/blob/stable/icehouse/neutron/plugins/ml2/rpc.py</a>, line 118).</div>
<div style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br></div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px">I can't find much documentation anywhere about using Neutron without Nova and was wondering what I'm missing to be able to replicate Nova's role in the port management. I found a few pages trying to do similar things but didn't find them extremely helpful:</div>
<div style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br></div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px"><a href="https://answers.launchpad.net/neutron/+question/241870" target="_blank">https://answers.launchpad.net/neutron/+question/241870</a><br>
</div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px"><a href="http://www.gossamer-threads.com/lists/openstack/dev/34719" target="_blank">http://www.gossamer-threads.com/lists/openstack/dev/34719</a><br>
</div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br></div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px">Many thanks in advance,</div><div style="font-family:arial,sans-serif;font-size:12.727272033691406px">
- Keshav</div></div>