Some added color... The interfaces are defined in Quantum and they have MAC
addresses generated... They just don't make it into the nova-compute
generated libvirt.xml. There seems to be other stuff missing to, like the
bridge name. Is that supposed to be blank?
From the nova-compute.log
2013-03-01 10:48:48 DEBUG nova.compute.manager
[req-35d0301e-ef44-4151-bfc4-9be13202e9c9 de223767529242ac85635b3863f6154b
33c19bf6b3c848f2842465ee27ef835f] [instance:
1466c180-2e03-4479-9fdb-2fe16201b516]
Instance network_info: |
[
VIF({'network': Network({'bridge': '', 'subnets': [], 'meta': {'injected':
False, 'tenant_id': u'c035fb76ea664bd59e9f64405933f105'}, 'id':
u'19af012e-fa1e-4fc2-aac8-7611ef33428b', 'label': u'VLAN4'}), 'meta': {},
'id': u'46f861de-6019-44cd-8835-a3044b2cac87', 'address':
u'fa:16:3e:fc:95:21'}),
VIF({'network': Network({'bridge': '', 'subnets': [], 'meta': {'injected':
False, 'tenant_id': u'c035fb76ea664bd59e9f64405933f105'}, 'id':
u'28310262-bcb3-43b9-8366-f31f5ac7a990', 'label': u'VLAN1'}), 'meta': {},
'id': u'8f17842d-2331-47de-bfad-6d6e5acd45f6', 'address':
u'fa:16:3e:37:2b:d8'}),
VIF({'network': Network({'bridge': '', 'subnets': [], 'meta': {'injected':
False, 'tenant_id': u'c035fb76ea664bd59e9f64405933f105'}, 'id':
u'788bd827-5ba1-4b0f-99b4-e98040c9730d', 'label': u'VLAN2'}), 'meta': {},
'id': u'721175a2-1021-4747-a7a1-1ef7a0ea92bb', 'address':
u'fa:16:3e:12:ba:2b'}),
VIF({'network': Network({'bridge': '', 'subnets': [], 'meta': {'injected':
False, 'tenant_id': u'c035fb76ea664bd59e9f64405933f105'}, 'id':
u'be859d44-1d16-4923-b33b-c5dc292cc68f', 'label': u'VLAN3'}), 'meta': {},
'id': u'c39065d4-729b-484b-bcff-e7fa06e1f814', 'address':
u'fa:16:3e:70:54:a7'})
]
| _allocate_network
/usr/lib/python2.7/dist-packages/nova/compute/manager.py:719
2013-03-01 10:48:49 DEBUG nova.virt.libvirt.config
[req-35d0301e-ef44-4151-bfc4-9be13202e9c9 de223767529242ac85635b3863f6154b
33c19bf6b3c848f2842465ee27ef835f] Generated XML domain type=kvm
uuid1466c180-2e03-4479-9fdb-2fe16201b516/uuid
nameinstance-000d/name
memory524288/memory
vcpu1/vcpu
os
typehvm/type
boot dev=hd/
/os
features
acpi/
/features
clock offset=utc
timer name=pit tickpolicy=delay/
timer name=rtc tickpolicy=catchup/
/clock
cpu mode=host-model match=exact/
devices
disk type=file device=disk
driver name=qemu type=qcow2 cache=none/
source file=/var/lib/nova/instances/instance-000d/disk/
target bus=virtio dev=vda/
/disk
serial type=file
source path=/var/lib/nova/instances/instance-000d/console.log/
/serial
serial type=pty/
input type=tablet bus=usb/
graphics type=vnc autoport=yes keymap=en-us listen=0.0.0.0/
/devices
/domain
to_xml /usr/lib/python2.7/dist-packages/nova/virt/libvirt/config.py:66
John Gruber
On Fri, Mar 1, 2013 at 12:58 PM, John Gruber john.t.gru...@gmail.comwrote:
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.
Nova compute is setup to use:
libvirt_type=kvm
libvirt_ovs_bridge=br-int
libvirt_vif_type=ethernet
libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver
libvirt_use_virtio_for_bridges=True
I am using the OVS plugin for Quantum Folsom. Here is the OVS section of
my ovs_quantum_plugin.ini file.
[OVS]
tenant_network_type = vlan
network_vlan_ranges = physnet1:1:4,physnet1:60:64
bridge_mappings = physnet1:br-eth2
The output of ovs-vsctl show looks like the following:
efbab661-98dd-46b3-b5c1-e234c3afac8e
Bridge br-eth2
Port phy-br-eth2
Interface phy-br-eth2
Port br-eth2
Interface br-eth2
type: internal
Port eth2
Interface eth2
Bridge br-int
Port br-int
Interface br-int
type: internal
Port int-br-eth2
Interface int-br-eth2
ovs_version: 1.4.0+build0
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.
I run the following commands to setup the logical network:
quantum net-create VLAN1 --router:external=True --shared
--provider:network_type=vlan --provider:physical_network=physnet1
--provider:segmentation_id=1
quantum net-create VLAN2 --router:external=True --shared
--provider:network_type=vlan --provider:physical_network=physnet1
--provider:segmentation_id=2
quantum net-create VLAN3 --router:external=True --shared
--provider:network_type=vlan --provider:physical_network=physnet1
--provider:segmentation_id=3
quantum net-create VLAN4 --router:external=True --shared
--provider:network_type=vlan --provider:physical_network=physnet1 --
provider:segmentation_id=4
quantum net-list show