cmusatyalab / elijah-cloudlet

Elijah cloudlet system
http://elijah.cs.cmu.edu/
43 stars 13 forks source link

problem with libvirt, unknown cpu model kvm64 #13

Closed krha closed 10 years ago

krha commented 10 years ago

Some folks is having problem with kvm64. kvm64 is a CPU model provided by libvirt and it should exist at every machine that support libvirt. I tried to reproduce the problem at clean Ubuntu, but I could not. So, here's workaround suggested by Juhani Toivonen juhani.toivonen@cs.helsinki.fi.


I’m working with your elijah cloudlet platform and had some problems that I managed to solve just a moment ago:

jmttoivo@charlie:~$ cloudlet base cloudlet/cloudlet01.img ERROR internal error Unknown CPU model kvm64 ERROR failed at Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/cloudlet/synthesis.py", line 1526, in create_baseVM machine = run_vm(conn, new_xml_string, wait_vnc=True) File "/usr/local/lib/python2.7/dist-packages/cloudlet/synthesis.py", line 970, in run_vm machine = conn.createXML(domain_xml, 0) File "/usr/lib/python2.7/dist-packages/libvirt.py", line 2189, in createXML if ret is None:raise libvirtError('virDomainCreateXML() failed', conn=self) libvirtError: internal error Unknown CPU model kvm64

After a few days of banging my head against the table I found that libvirt defines its processors in /usr/share/libvirt/cpu_map.xml and that the version that fabric installed on my Ubuntu 12.04 did not have an entry for ‘kvm64' in there. After adding an entry for it:

<model name='kvm64'>
  <model name='qemu32'/>
  <feature name='mtrr'/>
  <feature name='mca'/>
  <feature name='pse36'/>
  <feature name='clflush'/>
  <feature name='syscall'/>
  <feature name='nx'/>
  <feature name='lm'/>
  <feature name='cx16'/>
</model>

to the end of the file, the cloudlet started working just fine.

Just thought I’d let you know in case somebody else bumps into the same problem and asks. :)

Juhani Toivonen

krha commented 10 years ago

Solved