<div dir="ltr">I'm installing nova and quantum in an environment where L3 routing and DHCP are handled by other devices on a provider network for specific VLANs. I don't want the service of the quantum-l3 or quantum-dhcp agents, as there services are handled by external devices.<div>

<br></div><div style>Nova compute is setup to use:</div><div style><font face="courier new, monospace">libvirt_type=kvm<br></font></div><div style><div><font face="courier new, monospace">libvirt_ovs_bridge=br-int</font></div>

<div><font face="courier new, monospace">libvirt_vif_type=ethernet</font></div><div><font face="courier new, monospace">libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver</font></div><div><font face="courier new, monospace">libvirt_use_virtio_for_bridges=True</font></div>

</div><div><br></div><div style>I am using the OVS plugin for Quantum Folsom.  Here is the OVS section of my ovs_quantum_plugin.ini file.</div><div style><br></div><div style><div><font face="courier new, monospace">[OVS]</font></div>

<div><font face="courier new, monospace">tenant_network_type = vlan</font></div><div><font face="courier new, monospace">network_vlan_ranges = physnet1:1:4,physnet1:60:64</font></div><div><font face="courier new, monospace">bridge_mappings = physnet1:br-eth2</font></div>

<div><br></div><div style>The output of ovs-vsctl show looks like the following:</div><div style><br></div><div style><div><font face="courier new, monospace">efbab661-98dd-46b3-b5c1-e234c3afac8e</font></div><div><font face="courier new, monospace">    Bridge "br-eth2"</font></div>

<div><font face="courier new, monospace">        Port "phy-br-eth2"</font></div><div><font face="courier new, monospace">            Interface "phy-br-eth2"</font></div><div><font face="courier new, monospace">        Port "br-eth2"</font></div>

<div><font face="courier new, monospace">            Interface "br-eth2"</font></div><div><font face="courier new, monospace">                type: internal</font></div><div><font face="courier new, monospace">        Port "eth2"</font></div>

<div><font face="courier new, monospace">            Interface "eth2"</font></div><div><font face="courier new, monospace">    Bridge br-int</font></div><div><font face="courier new, monospace">        Port br-int</font></div>

<div><font face="courier new, monospace">            Interface br-int</font></div><div><font face="courier new, monospace">                type: internal</font></div><div><font face="courier new, monospace">        Port "int-br-eth2"</font></div>

<div><font face="courier new, monospace">            Interface "int-br-eth2"</font></div><div><font face="courier new, monospace">    ovs_version: "1.4.0+build0"</font></div><div><br></div></div><div style>

Interface eth2 is a VLAN trunk.  I can manually create ports in OVS and then add link and ip address for VLANs 1-4,60-64 verifying connectivity. </div><div><br></div><div style>I run the following commands to setup the logical network:</div>

<div style><br></div><div style><div><font face="courier new, monospace">quantum net-create VLAN1 --router:external=True --shared --provider:network_type=vlan --provider:physical_network=physnet1 --provider:segmentation_id=1</font></div>

<div><font face="courier new, monospace">quantum net-create VLAN2 --router:external=True --shared --provider:network_type=vlan --provider:physical_network=physnet1 --provider:segmentation_id=2</font></div><div><font face="courier new, monospace">quantum net-create VLAN3 --router:external=True --shared --provider:network_type=vlan --provider:physical_network=physnet1 --provider:segmentation_id=3</font></div>

<div><font face="courier new, monospace">quantum net-create VLAN4 --router:external=True --shared --provider:network_type=vlan --provider:physical_network=physnet1 -- provider:segmentation_id=4</font></div></div><div style>

<br></div><div style><div>quantum net-list show:</div><div><br></div><div><font face="courier new, monospace">+--------------------------------------+-------+---------+</font></div><div><font face="courier new, monospace">| id                                   | name  | subnets |</font></div>

<div><font face="courier new, monospace">+--------------------------------------+-------+---------+</font></div><div><font face="courier new, monospace">| 19af012e-fa1e-4fc2-aac8-7611ef33428b | VLAN4 |         |</font></div>

