<?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>Seeing the fnords</title>
	<atom:link href="http://fnords.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://fnords.wordpress.com</link>
	<description>Truth lies between the code lines</description>
	<lastBuildDate>Fri, 27 Jan 2012 15:54:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='fnords.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/ed55ad3e09abc598d7db7fb82996fc1a?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Seeing the fnords</title>
		<link>http://fnords.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://fnords.wordpress.com/osd.xml" title="Seeing the fnords" />
	<atom:link rel='hub' href='http://fnords.wordpress.com/?pushpress=hub'/>
		<item>
		<title>OpenStack developers meeting at FOSDEM</title>
		<link>http://fnords.wordpress.com/2012/01/27/openstack-developers-meeting-at-fosdem/</link>
		<comments>http://fnords.wordpress.com/2012/01/27/openstack-developers-meeting-at-fosdem/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 15:54:28 +0000</pubDate>
		<dc:creator>Thierry Carrez</dc:creator>
				<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Openstack]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Ubuntu Server]]></category>

		<guid isPermaLink="false">http://fnords.wordpress.com/?p=850</guid>
		<description><![CDATA[Next week, the European free and open source software developers will converge to Brussels for FOSDEM. We took this opportunity to apply for an OpenStack developers gathering in the Virtualization and Cloud devroom. At 6pm on Saturday (last session of the day), in the Chavanne room, we will have a one-hour town hall meeting. If [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fnords.wordpress.com&amp;blog=6252617&amp;post=850&amp;subd=fnords&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Next week, the European free and open source software developers will converge to Brussels for <a href="http://fosdem.org/2012/" target="_blank">FOSDEM</a>. We took this opportunity to apply for an OpenStack developers gathering in the <a href="http://fosdem.org/2012/schedule/track/virtualization_and_cloud_devroom" target="_blank">Virtualization and Cloud</a> devroom.</p>
<p>At 6pm on Saturday (last session of the day), in the Chavanne room, we will have a one-hour town hall meeting. If you&#8217;re an existing OpenStack contributor, a developer considering to join us, an upstream project developer, a downstream distribution packager, or just curious about OpenStack, you&#8217;re welcome to join us ! I&#8217;ll be there, Stefano Maffulli (our community manager) will be there, and several OpenStack core developers will be there.</p>
<p>We&#8217;ll openly discuss issues and solutions about integration with upstream projects, packaging, governance, development processes, community or release cycles. In particular, we&#8217;ll have a distribution panel where every OpenStack distribution will be able to explain how they support OpenStack and discuss what we can improve to make things better for them.</p>
<p>And at the end of the session we can informally continue the discussion around fine Belgian beers or their famous <a href="http://en.wikipedia.org/wiki/Carbonade_flamande" target="_blank">Carbonade</a> !</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fnords.wordpress.com/850/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fnords.wordpress.com/850/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fnords.wordpress.com/850/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fnords.wordpress.com/850/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fnords.wordpress.com/850/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fnords.wordpress.com/850/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fnords.wordpress.com/850/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fnords.wordpress.com/850/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fnords.wordpress.com/850/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fnords.wordpress.com/850/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fnords.wordpress.com/850/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fnords.wordpress.com/850/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fnords.wordpress.com/850/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fnords.wordpress.com/850/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fnords.wordpress.com&amp;blog=6252617&amp;post=850&amp;subd=fnords&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fnords.wordpress.com/2012/01/27/openstack-developers-meeting-at-fosdem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/080c91926d20cf646ad6a6fef8b34e82?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tcarrez</media:title>
		</media:content>
	</item>
		<item>
		<title>Making more solid OpenStack releases</title>
		<link>http://fnords.wordpress.com/2012/01/18/making-more-solid-openstack-releases/</link>
		<comments>http://fnords.wordpress.com/2012/01/18/making-more-solid-openstack-releases/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 14:16:57 +0000</pubDate>
		<dc:creator>Thierry Carrez</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Ubuntu Server]]></category>
		<category><![CDATA[Openstack]]></category>
		<category><![CDATA[Open source]]></category>

		<guid isPermaLink="false">http://fnords.wordpress.com/?p=818</guid>
		<description><![CDATA[As we pass the middle of the Essex development cycle, questions about the solidity of this release start to pop up. After all, the previous releases were far from stellar, and with more people betting their business on OpenStack we can&#8217;t really afford another half-baked release. Common thinking (mostly coming from years of traditional software [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fnords.wordpress.com&amp;blog=6252617&amp;post=818&amp;subd=fnords&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>As we pass the middle of the <a href="http://wiki.openstack.org/EssexReleaseSchedule" target="_blank">Essex development cycle</a>, questions about the solidity of this release start to pop up. After all, the previous releases were far from stellar, and with more people betting their business on OpenStack we can&#8217;t really afford another half-baked release.</p>
<p>Common thinking (mostly coming from years of traditional software development experience) is that we shouldn&#8217;t release until it&#8217;s ready, or good enough, and calls early for pushing back the release dates. This assumes the issue is incidental: that we underestimated the time it would take our finite team of internal developers working on bugs to reach a sufficient level of quality.</p>
<p>OpenStack, being an open source project produced by a large community, works differently. We have a near-infinite supply of developers. The issue is, unfortunately, more structural than incidental. The lack of solidity for a release comes from:</p>
<ul>
<li><strong>Lack of focus on generic bugfixes.</strong> Developers should work on fixing bugs. Not just the ones they filed or the ones blocking them in their feature-adding frenzy. Fixing identified, targeted, known issues. The bugtracker is full of them, but they don&#8217;t get attention.</li>
<li><strong>Not enough automated testing to efficiently catch regressions.</strong> Even if everyone was working on bug fixes, if half your fixes end up creating a set of regressions, then there is no end to it.</li>
<li><strong>Lack of bug triaging resources.</strong> Only a few people work on confirming, triaging and prioritizing the flow of incoming bugs. So the bugs that need the most attention are lost in the noise.</li>
</ul>
<p>For the Diablo cycle, we had less than a handful of people focused on generic bugfixing. The rest of our 150+ authors were busy working on something else. Pushing back the release for a week, a month or a year won&#8217;t help OpenStack solidity if the focus doesn&#8217;t switch. And if our focus switches, then there will be no need for a costly release delay.</p>
<h4>Acting now to make Essex a success</h4>
<p>During the Essex cycle, our Project Technical Leads have done their share of the work by using a very early milestone for their feature freeze. Keystone, Glance and Nova will freeze at <em>Essex-3</em>, giving us 10 weeks for bugfixing work (compared to the 4 weeks we had for Diablo). Now we need to take advantage of that long period and really switch our mindset away from feature development and towards generic bug fixing.</p>
<p>Next week we&#8217;ll hit feature freeze, so <strong>now</strong> is the time to switch.  If we could:</p>
<ul>
<li>have some more developers working on increasing our integration and unit test coverage</li>
<li>have the rest of the developers really working on generic bug fixing</li>
<li>have very active core reviewers that get more anal-retentive as we get closer to release, to avoid introducing regressions that would not be caught by our automated tests</li>
</ul>
<p>&#8230;then I bet that it will lead to a stronger release than any delaying of the release could give you. Note that we&#8217;ll also have a <a href="http://wiki.openstack.org/BugSquashingDay/20120202" target="_blank">bug squashing day</a> on February 2 that will hopefully help us getting on top of old, deprecated and easy fixes, and give us a clear set of targets for the rest of the cycle.</p>
<p>That&#8217;s on our ability to switch our focus that hinges the quality of future OpenStack releases. That&#8217;s on what we&#8217;ll be judged. The world awaits, and the time is now.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fnords.wordpress.com/818/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fnords.wordpress.com/818/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fnords.wordpress.com/818/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fnords.wordpress.com/818/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fnords.wordpress.com/818/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fnords.wordpress.com/818/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fnords.wordpress.com/818/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fnords.wordpress.com/818/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fnords.wordpress.com/818/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fnords.wordpress.com/818/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fnords.wordpress.com/818/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fnords.wordpress.com/818/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fnords.wordpress.com/818/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fnords.wordpress.com/818/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fnords.wordpress.com&amp;blog=6252617&amp;post=818&amp;subd=fnords&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fnords.wordpress.com/2012/01/18/making-more-solid-openstack-releases/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/080c91926d20cf646ad6a6fef8b34e82?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tcarrez</media:title>
		</media:content>
	</item>
		<item>
		<title>Virtualization &amp; Cloud devroom at FOSDEM</title>
		<link>http://fnords.wordpress.com/2012/01/13/virtualization-cloud-devroom-at-fosdem/</link>
		<comments>http://fnords.wordpress.com/2012/01/13/virtualization-cloud-devroom-at-fosdem/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 14:43:06 +0000</pubDate>
		<dc:creator>Thierry Carrez</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Ubuntu Server]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Openstack]]></category>
		<category><![CDATA[Open source]]></category>

		<guid isPermaLink="false">http://fnords.wordpress.com/?p=810</guid>
		<description><![CDATA[The Free and Open source Software Developers&#8217; European Meeting, or FOSDEM, is an institution that happens every year in Brussels. A busy, free and open event that gets a lot of developers together for two days of presentations and cross-pollination. There are typically the FOSDEM main tracks (a set of presentations chosen by the FOSDEM [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fnords.wordpress.com&amp;blog=6252617&amp;post=810&amp;subd=fnords&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The Free and Open source Software Developers&#8217; European Meeting, or <a href="http://fosdem.org/2012/" target="_blank">FOSDEM</a>, is an institution that happens every year in Brussels. A busy, free and open event that gets a lot of developers together for two days of presentations and cross-pollination. There are typically the FOSDEM main tracks (a set of presentations chosen by the FOSDEM organization) and a set of devrooms, which are topic-oriented or project-oriented and can organize their own schedule freely.</p>
<p>This year, FOSDEM will host an unusual devroom, the Virtualization and Cloud devroom. It will happen in the Chavanne room, a 550-seat auditorium that was traditionally used for main tracks. And it will last for two whole days, while other devrooms typically last for a day or a half-day.</p>
<p>The Virtualization and Cloud devroom is the result of the merging of three separate devroom requests: Virtualization, Xen and OpenStack devrooms. It gives us a larger space and a lot of potential for cross-pollination across projects ! We had a lot of talks proposed, and here is an overview of what you&#8217;ll be able to see there.</p>
<h4>Saturday, February 4</h4>
<p>Saturday will  be the &#8220;cloud&#8221; day. We will start with a set of talks about <strong>OpenStack, past, present and future</strong>. I will do an <a href="http://fosdem.org/2012/schedule/event/openstack_news" target="_blank">introduction and retrospective</a> of what happened last year in the project, Soren Hansen will <a href="http://fosdem.org/2012/schedule/event/hacking_on_nova" target="_blank">guide new developers to Nova</a>, and Debo Dutta will look into future work on <a href="http://fosdem.org/2012/schedule/event/app_scheduling" target="_blank">application scheduling and Donabe</a>. Next we&#8217;ll have a session on various<strong> cloud-related technologies</strong>: <a href="http://fosdem.org/2012/schedule/event/libguestfs" target="_blank">libguestfs</a>, <a href="http://fosdem.org/2012/schedule/event/pacemaker_cloud" target="_blank">pacemaker-cloud</a> and <a href="http://fosdem.org/2012/schedule/event/opennebula" target="_blank">OpenNebula</a>. The afternoon will start with a nice session on <strong>cloud interoperability</strong>, including presentations on the <a href="http://fosdem.org/2012/schedule/event/aeolus" target="_blank">Aeolus</a>, <a href="http://fosdem.org/2012/schedule/event/compatibleone" target="_blank">CompatibleOne</a> and <a href="http://fosdem.org/2012/schedule/event/deltacloud" target="_blank">Deltacloud</a> <a href="http://fosdem.org/2012/schedule/event/dmtf_deltacloud" target="_blank">efforts</a>. We&#8217;ll continue with a session on <strong>cloud deployment</strong>, with a strong OpenStack focus: Ryan Lane will talk about how Wikimedia maintains infrastructure <a href="http://fosdem.org/2012/schedule/event/wikimedia_infra" target="_blank">like an open source project</a>, Mike McClurg will look into <a href="http://fosdem.org/2012/schedule/event/openstack_xcp_ubuntu" target="_blank">Ubuntu+XCP+OpenStack</a> deployments, and Dave Walker will introduce the <a href="http://fosdem.org/2012/schedule/event/cloud_orchestration" target="_blank">Orchestra project</a>. The day will end with a <a href="http://fosdem.org/2012/schedule/event/osdem" target="_blank">town hall meeting</a> for all <strong>OpenStack developers</strong>, including a panel of distribution packagers: I will blog more about that one in the next weeks.</p>
<h4>Sunday, February 5</h4>
<p>Sunday is more &#8220;virtualization&#8221; day ! The day will start early with two presentations by Hans de Goede about <a href="http://fosdem.org/2012/schedule/event/spice" target="_blank">Spice</a> and <a href="http://fosdem.org/2012/schedule/event/usb_network_redirect" target="_blank">USB redirection over the network</a>. Then we&#8217;ll have a session on <strong>virtualization management</strong>, with Guido Trotter giving more <a href="http://fosdem.org/2012/schedule/event/ganeti_news" target="_blank">Ganeti news</a> and <a href="http://fosdem.org/2012/schedule/event/ovirt_intro" target="_blank">three</a> <a href="http://fosdem.org/2012/schedule/event/ovirt_engine_core" target="_blank">talks</a> <a href="http://fosdem.org/2012/schedule/event/ovirt_vdsm" target="_blank">about</a> oVirt. In the afternoon we&#8217;ll have a more technical session around <strong>virtualization in development</strong>: Antti Kantee will introduce ultralightweight kernel service virtualization with <a href="http://fosdem.org/2012/schedule/event/rump_kernels" target="_blank">rump kernels</a>, Renzo Davoli will lead a <a href="http://fosdem.org/2012/schedule/event/tracing_virt_workshop" target="_blank">workshop on tracing and virtualization</a>, and Dan Berrange will show how to build application <a href="http://fosdem.org/2012/schedule/event/libvirt_lxc_kvm_sandboxes" target="_blank">sandboxes on top of LXC and KVM with libvirt</a>. The day will end with another developers meeting, this time the <strong>Xen developers</strong> will meet around Ian Campbell and his <a href="http://fosdem.org/2012/schedule/event/xen" target="_blank">Xen deployment troubleshooting workshop</a>.</p>
<p>All in all, that&#8217;s two days packed with very interesting presentations, in a devroom large enough to accomodate a good crowd, so we hope to see you there !</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fnords.wordpress.com/810/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fnords.wordpress.com/810/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fnords.wordpress.com/810/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fnords.wordpress.com/810/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fnords.wordpress.com/810/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fnords.wordpress.com/810/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fnords.wordpress.com/810/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fnords.wordpress.com/810/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fnords.wordpress.com/810/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fnords.wordpress.com/810/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fnords.wordpress.com/810/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fnords.wordpress.com/810/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fnords.wordpress.com/810/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fnords.wordpress.com/810/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fnords.wordpress.com&amp;blog=6252617&amp;post=810&amp;subd=fnords&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fnords.wordpress.com/2012/01/13/virtualization-cloud-devroom-at-fosdem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/080c91926d20cf646ad6a6fef8b34e82?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tcarrez</media:title>
		</media:content>
	</item>
		<item>
		<title>Ending the year well: OpenStack Essex-2 milestone</title>
		<link>http://fnords.wordpress.com/2011/12/20/ending-the-year-well-openstack-essex-2-milestone/</link>
		<comments>http://fnords.wordpress.com/2011/12/20/ending-the-year-well-openstack-essex-2-milestone/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 17:03:15 +0000</pubDate>
		<dc:creator>Thierry Carrez</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Ubuntu Server]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Openstack]]></category>

		<guid isPermaLink="false">http://fnords.wordpress.com/?p=800</guid>
		<description><![CDATA[2011 is almost finished, and what a year it has been. We started it with two core projects and one release behind us. During 2011, we got three releases out of the door, grew from 60 code contributors to about 200, added three new core projects, and met for two design summits. The Essex-2 milestone [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fnords.wordpress.com&amp;blog=6252617&amp;post=800&amp;subd=fnords&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>2011 is almost finished, and what a year it has been. We started it with two core projects and one release behind us. During 2011, we got three releases out of the door, grew from 60 code contributors to about 200, added three new core projects, and met for two design summits.</p>
<p>The Essex-2 milestone was released last week. Here is our now-regular overview of the work that made it to OpenStack core projects since the previous milestone.</p>
<p>Nova was the busiest project. Apart from my work on a new <a href="https://blueprints.launchpad.net/nova/+spec/nova-rootwrap" target="_blank">secure root wrapper</a> (detailed on <a href="http://fnords.wordpress.com/2011/11/23/improving-nova-privilege-escalation-model-part-1/" target="_blank">previous</a> <a href="http://fnords.wordpress.com/2011/11/25/improving-nova-privilege-escalation-model-part-2/" target="_blank">articles</a> <a href="http://fnords.wordpress.com/2011/11/30/improving-nova-privilege-escalation-model-part-3/" target="_blank">of</a> this blog), we added a pair of OpenStack API extensions to support the <a href="https://blueprints.launchpad.net/nova/+spec/nova-volume-snapshot-backup-api" target="_blank">creation of snapshots and backups of volumes</a>, the <a href="https://blueprints.launchpad.net/nova/+spec/separate-nova-metadata" target="_blank">metadata service</a> can now run separately from the API node, network limits can now be set using a <a href="https://blueprints.launchpad.net/nova/+spec/bandwidth-rate-limit-multipliers-and-base-limits" target="_blank">per-network base and a per-flavor multiplier</a>, and a small usability feature lets you retrieve the <a href="https://blueprints.launchpad.net/nova/+spec/lasterror" target="_blank">last error</a> that occurred using nova-manage. But Essex is not about new features, it&#8217;s more about consistency and stability. On the consistency front, the <a href="https://blueprints.launchpad.net/nova/+spec/xenapi-ha-nova-network" target="_blank">HA network mode was extended to support XenServer</a>, KVM compute nodes now <a href="https://blueprints.launchpad.net/nova/+spec/kvm-report-capabilities" target="_blank">report capabilities</a> to zones like Xen ones, and the Quantum network manager now <a href="https://blueprints.launchpad.net/nova/+spec/quantum-nat-parity" target="_blank">supports NAT</a>. Under the hood, <a href="https://blueprints.launchpad.net/nova/+spec/nova-vm-state-management" target="_blank">VM state transitions</a> have been strengthened, the network data model <a href="https://blueprints.launchpad.net/nova/+spec/compute-network-info" target="_blank">has</a> <a href="https://blueprints.launchpad.net/nova/+spec/network-info-model" target="_blank">been</a> overhauled, internal interfaces now support <a href="https://blueprints.launchpad.net/nova/+spec/internal-uuids" target="_blank">UUID instance references</a>, and unused callbacks have <a href="https://blueprints.launchpad.net/nova/+spec/remove-virt-driver-callbacks" target="_blank">been removed</a> from the virt driver.</p>
<p>The other projects were all busy starting larger transitions (Keystone&#8217;s RBAC, Horizon new user experience, and Glance 2.0 API), leaving less room for essex-2 features. Glance still saw the addition of  a <a href="https://blueprints.launchpad.net/glance/+spec/custom-disk-buffer" target="_blank">custom directory for data buffering</a>. Keystone introduced <a href="https://blueprints.launchpad.net/keystone/+spec/global-templates" target="_blank">global endpoints templates</a> and <a href="https://blueprints.launchpad.net/keystone/+spec/keystone-swift-acls" target="_blank">swauth-like ACL enforcement</a>. Horizon added UI support for <a href="https://blueprints.launchpad.net/horizon/+spec/cert-download" target="_blank">downloading RC files</a>, while migrating under the hood from <a href="https://blueprints.launchpad.net/horizon/+spec/migrate-to-bootstrap" target="_blank">jquery-ui to bootstrap</a>, and adding a <a href="https://blueprints.launchpad.net/horizon/+spec/environment-versioning" target="_blank">versioning scheme</a> for environment/dependencies.</p>
<p>The next milestone is in a bit more than a month: January 26th, 2012. Happy new year and holidays to all !</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fnords.wordpress.com/800/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fnords.wordpress.com/800/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fnords.wordpress.com/800/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fnords.wordpress.com/800/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fnords.wordpress.com/800/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fnords.wordpress.com/800/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fnords.wordpress.com/800/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fnords.wordpress.com/800/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fnords.wordpress.com/800/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fnords.wordpress.com/800/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fnords.wordpress.com/800/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fnords.wordpress.com/800/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fnords.wordpress.com/800/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fnords.wordpress.com/800/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fnords.wordpress.com&amp;blog=6252617&amp;post=800&amp;subd=fnords&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fnords.wordpress.com/2011/12/20/ending-the-year-well-openstack-essex-2-milestone/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/080c91926d20cf646ad6a6fef8b34e82?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tcarrez</media:title>
		</media:content>
	</item>
		<item>
		<title>Improving Nova privilege escalation model, part 3</title>
		<link>http://fnords.wordpress.com/2011/11/30/improving-nova-privilege-escalation-model-part-3/</link>
		<comments>http://fnords.wordpress.com/2011/11/30/improving-nova-privilege-escalation-model-part-3/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 14:29:16 +0000</pubDate>
		<dc:creator>Thierry Carrez</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Ubuntu Server]]></category>
		<category><![CDATA[Openstack]]></category>

		<guid isPermaLink="false">http://fnords.wordpress.com/?p=793</guid>
		<description><![CDATA[In the previous two posts of this series, we explored the deficiencies of the current model and the features of an alternative implementation. In this last post, we&#8217;ll discuss the advantages of a Python implementation and open discussion on how to secure it properly. Python implementation It&#8217;s quite easy to implement the features that were [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fnords.wordpress.com&amp;blog=6252617&amp;post=793&amp;subd=fnords&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In the previous two posts of this series, we explored the <a href="http://fnords.wordpress.com/2011/11/23/improving-nova-privilege-escalation-model-part-1/" target="_blank">deficiencies of the current model</a> and the <a href="http://fnords.wordpress.com/2011/11/25/improving-nova-privilege-escalation-model-part-2/" target="_blank">features of an alternative implementation</a>. In this last post, we&#8217;ll discuss the advantages of a Python implementation and open discussion on how to secure it properly.</p>
<h4>Python implementation</h4>
<p>It&#8217;s quite easy to implement the features that were mentioned in the previous post in Python. The main advantage of doing so is that the code can happily live inside Nova code, in particular the filters definition files can be implemented as Python modules that are loaded if present. That solves the issue of shipping definitions within Nova and also the separation of allowed commands based on locally-deployed nodes. The code is simple and easy to review. The trick is to make sure that no malicious code can be injected in the elevated rights process. This is why I&#8217;d like to present a model and open it for comments in the community.</p>
<h4>Proposed security model</h4>
<p>The idea would be to have Nova code optionally use &#8220;sudo nova-rootwrap&#8221; instead of &#8220;sudo&#8221; as the <em>root_helper.</em> A generic <em>sudoers</em> file would allow the <em>nova</em> user to run <em>/usr/bin/nova-rootwrap</em> as <em>root</em>, while stripping environment variables like <em>PYTHONPATH</em>. To load its filters definitions, <em>nova-rootwrap</em> would try to import a set of predefined modules (like <em>nova.rootwrap.compute</em>), but if those aren&#8217;t present, it should ignore them. Can this model be abused ?</p>
<p>The obvious issue is to make sure <em>sys.path</em> (the set of directories from which Python imports its modules) is secure, so that nobody can insert their own modules in the process. I&#8217;ve given some thoughts to various checks, but actually there is no way around trusting the default <em>sys.path</em> you&#8217;re given when you start <em>python</em> as <em>root</em> from a cleaned env. If that&#8217;s compromised, you&#8217;re toasted the moment you &#8220;import sys&#8221; anyway. So using <em>sudo</em> to only allow <em>/usr/bin/nova-rootwrap</em> and cleaning the environment should be enough. Or am I missing something ?</p>
<h4>Insecure mode ?</h4>
<p>One thing we could do is check that <em>sys.path</em> all belongs to <em>root</em> and refuse to run in the case it&#8217;s not. That would tell the user that his setup is insecure (potentially allowing him to bypass that by running &#8220;sudo nova-rootwrap &#8211;insecure&#8221; as the <em>root_helper</em>). But that&#8217;s a convenience to detect insecure setups, not a security addition (the fact that it doesn&#8217;t complain doesn&#8217;t mean you&#8217;re safe, it could mean you&#8217;re already compromised).</p>
<h4>Test mode ?</h4>
<p>For tests, it&#8217;s convenient to allow to run code from branches. To allow this (unsafe) mode, you would tweak <em>sudoers</em> to allow it to run <em>$BRANCH/bin/nova-rootwrap</em> as <em>root</em>, and prepend &#8220;..&#8221; to <em>sys.path</em> in order to allow modules to be loaded from <em>$BRANCH</em> (maybe requiring <em>&#8211;insecure</em> mode for good measure). It sounds harmless, since if you run from <em>/usr/bin/nova-rootwrap</em> you can assume that <em>/usr</em> is safe&#8230; Or should that idea be abandoned altogether ?</p>
<h4>Audit</h4>
<p>Nothing beats peer review when it comes to secure design. I call all Python module-loading experts and security white-hats out there: would this work ? Are those safe assumptions ? How much do you like <em>insecure</em> and <em>test</em> modes ? Would you suggest something else ? If you&#8217;re one of those that can&#8217;t think in words but require code, you can get a glimpse of work in progress <a href="https://github.com/ttx/nova/compare/master...root-wrapper" target="_blank">here</a>. It will all be optional (and not used by default), so it can be added to Nova without much damage, but I&#8217;d rather do it right from the beginning <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Please comment !</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fnords.wordpress.com/793/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fnords.wordpress.com/793/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fnords.wordpress.com/793/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fnords.wordpress.com/793/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fnords.wordpress.com/793/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fnords.wordpress.com/793/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fnords.wordpress.com/793/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fnords.wordpress.com/793/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fnords.wordpress.com/793/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fnords.wordpress.com/793/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fnords.wordpress.com/793/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fnords.wordpress.com/793/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fnords.wordpress.com/793/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fnords.wordpress.com/793/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fnords.wordpress.com&amp;blog=6252617&amp;post=793&amp;subd=fnords&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fnords.wordpress.com/2011/11/30/improving-nova-privilege-escalation-model-part-3/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/080c91926d20cf646ad6a6fef8b34e82?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tcarrez</media:title>
		</media:content>
	</item>
		<item>
		<title>Improving Nova privilege escalation model, part 2</title>
		<link>http://fnords.wordpress.com/2011/11/25/improving-nova-privilege-escalation-model-part-2/</link>
		<comments>http://fnords.wordpress.com/2011/11/25/improving-nova-privilege-escalation-model-part-2/#comments</comments>
		<pubDate>Fri, 25 Nov 2011 11:00:45 +0000</pubDate>
		<dc:creator>Thierry Carrez</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Ubuntu Server]]></category>
		<category><![CDATA[Openstack]]></category>

		<guid isPermaLink="false">http://fnords.wordpress.com/?p=784</guid>
		<description><![CDATA[In the previous post in this series we explored the current privilege escalation model used in OpenStack Compute (Nova), and discussed its limitations. Now that we are able to plug an alternative model (thanks to the root_helper option), we&#8217;ll discuss in this post what features this one should have. If you think we need more, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fnords.wordpress.com&amp;blog=6252617&amp;post=784&amp;subd=fnords&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In the <a href="http://fnords.wordpress.com/2011/11/23/improving-nova-privilege-escalation-model-part-1/" target="_blank">previous post in this series</a> we explored the current privilege escalation model used in OpenStack Compute (Nova), and discussed its limitations. Now that we are able to plug an alternative model (thanks to the <em>root_helper</em> option), we&#8217;ll discuss in this post what features this one should have. If you think we need more, please comment !</p>
<h4>Command filters</h4>
<p>The most significant issue with the current model is that <em>sudoers</em> filters the executable used, but not the arguments. To fix that, our alternative model should allow precise argument filtering so that only very specific commands are allowed. It should use lists of filters: if one matches, the command is executed.</p>
<p>The basic <em>CommandFilter</em> would just check that the executable name matches (which is what sudoers does). A more advanced <em>RegexpFilter</em> would check that the number of arguments is right and that they all match provided regular expressions.</p>
<p>Taking that concept a step further, you should be able to plug any type of advanced filter. You may want to check that the argument to the command is an existing directory. Or one that is owned by a specific user. The framework should allow developers to define their own <em>CommandFilter</em> subclasses, to be as precise as they want when filtering the most destructive commands.</p>
<h4>Running as</h4>
<p>In some cases, Nova runs, as <em>root</em>, commands that it should just run as a different user. For example, it runs <em>kill</em> with <em>root</em> rights to interact with <em>dnsmasq</em> processes (owned by the <em>nobody</em> user). It doesn&#8217;t really need to run <em>kill</em> with <em>root</em> rights at all. Filters should therefore also allow to specify a lower-privileged user a specific matching command should run under.</p>
<h4>Shipping filters in Nova code</h4>
<p>Filter lists should live within Nova code and be deployed by packaging, rather than live in packaging. That allows people adding a new escalated command to add the corresponding filter in the same commit.</p>
<h4>Limiting commands based on deployed nodes</h4>
<p>As mentioned in the <a href="http://fnords.wordpress.com/2011/11/23/improving-nova-privilege-escalation-model-part-1/" target="_blank">previous post</a>, <em>nova-api</em> nodes don&#8217;t actually need to run any command as <em>root</em>, but in the current model their <em>nova</em> user is still allowed to run plenty of them. The solution for that is to separate the command filters based on the type of node that is allowed to run them, in different files. Then deploy the <em>nova-compute</em> filters file only on <em>nova-compute</em> nodes, the <em>nova-volume</em> filters file only on <em>nova-volume</em> nodes&#8230; A pure <em>nova-api</em> node will end up with no filters being deployed at all, effectively not being allowed any command as root. So this can be solved by smart packaging of filter files.</p>
<h4>Missing features ?</h4>
<p>Those are the features that I found useful for our alternative privilege escalation model. If you see others, please comment here ! I&#8217;d like to make sure all the useful features are included. In the next post, we&#8217;ll discuss a proposed Python implementation of this framework, and the challenges around securing it.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fnords.wordpress.com/784/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fnords.wordpress.com/784/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fnords.wordpress.com/784/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fnords.wordpress.com/784/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fnords.wordpress.com/784/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fnords.wordpress.com/784/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fnords.wordpress.com/784/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fnords.wordpress.com/784/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fnords.wordpress.com/784/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fnords.wordpress.com/784/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fnords.wordpress.com/784/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fnords.wordpress.com/784/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fnords.wordpress.com/784/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fnords.wordpress.com/784/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fnords.wordpress.com&amp;blog=6252617&amp;post=784&amp;subd=fnords&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fnords.wordpress.com/2011/11/25/improving-nova-privilege-escalation-model-part-2/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/080c91926d20cf646ad6a6fef8b34e82?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tcarrez</media:title>
		</media:content>
	</item>
		<item>
		<title>Improving Nova privilege escalation model, part 1</title>
		<link>http://fnords.wordpress.com/2011/11/23/improving-nova-privilege-escalation-model-part-1/</link>
		<comments>http://fnords.wordpress.com/2011/11/23/improving-nova-privilege-escalation-model-part-1/#comments</comments>
		<pubDate>Wed, 23 Nov 2011 16:31:24 +0000</pubDate>
		<dc:creator>Thierry Carrez</dc:creator>
				<category><![CDATA[Openstack]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Ubuntu Server]]></category>

		<guid isPermaLink="false">http://fnords.wordpress.com/?p=772</guid>
		<description><![CDATA[In this series, I&#8217;ll discuss how to strengthen the privilege escalation model for OpenStack Compute (Nova). Due to the way networking, virtualization and volume management work, some Nova nodes need to be able to run some commands as root. To reduce the effects of a potential compromise (attacker being able to run arbitrary code as [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fnords.wordpress.com&amp;blog=6252617&amp;post=772&amp;subd=fnords&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In this series, I&#8217;ll discuss how to strengthen the privilege escalation model for OpenStack Compute (Nova). Due to the way networking, virtualization and volume management work, some Nova nodes need to be able to run some commands as root. To reduce the effects of a potential compromise (attacker being able to run arbitrary code as the Nova user), we want to limit the commands that Nova can run as root on a given node to the strict necessary. Today we&#8217;ll explain how the current model works, its limitations, and the groundwork already implemented during the Diablo cycle to improve that.</p>
<h4>Current model: sudo and sudoers</h4>
<p>Currently, in a typical Nova deployment, the nodes run under an account with limited rights (usually called &#8220;nova&#8221;). When Nova needs to run a command as root, it prepends &#8220;sudo&#8221; to the command. The nova packages of your distribution of choice are supposed to ship a <strong>sudoers</strong> file that contains all the commands that nova is allowed to run as root without providing a password. This is a privilege escalation security model which is pretty well-known and easy to audit.</p>
<h4>Limitations of the current model</h4>
<p>That said, in the context of Nova, this model is very limited. The sudoers file does not allow to efficiently filter arguments, so you can basically pass any argument to the allowed command&#8230; and some of the commands that nova wants to use are rather open-ended. As an example, the current nova_sudoers file contains commands like <em>chown</em>, <em>kill</em>, <em>dd</em> or <em>tee</em>, which are more than enough to compromise a target system completely.</p>
<p>There are a couple other limitations.  The sudoers file belongs to the distributions packaging, so it&#8217;s difficult to keep it in sync with the rest of Nova code when someone wants to add a privileged command. Last but not least, the same nova_sudoers file is used for any type of Nova node. A Nova API server, which does not <em>need</em> to run any command as root, is still allowed to run all the commands that a compute node requires, for example. Those other limitations could be fixed while still using sudo and sudoers files, but the first limitation would remain. Can we do better ?</p>
<h4>Substitute a wrapper to sudo</h4>
<p>To be able to propose alternative privilege escalation security models, we first needed to be able to change all the &#8220;sudo&#8221; calls in the code and make them potentially use something else. That&#8217;s <a href="https://blueprints.launchpad.net/nova/+spec/refactor-privesc" target="_blank">what I worked on</a> late during the Diablo timeframe: creating a <em>run_as_root</em> option in nova.utils.execute that would use a configurable <strong>root_helper</strong> command (by default, &#8220;sudo&#8221;), and force all the existing calls to go through that (rather than blindly calling &#8220;sudo&#8221; themselves).</p>
<p>Thanks to the default root_helper, everything still behaves the same, but now we have the possibility to use <em>something else</em>, if we can be smarter than sudoers files. Like call a wrapper that will do advanced filtering of the command that nova wants to use. In part 2 of this series, we&#8217;ll look into a proposed, alternative Python-based root_helper and open discussion on its security model.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fnords.wordpress.com/772/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fnords.wordpress.com/772/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fnords.wordpress.com/772/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fnords.wordpress.com/772/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fnords.wordpress.com/772/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fnords.wordpress.com/772/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fnords.wordpress.com/772/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fnords.wordpress.com/772/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fnords.wordpress.com/772/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fnords.wordpress.com/772/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fnords.wordpress.com/772/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fnords.wordpress.com/772/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fnords.wordpress.com/772/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fnords.wordpress.com/772/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fnords.wordpress.com&amp;blog=6252617&amp;post=772&amp;subd=fnords&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fnords.wordpress.com/2011/11/23/improving-nova-privilege-escalation-model-part-1/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/080c91926d20cf646ad6a6fef8b34e82?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tcarrez</media:title>
		</media:content>
	</item>
		<item>
		<title>OpenStack Essex-1 milestone</title>
		<link>http://fnords.wordpress.com/2011/11/14/openstack-essex-1-milestone/</link>
		<comments>http://fnords.wordpress.com/2011/11/14/openstack-essex-1-milestone/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 14:50:54 +0000</pubDate>
		<dc:creator>Thierry Carrez</dc:creator>
				<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Openstack]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Ubuntu Server]]></category>

		<guid isPermaLink="false">http://fnords.wordpress.com/?p=766</guid>
		<description><![CDATA[Last week saw the delivery of the first milestone of the Essex development cycle for Keystone, Glance, Horizon and Nova. This early milestone collected about two months of post-Diablo work&#8230; but it&#8217;s not as busy in new features as most would think, since a big part of those last two months was spent releasing OpenStack [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fnords.wordpress.com&amp;blog=6252617&amp;post=766&amp;subd=fnords&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Last week saw the delivery of the first milestone of the Essex development cycle for Keystone, Glance, Horizon and Nova. This early milestone collected about two months of post-Diablo work&#8230; but it&#8217;s not as busy in new features as most would think, since a big part of those last two months was spent releasing OpenStack 2011.3 and brainstorming Essex features.</p>
<p>Keystone delivered their first milestone as a core project, with a few new features like support for <a href="https://blueprints.launchpad.net/keystone/+spec/support-multiple-credentials" target="_blank">additional credentials</a>, <a href="https://blueprints.launchpad.net/keystone/+spec/keystone-service-registration" target="_blank">service registration</a> and using <a href="https://blueprints.launchpad.net/keystone/+spec/2-way-ssl" target="_blank">certificate-based SSL client authentication to authenticate services</a>. It should be easier to upgrade from now on, with support for <a href="https://blueprints.launchpad.net/keystone/+spec/database-migrations" target="_blank">database migrations</a>.</p>
<p>Glance developers were busy preparing significant changes that will land in the next milestone. Several bugfixes and a few features made it to essex-1 though, including the long-awaited <a href="https://blueprints.launchpad.net/glance/+spec/support-ssl" target="_blank">SSL client connections</a>. It also moved to <a href="https://blueprints.launchpad.net/glance/+spec/uuid-image-identifiers" target="_blank">UUID image identifiers</a>.</p>
<p>The Nova essex-1 effort was mostly spent on bugfixing, with <a href="https://launchpad.net/nova/+milestone/essex-1" target="_blank">129 bugs fixed</a>. New features include a new <a href="https://blueprints.launchpad.net/nova/+spec/xenapi-sm-support" target="_blank">XenAPI SM volume driver</a>, <a href="https://blueprints.launchpad.net/nova/+spec/quantum-dhcp-parity" target="_blank">DHCP support in the Quantum network manager</a>, and optional <a href="https://blueprints.launchpad.net/nova/+spec/deferred-delete-instance" target="_blank">deferred deletion of instances</a>. Under the hood, the <a href="https://blueprints.launchpad.net/nova/+spec/volume-cleanup" target="_blank">volume code</a> was significantly cleaned up and <a href="https://blueprints.launchpad.net/nova/+spec/xml-templates" target="_blank">XML templates</a> were added to simplify serialization in extensions.</p>
<p>Essex-1 was also the first official OpenStack milestone for Horizon, also known as the Dashboard. New features include a <a href="https://blueprints.launchpad.net/horizon/+spec/instance-detail" target="_blank">instance details</a> page, support for <a href="https://blueprints.launchpad.net/horizon/+spec/volumes-interface" target="_blank">managing Nova volumes</a> and a new <a href="https://blueprints.launchpad.net/horizon/+spec/extensible-architecture" target="_blank">extensible modular architecture</a>. The rest of the effort was spent on catching up with the best of core projects in <a href="https://blueprints.launchpad.net/horizon/+spec/update-localization" target="_blank">internationalization</a>, <a href="https://blueprints.launchpad.net/horizon/+spec/sphinx-docs" target="_blank">developer</a> <a href="https://blueprints.launchpad.net/horizon/+spec/horizon-doc-site" target="_blank">documentation</a>, and QA (<a href="https://blueprints.launchpad.net/horizon/+spec/frontend-testing" target="_blank">frontend testing</a> and <a href="https://blueprints.launchpad.net/horizon/+spec/javascript-unit-tests" target="_blank">JS unit tests</a>).</p>
<p>Now, keep your seatbelt fastened, as we are one month away from essex-2, where lots of new development work is expected to land !</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fnords.wordpress.com/766/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fnords.wordpress.com/766/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fnords.wordpress.com/766/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fnords.wordpress.com/766/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fnords.wordpress.com/766/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fnords.wordpress.com/766/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fnords.wordpress.com/766/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fnords.wordpress.com/766/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fnords.wordpress.com/766/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fnords.wordpress.com/766/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fnords.wordpress.com/766/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fnords.wordpress.com/766/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fnords.wordpress.com/766/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fnords.wordpress.com/766/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fnords.wordpress.com&amp;blog=6252617&amp;post=766&amp;subd=fnords&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fnords.wordpress.com/2011/11/14/openstack-essex-1-milestone/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/080c91926d20cf646ad6a6fef8b34e82?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tcarrez</media:title>
		</media:content>
	</item>
		<item>
		<title>Four areas for strategic contributions in OpenStack</title>
		<link>http://fnords.wordpress.com/2011/10/06/four-areas-for-strategic-contributions-in-openstack/</link>
		<comments>http://fnords.wordpress.com/2011/10/06/four-areas-for-strategic-contributions-in-openstack/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 18:46:49 +0000</pubDate>
		<dc:creator>Thierry Carrez</dc:creator>
				<category><![CDATA[Openstack]]></category>

		<guid isPermaLink="false">http://fnords.wordpress.com/?p=762</guid>
		<description><![CDATA[The OpenStack Essex Design Summit just ended, and several people those last three days have asked me to give a bit more substance to what I exactly meant by &#8220;Strategic contributions&#8221; in my last article. Ensure the long-term health of the project by investing in project-centered resources, right, but what can we do now ? [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fnords.wordpress.com&amp;blog=6252617&amp;post=762&amp;subd=fnords&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The OpenStack Essex Design Summit just ended, and several people those last three days have asked me to give a bit more substance to what I exactly meant by &#8220;Strategic contributions&#8221; in my <a title="The next step for OpenStack" href="http://fnords.wordpress.com/2011/09/28/the-next-step-for-openstack/" target="_blank">last article</a>. Ensure the long-term health of the project by investing in project-centered resources, right, but what can we do now ? What actions can we take today ?</p>
<p>Based on the very interesting Summit discussions we had, I think the strategic contributions that can be made today fall into 4 categories.</p>
<h3>Commonality</h3>
<p>Brian Lamar had a great session on reviving the OpenStack Common effort: identifying common functions between OpenStack projects, converge towards the same implementation, and maintain it in a common library. The goal is double: present a more uniform face (logs and configuration files, for example, should follow the same syntax), and make sure that we don&#8217;t waste precious development resources on useless duplicate works. This effort failed in the past due to lack of resources being dedicated long-term to it, so it sounds like a nice and easy area to start contributing strategically.</p>
<h3>Consistency</h3>
<p>The second (and related) area is consistency. Tactical contributions have advanced the state of very specific features applying to very specific setups, at the expense of the resulting coherence. Vish lead a good session on making the featureset between KVM and Xen hypervisors converge, not only in terms of functions, but also in term of concepts. I think that analysis needs to happen more generally in OpenStack: is the resulting product coherent ? How can we plug the holes in those feature matrixes ?</p>
<h3>Security</h3>
<p>Another important area that emerged from the Summit, especially with Ray Hookway&#8217;s session, is work on security. Strengthen the architecture (to limit the attack surface and lay defense in depth), formalize the process around vulnerablity handling and disclosure, and coordinate the necessary effort on auditing. This work is just getting started, and I hope I will find time to help setting it up.</p>
<h3>Quality</h3>
<p>Last but certainly not least, we need to invest in durable quality. Jay Pipes pushed a number of sessions where we pinpointed the need to identify the issues (QA), fix them (Bug squads) and prevent them from happening again (automated tests &amp; continuous integration). That&#8217;s by far the most complex area and the most difficult to coordinate, but the basic resource needed there is manpower, and the setup of company-neutral common workgroups that everyone can contribute to is the first step.</p>
<p>Whether you bet your business on OpenStack, or you&#8217;re just interested in the long-term health of the open source project, give your developers time to contribute to those areas and workgroups, and we&#8217;ll all be a lot better as a result.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fnords.wordpress.com/762/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fnords.wordpress.com/762/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fnords.wordpress.com/762/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fnords.wordpress.com/762/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fnords.wordpress.com/762/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fnords.wordpress.com/762/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fnords.wordpress.com/762/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fnords.wordpress.com/762/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fnords.wordpress.com/762/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fnords.wordpress.com/762/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fnords.wordpress.com/762/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fnords.wordpress.com/762/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fnords.wordpress.com/762/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fnords.wordpress.com/762/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fnords.wordpress.com&amp;blog=6252617&amp;post=762&amp;subd=fnords&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fnords.wordpress.com/2011/10/06/four-areas-for-strategic-contributions-in-openstack/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/080c91926d20cf646ad6a6fef8b34e82?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tcarrez</media:title>
		</media:content>
	</item>
		<item>
		<title>The next step for OpenStack</title>
		<link>http://fnords.wordpress.com/2011/09/28/the-next-step-for-openstack/</link>
		<comments>http://fnords.wordpress.com/2011/09/28/the-next-step-for-openstack/#comments</comments>
		<pubDate>Wed, 28 Sep 2011 12:13:04 +0000</pubDate>
		<dc:creator>Thierry Carrez</dc:creator>
				<category><![CDATA[Open source]]></category>
		<category><![CDATA[Openstack]]></category>

		<guid isPermaLink="false">http://fnords.wordpress.com/?p=747</guid>
		<description><![CDATA[Just after a release, discovery of significant bugs always revives discussion around the need for maintenance branches or point releases. Those discussions, however, are not solving the root cause for the issue, but merely try to do damage control on the consequences. The root cause for presence of significant bugs in a given release is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fnords.wordpress.com&amp;blog=6252617&amp;post=747&amp;subd=fnords&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Just after a release, discovery of significant bugs always revives discussion around the need for maintenance branches or point releases. Those discussions, however, are not solving the root cause for the issue, but merely try to do damage control on the consequences.</p>
<p>The root cause for presence of significant bugs in a given release is not the presence or absence of maintenance branches. It&#8217;s not about the choice of time-based cycles, or the length of it. It&#8217;s about lack of focus on testing and fixing the release deliverables. If only a few people work on that, while all the others are busy adding new features in trunk, delaying your release by one or more weeks won&#8217;t change anything.</p>
<h3>From tactical to strategic contributions</h3>
<p>OpenStack is one of the few open source projects where development is truly shared across multiple companies. The trick is, most companies involved so far are doing what I call <em>tactical contributions</em>: adding a feature that they care about, fix bugs that affect them. Tactical contributions are great to expand a project scope, community and mindshare, however they add technical debt. Companies involved need to move to what I call <em>strategic contributions</em>: funding development resources that care about the end result, the release deliverables, the absence of bugs, the coherence of the features.</p>
<p>The obvious comparison point is the Linux kernel. The reason why it&#8217;s successful, despite lots of companies only involved in tactical contributions, is that at its core it has a strong group of key developers whose primary allegiance goes to the Linux kernel itself, no matter what company they happen to work for. Those companies understood the necessity of funding strategic contributions.</p>
<p>Currently, especially in Nova, it&#8217;s quite difficult to get merge proposals reviewed, random bugs fixed, integration tests contributed, or holes in scope covered. That&#8217;s because most groups are focused on their own objectives, rather than the common project objectives. That&#8217;s the mindset we need to change now, and that&#8217;s the only thing that can give us better releases.</p>
<h3>The cost of strategic contributions</h3>
<p>The problem with strategic contributions is that they are typically more costly than tactical contributions, which have a more obvious return on investment. Accepting to have developers on payroll &#8220;fixing what needs to be fixed&#8221;, or giving 30% free time to all your developers so that they can work on project objectives rather than only your own is not that easy. But OpenStack has now proven that it&#8217;s here to stay, lots of companies have now bet their strategy on it, so I think the time is now.</p>
<p>If we don&#8217;t adjust, OpenStack in general (and Nova in particular) will crumble under the technical debt of tactical contributions, and everyone involved will lose. We might need to adjust governance to encourage other companies to invest long-term in project-centered resources. We&#8217;ll need to set up open, multi-company workgroups (like the recently-setup QA team) to clearly show that it&#8217;s a common effort. It won&#8217;t happen in a day, but if we don&#8217;t change our mindset now, no matter how we adjust the release cycle, Essex deliverables will be of the same quality as Diablo.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fnords.wordpress.com/747/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fnords.wordpress.com/747/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fnords.wordpress.com/747/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fnords.wordpress.com/747/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fnords.wordpress.com/747/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fnords.wordpress.com/747/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fnords.wordpress.com/747/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fnords.wordpress.com/747/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fnords.wordpress.com/747/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fnords.wordpress.com/747/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fnords.wordpress.com/747/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fnords.wordpress.com/747/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fnords.wordpress.com/747/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fnords.wordpress.com/747/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fnords.wordpress.com&amp;blog=6252617&amp;post=747&amp;subd=fnords&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fnords.wordpress.com/2011/09/28/the-next-step-for-openstack/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/080c91926d20cf646ad6a6fef8b34e82?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tcarrez</media:title>
		</media:content>
	</item>
	</channel>
</rss>
