<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>