<div><font face="courier new, monospace">| 28310262-bcb3-43b9-8366-f31f5ac7a990 | VLAN1 |         |</font></div><div><font face="courier new, monospace">| 788bd827-5ba1-4b0f-99b4-e98040c9730d | VLAN2 |         |</font></div>

<div><font face="courier new, monospace">| be859d44-1d16-4923-b33b-c5dc292cc68f | VLAN3 |         |</font></div><div><font face="courier new, monospace">+--------------------------------------+-------+---------+</font></div>

<div><br></div></div><div style>If I create a guest instance with networks VLAN1, VLAN2, VLAN3, VLAN4, connected, but my nova created libvirtl.xml contains no entries for network interfaces at all. The VM boots without NICs.<br>

</div><div style><br></div><div style>However if I add:</div><div style><br></div><div style><div><font face="courier new, monospace">quantum subnet-create VLAN1 --gateway 10.0.0.1 <a href="http://10.0.0.0/24">10.0.0.0/24</a> -- --enable_dhcp=False</font></div>

<div><font face="courier new, monospace">quantum subnet-create VLAN2 --gateway 10.0.1.1 <a href="http://10.0.1.0/24">10.0.1.0/24</a> -- --enable_dhcp=False</font></div><div><font face="courier new, monospace">quantum subnet-create VLAN3 --gateway 10.0.2.1 <a href="http://10.0.2.0/24">10.0.2.0/24</a> -- --enable_dhcp=False</font></div>

<div><font face="courier new, monospace">quantum subnet-create VLAN4 --gateway 10.0.3.1 <a href="http://10.0.3.0/24">10.0.3.0/24</a> -- --enable_dhcp=False</font></div></div><div><br></div><div style>Thus making quantum net-list show:</div>

<div style><br></div><div style><div><font face="courier new, monospace">+--------------------------------------+-------+--------------------------------------+</font></div><div><font face="courier new, monospace">| id                                   | name  | subnets                              |</font></div>

<div><font face="courier new, monospace">+--------------------------------------+-------+--------------------------------------+</font></div><div><font face="courier new, monospace">| 19af012e-fa1e-4fc2-aac8-7611ef33428b | VLAN4 | a451a6ad-ff4d-40e2-8a8a-2582bfd5a3ed |</font></div>

<div><font face="courier new, monospace">| 28310262-bcb3-43b9-8366-f31f5ac7a990 | VLAN1 | 98c42f7e-15e3-4c9b-b323-54346086bfd4 |</font></div><div><font face="courier new, monospace">| 788bd827-5ba1-4b0f-99b4-e98040c9730d | VLAN2 | e022730c-b0f7-4158-b8ef-e56da0ceb227 |</font></div>

<div><font face="courier new, monospace">| be859d44-1d16-4923-b33b-c5dc292cc68f | VLAN3 | 1b68886a-a693-4039-813b-23d085bb43d2 |</font></div><div><font face="courier new, monospace">+--------------------------------------+-------+--------------------------------------+</font></div>

<div><br></div></div><div style>My generated libvirt.xml has NICs, but I'm stuck with allocation pools.. which I don't want or need. Also the interfaces seem to be bridged only to the integration bridge in OVS. </div>

<div style><br></div><div style>Q1) The <span style="font-family:'courier new',monospace">nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver </span><font face="arial, helvetica, sans-serif">driver is one of many that say 'deprecated' in the source code. What should I be using?  Just the generic?</font></div>

<div style><font face="arial, helvetica, sans-serif">Q2) How do I have provider networks which are VLAN tagged by OVS, have no Quantum subnet assigned, yet will have nova-compute define vifs properly?</font></div><div style>

<font face="arial, helvetica, sans-serif"><br></font></div><div style><font face="arial, helvetica, sans-serif">Thanks for your help in advance,</font></div><div style><font face="arial, helvetica, sans-serif"><br></font></div>

<div style><font face="arial, helvetica, sans-serif">John Gruber</font></div><div style><br></div><div style><br></div><div style><br></div><div style><br></div><div><br></div></div></div>