<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Kashyap Chamarthy</title>
	<atom:link href="http://kashyapc.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://kashyapc.wordpress.com</link>
	<description></description>
	<lastBuildDate>Fri, 24 Feb 2012 15:35:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='kashyapc.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Kashyap Chamarthy</title>
		<link>http://kashyapc.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://kashyapc.wordpress.com/osd.xml" title="Kashyap Chamarthy" />
	<atom:link rel='hub' href='http://kashyapc.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Nikola Tesla &#8211; Man Out of Time</title>
		<link>http://kashyapc.wordpress.com/2012/02/19/nikola-tesla-man-out-of-time/</link>
		<comments>http://kashyapc.wordpress.com/2012/02/19/nikola-tesla-man-out-of-time/#comments</comments>
		<pubDate>Sun, 19 Feb 2012 17:44:12 +0000</pubDate>
		<dc:creator>kashyapc</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[books]]></category>

		<guid isPermaLink="false">http://kashyapc.wordpress.com/?p=882</guid>
		<description><![CDATA[Just finished(which I really wanted to read for a while) reading this fascinating biography Nikola Tesla &#8211; Man Out of Time by Margaret Cheney. A terrific insight into this enigmatic scientist, his spectacular inventions, his personality and eccentricities. One of &#8230; <a href="http://kashyapc.wordpress.com/2012/02/19/nikola-tesla-man-out-of-time/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kashyapc.wordpress.com&amp;blog=25732161&amp;post=882&amp;subd=kashyapc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Just finished(which I really wanted to read for a while) reading this fascinating biography  <a href="http://www.amazon.com/Tesla-Man-Time-Margaret-Cheney/dp/0743215362">Nikola Tesla &#8211; Man Out of Time</a> by Margaret Cheney. A terrific insight into this enigmatic scientist, his spectacular inventions, his personality and eccentricities. </p>
<p>One of his really unique skills(which blew my mind) was his ability to conceptualize, develop, iterate and <em>perfect</em> his complex and intricate inventions(mostly induction motors, coils, turbines, and other electrical/mechanical equipment)  entirely in his head, without any blue-prints on paper whatsoever, before going for the actual implementation. And, more often than not, they always worked just as he expected them to.</p>
<p>A quick quote from a chapter titled &#8216;Robots&#8217; :<br />
&#8220;Inventors of modern computer technology in the last half of twentieth century repeatedly have been surprised, when seeking patents, to encounter Tesla&#8217;s basic ones, already on file.&#8221;</p>
<p>Another interesting(but a little scary) theory he made(from a chapter called &#8216;To Mars&#8217;) was &#8212; that he could &#8216;split open the earth itself in the same way as a boy would split an apple&#8217; by applying principles of mechanical resonance.</p>
<p>Among several things, the book outlines many of his great inventions in  Electrical, Mechanical, Wireless and many other engineering fields. And, other interesting aspects like the war of currents(DC vs AC currents), radio invention(for which he got the patent posthumously), wireless transmission of electricity, illuminating entire oceans and its depths (so that catastrophes like &#8216;Titanic&#8217; could be avoided) in methodical way and just enough detail without being extremely esoteric.</p>
<p>I thoroughly enjoyed reading it. Highly recommended. Specifically, for those pursuing(or interested in) any kind of engineering discipline.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kashyapc.wordpress.com/882/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kashyapc.wordpress.com/882/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kashyapc.wordpress.com/882/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kashyapc.wordpress.com/882/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kashyapc.wordpress.com/882/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kashyapc.wordpress.com/882/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kashyapc.wordpress.com/882/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kashyapc.wordpress.com/882/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kashyapc.wordpress.com/882/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kashyapc.wordpress.com/882/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kashyapc.wordpress.com/882/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kashyapc.wordpress.com/882/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kashyapc.wordpress.com/882/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kashyapc.wordpress.com/882/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kashyapc.wordpress.com&amp;blog=25732161&amp;post=882&amp;subd=kashyapc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kashyapc.wordpress.com/2012/02/19/nikola-tesla-man-out-of-time/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/759611003e583c65b8d8d1ed95660e54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kashyapc</media:title>
		</media:content>
	</item>
		<item>
		<title>FOSDEM 2012 (Feb &#8211; 4,5) Trip Report</title>
		<link>http://kashyapc.wordpress.com/2012/02/13/fosdem-2012-feb-45-trip-report/</link>
		<comments>http://kashyapc.wordpress.com/2012/02/13/fosdem-2012-feb-45-trip-report/#comments</comments>
		<pubDate>Mon, 13 Feb 2012 04:24:09 +0000</pubDate>
		<dc:creator>kashyapc</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[FOSDEM]]></category>

		<guid isPermaLink="false">http://kashyapc.wordpress.com/?p=867</guid>
		<description><![CDATA[Gentle warning: Very long post. (I tried to segregate w.r.t to talks. Maybe you can skip the ones that doesn&#8217;t interest you ) I was fortunate to attend the FOSDEM conference for the first time in the frozen city of &#8230; <a href="http://kashyapc.wordpress.com/2012/02/13/fosdem-2012-feb-45-trip-report/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kashyapc.wordpress.com&amp;blog=25732161&amp;post=867&amp;subd=kashyapc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Gentle warning: Very long post. (I tried to segregate w.r.t to talks. Maybe you can skip the ones that doesn&#8217;t interest you <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</p>
<p>I was fortunate to attend the FOSDEM conference for the first time in the frozen city of Brussels, Belgium. For those unfamiliar w/ FOSDEM, the conference is held for 2 days(Saturday, Sunday), completely volunteer organized involving free and open source software (w/o any space for commercial talks). I believe this is the first FOSDEM where we had more than 25 talks from RH folks. I&#8217;ll try to outline the two days of event and the talks I managed to attend.</p>
<p>My day started off w/ attending FOSDEM welcome keynote. Some statistics from the welcome note &#8212; 4 keynotes ; 6 main tracks; 35 stands ; 25 rooms ; 7 main track talks ; 428 scheduled events ; 418 speakers ; 31 lightening talks ; 361 Devroom talks. </p>
<p>This kind of choice may overwhelm people thinking: &#8220;Oh, I want to attend this session, but I also want to attend that and the other other one, which may happen concurrently&#8221;. But I guess, people anyway realize the physical impossibility and stick to a couple of dev rooms or so.</p>
<p>== Day 1 ==</p>
<p>OpenStack News: Last year retrospective<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
This was in &#8216;Virtualization and Cloud&#8217; dev room. Thierry Carrez(Release Manager for the Openstack project[1]), gave an overview of how the project evolved over the past year, no. of contributors, components involved and what&#8217;s coming ahead. He briefly talked about the main projects of openstack:<br />
- &#8216;Nova&#8217;(also called OpenStack Compute) &#8212; the central part of an IaaS system provides an interface to the virtualization software installed on the host via web<br />
- &#8216;Swift&#8217;(OpenStack Object Storage) &#8212; a scalable storage system ;<br />
- &#8216;Glance&#8217;(OpenStack Image Service)&#8211; which retrieves the disk images.<br />
- &#8216;KeyStone&#8217; (OpenStack Identity) &#8212; To provide unified authentication across projects.</p>
<p>It appears there has been an almost near exponential rise in the contributions since last year(given the no. of companies involved and many individual contributors). He also discussed about OpenStack &#8216;Horizon&#8217; project which is the dashboard providing web interface to OpenStack services(noted above.)</p>
<p>Common Criteria Certification of Open Source Software<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
I then walked into the &#8216;Hardware Security and Cryptography&#8217; dev room, where Tomas Gustavson(PrimeKey, CTO) started discussing about Common Criteria and open source software[2]. He talked about the process and procedures involved. He also related how several CC documents are linked together. And then outlined the pains involved: time, money, technical-level, only a specific version is certified, to keep track of all minute details and documents and their linkings.  However he concedes it is important as the certification assures that the certified product works as it is /documented/ that it shall work.  He then moves on to the intricacies involved with Open Source and CC. He also mentioned Red Hat, IBM, PrimeKey as the ones who provide open source certified products. Concluding, however tedious the process maybe the end result is satisfying and provides confidence to governments, federal agencies, major banks and related customers and deploying such software.</p>
<p>I missed to attend Richard W Jones talk on &#8216;libguestfs&#8217; as I had a colliding talk of mine during the same slot.</p>
<p>Overview of Dogtag Certificate System<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
After the Common Criteria talk, I gave my brief talk about Dogtag Certificate System[3] to an audience of 50-60 people in the 100 capacity dev room. I started off w/ different subsystems involved,  some configuration overview, and a couple of deployment scenarios possible. Then, talked a little about cloning of subsystems for high availability, different security mechanisms available, and some command-line tools. After that, I discussed upcoming plans about REST based design, more tighter integration of subsystems w/ freeIPA project and the refactoring work in progress. Then I briefly showed a small demo(the talk was for 25-30 mins, so I didn&#8217;t manage to do a proper demo in time) of pre-installed subsystems(CA, KRA, OCSP) and the web interface on a virtual machine on my laptop. I was a little nervous while presenting, however, I also got a few questions.</p>
<p>Unfortunately, I couldn&#8217;t get to meet Kai Engert(upstream/RH Mozilla-nss maintainer) who organized the Dev Room. He actually sent me an email to meet up on Saturday night(1st day of conf.), but I wasn&#8217;t able to check it in time(as I didn&#8217;t use the (prohibitively expensive) internet at the hotel). Also, he was also handling other talks in Mozilla dev rooms. </p>
<p>I then moved to the &#8216;Hypervisors&#8217; track.</p>
<p>Ganeti:(A look inside the Virtualization Cluster Management system)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Guido Trotter(of Google) dicussed about their project &#8216;Ganeti&#8217;[4] to manage clusters of physical machines which run virtualization software using commodity hardware. It supports both XEN and KVM hypervisors. Live-migration appears to be one of its critical feature. Guido started with some terminology, components involved, configurations possible, and roles of virt nodes and some customizations that could be done. He also talked about storage management and replication.</p>
<p>I was wondering why there was a real pressing need for Google to start yet-another new management layer project for virtual machines(let it be clusters or something else). As there are already many existing management projects catering to several virtualization use-cases.</p>
<p>Virtualization with KVM: bottom to top, past to future<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Paolo Bonzini(of Red Hat) gave a complete overview[5] of the entire virt. stack covering several use-cases relating Desktop, Server and Cloud Virtualization. Starting lower the stack with KVM hypervisor&#8217;s entry into linux kernel and its integration with QEMU project. From there, he moved up the stack discussing about Libvirt for management, it&#8217;s features, and several libvirt APIs available for other applications to use. And then, to desktop virtualization management software like virt-manager, and the more recent &#8216;Gnome-Boxes&#8217;(more on this below) and several other virt-tools for disk manipulation. Moving on, he discussed about large scale virtualization problems and available solutions(oVirt, OpenStack, Ganeti) and did some comparison of these technologies. He concluded with a roadmap for KVM, QEMU, Libvirt oVirt node, oVirt engine projects.</p>
<p>Linux Containers and OpenVZ<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Kir Kolyshkin(OpenVZ project maintainer) started off by introducing the concept of Linux Containers which deals with Operating system-level virtualization which is different from whole-system(or full machine) virtualization like QEMU/KVM. Which means, with containers, there is only one real hardware(no virtual hardware to deal with) ; a single kernel and many user space instances. Container technology is primarily used by hosting providers for deploying web applications. Another alternative technology(which Red Hat supports and actively contributes) is LXC(Linux Containers). As there is no overhead of a hypervisor, higher density is possible with Linux Containers. Each container has it&#8217;s own files(chroot ; process tree ; n/w ; devices ; IPC objects). He discussed about some OpenVZ[6] features how it compares with LXC, and also discussed about dynamic resource allocation using &#8216;cgroups&#8217; technology. And mentioned some of the tools and other new features/related-projects upcoming in OpenVZ.</p>
<p>- vzctl &#8211; A tool to control OpenVZ containers.<br />
- VSwap: A new approach to memory management. Which requires only two parms to configure &#8211; RAM and Swap<br />
- ploop: A reimplimentation of linux loop device. Which supports &#8211; &#8216;plain&#8217; raw, qcow2 ; supports n/w storage, Snapshots and fast provisioning via stacked images.<br />
- CRIU: (Chekcpoint/Restore(mostly) In User-space)  &#8212; http://criu.org</p>
<p>But, LXC has been gaining more and more traction as it doesn&#8217;t require a &#8216;patched&#8217; kernel(which OpenVZ needs) to work with containers. But OpenVZ appear to have more deployments since it&#8217;s been around a little longer.</p>
<p>Native Linux KVM Tool(NLKT)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Sasha Levin(NLKT developer) introduced NLKT project[7]. A feather light weight (in-kernel) user-space alternative to QEMU, written from scratch for managing KVM hypervisor based guests(linux only at the moment). This project sits inside the kernel tree under /tools directory. It was originally born out of a long(100 emails + thread discussion, initiated by Ingo Molnar) on upstream kvm list as an RFC about unifying kvm user-space(qemu) and kernel-space into a single project as it is a single experience to the end user. After lots of heated discussions, QEMU/KVM maintainers and contributors had their own different reservations and no consensus was reached. NLKT already works  project is still in development phase, there are several active contributors.  It supports very minimal legacy devices(for simplicity and maintenance&#8217;s sake) which are only required for booting. Also to note, it doesn&#8217;t support the plenty of architectures that QEMU supports. He also outlined about upcoming features.</p>
<p>NLKT is submitted for inclusion into mainline kernel (but not yet accepted). What this means, if it is merged, a Linux distro. will by default get a minimal user-space tool to boot linux guests.</p>
<p>Having said that, QEMU is light years ahead with thousands of man hours spent developing and testing, supports plenty of enterprise features, and a wide deployment base it already has.<br />
(I experimented w/ NLKT a couple of times out of curiosity (during free time) to see how this works and learn a different perspective of KVM.)</p>
<p>OpenStack developers meeting and Distribution panel<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
I was still hanging around the &#8216;Virtualization and Cloud&#8217; Devroom, so I joined this last talk of the day just to observe how things progress. Thierry Carrez and a couple of other Openstack contributors moderated this session attended by 40-50 folks which included people representing different distributions and upstream projects. The discussions mostly surrounded around concerns of distributions, governance model and further improvements. From my observation, I don&#8217;t think there was any concrete consensus about any of the topics. There were a few Red Hat engineers discussing about the work Red Hat is doing, while the moderator was more keen on hearing a clear idea of what is Red Hat&#8217;s stance on OpenStack, and other surrounding areas relating to budget for openstack conferences.</p>
<p>That ends Day1.</p>
<p>== Day 2 ==</p>
<p>USB redirection over network<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
I came half-way into this talk by Hans de Goede(of Red Hat). His talk was primarily about USB redirection[8] as in using the usb devices(which are plugged into the physical machine) inside a virtual machine. I missed the part where he talked about the special case where the USB device being redirected is not on the physical machine but to a machine located elsewhere and how that device is accessed over the network inside a guest. </p>
<p>He also gave a small demo of USB redirection where he plugged a mouse into the physical machine and was able to use it inside the virtual machine.</p>
<p>I had also briefly attended a talk on &#8216;Tool kits and Wayland&#8217; a discussion about next generation display manager providing much smoother user experiences presented by Rob Bradford(of Intel) in &#8216;CrossDesktop Devroom&#8217;. </p>
<p>GNOME Boxes, use other systems with ease<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
In the &#8216;CrossDesktop Devroom&#8217;, Zeeshan Ali and Marc-André Lureau(of Red Hat) talked about &#8216;Gnome Boxes&#8217;[9], a desktop virtualization software which is integrated into Gnome-3. &#8216;Boxes&#8217; use Libvirt under the hood. While virt-manager is a separate application which needs to be invoked as a separate application. A super-quick demo was also provided by Zeeshan</p>
<p>For more info, refer to Daniel P Berrange&#8217;s post on this and future of virt-manager.[9.1]</p>
<p>Virtualization Management the oVirt way<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Itamar Heim(of Red Hat) presented a high level overview[10] of oVirt project, which targets large scale virtualization/Data Ceter management software leveraging many of existing virtualization technologies(KVM based). He started by discussing the goals of building a community around the virt. stack and a little bit about governance model. Then he went over the life cycle of virtual machine management using oVirt interface using screen-shots. And discussed several management features available for live migration, system scheduling, power/image management, monitoring, etc. He the showed a high level architecture(which shows IPA as a component). Then he briefly discussed about &#8216;Hooks&#8217; which can modify a VM definition as desired, but, just before a VM start. Some example hooks he mentioned are:<br />
- CPU Pinning<br />
- Single Root I/O Virtualization (SR/IOV) &#8212; which gives the ability to provide performance benefit similar to assigning a physical PCI device(like a n/w port) to a guest.<br />
- Smart Card<br />
- Hugepages (related to memory)<br />
- Numa (Non-uniform memory access)</p>
<p>He also outlined several upcoming features: live snapshots, live storage migration, hot plug, multiple storage domains, shared disks, iscisi disk, shared file system support,storage array integration, Gluster support, libguestfs integration&#8230;</p>
<p>oVirt &#8211; Engine Core<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Omer Frenkel(of Red Hat) discussed about oVirt &#8216;Engine Core&#8217;[11] which is the central part of oVirt platform which provides administration interfaces. He talked about other  responsibilities of Engine Core and several internal details. Then he discussed about Authentication, where user management is done via LDAP servers, and kerberos auth to LDAP servers. And mentioned about IPA/AD as it&#8217;s current support. He concluded with some administration detail and road map.</p>
<p>VDSM &#8212; the oVirt node management agent<br />
(VDSM: Virtual Desktop and Server Management Daemon)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Federico Simoncelli(of Red Hat) discussed about VDSM[12], a high level API for managing the cluster nodes which was originally tailored for needs of oVirt. It is written in Python; multi-threaded and multi-processed. He outlined some responsibilities of VDSM, It is used to dynamically manage anything from a few VMs on a single host to 1000s of VMs on a cluster of 100s of hosts using multiple storage targets. He concluded discussing about Storage Architecture and Thin Provisioning.</p>
<p>He offered Red Hat swag for audience who asked questions.</p>
<p>Buiding app. sandboxes on top of LXC and KVM w/ libvirt<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Daniel P. Berrange(of Red Hat) gave an excellent talk[13] on building sandboxes on top of LXC and KVM using libvirt to an almost full crowd of 500. He started off with differentiating DAC and MAC access control mechanisms and then discussed the idea of &#8216;Application Sandboxes&#8217; where the goal is to isolate any kind of regular applications, thus providing multiple defense layers. Before going further, he clarified &#8216;selinux sandbox&#8217; from &#8216;libvirt sandbox&#8217; which his talk was about. He then talked about start-up mechanisms for different libvirt drivers(KVM, LXC) and their performance overheads (of cpu execution, start-up/shutdown penalties, device access). Then he discussed about some real life use cases where sandboxing can be applied:<br />
- Deploying multiple Apache Virtual hosts (and providing strong isolation) ;<br />
- Audio transcoding of an obtained &#8216;ogg&#8217; from an untrusted source and converting it into &#8216;raw&#8217; in a sandboxed environment thus avoiding file-system and n/w access ;<br />
- Running browser instances in a sandboxed environment(one for banking, one for general use, etc..)<br />
- mock RPM build (chroot is installed using &#8216;rpm&#8217; in a sandbox, where malicious %post/%pre scripts can escape the sandboxed env.)</p>
<p>He discussed it in a bit more detail with some examples of virt-sandbox command on his blog[13.1] </p>
<p>That&#8217;s it for talks. </p>
<p>After that, I headed to the Fedora stand and did some booth duty, and answered(politely) a couple of questions(hey, why isn&#8217;t Fedora nice to me, and when can we expect to see this bug fixed) and handed over some swag to folks, then we dismantled the booth and headed out for dinner into the chill.</p>
<p>Social<br />
&#8212;&#8212;<br />
After dinner, myself, Tom Callaway(Fedora Engineering Manager), Jonathan Blandford(Gnome Desktop Manager), Gnome &#8216;Boxes&#8217; team, and a couple of other community members went to watch SuperBowl(American football) at a place called &#8220;Fat Boy&#8217;s&#8221;(probably it could be named better). Though I don&#8217;t follow the game at all, I supported the NY Giants because a character I read in a book likes it. And I was diligently warned by Tom Callaway(a Patriots supporter) that I could, but I may get hurt <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  . I left exactly at half-time and walked back to the hotel as it was already 02:00 AM and I couldn&#8217;t keep myself awake despite having 2 cups of strong tea. Later I was told NY Giants won.</p>
<p>Conclusion:<br />
&#8212;&#8212;&#8212;&#8211;<br />
This is the first FOSDEM I attended. I felt it was a great conference(minus the the cold wave) where diverse set of groups converge at one place. </p>
<p>I also had a chance to meet some Red Hatters, and several community members(though just very briefly given the tight schedule of the conference) : Daniel P Berrange, Richard W Jones, Paolo Bonzini, Tom Callaway, Lennart Poettering, Zeeshan Ali, Marc-André Lureau. And a couple of others working on Aeolus/DeltaCloud projects Michal Fojtik, Francesco Vollera, Marios( working on DeltaCloud, Aeolus projects), Sasha Levin, Pekka Enberg, Christopher Wickert, Jeorg Simon, Bert Desmet, Thorsten Leemhuis, Jonathan Blandford, Jeron Van Meun and many others.</p>
<p>I tried to review the post thrice over. Please forgive if there are any grammatical errors.</p>
<p>Some pictures:  http://www.flickr.com/photos/kashyapchamarthy/</p>
<p>References:<br />
&#8212;&#8212;&#8212;&#8211;</p>
<p>[1] http://openstack.org</p>
<p>[2] http://wwwpriv.primekey.se/~tomas/presentations/commoncriteria-opensource-5-FOSDEM.odp<br />
[2.1] http://www.primekey.se/Community/The+CESeCore+project/</p>
<p>[3] http://kashyapc.fedorapeople.org/fosdem2012-dogtag-pki-demo/</p>
<p>[4] http://fosdem.org/2012/schedule/event/427/83_ganeti_internals.pdf</p>
<p>[5] http://fosdem.org/2012/schedule/event/444/82_fosdem12.pdf</p>
<p>[6] http://openvz.org/</p>
<p>[7] http://fosdem.org/2012/schedule/event/360/2_2011-forum-native-linux-kvm-tool.pdf</p>
<p>[8] http://fedoraproject.org/wiki/Features/UsbNetworkRedirection</p>
<p>[9] https://live.gnome.org/Design/Apps/Boxes<br />
[9.1] http://berrange.com/posts/2011/11/22/gnome-3-desktop-virtualization-support-from-gnome-boxes-and-the-future-for-virt-manager/</p>
<p>[10] http://www.ovirt.org/w/images/b/b0/Fosdem2012-ovirt-clean.pdf</p>
<p>[11] http://www.ovirt.org/wiki/File:Ovirt-engine-core_fosdem_2012.pdf</p>
<p>[12] http://www.ovirt.org/wiki/Category:Vdsm</p>
<p>[13] http://people.redhat.com/berrange/fosdem-2012/libvirt-sandbox-fosdem-2012.pdf<br />
[13.1] http://berrange.com/posts/2012/01/17/building-application-sandboxes-with-libvirt-lxc-kvm/</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kashyapc.wordpress.com/867/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kashyapc.wordpress.com/867/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kashyapc.wordpress.com/867/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kashyapc.wordpress.com/867/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kashyapc.wordpress.com/867/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kashyapc.wordpress.com/867/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kashyapc.wordpress.com/867/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kashyapc.wordpress.com/867/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kashyapc.wordpress.com/867/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kashyapc.wordpress.com/867/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kashyapc.wordpress.com/867/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kashyapc.wordpress.com/867/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kashyapc.wordpress.com/867/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kashyapc.wordpress.com/867/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kashyapc.wordpress.com&amp;blog=25732161&amp;post=867&amp;subd=kashyapc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kashyapc.wordpress.com/2012/02/13/fosdem-2012-feb-45-trip-report/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/759611003e583c65b8d8d1ed95660e54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kashyapc</media:title>
		</media:content>
	</item>
		<item>
		<title>Short post: FOSDEM 2012</title>
		<link>http://kashyapc.wordpress.com/2012/02/07/short-post-fosdem-2012/</link>
		<comments>http://kashyapc.wordpress.com/2012/02/07/short-post-fosdem-2012/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 08:34:45 +0000</pubDate>
		<dc:creator>kashyapc</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[FOSDEM]]></category>

		<guid isPermaLink="false">http://kashyapc.wordpress.com/?p=856</guid>
		<description><![CDATA[Just done w/ FOSDEM at frozen Brussels. Here is some slide info and demo info for my talk I gave in &#8216;Hardware and Crypto Dev Room&#8217;. Mostly I spent time shuffling between the mostly packed &#8216;Cloud and Virt Dev room&#8216; &#8230; <a href="http://kashyapc.wordpress.com/2012/02/07/short-post-fosdem-2012/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kashyapc.wordpress.com&amp;blog=25732161&amp;post=856&amp;subd=kashyapc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Just done w/ FOSDEM at frozen Brussels. <a href="http://kashyapc.fedorapeople.org/fosdem2012-dogtag-pki-demo/">Here</a> is some slide info and demo info for my <a href="http://fosdem.org/2012/schedule/event/dogtag">talk</a> I gave in &#8216;Hardware and Crypto Dev Room&#8217;.</p>
<p>Mostly I spent time shuffling between the mostly packed &#8216;<a href="http://fosdem.org/2012/schedule/track/virtualization_and_cloud_devroom">Cloud and Virt Dev room</a>&#8216; , <a href="http://fosdem.org/2012/schedule/track/hypervisors_track">Hypervisors</a> track, a couple of sessions at Cross-Desktop Dev Room. As always, more importantly, in the hallways, matching faces to IRC nicks, met a lot of people whom I&#8217;ve mostly worked with on email and IRC.</p>
<p>Meanwhile, I took a couple of days off personally and having a decent time in a little place here in Belgium. Will make a little more detailed post w/ the talks I had a chance to attend. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kashyapc.wordpress.com/856/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kashyapc.wordpress.com/856/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kashyapc.wordpress.com/856/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kashyapc.wordpress.com/856/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kashyapc.wordpress.com/856/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kashyapc.wordpress.com/856/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kashyapc.wordpress.com/856/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kashyapc.wordpress.com/856/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kashyapc.wordpress.com/856/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kashyapc.wordpress.com/856/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kashyapc.wordpress.com/856/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kashyapc.wordpress.com/856/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kashyapc.wordpress.com/856/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kashyapc.wordpress.com/856/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kashyapc.wordpress.com&amp;blog=25732161&amp;post=856&amp;subd=kashyapc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kashyapc.wordpress.com/2012/02/07/short-post-fosdem-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/759611003e583c65b8d8d1ed95660e54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kashyapc</media:title>
		</media:content>
	</item>
		<item>
		<title>Heya FOSDEM</title>
		<link>http://kashyapc.wordpress.com/2012/01/31/heya-fosdem/</link>
		<comments>http://kashyapc.wordpress.com/2012/01/31/heya-fosdem/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 05:22:13 +0000</pubDate>
		<dc:creator>kashyapc</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[FOSDEM]]></category>

		<guid isPermaLink="false">http://kashyapc.wordpress.com/?p=844</guid>
		<description><![CDATA[I&#8217;m giving a short talk/demo on dogtag pki in &#8216;Hardware and Cryptography Devroom&#8217; at FOSDEM conf. Here are the details. Looking forward to the already packed schedule.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kashyapc.wordpress.com&amp;blog=25732161&amp;post=844&amp;subd=kashyapc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m giving a short talk/demo on <a href="http://pki.fedoraproject.org/">dogtag pki</a> in &#8216;Hardware and Cryptography Devroom&#8217; at FOSDEM conf. Here are the <a href="http://fosdem.org/2012/schedule/event/dogtag">details</a>.<br />
Looking forward to the already packed <a href="http://fosdem.org/2012/schedule">schedule</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kashyapc.wordpress.com/844/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kashyapc.wordpress.com/844/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kashyapc.wordpress.com/844/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kashyapc.wordpress.com/844/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kashyapc.wordpress.com/844/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kashyapc.wordpress.com/844/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kashyapc.wordpress.com/844/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kashyapc.wordpress.com/844/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kashyapc.wordpress.com/844/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kashyapc.wordpress.com/844/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kashyapc.wordpress.com/844/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kashyapc.wordpress.com/844/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kashyapc.wordpress.com/844/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kashyapc.wordpress.com/844/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kashyapc.wordpress.com&amp;blog=25732161&amp;post=844&amp;subd=kashyapc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kashyapc.wordpress.com/2012/01/31/heya-fosdem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/759611003e583c65b8d8d1ed95660e54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kashyapc</media:title>
		</media:content>
	</item>
		<item>
		<title>Nested Virtualization with KVM and AMD</title>
		<link>http://kashyapc.wordpress.com/2012/01/18/nested-virtualization-with-kvm-and-amd/</link>
		<comments>http://kashyapc.wordpress.com/2012/01/18/nested-virtualization-with-kvm-and-amd/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 06:46:30 +0000</pubDate>
		<dc:creator>kashyapc</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[amd]]></category>
		<category><![CDATA[nested virtualization]]></category>

		<guid isPermaLink="false">http://kashyapc.wordpress.com/?p=782</guid>
		<description><![CDATA[After my previous attempt the other day to create a nested-guest(kvm on kvm) with Intel arch, I got hold of an AMD server machine with virt-extensions enabled and gave it a whirl. This went slightly smoother than the Intel attempt. &#8230; <a href="http://kashyapc.wordpress.com/2012/01/18/nested-virtualization-with-kvm-and-amd/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kashyapc.wordpress.com&amp;blog=25732161&amp;post=782&amp;subd=kashyapc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>After my previous <a href="http://kashyapc.wordpress.com/2012/01/14/nested-virtualization-with-kvm-intel/">attempt</a>  the other day to create a nested-guest(kvm on kvm) with <em>Intel</em> arch, I got hold of an AMD server machine with virt-extensions enabled and gave it a whirl. This went slightly smoother than the Intel attempt.</p>
<p>Some config info about the physical host, regular-guest and nested-guest. (All of them are Fedora-16; x86_64)</p>
<ul type="square">
<li><strong>Physical Host</strong> (Host hypervisor/Bare metal)</li>
<ul type="square">
<li>
<pre><strong>
[root@phy-host-amd]# virsh nodeinfo
CPU model:           x86_64
CPU(s):              16
CPU frequency:       2000 MHz
CPU socket(s):       2
Core(s) per socket:  8
Thread(s) per core:  1
NUMA cell(s):        1
Memory size:         8173352 kB
</strong></pre>
</li>
</ul>
<li><strong>Regualr Guest</strong> (Or Guest Hypervisor)</li>
<ul type="square">
<li>Config: 4GB Memory; 6 vcpus; 22GB Raw disk image w/ cache=&#8217;none&#8217; enabled in the libvirt xml </li>
</ul>
<li><strong>Nested Guest</strong></li>
<ul type="square">
<li>Config: 2GB Memory; 3 vcpus; 10G Raw disk image </li>
</ul>
</ul>
<p><span style="font-size:X-large;">Ensure nesting is enabled on the physical host </span></p>
<p>Let&#8217;s ensure <strong>kvm_amd</strong> kernel module is enabled with &#8216;nested&#8217; virt.</p>
<pre><strong>
[root@phy-host-amd ~]# modinfo kvm_amd | grep -i nested
parm:           nested:int
[root@phy-host-amd ~]# 

[root@phy-host-amd ~]# cat /sys/module/kvm_amd/parameters/nested
1
[root@phy-host-amd ~]# 

[root@phy-host-amd ~]# systool -m kvm_amd -v   | grep -i nested
    nested              = "1"
[root@phy-host-amd ~]#
</strong></pre>
<p><strong>CAVEAT:</strong> To make life a little easier, I configured bridged networking on the physical host to ensure our <em>regular-guest</em> gets a bridged IP; and later, <em>nested-guest</em> gets a NATed IP. I&#8217;m noting it here because, the physical host initially had no bridging. The default libvirt bridge <strong>virbr0</strong> has 192.168.122.0/24 IP space. So once we set up the regular-guest(or guest-hypervisor), we&#8217;ll end up having the same IP space. I tried to fix this prob. by creating another &#8216;persistent&#8217; libvirt network interface and enabled autostart of it. [<strong>virsh net-add</strong>; <strong>virsh net-define</strong>; <strong>virsh net-autostart</strong> ]. But, it wasn&#8217;t elegant and messed up networks on reboot.</p>
<p><span style="font-size:X-large;">Set up the guest hypervisor</span><br />
Create a minimal regular-guest using <em>virt-install</em> . The one I used is posted <a href="http://kashyapc.fedorapeople.org/virt/nested-virt-AMD/create-regular-guest.bash">here</a> </p>
<p>Now, add the <strong>cpu</strong> attribute  to the regular-guest&#8217;s libvirt xml to expose AMD&#8217;s svm instructions, which comes with <strong>Opteron_G3</strong> model .</p>
<p>Edit the xml using virsh: </p>
<pre><strong># virsh edit regualr-guest </strong></pre>
<p> (which will also <em>define</em> the xml)</p>
<p>Here is the <strong></strong> attribute to be added to the guest hypervisor&#8217;s libvirt xml:</p>
<pre><strong><tt>   &lt;cpu&gt;
      &lt;arch&gt;x86_64&lt;/arch&gt;
      &lt;model&gt;Opteron_G3&lt;/model&gt;
      &lt;vendor&gt;AMD&lt;/vendor&gt;
      &lt;topology sockets='2' cores='8' threads='1'/&gt;
      &lt;feature name='wdt'/&gt;
      &lt;feature name='skinit'/&gt;
      &lt;feature name='osvw'/&gt;
      &lt;feature name='3dnowprefetch'/&gt;
      &lt;feature name='cr8legacy'/&gt;
      &lt;feature name='extapic'/&gt;
      &lt;feature name='cmp_legacy'/&gt;
      &lt;feature name='3dnow'/&gt;
      &lt;feature name='3dnowext'/&gt;
      &lt;feature name='pdpe1gb'/&gt;
      &lt;feature name='fxsr_opt'/&gt;
      &lt;feature name='mmxext'/&gt;
      &lt;feature name='ht'/&gt;
      &lt;feature name='vme'/&gt;
    &lt;/cpu&gt;
</tt></strong></pre>
<p>And, restarted the regular-guest, so that it boots w/ the <strong>-cpu</strong>flag which the AMD virt extensions:</p>
<pre><strong>
[root@phy-host-amd ~]# ps -ef | grep -i qemu-kvm
qemu     26677     1 14 10:39 ?        00:00:30 /usr/bin/qemu-kvm -S -M pc-0.14 -cpu phenom,+wdt,+skinit,+osvw,+3dnowprefetch,+misalignsse,+sse4a,+abm,+cr8legacy,+extapic,+cmp_legacy,+lahf_lm,+rdtscp,+pdpe1gb,+popcnt,+cx16,+ht,+vme -enable-kvm -m 4096 -smp 6,sockets=2,cores=8,threads=1 -name regular-guest -uuid 8f6a4478-496b-51d8-2de2-ff7fdb964af3 -nographic -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/regular-guest.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -drive file=/var/lib/libvirt/images/regular-guest.img,if=none,id=drive-virtio-disk0,format=raw,cache=none -device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev tap,fd=24,id=hostnet0 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:5f:c6:5f,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -usb -device usb-tablet,id=input0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
</strong></pre>
<p>Now, let&#8217;s fetch the IP of the regular-guest using <strong>virt-cat</strong></p>
<pre><strong>
[root@phy-host-amd ~]# virsh list
 Id Name                 State
----------------------------------
  5 regular-guest        running
[root@phy-host-amd ~]#
[root@phy-host-amd ~]# virt-cat regular-guest /var/log/messages | grep 'dhclient.*bound to'
Jan 17 10:13:06 dhcpyy-zz dhclient[732]: bound to ww.xx.yy.zz -- renewal in 32578 seconds.
</strong></pre>
<p>(Note: &#8216;ww.xx.yy.zz&#8217; above will be a bridged IP address)</p>
<p><span style="font-size:X-large;">Create the nested guest </span><br />
Now. install virt-packages in the regular-guest. Also, let&#8217;s check if the <strong>/dev/kvm</strong> char device is exposed in the regular-guest ; and start the libvirtd service.</p>
<pre><strong>
[root@regular-guest ~]# file /dev/kvm
/dev/kvm: character special
[root@regular-guest ~]# systemctl status libvirtd.service
libvirtd.service - LSB: daemon for libvirt virtualization API
          Loaded: loaded (/etc/rc.d/init.d/libvirtd)
          Active: active (running) since Tue, 17 Jan 2012 10:49:25 -0500; 5s ago
         Process: 1440 ExecStart=/etc/rc.d/init.d/libvirtd start (code=exited, status=0/SUCCESS)
        Main PID: 1448 (libvirtd)
          CGroup: name=systemd:/system/libvirtd.service
                  ├ 1448 libvirtd --daemon
                  └ 1501 /usr/sbin/dnsmasq --strict-order --bind-interfaces --pid-file=/var/run/libvirt/network/default.pid --conf-file= --exce...
</strong></pre>
<p>Proceed with installing a minimal F16 nested-guest w/ <em>virt-install</em>. The script I used is <a href="http://kashyapc.fedorapeople.org/virt/nested-virt-AMD/create-nested-guest.bash">here</a> </p>
<p><strong>Debugging note</strong>: Once the guest install is finished, fix the serial console access by disabling plymouth-service using this workaround. This will let us login via virsh serial console(to get kernel and boot messages)  w/o any line breaks while entering credentials:</p>
<pre><strong> # ln -s /dev/null /etc/systemd/system/plymouth-start.service</strong></pre>
<p>Get the (NATed) IP of the nested-guest. (Also, grepped for the qemu-kvm command-line of the nested-guest.)</p>
<pre><strong>
[root@regular-guest ~]# virsh list
 Id Name                 State
----------------------------------
  2 nested-guest         running
[root@regular-guest ~]# ps -ef | grep qemu-kvm
qemu      2245     1  2 Jan17 ?        00:20:11 /usr/bin/qemu-kvm -S -M pc-0.14 -enable-kvm -m 2048 -smp 3,sockets=3,cores=1,threads=1 -name nested-guest -uuid 2aae2ab5-ddb6-2585-aa16-7fe97296f34b -nographic -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/nested-guest.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -drive file=/var/lib/libvirt/images/nested-guest.img,if=none,id=drive-virtio-disk0,format=raw -device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev tap,fd=24,id=hostnet0 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:0e:4e:53,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -usb -device usb-tablet,id=input0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5

[root@regular-guest ~]# virt-cat nested-guest /var/log/messages | grep 'dhclient.*bound to'
Jan 17 11:08:30 localhost dhclient[721]: bound to 192.168.122.220 -- renewal in 1393 seconds.
[root@regular-guest ~]#
</strong></pre>
<p>SSh into the nested-guest, install <em>virt-what</em> package and run to see if we&#8217;re on a hypervisor</p>
<pre><strong>
[root@localhost ~]# cat /etc/fedora-release
Fedora release 16 (Verne)
[root@localhost ~]# ifconfig eth0 | grep inet
          inet addr:192.168.122.220  Bcast:192.168.122.255  Mask:255.255.255.0
          inet6 addr: fe80::5054:ff:fe0e:4e53/64 Scope:Link
[root@localhost ~]#
[root@localhost ~]# virt-what
kvm

</strong></pre>
<p>Wooo!! so we&#8217;re on an OS which is inside an OS which is inside an OS.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kashyapc.wordpress.com/782/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kashyapc.wordpress.com/782/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kashyapc.wordpress.com/782/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kashyapc.wordpress.com/782/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kashyapc.wordpress.com/782/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kashyapc.wordpress.com/782/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kashyapc.wordpress.com/782/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kashyapc.wordpress.com/782/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kashyapc.wordpress.com/782/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kashyapc.wordpress.com/782/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kashyapc.wordpress.com/782/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kashyapc.wordpress.com/782/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kashyapc.wordpress.com/782/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kashyapc.wordpress.com/782/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kashyapc.wordpress.com&amp;blog=25732161&amp;post=782&amp;subd=kashyapc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kashyapc.wordpress.com/2012/01/18/nested-virtualization-with-kvm-and-amd/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/759611003e583c65b8d8d1ed95660e54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kashyapc</media:title>
		</media:content>
	</item>
		<item>
		<title>Nested Virtualization with KVM Intel</title>
		<link>http://kashyapc.wordpress.com/2012/01/14/nested-virtualization-with-kvm-intel/</link>
		<comments>http://kashyapc.wordpress.com/2012/01/14/nested-virtualization-with-kvm-intel/#comments</comments>
		<pubDate>Sat, 14 Jan 2012 12:57:07 +0000</pubDate>
		<dc:creator>kashyapc</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[intel]]></category>
		<category><![CDATA[kvm]]></category>
		<category><![CDATA[nested virtualization]]></category>

		<guid isPermaLink="false">http://kashyapc.wordpress.com/?p=693</guid>
		<description><![CDATA[Some context: In regular virtualization, your physical linux host is the hypervisor, and runs multiple operating systems. Nested Virtualization let&#8217;s you run a guest inside a regular guest(essentially a Guest hypervisor).For AMD there is nested-support available since a while, and &#8230; <a href="http://kashyapc.wordpress.com/2012/01/14/nested-virtualization-with-kvm-intel/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kashyapc.wordpress.com&amp;blog=25732161&amp;post=693&amp;subd=kashyapc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Some context: In regular virtualization, your physical linux host is the hypervisor, and runs multiple operating systems. Nested Virtualization let&#8217;s you run a guest inside a regular guest(essentially a Guest hypervisor).For AMD there is nested-support available since a while, and some people reported success w/ nesting KVM guests. For Intel arch., there is support available recently, an year-ish, and some in progress work, so thought I&#8217;d give it a whirl when <a href="http://adam.younglogic.com/">Adam Young</a> started discussion about it in context of openstack project.</p>
<p>Some of the common use-cases for that are being discussed for nested-virtualization<br />
- For instance, a cloud user gets a beefy, Regualar Guest(which she completely controls). Now, this user can turn regular guest into a hypervisor, and can cheerfully run/manage multiple guests for developing or testing w/o the hassle and intervention of the cloud provider.<br />
- Possibility of having a many instances of virtualization setup (hypervisor and its guests) on one single Bare metal.<br />
- Ability to debug and test hypervisor software</p>
<p> I have immediate access to a moderately beefy Intel hardware, and rest of the post is based on Intel&#8217;s CPU virt extensions. Before proceeding, let&#8217;s settle on some terminology for clarity:</p>
<ul type="square">
<li><strong>Physical Host</strong> (Host hypervisor/Bare metal)</li>
<ul type="square">
<li>Config: Intel(R) Xeon(R) CPU(4 cores/socket); 10GB Memory; CPU Freq &#8211; 2GHz; Running latest Fedora-16(Minimal foot-print, @core only with Virt pkgs;x86_64; kernel-3.1.8-2.fc16.x86_64 </li>
</ul>
<li><strong>Regualr Guest</strong> (Or Guest Hypervisor)</li>
<ul type="square">
<li>Config:  4GB Memory; 4vCPU; 20GB Raw disk image with cache =&#8217;none&#8217; to have decent I/O; Minimal, @core F16; And same virt-packages as Physical Host; x86_64 </li>
</ul>
<li><strong>Nested Guest</strong> (Guest installed inside the Regular Guest)</li>
<ul type="square">
<li>Config:  2GB Memory; 1vCPU; Minimal(@core only) F16; x86_64 </li>
</ul>
</ul>
<p><span style="font-size:X-large;"> Enabling Nesting on the Physical Host </span></p>
<p>Node Info of the Physical Host.</p>
<pre> <strong>
# virsh nodeinfo
CPU model:           x86_64
CPU(s):              4
CPU frequency:       1994 MHz
CPU socket(s):       1
Core(s) per socket:  4
Thread(s) per core:  1
NUMA cell(s):        1
Memory size:         10242864 kB
</strong></pre>
<p>Let us first ensure <strong>kvm_intel</strong> kernel module has nesting enabled. By default, it&#8217;s disabled for Intel arch[ but enabled for AMD -- <strong>SVM</strong> (secure virtual machine) extensions arch.]</p>
<pre> <strong>
# modinfo kvm_intel | grep -i nested
parm:           nested:bool
#
</strong></pre>
<p>And, we need to pass this <strong>kvm-intel.nested=1</strong> on kernel commandline while rebooting the host to enable nesting for the Intel KVM kernel module. Which can be verified after boot by doing:</p>
<pre> <strong>
# cat /sys/module/kvm_intel/parameters/nested
Y
# systool -m kvm_intel -v   | grep -i nested
    nested              = "Y"
#
</strong></pre>
<p>Or alternatively, Adam Young identified that nesting can be enabled by adding this directive <strong>kvm_intel nested=1</strong>  to the end of <em>/etc/modprobe.d/dist.conf </em> file and reboot the host so it persists.</p>
<p><span style="font-size:X-large;"> Set up the Regular Guest(or Guest hypervisor) </span><br />
Install a regular guest using <em>virt-install</em>  or <em>oz</em> tool or any other preferred way. I made a quick script <a href="http://kashyapc.fedorapeople.org/virt/oz-guest.bash">here</a>. And ensure to have <strong>cache=&#8217;none&#8217;</strong> in the disk attribute of the Guest Hypervisor&#8217;s xml file. (observation: Install via <em>virt-install</em> tool didn&#8217;t seem have this option picked by default.) Here is the &#8216;drive&#8217; attribute libvirt xml snippet:</p>
<pre><strong><tt>    <b><font color="#0000FF">&lt;disk</font></b> <font color="#009900">type</font><font color="#990000">=</font><font color="#FF0000">'file'</font> <font color="#009900">device</font><font color="#990000">=</font><font color="#FF0000">'disk'</font><b><font color="#0000FF">&gt;</font></b>
      <b><font color="#0000FF">&lt;driver</font></b> <font color="#009900">name</font><font color="#990000">=</font><font color="#FF0000">'qemu'</font> <font color="#009900">type</font><font color="#990000">=</font><font color="#FF0000">'raw'</font> <font color="#009900">cache</font><font color="#990000">=</font><font color="#FF0000">'none'</font><b><font color="#0000FF">/&gt;</font></b>
      <b><font color="#0000FF">&lt;source</font></b> <font color="#009900">file</font><font color="#990000">=</font><font color="#FF0000">'/var/lib/libvirt/images/regular-guest.img'</font><b><font color="#0000FF">/&gt;</font></b>
      <b><font color="#0000FF">&lt;target</font></b> <font color="#009900">dev</font><font color="#990000">=</font><font color="#FF0000">'vda'</font> <font color="#009900">bus</font><font color="#990000">=</font><font color="#FF0000">'virtio'</font><b><font color="#0000FF">/&gt;</font></b>
      <b><font color="#0000FF">&lt;address</font></b> <font color="#009900">type</font><font color="#990000">=</font><font color="#FF0000">'pci'</font> <font color="#009900">domain</font><font color="#990000">=</font><font color="#FF0000">'0x0000'</font> <font color="#009900">bus</font><font color="#990000">=</font><font color="#FF0000">'0x00'</font> <font color="#009900">slot</font><font color="#990000">=</font><font color="#FF0000">'0x04'</font> <font color="#009900">function</font><font color="#990000">=</font><font color="#FF0000">'0x0'</font><b><font color="#0000FF">/&gt;</font></b>
    <b><font color="#0000FF">&lt;/disk&gt;</font></b>
</tt></strong></pre>
<p>Now, let&#8217;s try to enable Intel <strong>VMX</strong>(Virtual Machine Extensions) in the regular guest&#8217;s CPU. We can do it by running the below on the Physical host(aka Host Hypervisor), and adding the &#8216;cpu&#8217; attribute to the regular-guest&#8217;s libvirt xml file, and start the guest.</p>
<pre><strong><tt># virsh  capabilities | virsh cpu-baseline /dev/stdin
&lt;cpu match='exact'&gt;
  &lt;model&gt;Penryn&lt;/model&gt;
  &lt;vendor&gt;Intel&lt;/vendor&gt;
  &lt;feature policy='require' name='dca'/&gt;
  &lt;feature policy='require' name='xtpr'/&gt;
  &lt;feature policy='require' name='tm2'/&gt;
  &lt;feature policy='require' name='vmx'/&gt;
  &lt;feature policy='require' name='ds_cpl'/&gt;
  &lt;feature policy='require' name='monitor'/&gt;
  &lt;feature policy='require' name='pbe'/&gt;
  &lt;feature policy='require' name='tm'/&gt;
  &lt;feature policy='require' name='ht'/&gt;
  &lt;feature policy='require' name='ss'/&gt;
  &lt;feature policy='require' name='acpi'/&gt;
  &lt;feature policy='require' name='ds'/&gt;
  &lt;feature policy='require' name='vme'/&gt;
&lt;/cpu&gt;

</tt></strong></pre>
<p>The o/p of the above cmd has a variety of options. Since we need only <strong>vmx</strong> extensions, I tried the simple way by adding to the regular-guest&#8217;s libvirt xml(virsh edit ..) and started it.</p>
<pre><strong><tt>&lt;cpu match='exact'&gt;
  &lt;model&gt;core2duo&lt;/model&gt;
 &lt;feature policy='require' name='vmx'/&gt;
&lt;/cpu&gt;
</tt></strong></pre>
<p>Thanks to Jiri Denemark for the above hint. Also note that, there is a <a href="http://berrange.com/posts/2010/02/15/guest-cpu-model-configuration-in-libvirt-with-qemukvm/">very detailed and informative post</a> from Dan P Berrange  on host/guest CPU models in libvirt.</p>
<p>As we enabled <strong>vmx</strong> in the guest-hypervisor, let&#8217;s confirm that vmx is exposed in the emulated CPU by ensuring <strong>qemu-kvm</strong> is invoked with <strong>-cpu core2duo,+vmx</strong> :</p>
<pre><strong>
[root@physical-host ~]# ps -ef | grep qemu-kvm
qemu     17102     1  4 22:29 ?        00:00:34 /usr/bin/qemu-kvm -S -M pc-0.14
-cpu core2duo,+vmx -enable-kvm -m 3072
-smp 3,sockets=3,cores=1,threads=1 -name f16test1
-uuid f6219dbd-f515-f3c8-a7e8-832b99a24b5d -nographic -nodefconfig
-nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/f16test1.monitor,server,nowait
-mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown
-drive file=/export/vmimgs/f16test1.img,if=none,id=drive-virtio-disk0,format=raw,cache=none
-device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1
-netdev tap,fd=21,id=hostnet0 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:e6:cc:4e,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -usb -device usb-tablet,id=input0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
</strong></pre>
<p><span style="font-size:X-large;"> Now, let&#8217;s attempt to create a nested guest </span></p>
<p>Here comes the more interesting part, the nested-guest config. will be 2G RAM; 1vcpu; 8GB virtual disk. And let&#8217;s invoke a virt-install cmdline with a <a href="http://kashyapc.fedorapeople.org/virt/fed-minimal.ks">minimal kickstart</a> install:</p>
<pre><strong>
[root@regular-guest ~]# virt-install --connect=qemu:///system \
    --network=bridge:virbr0 \
    --initrd-inject=/root/fed.ks \
   --extra-args=ks=file:/fed.ks console=tty0 console=ttyS0,115200 serial rd_NO_PLYMOUTH \
    --name=nested-guest --disk path=/var/lib/libvirt/images/nested-guest.img,size=6 \
    --ram 2048 \
    --vcpus=1 \
    --check-cpu \
    --hvm \
    --location=http://download.foo.bar.com/pub/fedora/linux/releases/16/Fedora/x86_64/os/
    --nographics

Starting install...
Retrieving file .treeinfo...                                                                                                 | 1.7 kB     00:00 ...
Retrieving file vmlinuz...                                                                                                   | 7.9 MB     00:08 ...
Retrieving file initrd.img...                               28% [==============                                   ] 647 kB/s |  38 MB     02:25 ETA
</strong></pre>
<p><em>virt-install</em> proceeds fine(to a certain extent), doing all regular things like getting access to network, create devices, create file-systems, dep checks performed, and finally package install proceeds:</p>
<pre><strong>
Welcome to Fedora for x86_64

     ┌─────────────────────┤ Package Installation ├──────────────────────┐
     │                                                                   │
     │                                                                   │
     │                                 24%                               │
     │                                                                   │
     │                   Packages completed: 52 of 390                   │
     │                                                                   │
     │ Installing glibc-common-2.14.90-14.x86_64 (112 MB)                │
     │ Common binaries and locale data for glibc                         │
     │                                                                   │
     │                                                                   │
     │                                                                   │
     └───────────────────────────────────────────────────────────────────┘
</strong></pre>
<p>And now, it&#8217;s stuck like that for ever. Doesn&#8217;t budge, trying to install pkgs for eternity. Let&#8217;s try to see what&#8217;s the state of the guest in a seperate terminal</p>
<pre><strong>
[root@regular-guest ~]# virsh list
 Id Name                 State
----------------------------------
  1 nested-guest         paused

[root@regular-guest ~]#
[root@regular-guest ~]#  virsh domstate nested-guest --reason
paused (unknown)

[root@regular-guest ~]#
</strong></pre>
<p>So our nested-guest seems to be <em>paused</em>, And package install on the nested-guest&#8217;s serial console is still hung. I gave up at this point. Need to try if I can get any helpful info w/ <em>virt-dmesg</em> tool aor any other ways to debug this further.</p>
<p>Just to note, there is enough disk space and memory on the &#8216;regular-guest&#8217;, so that case is ruled out here.  And, I tried to destroy the broken nested-guest, and attempted to create a fresh one(repeated twice). Still no dice.</p>
<p>So not much luck yet with Intel arch, I&#8217;d have to try on an AMD machine.</p>
<p><strong>UPDATE(on Intel arch):</strong> After trying a couple of times, I was finally able to ssh to the nested guest, but, after a reboot, the nested-guest loses the IP rendering it inaccessible.(Info: the regular-guest has a bridged IP, and nested-guest has a NATed IP) . And I couldn&#8217;t login via serial-console, as it&#8217;s broken due to a <a href="https://bugzilla.redhat.com/show_bug.cgi?id=691374">regression</a>(which has a workaround).  Also, refer to comments below for further discussion on NATed networking caveats.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kashyapc.wordpress.com/693/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kashyapc.wordpress.com/693/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kashyapc.wordpress.com/693/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kashyapc.wordpress.com/693/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kashyapc.wordpress.com/693/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kashyapc.wordpress.com/693/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kashyapc.wordpress.com/693/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kashyapc.wordpress.com/693/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kashyapc.wordpress.com/693/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kashyapc.wordpress.com/693/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kashyapc.wordpress.com/693/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kashyapc.wordpress.com/693/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kashyapc.wordpress.com/693/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kashyapc.wordpress.com/693/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kashyapc.wordpress.com&amp;blog=25732161&amp;post=693&amp;subd=kashyapc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kashyapc.wordpress.com/2012/01/14/nested-virtualization-with-kvm-intel/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/759611003e583c65b8d8d1ed95660e54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kashyapc</media:title>
		</media:content>
	</item>
		<item>
		<title>Revisiting Native Linux KVM Tool</title>
		<link>http://kashyapc.wordpress.com/2012/01/11/revisiting-native-linux-kvm-tool/</link>
		<comments>http://kashyapc.wordpress.com/2012/01/11/revisiting-native-linux-kvm-tool/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 20:23:05 +0000</pubDate>
		<dc:creator>kashyapc</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[native-linux-kvm-tool]]></category>

		<guid isPermaLink="false">http://kashyapc.wordpress.com/?p=653</guid>
		<description><![CDATA[Just a quick revisit of native linux kvm tool(nlkt). There were quite a few improvements upstream. So, I git pulled the latest, built kernel; built the binary executable. The nlkt binary is now renamed to &#8216;lkvm&#8217; (thanks Pekka, it&#8217;ll improve &#8230; <a href="http://kashyapc.wordpress.com/2012/01/11/revisiting-native-linux-kvm-tool/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kashyapc.wordpress.com&amp;blog=25732161&amp;post=653&amp;subd=kashyapc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Just a quick revisit of native linux kvm tool(nlkt). There were quite a few improvements upstream. So, I git pulled the latest, built kernel; built the binary executable. The nlkt binary is now renamed to &#8216;lkvm&#8217; (thanks Pekka, it&#8217;ll improve searchability a lot)</p>
<p>Some enhancements I noticed from my testing:<br />
- 9pfs enhancements<br />
- Writable support for qcow2 disk-images<br />
- sandbox support &#8212; this seems to be mostly a wrapper around &#8216;run&#8217; command</p>
<p>After building, I posted latest kvm tool binary <em>lkvm</em>, kernel <em>bzImage</em>,  linux .config and init binaries over <a href="http://kashyapc.fedorapeople.org/native-linux-kvm-tool/nlkt-jan11/">here</a> . Also, a couple of simple <a href="http://kashyapc.fedorapeople.org/native-linux-kvm-tool/results/dec31/">test results</a> with latest git. </p>
<p>To try out a slightly long way, clone the nlkt <a href="https://github.com/penberg/linux-kvm.git">git tree</a>, (also ensure to have the correct directives enabled in the linux config. I posted mine above) ; build the kernel and kvm tool.</p>
<p>Build:</p>
<pre> <strong>
# cd linux-kvm
# make -j5
# cd tools/kvm
# make
</strong> </pre>
<p>To give a quick try with the binaries I posted  above, first let&#8217;s setup default rootfs by running the <em>setup</em> command.  Note that we also need to have a guest directory with <em>init</em> and <em>init_stage2</em> binaries. Where the <em>init</em> mounts the host file system as read-only, runs the <em>init_stage2</em> to setup a tty console and call the shell executable /bin/sh</p>
<pre> <strong>
--------------------------------------------
[kashyap@tesla nlkt-jan11]$ #./lkvm setup default
--------------------------------------------
[kashyap@tesla nlkt-jan11]$ pwd
/var/tmp/nlkt-jan11
--------------------------------------------
[kashyap@tesla nlkt-jan11]$ tree
.
├── bzImage
├── guest
│   ├── init
│   └── init_stage2
└── lkvm

1 directory, 4 files
[kashyap@tesla nlkt-jan11]$
</strong> </pre>
<p>Once we boot into our default rootfs setup, let&#8217;s boot into the kernel</p>
<pre> <strong>
[kashyap@tesla nlkt-jan11]$ ./lkvm run -d default
  # lkvm run -k ./bzImage -m 448 -c 4 --name default
.
.
.
Starting '/bin/sh'...
sh-4.2#
</strong> </pre>
<p>We can also notice the host file system being mounted read-only in the guest:</p>
<pre> <strong>
--------
sh-4.2# pwd
/
--------
sh-4.2# ls
bin  etc   host  lib64	root  sys  usr	virt
dev  home  lib	 proc	sbin  tmp  var
--------
sh-4.2# ls host/ ; cd host
bin   dev  home  lib64	     media  opt   root	sbin  sys  usr
boot  etc  lib	 lost+found  mnt    proc  run	srv   tmp  var
--------
sh-4.2# touch foo
touch: cannot touch `foo': Read-only file system
sh-4.2#
--------
</strong> </pre>
<p>Now, let&#8217;s try the <strong>sandbox</strong>, which  will run a command as part of the init and then exits gracefully . In this case, it&#8217;s a simple <em>ls</em> command. </p>
<pre> <strong>
--------
[kashyap@tesla nlkt-jan11]$ ./lkvm sandbox -k ./bzImage -- ls
  # lkvm run -k ./bzImage -m 448 -c 4 --name guest-9990
.
.
.
Mounting...
Starting '/bin/sh'...
bin  etc   host  lib64	root  sys  usr	virt
dev  home  lib	 proc	sbin  tmp  var
[    2.052463] Unregister pv shared memory for cpu 1
[    2.052546] Unregister pv shared memory for cpu 0
[    2.052578] Unregister pv shared memory for cpu 3
[    2.055887] Unregister pv shared memory for cpu 2
[    2.057093] Restarting system.
[    2.057407] machine restart

  # KVM session ended normally.
[kashyap@tesla nlkt-jan11]$
--------
</strong> </pre>
<p>NOTE: I just cleared some of the stdout for brevity. </p>
<p>UPDATE: <a href="http://penberg.posterous.com/">Pekka Enberg</a> reminded me in a comment below that I missed to note two more additional user-visible features &#8212; PPC64 architecture support ; Serial console emulation is much more faster.  (I totally agree there.)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kashyapc.wordpress.com/653/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kashyapc.wordpress.com/653/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kashyapc.wordpress.com/653/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kashyapc.wordpress.com/653/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kashyapc.wordpress.com/653/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kashyapc.wordpress.com/653/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kashyapc.wordpress.com/653/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kashyapc.wordpress.com/653/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kashyapc.wordpress.com/653/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kashyapc.wordpress.com/653/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kashyapc.wordpress.com/653/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kashyapc.wordpress.com/653/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kashyapc.wordpress.com/653/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kashyapc.wordpress.com/653/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kashyapc.wordpress.com&amp;blog=25732161&amp;post=653&amp;subd=kashyapc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kashyapc.wordpress.com/2012/01/11/revisiting-native-linux-kvm-tool/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/759611003e583c65b8d8d1ed95660e54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kashyapc</media:title>
		</media:content>
	</item>
		<item>
		<title>Little more disk I/O perf. improvement with &#8216;fallocate&#8217;ing a qcow2 disk</title>
		<link>http://kashyapc.wordpress.com/2011/12/02/little-more-disk-io-perf-improvement-with-fallocateing-a-qcow2-disk/</link>
		<comments>http://kashyapc.wordpress.com/2011/12/02/little-more-disk-io-perf-improvement-with-fallocateing-a-qcow2-disk/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 15:40:36 +0000</pubDate>
		<dc:creator>kashyapc</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[qcow2]]></category>
		<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">http://kashyapc.wordpress.com/?p=615</guid>
		<description><![CDATA[Recently I&#8217;ve started using &#8216;preallocation=metadata&#8217; flag while creating qcow2 disk images to extract some decent I/O performance. Today, while discussing qcow2 disk image performance with Stefan Hajnoczi (thank you!) on irc, I found, using fallocate &#8212; which preallocates all the &#8230; <a href="http://kashyapc.wordpress.com/2011/12/02/little-more-disk-io-perf-improvement-with-fallocateing-a-qcow2-disk/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kashyapc.wordpress.com&amp;blog=25732161&amp;post=615&amp;subd=kashyapc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Recently I&#8217;ve <a href="http://kashyapc.wordpress.com/2011/09/24/creating-a-qcow2-virtual-machine/">started using</a> &#8216;preallocation=metadata&#8217; flag while creating qcow2 disk images to extract some decent I/O performance. Today, while discussing qcow2 disk image performance with  <a href="http://blog.vmsplice.net/">Stefan Hajnoczi</a> (thank you!) on irc, I found, using <em>fallocate</em> &#8212; which preallocates all the blocks to a file &#8212; on a qcow2 disk image would improve  disk I/O performance a little more as alls the blocks are allocated to the file ahead of time.  (Just to note &#8211; <em>fallocate</em> comes w/ the linux standard pkg &#8216;util-linux-ng&#8217;)</p>
<p>Let&#8217;s run a  quick test to see the disk I/O performance improvement by preallocating all the space in a qcow2 disk.</p>
<p>Create the disk image with &#8216;preallocation=metadata&#8217;</p>
<pre> <strong>
$ qemu-img create -f qcow2 -o preallocation=metadata /export/vmimgs/f16-test1.qcow2 8G
Formatting '/export/vmimgs/f16-test1.qcow2', fmt=qcow2 size=8589934592 encryption=off cluster_size=65536 preallocation='metadata'
</strong> </pre>
<p>Let&#8217;s check the size of the image in bytes</p>
<pre><strong>
$ ls -l /export/vmimgs/f16-test1.qcow2
-rw-r--r--. 1 root root 8591507456 Dec  2 16:55 /export/vmimgs/f16-test1.qcow2

# Also, print the allocated file size in blocks
$ ls -lash /export/vmimgs/f16-test1.qcow2
1.4M -rw-r--r--. 1 root root 8.1G Dec  2 16:55 /export/vmimgs/f16-test1.qcow2
</strong> </pre>
<p>Run <em>fallocate</em> to preallocate space to the disk image:</p>
<pre><strong>
$ fallocate -l 8591507456 /export/vmimgs/f16-test1.qcow2
</strong> </pre>
<p>Now, re-run &#8216;ls&#8217; to print the allocated file size in blocks. (Notice that all the disk size, 8G, is now allocated.) </p>
<pre><strong>
$ ls -lash /export/vmimgs/f16-test1.qcow2
8.1G -rw-r--r--. 1 root root 8.1G Dec  2 16:55 /export/vmimgs/f16-test1.qcow2
$
</strong> </pre>
<p>Also, let&#8217;s run &#8216;qemu-img info&#8217; to get the disk size, virtual size.</p>
<pre><strong>
$ qemu-img info f16-test1.qcow2
image: f16-test1.qcow2
file format: qcow2
virtual size: 8.0G (8589934592 bytes)
disk size: 8.0G
cluster_size: 65536
$
</strong> </pre>
<p>As a simple test, I used the above disk image to create an <em>@core</em> only Fedora-16 guest(on a Fedora-16 host) and clocked the timing &#8212; it took roughly 5 min 32 sec to finish. While, previously, w/o <em>fallocate</em>ing a disk image, when I clocked the same f-16 timing, it took nearly 8 minutes. So, there is a decent improvement noticed here.  </p>
<p>With this, Stefan noted, disk write speed inside the guest machine should also be improved, when blocks are written for the first time. And also, due to less disk fragmentation &#8212; as all the space was preallocated in one operation &#8212; there would be fewer disk seeks during large read operations. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kashyapc.wordpress.com/615/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kashyapc.wordpress.com/615/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kashyapc.wordpress.com/615/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kashyapc.wordpress.com/615/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kashyapc.wordpress.com/615/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kashyapc.wordpress.com/615/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kashyapc.wordpress.com/615/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kashyapc.wordpress.com/615/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kashyapc.wordpress.com/615/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kashyapc.wordpress.com/615/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kashyapc.wordpress.com/615/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kashyapc.wordpress.com/615/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kashyapc.wordpress.com/615/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kashyapc.wordpress.com/615/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kashyapc.wordpress.com&amp;blog=25732161&amp;post=615&amp;subd=kashyapc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kashyapc.wordpress.com/2011/12/02/little-more-disk-io-perf-improvement-with-fallocateing-a-qcow2-disk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/759611003e583c65b8d8d1ed95660e54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kashyapc</media:title>
		</media:content>
	</item>
		<item>
		<title>Thinkpad X220(with SSD) and Fedora16</title>
		<link>http://kashyapc.wordpress.com/2011/11/25/thinkpad-x220with-ssd-and-fedora16/</link>
		<comments>http://kashyapc.wordpress.com/2011/11/25/thinkpad-x220with-ssd-and-fedora16/#comments</comments>
		<pubDate>Fri, 25 Nov 2011 12:42:45 +0000</pubDate>
		<dc:creator>kashyapc</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[fedora]]></category>

		<guid isPermaLink="false">http://kashyapc.wordpress.com/?p=584</guid>
		<description><![CDATA[Last night, a new Lenovo Thinkpad X220 arrived. It has an Intel Sandybridge Chipset, and a solid state drive, 8G memory. Here is the Smolt profile info. Without haste, I booted up a live-usb stick with Fedora 16 on it &#8230; <a href="http://kashyapc.wordpress.com/2011/11/25/thinkpad-x220with-ssd-and-fedora16/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kashyapc.wordpress.com&amp;blog=25732161&amp;post=584&amp;subd=kashyapc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Last night, a new Lenovo Thinkpad X220 arrived. It has an Intel Sandybridge Chipset, and a solid state drive, 8G memory.  Here is the <a href="http://www.smolts.org/client/show/pub_8adcefee-cf4d-4b96-9488-bf801b505104">Smolt profile info.</a></p>
<p>Without haste, I booted up a live-usb stick with Fedora 16 on it and started the hard-disk install. I clocked the live-usb install time for fun. It took 1 minute to copy live image to hard-disk, and a minute more  to perform post-install file-system changes, install boot-loader.  Nearly 3 minutes,  install was complete and smooth w/o any glitches. That was pretty neat.</p>
<p>I did some usual post-install configurations. Then, configured virtualization with bridging. Speaking of bridging, some good news here. Red Hat&#8217;s Laine Stump <a href="https://www.redhat.com/archives/libvir-list/2011-November/msg00876.html">recently submitted</a> a patch to libvirt upstream, a very handy interface for bridging. Which now makes, adding a bridge as trivial as:</p>
<pre><strong>
# virsh iface-bridge eth0 br0
</strong></pre>
<p>or with the recent <a href="http://fedoraproject.org/wiki/Features/ConsistentNetworkDeviceNaming">Consistent Network Device Naming</a> feature (which uses the BIOS provided network interface names.)</p>
<pre><strong>
# virsh iface-bridge em1 br0
</strong></pre>
<p>I previously had a Lenovo X200, compared to that, X220 seems to have improved many folds w/ more screen real-estate and an optional touch-pad as well. And oh, did I mention Fedora runs smooth as ever on Thinkpads? </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kashyapc.wordpress.com/584/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kashyapc.wordpress.com/584/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kashyapc.wordpress.com/584/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kashyapc.wordpress.com/584/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kashyapc.wordpress.com/584/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kashyapc.wordpress.com/584/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kashyapc.wordpress.com/584/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kashyapc.wordpress.com/584/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kashyapc.wordpress.com/584/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kashyapc.wordpress.com/584/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kashyapc.wordpress.com/584/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kashyapc.wordpress.com/584/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kashyapc.wordpress.com/584/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kashyapc.wordpress.com/584/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kashyapc.wordpress.com&amp;blog=25732161&amp;post=584&amp;subd=kashyapc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kashyapc.wordpress.com/2011/11/25/thinkpad-x220with-ssd-and-fedora16/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/759611003e583c65b8d8d1ed95660e54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kashyapc</media:title>
		</media:content>
	</item>
		<item>
		<title>FUDCon Pune 2011 &#8212; Day1, Day2 and Day3</title>
		<link>http://kashyapc.wordpress.com/2011/11/12/fudcon-pune-2011-day1-day2-and-day3/</link>
		<comments>http://kashyapc.wordpress.com/2011/11/12/fudcon-pune-2011-day1-day2-and-day3/#comments</comments>
		<pubDate>Sat, 12 Nov 2011 13:45:23 +0000</pubDate>
		<dc:creator>kashyapc</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[FUDCon]]></category>

		<guid isPermaLink="false">http://kashyapc.wordpress.com/?p=543</guid>
		<description><![CDATA[Just wrapped up with FUDCon Pune, 2011. First off, it was a great conference and I thoroughly enjoyed being part of the organizing team and a participant in the talks/demos over the course of 3 days. It&#8217;s always a pleasure &#8230; <a href="http://kashyapc.wordpress.com/2011/11/12/fudcon-pune-2011-day1-day2-and-day3/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kashyapc.wordpress.com&amp;blog=25732161&amp;post=543&amp;subd=kashyapc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Just wrapped up with FUDCon Pune, 2011. First off, it was a great conference and I thoroughly enjoyed being part of the organizing team and a participant in the talks/demos over the course of 3 days. It&#8217;s always a pleasure to map IRC nicks to real faces, meet lots of new  people, have exciting hallway conversations and get some things done along the way.</p>
<p><span style="font-size:X-large;">Day1</span><br />
The day started off with Fedora Project Leader <a href="http://fedoraproject.org/wiki/User:Jsmith">Jared Smith</a>&#8216;s really entertaining keynote talk about his vision for Fedora, with pleasant visuals and no slides with text. He had several pictures, each one depicting a theme of the topic he was discussing. Later, several <a href="http://fudcon.in/program/fudcon_schedule">talks/demos</a> were happening parallely, and more people trickled in as the day progressed. I also managed to attended a few sessions like <strong>Gitolite</strong> by Sitaram Chamarty(not a relation),  <strong>GlusterFS</strong> talk by Krishna Srinivas from Red Hat. And had several useful hallway discussions, impromptu demos.</p>
<p><span style="font-size:X-large;">Day2</span><br />
There was an extra glow on student volunteers this day &#8212; maybe the anticipation of FUDPub later the evening <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Being security as part of my work, I started the day by attending <a href="http://fudcon.in/sessions/security-open-source-world">Security in the Open Source world</a>! talk by Red Hat&#8217;s Eugene Teo and Huzaifa Sidhpurwala where they gave a good over view of how security flaws are fixed, and a lifecycle of a software vulnerability . Later, I followed the previous day&#8217;s GlusterFS intro talk  w/ <strong>GlusterFS hacking session</strong> by Amar, where he discussed the starting points to work on for people beginning on storage. Afte the talk, during lunch, Amar also gave me a short interesting demo of some Glusterfs concepts on his development laptop. Post lunch,  I attended Amit Shah&#8217;s highlevel overview of <strong>Virtualization Stack in Fedora</strong>. I followed it up with my talk on <strong>Virtualization with Libvirt</strong> and a small demo of virtuliazation shell built on top of virsh. Though not the best of presenters, the talk was recorded <a href="http://urtalk.kpoint.in/kapsule/gcc-db2d02a0-26aa-4c42-8e8a-c181b6bc6f29">here</a>. I thought it went good and we had a decent bunch of questions which Amit Shah and myself handled.</p>
<p><strong>FUDPub</strong>: It was fun, loud music, glitzy with bling. It&#8217;s better to watch the <a href="https://secure.flickr.com/photos/tags/fudconin11/">pictures</a> rather talk about it.</p>
<p><span style="font-size:X-large;">Day3</span><br />
Most folks who were supposed run hackfests might have hit the hay a little late(probably effect of extra tonic at FUDPub?) and came in a little late. Myself(and a couple others), happened to be the first at venue(hey, I don&#8217;t prefer to drink) and noticed the student volunteers were right on time at 8:30 AM and  with a surprised look on their face wondering about the speakers. To keep them engaged, we chatted a little bit about technologies which were presented over the last two days and what they were specifically interested in. They seemed to enjoy the exposure to the variety of technologies. They were also keen on trying virtualization and asked me to give a detailed walk-through of KVM virtualization on Fedora. Half-way through our conversation, Amit Shah and rest of the crew walked in. People gave a 2 minute pitch about several hackfests/demos they wanted to do. Later the day I ended up doing a nearly 2 hour hands-on session covering things like Virt-manager, virt-install, networking with NAT, bridging,  guestfish and friends, other virt-tools, and a basic idea of a kickstart to do automated installs. Most of them were like good students paid close attention, asked a torrent of questions and tried things diligently on their laptops along with me.</p>
<p>Several sessions happened simultaneously. The ones I recall top off the head &#8211; Fedora packaging, Puppet.  <a href="https://fedoraproject.org/wiki/User:Shanks">Shanks</a>  and myself also did a demo of <a href="https://fedorahosted.org/sssd/">SSSD</a> and helped out people  configure SSSD on their laptops.Later the day, I joined  <a href="http://izhar.fedorapeople.org/">Izhar</a> and learnt little bit on LXC(Linux Containers). I&#8217;ve never tried out LXC before, apart from reading about it on the inter-webs. We started off by discussing pros and cons of LXC vs using regular virtual machines.  At-least for him, the main bottle neck w/ VMs seems to be I/O. With LXC there is apparently no I/O bottleneck as there are no disk images, and a very small foot print on the host. Primarily useful for application sandboxing(Examples: deplyoing Plone or Drupal like CMS). Izhar gave a quick demo of LXC on his laptop and I did a quick try using Dan Berrange&#8217;s post of <a href="http://berrange.com/posts/2011/09/27/getting-started-with-lxc-using-libvirt/">Getting started w/ LXC</a>.</p>
<p>Later the night, we had a speakers (sumptuous) dinner at Cucoon hotel with some fun conversations. After that,  we(most of the organizing team, Robert Scheck, Eugene Teo, Izhar and a few other international vistors) also had a late night retrospective meeting with Jared Smith in his hotel room. I&#8217;m sure there will be a wiki post with some notes very soon to capture the thoughts.</p>
<p> Over all it was a thoroughly enjoyable event. Thanks to all the tireless efforts from Rahul Sundaram, Amit Shah, PJP, Satya, Saleem, enthusiastic College of Engineering-Pune volunteers, speakers who visited(hope you enjoyed your stay) and all those names I missed.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kashyapc.wordpress.com/543/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kashyapc.wordpress.com/543/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kashyapc.wordpress.com/543/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kashyapc.wordpress.com/543/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kashyapc.wordpress.com/543/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kashyapc.wordpress.com/543/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kashyapc.wordpress.com/543/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kashyapc.wordpress.com/543/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kashyapc.wordpress.com/543/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kashyapc.wordpress.com/543/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kashyapc.wordpress.com/543/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kashyapc.wordpress.com/543/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kashyapc.wordpress.com/543/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kashyapc.wordpress.com/543/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kashyapc.wordpress.com&amp;blog=25732161&amp;post=543&amp;subd=kashyapc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kashyapc.wordpress.com/2011/11/12/fudcon-pune-2011-day1-day2-and-day3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/759611003e583c65b8d8d1ed95660e54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kashyapc</media:title>
		</media:content>
	</item>
	</channel>
</rss>
