<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html><body>
<p>Hi,</p>
<p>I broke my test OpenStack Grizzly environment some time ago and, rather than start again, I'm trying to understand why it's broken.  I'm trying to make sure I understand each component and how it works.</p>
<p>Basically, the symptom is that kvm is being called without a -netdev argument, which results in no ethernet device in the instance, and the tap not being created and no patch to br-int.  I listed this question on OpenStack but didn't get very far.  The only suggestion was that my libvirt_type should be kvm and not qemu, but this didn't make any difference.</p>
<p>So, earlier instance calls looked like:</p>
<pre class="prettyprint"><code><span class="pln">LC_ALL</span><span class="pun">=</span><span class="pln">C PATH</span><span class="pun">=</span><span class="str">/usr/</span><span class="kwd">local</span><span class="pun">/</span><span class="pln">sbin</span><span class="pun">:</span><span class="str">/usr/</span><span class="kwd">local</span><span class="pun">/</span><span class="pln">bin</span><span class="pun">:</span><span class="str">/usr/</span><span class="pln">bin</span><span class="pun">:</span><span class="str">/usr/</span><span class="pln">sbin</span><span class="pun">:</span><span class="str">/sbin:/</span><span class="pln">bin QEMU_AUDIO_DRV</span><span class="pun">=</span><span class="pln">none </span><span class="pun">/</span><span class="pln">usr</span><span class="pun">/</span><span class="pln">bin</span><span class="pun">/</span><span class="pln">kvm </span><span class="pun">-</span><span class="pln">name instance</span><span class="pun">-</span><span class="lit">00000005</span><span class="pln"> </span><span class="pun">-</span><span class="pln">S </span><span class="pun">-</span><span class="pln">M pc</span><span class="pun">-</span><span class="lit">1.0</span><span class="pln"> </span><span class="pun">-</span><span class="pln">cpu </span><span class="pun">... </span></code><strong>-netdev tap,fd=25,id=hostnet0 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=fa:16:3e:c5:f1:6b,bus=pci.0,addr=0x3 </strong><span class="pun">....</span><span class="pln"> </span><span class="pun">-</span><span class="pln">chardev file</span><span class="pun">,</span><span class="pln">id</span><span class="pun">=</span><span class="pln">charserial0</span><span class="pun">,</span><span class="pln">path</span><span class="pun">=</span><span class="str">/var/</span><span class="pln">lib</span><span class="pun">/</span><span class="pln">nova</span><span class="pun">/</span><span class="pln">instances</span><span class="pun">/</span><span class="pln">instance</span><span class="pun">-</span><span class="lit">00000005</span><span class="pun">/</span><span class="pln">console</span><span class="pun">.</span><span class="pln">log </span><span class="pun">-</span><span class="pln">device isa</span><span class="pun">-</span><span class="pln">serial</span><span class="pun">,</span><span class="pln">chardev</span><span class="pun">=</span><span class="pln">charserial0</span><span class="pun">,</span><span class="pln">id</span><span class="pun">=</span><span class="pln">serial0 </span><span class="pun">-</span><span class="pln">chardev pty</span><span class="pun">,</span><span class="pln">id</span><span class="pun">=</span><span class="pln">charserial1 </span><span class="pun">....</span><span class="pln"> </span><span class="pun">-</span><span class="pln">vnc </span><span class="lit">0.0</span><span class="pun">.</span><span class="lit">0.0</span><span class="pun">:</span><span class="lit">0</span><span class="pln"> </span><span class="pun">-</span><span class="pln">k en</span><span class="pun">-</span><span class="pln">us </span><span class="pun">-</span><span class="pln">vga cirrus </span><span class="pun">-</span><span class="pln">device virtio</span><span class="pun">-</span><span class="pln">balloon</span><span class="pun">-</span><span class="pln">pci</span><span class="pun">,</span><span class="pln">id</span><span class="pun">=</span><span class="pln">balloon0</span><span class="pun">,</span><span class="pln">bus</span><span class="pun">=</span><span class="pln">pci</span><span class="pun">.</span><span class="lit">0</span><span class="pun">,</span><span class="pln">addr</span><span class="pun">=</span><span class="lit">0x5</span></pre>
<pre class="prettyprint"><span class="lit"><br /></span></pre>
<pre class="prettyprint">whereas now my instance calls look like:</pre>
<pre class="prettyprint"> </pre>
<pre class="prettyprint"><code><span class="pln">LC_ALL</span><span class="pun">=</span><span class="pln">C PATH</span><span class="pun">=</span><span class="str">/usr/</span><span class="kwd">local</span><span class="pun">/</span><span class="pln">sbin</span><span class="pun">:</span><span class="str">/usr/</span><span class="kwd">local</span><span class="pun">/</span><span class="pln">bin</span><span class="pun">:</span><span class="str">/usr/</span><span class="pln">bin</span><span class="pun">:</span><span class="str">/usr/</span><span class="pln">sbin</span><span class="pun">:</span><span class="str">/sbin:/</span><span class="pln">bin QEMU_AUDIO_DRV</span><span class="pun">=</span><span class="pln">none </span><span class="pun">/</span><span class="pln">usr</span><span class="pun">/</span><span class="pln">bin</span><span class="pun">/</span><span class="pln">kvm </span><span class="pun">-</span><span class="pln">name instance</span><span class="pun">-</span><span class="lit">00000011</span><span class="pln"> </span><span class="pun">-</span><span class="pln">S </span><span class="pun">-</span><span class="pln">M pc</span><span class="pun">-</span><span class="lit">1.0</span><span class="pln"> </span><span class="pun">-</span><span class="pln">cpu core2duo</span><span class="pun">,+</span><span class="pln">erms</span><span class="pun">,+</span><span class="pln">smep</span><span class="pun">,+</span><span class="pln">fsgsbase</span><span class="pun">,+</span><span class="pln">lahf_lm</span><span class="pun">,+</span><span class="pln">rdtscp</span><span class="pun">,+</span><span class="pln">rdrand</span><span class="pun">,+</span><span class="pln">f16c</span><span class="pun">,+</span><span class="pln">avx</span><span class="pun">,+</span><span class="pln">osxsave</span><span class="pun">,+</span><span class="pln">xsave</span><span class="pun">,+</span><span class="pln">aes</span><span class="pun">,+</span><span class="pln">tsc</span><span class="pun">-</span><span class="pln">deadline</span><span class="pun">,+</span><span class="pln">popcnt</span><span class="pun">,+</span><span class="pln">x2apic</span><span class="pun">,+</span><span class="pln">sse4</span><span class="pun">.</span><span class="lit">2</span><span class="pun">,+</span><span class="pln">sse4</span><span class="pun">.</span><span class="lit">1</span><span class="pun">,+</span><span class="pln">pcid</span><span class="pun">,+</span><span class="pln">pdcm</span><span class="pun">,+</span><span class="pln">xtpr</span><span class="pun">,+</span><span class="pln">cx16</span><span class="pun">,+</span><span class="pln">tm2</span><span class="pun">,+</span><span class="pln">est</span><span class="pun">,+</span><span class="pln">smx</span><span class="pun">,+</span><span class="pln">vmx</span><span class="pun">,+</span><span class="pln">ds_cpl</span><span class="pun">,+</span><span class="pln">dtes64</span><span class="pun">,+</span><span class="pln">pclmuldq</span><span class="pun">,+</span><span class="pln">pbe</span><span class="pun">,+</span><span class="pln">tm</span><span class="pun">,+</span><span class="pln">ht</span><span class="pun">,+</span><span class="pln">ss</span><span class="pun">,+</span><span class="pln">acpi</span><span class="pun">,+</span><span class="pln">ds </span><span class="pun">-</span><span class="pln">enable</span><span class="pun">-</span><span class="pln">kvm </span><span class="pun">-</span><span class="pln">m </span><span class="lit">2048</span><span class="pln"> </span><span class="pun">-</span><span class="pln">smp </span><span class="lit">1</span><span class="pun">,</span><span class="pln">sockets</span><span class="pun">=</span><span class="lit">1</span><span class="pun">,</span><span class="pln">cores</span><span class="pun">=</span><span class="lit">1</span><span class="pun">,</span><span class="pln">threads</span><span class="pun">=</span><span class="lit">1</span><span class="pln"> </span><span class="pun">-</span><span class="pln">uuid e366f347</span><span class="pun">-</span><span class="lit">9f47</span><span class="pun">-</span><span class="lit">4bf9</span><span class="pun">-</span><span class="pln">a4eb</span><span class="pun">-</span><span class="lit">4567d4f9deb8</span><span class="pln"> </span><span class="pun">-</span><span class="pln">smbios type</span><span class="pun">=</span><span class="lit">1</span><span class="pun">,</span><span class="pln">manufacturer</span><span class="pun">=</span><span class="typ">OpenStack</span><span class="pln"> </span><span class="typ">Foundation</span><span class="pun">,</span><span class="pln">product</span><span class="pun">=</span><span class="typ">OpenStack</span><span class="pln"> </span><span class="typ">Nova</span><span class="pun">,</span><span class="pln">version</span><span class="pun">=</span><span class="lit">2013.1</span><span class="pun">.</span><span class="lit">2</span><span class="pun">,</span><span class="pln">serial</span><span class="pun">=</span><span class="pln">a1378421</span><span class="pun">-</span><span class="lit">8208</span><span class="pun">-</span><span class="pln">e211</span><span class="pun">-</span><span class="pln">a941</span><span class="pun">-</span><span class="lit">0010185aae5d</span><span class="pun">,</span><span class="pln">uuid</span><span class="pun">=</span><span class="pln">e366f347</span><span class="pun">-</span><span class="lit">9f47</span><span class="pun">-</span><span class="lit">4bf9</span><span class="pun">-</span><span class="pln">a4eb</span><span class="pun">-</span><span class="lit">4567d4f9deb8</span><span class="pln"> </span><span class="pun">-</span><span class="pln">nodefconfig </span><span class="pun">-</span><span class="pln">nodefaults </span><span class="pun">-</span><span class="pln">chardev socket</span><span class="pun">,</span><span class="pln">id</span><span class="pun">=</span><span class="pln">charmonitor</span><span class="pun">,</span><span class="pln">path</span><span class="pun">=</span><span class="str">/var/</span><span class="pln">lib</span><span class="pun">/</span><span class="pln">libvirt</span><span class="pun">/</span><span class="pln">qemu</span><span class="pun">/</span><span class="pln">instance</span><span class="pun">-</span><span class="lit">00000011.monitor</span><span class="pun">,</span><span class="pln">server</span><span class="pun">,</span><span class="pln">nowait </span><span class="pun">-</span><span class="pln">mon chardev</span><span class="pun">=</span><span class="pln">charmonitor</span><span class="pun">,</span><span class="pln">id</span><span class="pun">=</span><span class="pln">monitor</span><span class="pun">,</span><span class="pln">mode</span><span class="pun">=</span><span class="pln">control </span><span class="pun">-</span><span class="pln">rtc </span><span class="kwd">base</span><span class="pun">=</span><span class="pln">utc</span><span class="pun">,</span><span class="pln">driftfix</span><span class="pun">=</span><span class="pln">slew </span><span class="pun">-</span><span class="kwd">no</span><span class="pun">-</span><span class="pln">kvm</span><span class="pun">-</span><span class="pln">pit</span><span class="pun">-</span><span class="pln">reinjection </span><span class="pun">-</span><span class="kwd">no</span><span class="pun">-</span><span class="pln">shutdown </span><span class="pun">-</span><span class="pln">device piix3</span><span class="pun">-</span><span class="pln">usb</span><span class="pun">-</span><span class="pln">uhci</span><span class="pun">,</span><span class="pln">id</span><span class="pun">=</span><span class="pln">usb</span><span class="pun">,</span><span class="pln">bus</span><span class="pun">=</span><span class="pln">pci</span><span class="pun">.</span><span class="lit">0</span><span class="pun">,</span><span class="pln">addr</span><span class="pun">=</span><span class="lit">0x1</span><span class="pun">.</span><span class="lit">0x2</span><span class="pln"> </span><span class="pun">-</span><span class="pln">drive file</span><span class="pun">=</span><span class="str">/var/</span><span class="pln">lib</span><span class="pun">/</span><span class="pln">nova</span><span class="pun">/</span><span class="pln">instances</span><span class="pun">/</span><span class="pln">e366f347</span><span class="pun">-</span><span class="lit">9f47</span><span class="pun">-</span><span class="lit">4bf9</span><span class="pun">-</span><span class="pln">a4eb</span><span class="pun">-</span><span class="lit">4567d4f9deb8</span><span class="pun">/</span><span class="pln">disk</span><span class="pun">,</span><span class="kwd">if</span><span class="pun">=</span><span class="pln">none</span><span class="pun">,</span><span class="pln">id</span><span class="pun">=</span><span class="pln">drive</span><span class="pun">-</span><span class="pln">virtio</span><span class="pun">-</span><span class="pln">disk0</span><span class="pun">,</span><span class="pln">format</span><span class="pun">=</span><span class="pln">qcow2</span><span class="pun">,</span><span class="pln">cache</span><span class="pun">=</span><span class="pln">none </span><span class="pun">-</span><span class="pln">device virtio</span><span class="pun">-</span><span class="pln">blk</span><span class="pun">-</span><span class="pln">pci</span><span class="pun">,</span><span class="pln">scsi</span><span class="pun">=</span><span class="pln">off</span><span class="pun">,</span><span class="pln">bus</span><span class="pun">=</span><span class="pln">pci</span><span class="pun">.</span><span class="lit">0</span><span class="pun">,</span><span class="pln">addr</span><span class="pun">=</span><span class="lit">0x3</span><span class="pun">,</span><span class="pln">drive</span><span class="pun">=</span><span class="pln">drive</span><span class="pun">-</span><span class="pln">virtio</span><span class="pun">-</span><span class="pln">disk0</span><span class="pun">,</span><span class="pln">id</span><span class="pun">=</span><span class="pln">virtio</span><span class="pun">-</span><span class="pln">disk0</span><span class="pun">,</span><span class="pln">bootindex</span><span class="pun">=</span><span class="lit">1</span><span class="pln"> </span><span class="pun">-</span><span class="pln">chardev file</span><span class="pun">,</span><span class="pln">id</span><span class="pun">=</span><span class="pln">charserial0</span><span class="pun">,</span><span class="pln">path</span><span class="pun">=</span><span class="str">/var/</span><span class="pln">lib</span><span class="pun">/</span><span class="pln">nova</span><span class="pun">/</span><span class="pln">instances</span><span class="pun">/</span><span class="pln">e366f347</span><span class="pun">-</span><span class="lit">9f47</span><span class="pun">-</span><span class="lit">4bf9</span><span class="pun">-</span><span class="pln">a4eb</span><span class="pun">-</span><span class="lit">4567d4f9deb8</span><span class="pun">/</span><span class="pln">console</span><span class="pun">.</span><span class="pln">log </span><span class="pun">-</span><span class="pln">device isa</span><span class="pun">-</span><span class="pln">serial</span><span class="pun">,</span><span class="pln">chardev</span><span class="pun">=</span><span class="pln">charserial0</span><span class="pun">,</span><span class="pln">id</span><span class="pun">=</span><span class="pln">serial0 </span><span class="pun">-</span><span class="pln">chardev pty</span><span class="pun">,</span><span class="pln">id</span><span class="pun">=</span><span class="pln">charserial1 </span><span class="pun">-</span><span class="pln">device isa</span><span class="pun">-</span><span class="pln">serial</span><span class="pun">,</span><span class="pln">chardev</span><span class="pun">=</span><span class="pln">charserial1</span><span class="pun">,</span><span class="pln">id</span><span class="pun">=</span><span class="pln">serial1 </span><span class="pun">-</span><span class="pln">device usb</span><span class="pun">-</span><span class="pln">tablet</span><span class="pun">,</span><span class="pln">id</span><span class="pun">=</span><span class="pln">input0 </span><span class="pun">-</span><span class="pln">vnc </span><span class="lit">0.0</span><span class="pun">.</span><span class="lit">0.0</span><span class="pun">:</span><span class="lit">0</span><span class="pln"> </span><span class="pun">-</span><span class="pln">k en</span><span class="pun">-</span><span class="pln">us </span><span class="pun">-</span><span class="pln">vga cirrus </span><span class="pun">-</span><span class="pln">device virtio</span><span class="pun">-</span><span class="pln">balloon</span><span class="pun">-</span><span class="pln">pci</span><span class="pun">,</span><span class="pln">id</span><span class="pun">=</span><span class="pln">balloon0</span><span class="pun">,</span><span class="pln">bus</span><span class="pun">=</span><span class="pln">pci</span><span class="pun">.</span><span class="lit">0</span><span class="pun">,</span><span class="pln">addr</span><span class="pun">=</span><span class="lit">0x4</span></code></pre>
<pre class="prettyprint"> </pre>
<pre class="prettyprint">(In other words, no -netdev argument)</pre>
<pre class="prettyprint"> </pre>
<pre class="prettyprint">My nova.conf looks like:</pre>
<pre class="prettyprint"><code><span class="pun"><br /></span></code></pre>
<p>[DEFAULT]<br />logdir=/var/log/nova<br />state_path=/var/lib/nova<br />lock_path=/var/lock/nova<br />rootwrap_config=/etc/nova/rootwrap.conf<br />verbose=True</p>
<p>#dhcpbridge_flagfile=/etc/nova/nova.conf<br />#dhcpbridge=/usr/bin/nova-dhcpbridge<br />#fixed_range=10.0.0.0/8<br />#flat_network_bridge=br-eth1<br />#flat_interface=eth1<br />#flat_injected=False<br />#public_interface=eth0</p>
<p># MySQL Connection #<br />sql_connection=mysql://nova:password@10.0.0.1/nova</p>
<p># nova-scheduler #<br />rabbit_host=10.0.0.1<br />rabbit_password=password<br />scheduler_driver=nova.scheduler.filter_scheduler.FilterScheduler</p>
<p># nova-api #<br />cc_host=10.0.0.1<br />auth_strategy=keystone<br />s3_host=10.0.0.1<br />ec2_host=10.0.0.1<br />nova_url=http://10.0.0.1:8774/v1.1/<br />ec2_url=http://10.0.0.1:8773/services/Cloud<br />keystone_ec2_url=http://10.0.0.1:5000/v2.0/ec2tokens<br />api_paste_config=/etc/nova/api-paste.ini<br />allow_admin_api=true<br />use_deprecated_auth=false<br />ec2_private_dns_show_ip=True<br />dmz_cidr=192.168.50.250/32<br />#dmz_cidr=169.254.169.254/32<br />ec2_dmz_host=10.0.0.1<br />metadata_host=10.0.0.1<br />metadata_listen=0.0.0.0<br />enabled_apis=ec2,osapi_compute,metadata</p>
<p># Networking #<br />network_api_class=nova.network.quantumv2.api.API<br />quantum_url=http://10.0.0.1:9696<br />quantum_auth_strategy=keystone<br />quantum_admin_tenant_name=service<br />quantum_admin_username=quantum<br />quantum_admin_password=password<br />quantum_admin_auth_url=http://10.0.0.1:35357/v2.0<br />libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver<br />linuxnet_interface_driver=nova.network.linux_net.LinuxOVSInterfaceDriver<br />firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver</p>
<p>#Testing values<br />linuxnet_ovs_integration_bridge=br-int<br />dns_server=['192.168.50.240']<br />forward_bridge_interface=['eth1']<br />gateway=192.168.50.240<br />public_interface=eth1<br />routing_source_ip=192.168.50.250</p>
<p># Compute #<br />compute_driver=libvirt.LibvirtDriver<br />connection_type=libvirt<br />libvirt_type=kvm</p>
<p># Cinder #<br />volume_api_class=nova.volume.cinder.API</p>
<p># Glance #<br />glance_api_servers=10.0.0.1:9292<br />image_service=nova.image.glance.GlanceImageService</p>
<p># novnc #<br />novnc_enable=true<br />novncproxy_base_url=http://192.168.50.250:6080/vnc_auto.html<br />vncserver_proxyclient_address=10.1.0.2<br />vncserver_listen=0.0.0.0</p>
<pre class="prettyprint">How does Nova determine what parameters to enable when calling the instance?</pre>
<pre class="prettyprint"> </pre>
<pre class="prettyprint">Cheers,<br />Tudor. </pre>
<div> </div>
</body></html>