<div dir="ltr">Hi Alexander,<div><br></div><div>Reading your post got me to thinking. What if we modified the ssh driver so it used the libvirt api. Just off the top of my head some thing along the lines of changing the ssh driver to issue python-libvirt commands would work. As an example:</div>
<blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
shh user@host "python -c \"import libvirt;conn = libvirt.openReadOnly(None);dom0 = conn.lookupByName('seed');print 'Seed: id %d running %s' % (dom0.ID(), dom0.OSType())\""<br></blockquote>
<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Seed: id 2 running hvm</blockquote><div><br></div>
</blockquote><div>This seems like a straight forward improvement to the driver, and should improve overall performance.</div><div><br></div><div><br></div>Chris Krelle<div>NobodyCam <br></div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Wed, Jan 15, 2014 at 2:22 AM, Alexander Gordeev <span dir="ltr"><<a href="mailto:agordeev@mirantis.com" target="_blank">agordeev@mirantis.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Hi, Devananda<br><div class="gmail_extra"><br><br><div class="gmail_quote"><div class="im">On Wed, Jan 15, 2014 at 8:19 AM, Devananda van der Veen <span dir="ltr"><<a href="mailto:devananda.vdv@gmail.com" target="_blank">devananda.vdv@gmail.com</a>></span> wrote:</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div><br>
</div><div><div class="gmail_extra"><div class="gmail_quote"><div class="im"><div>On Tue, Jan 14, 2014 at 6:28 AM, Alexander Gordeev <span dir="ltr"><<a href="mailto:agordeev@mirantis.com" target="_blank">agordeev@mirantis.com</a>></span> wrote:</div>
</div><div class="im"><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><ul><li><span>Secondly, virsh has some
performance issues if you deal with >30 VMs (it is not our case for
now but who knows). </span></li></ul></div></div></blockquote></div><div>This is a reason why you want to use python libvirt api instead of virsh CLI, correct? I don't see a problem, but I will defer to the tempest devs on whether that's OK.</div>
<div>
<div><br></div></div></div></div></div></div></div></blockquote><div><br></div><div>Yes, that's correct. In short, using of python API binding makes possible to execute all operations inside just one opened libvirt connection. Virsh CLI opens new connection every time when you call it. Every new connection produces a fork of libvirt daemon. When you're going to spawn/create/modify few dozens of VMs in short period of time this performance issue becomes very noticeable.<br>
</div></div><br></div></div>
<br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div>