<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>MDLog:/sysadmin</title> <link>http://www.ducea.com</link> <description>The Journal Of A Linux Sysadmin</description> <lastBuildDate>Sat, 19 May 2012 02:09:10 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.2</generator> <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Mdlog" /><feedburner:info uri="mdlog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>Mdlog</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item><title>ChefConf 2012 – San Francisco</title><link>http://feedproxy.google.com/~r/Mdlog/~3/XwLX-rEI5J0/</link> <comments>http://www.ducea.com/2012/05/18/chefconf-2012-san-francisco/#comments</comments> <pubDate>Sat, 19 May 2012 02:09:10 +0000</pubDate> <dc:creator>- Marius -</dc:creator> <category><![CDATA[Conferences]]></category> <category><![CDATA[Configuration management]]></category> <category><![CDATA[chef]]></category> <category><![CDATA[chefconf]]></category> <category><![CDATA[devops]]></category> <category><![CDATA[opschef]]></category><guid isPermaLink="false">http://www.ducea.com/?p=1427</guid> <description><![CDATA[This week Opscode hosted its inaugural user conference here in San Francisco, and it was an awesome event enjoyed by all chef fans. Even if this was the first one (they are already planing for the future ones), this was by no means a small event, with more than 400 people attending and the workshops [...]<p><a
href="http://www.thycotic.com/zSS_Ducea.html?utm_source=ducea&utm_medium=banner&utm_content=iquit&utm_campaign=SSDucea"><img
src="http://www.ducea.com/images/SS468by60.jpg"></a></p> ]]></description> <content:encoded><![CDATA[<p>This week <strong>Opscode</strong> hosted its inaugural user conference here in San Francisco, and it was an awesome event enjoyed by all chef fans. Even if this was the first one (they are already planing for the future ones), this was by no means a small event, with more than <strong>400 peopl</strong>e attending and the workshops that ran on Tuesday <em>sold out</em>.</p><p>Even if I have not attended any workshop (they had 2 flavors, one targeted towards a <em>sysadmin workflow</em> and one for <em>developers</em>) the general feeling from people I talked with and attended them was that it was a very good experience, with a lot of hands-on practical examples. Tuesday afternoon, myself I attended the &#8220;<a
href="http://chefconf2012.sched.org/event/bfe13edac99e2b4d8582f0cd1005ee73?iframe=no&amp;w=700&amp;sidebar=no&amp;bg=no" target="_blank">ChefConf Pre-event Hackday: TEST ALL THE THINGS!!!</a>&#8220; organized by <strong>Bryan Berry</strong> and it was great, and showed how many people are interested in testing their infrastructure as code; it was focused on cookbook testing (unit testing and integration testing), continuous integration with jenkins, and other things like that <img
src='http://www.ducea.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p><p>The first full day of <a
href="http://chefconf.opscode.com/">ChefConf</a> was Wednesday. The conference was structured with main presentations during the mornings and breakout sessions in the afternoon (with 2 main tracks and also a vendor one). From the beginning you could tell that this will be a very well run conference, and even if this was the first one, people like Jesse Robbins have a lot of experience running such events. Not surprisingly <strong>ChefConf</strong> kicked off with <strong>Adam Jacob</strong>&#8216;s &#8220;<a
href="http://chefconf2012.sched.org/event/5c0fac5d1c23207c0f8516bcf84045b9?iframe=no&amp;w=700&amp;sidebar=no&amp;bg=no" target="_blank">State of the Union Part 1: Chef, Past and Present</a>&#8221; (<a
href="http://www.youtube.com/watch?v=bAWjqE5FCxI&amp;feature=plcp" target="_blank">video</a>) ; <strong>Jesse Robbins</strong> talked about the <strong>community</strong> around chef and how this is a key part of Opscode strategy and their efforts to take this to the next level. He showed this very nice <a
href="http://www.youtube.com/watch?v=ZIlWCE4FCqw&amp;feature=plcp" target="_blank">visualization</a> of the commits to the chef github repo.</p><p><span
id="more-1427"></span>There were many interesting talks during the day, and they recorded most of them and hopefully will make them available <a
href="http://www.youtube.com/user/Opscode/videos" target="_blank">online</a> soon so you can see them if you didn&#8217;t had the chance to be here (or you want to review them again). I particularly enjoyed:</p><ul><li><strong>Ron Vidal</strong> &#8211; <a
href="http://chefconf2012.sched.org/event/b5e9e27b171a970572ddd93fb5eb44fe?iframe=no&amp;w=700&amp;sidebar=no&amp;bg=no" target="_blank">Operations Secret Sauce: Incident Management</a> (<a
href="http://www.youtube.com/watch?v=4d38Ena1Abo&amp;feature=plcp" target="_blank">video</a>); similar to Jesse Robbins <strong><a
href="https://www.usenix.org/conference/lisa11/gameday-creating-resiliency-through-destruction" target="_blank">GameDay</a></strong> talk and it was a very nice addition, inspirational and full of interesting points.</li><li><strong>Jim Hopp</strong>&#8216;s &#8211; <a
href="http://chefconf2012.sched.org/event/b2b1a41277c11c865d55b733b4814c1a?iframe=no&amp;w=700&amp;sidebar=no&amp;bg=no" target="_blank">Test-driven Development for Chef Practitioners</a> (<a
href="http://www.youtube.com/watch?v=o2e0aZUAVGw&amp;feature=plcp" target="_blank">video</a>); very well prepared and presented. I hope to have Jim to our <a
href="http://www.meetup.com/The-Bay-Area-Chef-User-Group/" target="_blank">Chef Bay Area meetup</a> group to present something similar on the subject and run a testing hackaton.</li><li><strong>Patrick McDonnell</strong>&#8216;s &#8211; <a
href="http://chefconf2012.sched.org/event/2cef7591ae7f08836ff89f4dc223280e?iframe=yes&amp;w=700&amp;sidebar=no&amp;bg=no#?iframe=yes&amp;w=700&amp;sidebar=no&amp;bg=no#sched-body-outer" target="_blank">Lessons from Etsy: Avoiding Kitchen Nightmares</a>; people seem to love everything Etsy is doing and they are sharing a lot of their workflow with chef and open sourcing various tools they write.</li><li>and many others…</li></ul><p>In the evening we had a great <strong>Ignite</strong> event ran by <strong>Andrew Shafer</strong> in his unconfundable way. We had 10 ignite speakers and in the middle there was a fun <em>karaoke ignite</em> that had 10 volunteers rambled on some slides they never sow before. If they recorded this, and will show it online look up the ones by <strong>Stephen Nelson-Smith</strong> and <strong>John Vincent</strong> as they were very entertaining.</p><p>The second day of the conference started with <strong>Christopher Brown</strong>&#8216;s &#8220;<a
href="http://chefconf2012.sched.org/event/d60e4ab3b1f2fba2f996214792a649c1?iframe=no&amp;w=700&amp;sidebar=no&amp;bg=no" target="_blank">State of the Union Part 2: Chef, the Future</a>&#8221; where he outlined some of the future features and main focuses of Opscode for Chef: becoming easier to install and use (<em>omnibus</em> installer), <em>enterprise</em> ready, focus on <em>Windows</em> and also a lot of focus on <em>quality</em>. Opscode is working on a project called <em>kitchen chef</em> that will allow to test the functionality of cookbooks on various environments and platforms, and quickly ensure the quality of the cookbook is maintained during various iterations. Also a lot of work has been put into <em>reporting</em> and handlers. The server side also has been completely rewritten in <em>erlang</em> and <em>sql</em> (from ruby and couchdb) and we should see this soon in the open-source and the private chef server. From the work done you can easily tell that a lot of work has been done on private chef and this is quickly becoming an important asset for Opscode going forward.</p><p>There were many great talks during the day from speakers like Artur Bergman, Ben Rockwood, Jason Stowe, John Esser, Rob Hirschfeld, Theo Schlossnagle, etc. I finished my day just like I started Tuesday with another event focused on testing: &#8220;<a
href="http://chefconf2012.sched.org/event/1b5feddb619c6c09bd28f19d95a9c8be?iframe=no&amp;w=700&amp;sidebar=no&amp;bg=no" target="_blank">Test Driven Development Roundtable</a>&#8220;, ran by <strong>Stephen Nelson-Smith</strong> on a panel with <strong>Seth Chisamore</strong>, <strong>Jim Hopp</strong> and my friend <strong>Rob Berger</strong>. They went over the tools people are using these days and what are the things that are still missing and need to be worked on regarding testing.</p><p>Overall, I think this was an <strong>awesome</strong> event and I hope to be able to attend the next one also (hopefully at the same place). My impression is that Opscode is ready to move forward and make the next step and grow the community even bigger: <strong>&#8220;The revolution will not be televised &#8211; it will be coded with chef&#8221;.</strong></p><div><span
style="color: #015fcb; font-family: 'Helvetica Neue', 'Lucida Grande', Helvetica, Arial, sans-serif; font-size: 12px; line-height: 18px; text-decoration: underline;"><br
/> </span></div><p><a
href="http://www.thycotic.com/zSS_Ducea.html?utm_source=ducea&utm_medium=banner&utm_content=iquit&utm_campaign=SSDucea"><img
src="http://www.ducea.com/images/SS468by60.jpg"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Mdlog?a=XwLX-rEI5J0:lyPQyOb9DTY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Mdlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=XwLX-rEI5J0:lyPQyOb9DTY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=XwLX-rEI5J0:lyPQyOb9DTY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=XwLX-rEI5J0:lyPQyOb9DTY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=XwLX-rEI5J0:lyPQyOb9DTY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=XwLX-rEI5J0:lyPQyOb9DTY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=XwLX-rEI5J0:lyPQyOb9DTY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=XwLX-rEI5J0:lyPQyOb9DTY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Mdlog?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=XwLX-rEI5J0:lyPQyOb9DTY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=XwLX-rEI5J0:lyPQyOb9DTY:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://www.ducea.com/2012/05/18/chefconf-2012-san-francisco/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://www.ducea.com/2012/05/18/chefconf-2012-san-francisco/</feedburner:origLink></item> <item><title>HowTo completely remove a file from Git history</title><link>http://feedproxy.google.com/~r/Mdlog/~3/mTzM8KrXii0/</link> <comments>http://www.ducea.com/2012/02/07/howto-completely-remove-a-file-from-git-history/#comments</comments> <pubDate>Tue, 07 Feb 2012 19:40:06 +0000</pubDate> <dc:creator>- Marius -</dc:creator> <category><![CDATA[Linux]]></category> <category><![CDATA[Tips & Tricks]]></category> <category><![CDATA[git]]></category> <category><![CDATA[howto]]></category> <category><![CDATA[tips]]></category><guid isPermaLink="false">http://www.ducea.com/?p=1415</guid> <description><![CDATA[I just started working on a new project and as you would expect one of the first things I did was to download its git repository from github. These were just some scripts and should have been very small ~5M, but the clone from gitbhub took about one hour as the full repo folder was [...]<p><a
href="http://www.thycotic.com/zSS_Ducea.html?utm_source=ducea&utm_medium=banner&utm_content=iquit&utm_campaign=SSDucea"><img
src="http://www.ducea.com/images/SS468by60.jpg"></a></p> ]]></description> <content:encoded><![CDATA[<p>I just started working on a new project and as you would expect one of the first things I did was to download its git repository from <strong>github</strong>. These were just some scripts and should have been very small ~5M, but the clone from gitbhub took about one hour as the full repo folder was 1.5G… (with the biggest size under <strong>.git/objects/pack</strong>) Crazy… <em>What was in the git repository history that would cause something like this?</em> I assumed that at some point in time the repository was much bigger (probably from some file/s that don&#8217;t exist anymore), but how could I find out what were those files? And more important howto remove them from history? Well if you came here from a <em>google search</em> on &#8220;how to remove a file from git history&#8221; then you probably know there are plenty of docs and howtos on how to achieve this but from my experience none of them really worked. This is why I decided to document the steps needed to identify the file from the git repo history that is using all that space and to have it removed fully and bring the repository to a manageable size.</p><p>First we need to identify the file that is causing this issue; and for this we will verify all the packed objects and look for the biggest ones:<br
/> <code>git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -5</code><br
/> (and grab the revisions with the biggest files). Then find the name of the files in those revisions:<br
/> <code>git rev-list --objects --all | grep &lt;revision_id&gt;</code></p><p>Next, remove the file from all revisions:<br
/> <code>git filter-branch --index-filter 'git rm --cached --ignore-unmatch &lt;filename&gt;'<br
/> rm -rf .git/refs/original/</code></p><p>Edit .git/packed-refs and remove/comment any external pack-refs. Without this the cleanup might not work. I my case I had refs/remotes/origin/master and some others branches.<br
/> <code>vim .git/packed-refs</code></p><p>Finally repack and cleanup and remove those objects:<br
/> <code>git reflog expire --all --expire-unreachable=0<br
/> git repack -A -d<br
/> git prune</code></p><p>Hopefully these steps will help you completely remove those un-wanted files from your git history. Let me know if you have any problems after following these simple steps.</p><p><span
id="more-1415"></span>Note: if you want to test these steps here is how to quickly create a test repo:<br
/> <code># Make a small repo<br
/> mkdir test<br
/> cd test<br
/> git init<br
/> echo hi &gt; there<br
/> git add there<br
/> git commit -m 'Small repo'<br
/> # Add a random 10M binary file<br
/> dd if=/dev/urandom of=testme.txt count=10 bs=1M<br
/> git add testme.txt<br
/> git commit -m 'Add big binary file'<br
/> # Remove the 10M binary file<br
/> git rm testme.txt<br
/> git commit -m 'Remove big binary file'</code></p><p><a
href="http://www.thycotic.com/zSS_Ducea.html?utm_source=ducea&utm_medium=banner&utm_content=iquit&utm_campaign=SSDucea"><img
src="http://www.ducea.com/images/SS468by60.jpg"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Mdlog?a=mTzM8KrXii0:dGUKsvxQ-F0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Mdlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=mTzM8KrXii0:dGUKsvxQ-F0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=mTzM8KrXii0:dGUKsvxQ-F0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=mTzM8KrXii0:dGUKsvxQ-F0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=mTzM8KrXii0:dGUKsvxQ-F0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=mTzM8KrXii0:dGUKsvxQ-F0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=mTzM8KrXii0:dGUKsvxQ-F0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=mTzM8KrXii0:dGUKsvxQ-F0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Mdlog?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=mTzM8KrXii0:dGUKsvxQ-F0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=mTzM8KrXii0:dGUKsvxQ-F0:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://www.ducea.com/2012/02/07/howto-completely-remove-a-file-from-git-history/feed/</wfw:commentRss> <slash:comments>1</slash:comments> <feedburner:origLink>http://www.ducea.com/2012/02/07/howto-completely-remove-a-file-from-git-history/</feedburner:origLink></item> <item><title>Getting ready for LISA11 – Boston</title><link>http://feedproxy.google.com/~r/Mdlog/~3/LVEIdWzzP_A/</link> <comments>http://www.ducea.com/2011/12/03/getting-ready-for-lisa11-boston/#comments</comments> <pubDate>Sun, 04 Dec 2011 06:53:45 +0000</pubDate> <dc:creator>- Marius -</dc:creator> <category><![CDATA[Conferences]]></category> <category><![CDATA[LISA]]></category> <category><![CDATA[LISA11]]></category><guid isPermaLink="false">http://www.ducea.com/?p=1406</guid> <description><![CDATA[I&#8217;m packing for Boston and will be there next week for LISA11. This will be my second year as part of the LISA blogging team, and after how much I enjoyed LISA last year in San Jose I wouldn&#8217;t miss this one even if it is on the other side of the country. I&#8217;ve tried [...]<p><a
href="http://www.thycotic.com/zSS_Ducea.html?utm_source=ducea&utm_medium=banner&utm_content=iquit&utm_campaign=SSDucea"><img
src="http://www.ducea.com/images/SS468by60.jpg"></a></p> ]]></description> <content:encoded><![CDATA[<p>I&#8217;m packing for <strong>Boston</strong> and will be there next week for <a
href="http://www.usenix.org/events/lisa11/index.html" target="_blank">LISA11</a>. This will be my second year as part of the <a
href="http://blogs.usenix.org/2011/12/02/lisa11-next-week-meet-your-blog-team/" target="_blank">LISA blogging team</a>, and after how much I enjoyed LISA last year in San Jose I wouldn&#8217;t miss this one even if it is on the other side of the country. I&#8217;ve tried to finish as much work as possible to be able to focus on the conference <img
src='http://www.ducea.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> but for various reasons of course this was not quite possible, and actually during the first days I will even be on call&#8230; In anycase, I&#8217;m sure this is going to be a great week full of awesomeness. I will be blogging for the <a
href="http://blogs.usenix.org/" target="_blank">USENIX blog</a> every day, so be sure to follow that for fresh articles from me and the other memebers of our team (Ben, Rikki and Matt).</p><p>If you are going to <strong>LISA11</strong> in <strong>Boston</strong> next week, we should definitely meetup. Contact me on <a
href="http://twitter.com/mariusducea" target="_blank">twitter</a> or <a
href="http://www.ducea.com/contact/" target="_blank">email</a>.</p><p>&#8212;&#8211;</p><p><a
href="https://www.usenix.org/blog/limoncelli-test" target="_blank">The Limoncelli Test</a>, was a very interesting presentation by Tom Limoncelli based on a <a
href="http://everythingsysadmin.com/the-test.html" target="_blank">blog post</a> he wrote earlier this year. If you haven&#8217;t done it already I would strongly recommend to take the test and see how does your sysadmin team rank on <a
href="http://goto.tomontime.com/test" target="_blank">&#8220;The Limoncelli Test&#8221;</a>.</p><p><a
href="https://www.usenix.org/blog/recovering-linux-hard-drive-disasters" target="_blank">Recovering From Linux Hard Drive Disasters</a> is Theodore Ts&#8217;o signature training material on what to do if you have any sort of hard drive failure and covers in depth details on how to recover from such disasters caused by software or hardware failures.</p><p><a
href="https://www.usenix.org/blog/gameday-creating-resiliency-through-destruction " target="_blank">GameDay: Creating Resiliency Through Destruction</a> (<a
href="http://www.slideshare.net/jesserobbins/ameday-creating-resiliency-through-destruction" target="_blank">slides</a>): I enjoyed very much Jesse Robbins presentation, where he draws parallels between two of his greatest passions: firefighting and operations. Watch the <a
href="http://www.youtube.com/watch?v=zoz0ZjfrQ9s" target="_blank">video</a>.</p><p><a
href="https://www.usenix.org/blog/sregoogle-thousands-devops-2004" target="_blank">SRE@Google: Thousands of DevOps Since 2004</a>: Tom Limoncelli, describes the technologies and policies that Google uses to do what is (now) called DevOps. Watch the <a
href="http://www.youtube.com/watch?v=iIuTnhdTzK0&amp;amp;feature=youtube_gdata" target="_blank">video</a>.</p><p><a
href="http://www.thycotic.com/zSS_Ducea.html?utm_source=ducea&utm_medium=banner&utm_content=iquit&utm_campaign=SSDucea"><img
src="http://www.ducea.com/images/SS468by60.jpg"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Mdlog?a=LVEIdWzzP_A:ywJa8jQINgk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Mdlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=LVEIdWzzP_A:ywJa8jQINgk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=LVEIdWzzP_A:ywJa8jQINgk:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=LVEIdWzzP_A:ywJa8jQINgk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=LVEIdWzzP_A:ywJa8jQINgk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=LVEIdWzzP_A:ywJa8jQINgk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=LVEIdWzzP_A:ywJa8jQINgk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=LVEIdWzzP_A:ywJa8jQINgk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Mdlog?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=LVEIdWzzP_A:ywJa8jQINgk:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=LVEIdWzzP_A:ywJa8jQINgk:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://www.ducea.com/2011/12/03/getting-ready-for-lisa11-boston/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://www.ducea.com/2011/12/03/getting-ready-for-lisa11-boston/</feedburner:origLink></item> <item><title>Interview with LISA11 Program Co-Chairs: Tom Limoncelli and Doug Hughes</title><link>http://feedproxy.google.com/~r/Mdlog/~3/ajKYK4bItxE/</link> <comments>http://www.ducea.com/2011/11/30/interview-with-lisa11-program-co-chairs-tom-limoncelli-and-doug-hughes/#comments</comments> <pubDate>Thu, 01 Dec 2011 06:31:35 +0000</pubDate> <dc:creator>- Marius -</dc:creator> <category><![CDATA[Conferences]]></category> <category><![CDATA[interviews]]></category> <category><![CDATA[LISA]]></category> <category><![CDATA[LISA11]]></category> <category><![CDATA[USENIX]]></category><guid isPermaLink="false">http://www.ducea.com/?p=1394</guid> <description><![CDATA[One of the advantages of being a member of the LISA11 Blog Team is that I was able to talk and interview this year program co-chairs: Tom Limoncelli and Doug Hughes. This was a great honor for me especially since I&#8217;ve been a big fan of Tom&#8217;s work for many years. The full article is available on [...]<p><a
href="http://www.thycotic.com/zSS_Ducea.html?utm_source=ducea&utm_medium=banner&utm_content=iquit&utm_campaign=SSDucea"><img
src="http://www.ducea.com/images/SS468by60.jpg"></a></p> ]]></description> <content:encoded><![CDATA[<p>One of the advantages of being a member of the <strong>LISA11 Blog Team</strong> is that I was able to talk and interview this year program co-chairs: <strong>Tom Limoncelli</strong> and <strong>Doug Hughes</strong>. This was a great honor for me especially since I&#8217;ve been a big fan of Tom&#8217;s work for many years. The full article is available on the USENIX blog: &#8220;<a
href="http://blogs.usenix.org/2011/12/02/tom-limoncelli-and-doug-hughes-interview/" target="_blank">Tom Limoncelli and Doug Hughes Interview</a>&#8221;</p><p>Also my colleagues from the LISA11 blogging team (Ben, Rikki and Matt) have done some very interesting interviews with some key people from LISA11 to get you prepared for the event. Check out the <a
href="http://blogs.usenix.org/" target="_blank">USENIX blog</a> for more from us in the next week.</p><p>Here is also a quick intro of our team: &#8220;<a
href="http://blogs.usenix.org/2011/12/02/lisa11-next-week-meet-your-blog-team/" target="_blank">LISA11 Next Week – Meet your blog team!</a>&#8220;</p><p><a
href="http://www.thycotic.com/zSS_Ducea.html?utm_source=ducea&utm_medium=banner&utm_content=iquit&utm_campaign=SSDucea"><img
src="http://www.ducea.com/images/SS468by60.jpg"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Mdlog?a=ajKYK4bItxE:BbEXOEWMHFY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Mdlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=ajKYK4bItxE:BbEXOEWMHFY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=ajKYK4bItxE:BbEXOEWMHFY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=ajKYK4bItxE:BbEXOEWMHFY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=ajKYK4bItxE:BbEXOEWMHFY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=ajKYK4bItxE:BbEXOEWMHFY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=ajKYK4bItxE:BbEXOEWMHFY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=ajKYK4bItxE:BbEXOEWMHFY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Mdlog?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=ajKYK4bItxE:BbEXOEWMHFY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=ajKYK4bItxE:BbEXOEWMHFY:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://www.ducea.com/2011/11/30/interview-with-lisa11-program-co-chairs-tom-limoncelli-and-doug-hughes/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://www.ducea.com/2011/11/30/interview-with-lisa11-program-co-chairs-tom-limoncelli-and-doug-hughes/</feedburner:origLink></item> <item><title>Build your own packages easily with FPM</title><link>http://feedproxy.google.com/~r/Mdlog/~3/2xqjel9MmMc/</link> <comments>http://www.ducea.com/2011/08/31/build-your-own-packages-easily-with-fpm/#comments</comments> <pubDate>Wed, 31 Aug 2011 22:13:02 +0000</pubDate> <dc:creator>- Marius -</dc:creator> <category><![CDATA[Centos]]></category> <category><![CDATA[Debian]]></category> <category><![CDATA[Fedora]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[RHEL]]></category> <category><![CDATA[Tools]]></category> <category><![CDATA[Ubuntu]]></category> <category><![CDATA[deb]]></category> <category><![CDATA[debian_packages]]></category> <category><![CDATA[FPM]]></category> <category><![CDATA[rpm]]></category><guid isPermaLink="false">http://www.ducea.com/?p=1369</guid> <description><![CDATA[Building packages is a task that every system administrator will end up doing. Most of the time this is not a very interesting task but someone has to do it, right? Normally you will end up modifying and tweaking based on your own needs an existing package that was built by the maintainers of the [...]<p><a
href="http://www.thycotic.com/zSS_Ducea.html?utm_source=ducea&utm_medium=banner&utm_content=iquit&utm_campaign=SSDucea"><img
src="http://www.ducea.com/images/SS468by60.jpg"></a></p> ]]></description> <content:encoded><![CDATA[<p><strong>Building packages</strong> is a task that every system administrator will end up doing. Most of the time this is not a very interesting task but someone has to do it, right? Normally you will end up modifying and tweaking based on your own needs an existing package that was built by the maintainers of the Linux distribution that you are using. In time you might even become familiar with the packaging system you are using (rpm, deb, etc.) and you will be able to write a spec file and start from scratch and build a new package if you need to. Still, this <em>process is complicated and requires a lot of work</em>.</p><p>Luckily, <strong><a
href="http://www.semicomplete.com/blog" target="_blank">Jordan Sissel</a></strong> has built a tool called <strong><a
href="https://github.com/jordansissel/fpm" target="_blank">FPM</a></strong> (Effing Package Management), exactly for this: to ease the pain of building new packages; packages that you will use for your own infrastructure and you want them customized based on your own needs; and you don&#8217;t care about upstream rules and standards and other limitations when building such packages. This can be very useful for people deploying their own applications as rpms (or debs) and can simplify a lot of the process of building those packages.</p><p>FPM can be easily installed on your build system using rubygems:<br
/> <code>gem install fpm</code></p><p>Once installed you can use fpm to build <strong>packages</strong> (targets):</p><ul><li>deb</li><li>rpm</li><li>solaris</li></ul><p>from any of the following <strong>sources</strong>:</p><ul><li>directory (of compiled source of some application)</li><li>gem</li><li>python eggs</li><li>rpm</li><li>node npm packages</li></ul><p><span
id="more-1369"></span>Use the command line help (fpm &#8211;help) or the <a
href="https://github.com/jordansissel/fpm/wiki" target="_blank">wiki</a> to see full details on how to use it. I&#8217;ll show some simple examples on how to build some packages from various input sources that I&#8217;ve found useful myself.</p><h3>1. Package a directory &#8211; output of a &#8216;make install&#8217; command</h3><p>This is how you would usually package an application that you would install with:<br
/> <em>./configure; make; make install</em><br
/> For example, here is how you can create an rpm of the latest version of memcached:<br
/> <code>wget http://memcached.googlecode.com/files/memcached-1.4.7.tar.gz<br
/> tar -zxvf memcached-1.4.7.tar.gz<br
/> cd memcached-1.4.7<br
/> ./configure --prefix=/usr<br
/> make</code><br
/> so far everything looks like a normal manual installation (that would be followed by make install). Still we will now install it in a separate folder so we can capture the output:<br
/> <code>mkdir /tmp/installdir<br
/> make install DESTDIR=/tmp/installdir</code><br
/> and finally using fpm to create the rpm package:<br
/> <code>fpm -s dir -t rpm -n memcached -v 1.4.7 -C /tmp/installdir</code><br
/> where <strong>-s</strong> is the input source type (directory), <strong>-t</strong> is the type of package (rpm), <strong>-n</strong> in the name of the package and <strong>-v</strong> is the version; <strong>-C</strong> is the directory where fpm will look for the files.<br
/> Note: you might need to install various libraries to build your package; for ex. in this case I had to install libevent-dev.</p><p>If you are packaging your own application you can do this just by pointing to your build folder and set the version of the app. Here is an example for an deb package:<br
/> <code>fpm -s dir -t deb -n myapp -v 0.0.1 -C /build/myapp/0.0.1/</code></p><p>There are various other parameters that you can use but basically this is how simple it is to build a package from a directory.<br
/> Here is an example on how to define some dependencies on the package you are building (using <strong>-d</strong>; repeat it as many times as needed):<br
/> <code>fpm -s dir -t deb -n memcached -v 1.4.7 -C /tmp/installdir \<br
/> -d "libstdc++6 (&gt;= 4.4.5)" \<br
/> -d "libevent-1.4-2 (&gt;= 1.4.13)"</code></p><h3>2. Ruby gems or python egg &#8211; converted to packages</h3><p>You can create a deb or rpm from a gem very simple with fpm:<br
/> <code>fpm -s gem -t deb &lt;gem_name&gt;</code><br
/> this will download the gem and create a package named rubygem-&lt;gem_name&gt;<br
/> For example:<br
/> <code>fpm -s gem -t deb fpm</code><br
/> will create a debian package for fpm: rubygem-fpm_0.3.7_all.deb</p><p>You can inspect it with<em> dpkg &#8211;info</em> and you can notice that in this case it will fill nicely all the fields with the maintainer, and dependencies on various other gems. Very cool.</p><p>If you use python and want to package various python eggs this will work exactly the same and you will use -s python (it will download the python packages with easy_install first).</p><p>Overall <strong>FPM</strong> is a great tool and can help you<span
style="text-decoration: underline;"><em> simplify the way you are building your own packages</em></span>. Check it out and let me know what you think and if you found it useful. And if you found this useful don’t forget to thank <strong><a
href="http://www.twitter.com/jordansissel" target="_blank">Jordan</a></strong> for his great work on this awesome tool.</p><p><a
href="http://www.thycotic.com/zSS_Ducea.html?utm_source=ducea&utm_medium=banner&utm_content=iquit&utm_campaign=SSDucea"><img
src="http://www.ducea.com/images/SS468by60.jpg"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Mdlog?a=2xqjel9MmMc:sS3UTVDNaNo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Mdlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=2xqjel9MmMc:sS3UTVDNaNo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=2xqjel9MmMc:sS3UTVDNaNo:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=2xqjel9MmMc:sS3UTVDNaNo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=2xqjel9MmMc:sS3UTVDNaNo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=2xqjel9MmMc:sS3UTVDNaNo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=2xqjel9MmMc:sS3UTVDNaNo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=2xqjel9MmMc:sS3UTVDNaNo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Mdlog?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=2xqjel9MmMc:sS3UTVDNaNo:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=2xqjel9MmMc:sS3UTVDNaNo:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://www.ducea.com/2011/08/31/build-your-own-packages-easily-with-fpm/feed/</wfw:commentRss> <slash:comments>2</slash:comments> <feedburner:origLink>http://www.ducea.com/2011/08/31/build-your-own-packages-easily-with-fpm/</feedburner:origLink></item> <item><title>First Chef Cookbook Contest Announced!</title><link>http://feedproxy.google.com/~r/Mdlog/~3/KYgmSrxodOs/</link> <comments>http://www.ducea.com/2011/08/23/first-chef-cookbook-contest-announced/#comments</comments> <pubDate>Tue, 23 Aug 2011 18:18:14 +0000</pubDate> <dc:creator>- Marius -</dc:creator> <category><![CDATA[Configuration management]]></category> <category><![CDATA[News from Outside]]></category> <category><![CDATA[chef]]></category> <category><![CDATA[cookbooks]]></category> <category><![CDATA[opschef]]></category> <category><![CDATA[opscode]]></category><guid isPermaLink="false">http://www.ducea.com/?p=1363</guid> <description><![CDATA[Yesterday Opscode, the company behind Chef, announced the first ever chef cookbook contest. In order to participate in the contest you will need to write a new cookbook and submit it by the end of September; this is going to be a little tricky as there are many cookbooks already available on the community site. [...]<p><a
href="http://www.thycotic.com/zSS_Ducea.html?utm_source=ducea&utm_medium=banner&utm_content=iquit&utm_campaign=SSDucea"><img
src="http://www.ducea.com/images/SS468by60.jpg"></a></p> ]]></description> <content:encoded><![CDATA[<p>Yesterday <strong><a
href="http://www.opscode.com/" target="_blank">Opscode</a></strong>, the company behind <strong><a
href="http://www.opscode.com/chef/" target="_blank">Chef</a></strong>, <a
href="http://www.opscode.com/blog/2011/08/22/cookbook-contest/" target="_blank">announced</a> the first ever <strong>chef cookbook contest</strong>. In order to participate in the contest you will need to write a new cookbook and submit it by the <em>end of September;</em> this is going to be a little tricky as there are many cookbooks already available on the <a
href="http://community.opscode.com/cookbooks" target="_blank">community site</a>. So this is a great idea and it will take care of the few applications that don&#8217;t already have chef cookbooks. The cookbooks which shows off the awesome Chef features will have better chances to win. The prizes are also interesting: iPad, gift cards, etc. Here are the full details and rules of the contest: <a
href="http://www.opscode.com/blog/2011/08/22/cookbook-contest/" target="_blank">http://www.opscode.com/blog/2011/08/22/cookbook-contest/</a></p><p>So if you have an <strong>idea</strong> for a chef cookbook, <strong>now</strong> it&#8217;s the time to start working on it. I&#8217;m offering my <strong>help for free</strong> for all my blog readers: I will help you write a cookbook by implementing your ideas; help reviewing it or suggest improvements, or whatever else you might need help with. Use the <a
href="http://www.ducea.com/contact/">contact</a> form to email me (or DM me on <a
href="http://twitter.com/mariusducea">twitter</a>) and let me know how I can help.</p><p>If you don&#8217;t have time to write a new cookbook but you have a great idea for a cookbook that is missing from the opscode community site, please post it bellow in the <strong>comments section</strong> and I&#8217;m sure some of my blog readers will help create it.</p><p>Again this is a brilliant idea from Opscode and it creates a win-win situation for everyone. I&#8217;m just curious, is this the first idea from their new community manager? If this is the case, great job Jesse <img
src='http://www.ducea.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p><p><a
href="http://www.thycotic.com/zSS_Ducea.html?utm_source=ducea&utm_medium=banner&utm_content=iquit&utm_campaign=SSDucea"><img
src="http://www.ducea.com/images/SS468by60.jpg"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Mdlog?a=KYgmSrxodOs:TugY0Sjs6No:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Mdlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=KYgmSrxodOs:TugY0Sjs6No:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=KYgmSrxodOs:TugY0Sjs6No:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=KYgmSrxodOs:TugY0Sjs6No:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=KYgmSrxodOs:TugY0Sjs6No:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=KYgmSrxodOs:TugY0Sjs6No:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=KYgmSrxodOs:TugY0Sjs6No:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=KYgmSrxodOs:TugY0Sjs6No:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Mdlog?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=KYgmSrxodOs:TugY0Sjs6No:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=KYgmSrxodOs:TugY0Sjs6No:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://www.ducea.com/2011/08/23/first-chef-cookbook-contest-announced/feed/</wfw:commentRss> <slash:comments>1</slash:comments> <feedburner:origLink>http://www.ducea.com/2011/08/23/first-chef-cookbook-contest-announced/</feedburner:origLink></item> <item><title>Building Vagrant boxes with veewee</title><link>http://feedproxy.google.com/~r/Mdlog/~3/YX7iFcPlUio/</link> <comments>http://www.ducea.com/2011/08/15/building-vagrant-boxes-with-veewee/#comments</comments> <pubDate>Tue, 16 Aug 2011 01:49:23 +0000</pubDate> <dc:creator>- Marius -</dc:creator> <category><![CDATA[Configuration management]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[MacOSX]]></category> <category><![CDATA[Tools]]></category> <category><![CDATA[chef]]></category> <category><![CDATA[puppet]]></category> <category><![CDATA[vagrant]]></category> <category><![CDATA[veewee]]></category> <category><![CDATA[virtualbox]]></category><guid isPermaLink="false">http://www.ducea.com/?p=1350</guid> <description><![CDATA[If you used vagrant (great tool, right?) you have probably downloaded a basebox from some remote location to get you started. This is a great quick start, and there are many good boxes out there that you can use; vagrantbox.es does a great job in listing various public vagrant boxes. But if you are like [...]<p><a
href="http://www.thycotic.com/zSS_Ducea.html?utm_source=ducea&utm_medium=banner&utm_content=iquit&utm_campaign=SSDucea"><img
src="http://www.ducea.com/images/SS468by60.jpg"></a></p> ]]></description> <content:encoded><![CDATA[<p>If you used <strong><a
href="http://vagrantup.com/" target="_blank">vagrant</a></strong> (great tool, right?) you have probably downloaded a basebox from some remote location to get you started. This is a great quick start, and there are many good boxes out there that you can use; <a
href="http://www.vagrantbox.es/" target="_blank">vagrantbox.es</a> does a great job in listing various public vagrant boxes. But if you are like me, you probably will want to customize the boxes you are using; you might want to install them from scratch based on your own little/or/big customizations. Well if you are like that, then you will be happy to hear that <strong><a
href="http://www.jedi.be/blog" target="_blank">Patrick Debois</a></strong> had exactly the same problem when he decided to write <strong><a
href="https://github.com/jedi4ever/veewee" target="_blank">veewee</a></strong>. And veewee is exactly that missing part of vagrant that allows you to easily build your own vagrant boxes from scratch.</p><p>So let&#8217;s see how we can use veewee. I&#8217;m assuming you already have vagrant installed (and <a
href="http://download.virtualbox.org/virtualbox/" target="_blank">virtualbox</a>), but if you don&#8217;t please install them first. To install <strong>veewee</strong> we just have to install the veewee gem:<br
/> <code>gem install veewee</code><br
/> once you installed veewee you can see a new task added to vagrant: <strong>basebox</strong>.</p><p><span
id="more-1350"></span>Here is the list of the <strong>templates</strong> we get out of the box once we install veewee:<br
/> <code><strong>vagrant basebox templates</strong><br
/> The following templates are available:<br
/> vagrant basebox define '' 'archlinux-i686'<br
/> vagrant basebox define '' 'CentOS-4.8-i386'<br
/> vagrant basebox define '' 'CentOS-5.6-i386'<br
/> vagrant basebox define '' 'CentOS-5.6-i386-netboot'<br
/> vagrant basebox define '' 'Debian-6.0.1a-amd64-netboot'<br
/> vagrant basebox define '' 'Debian-6.0.1a-i386-netboot'<br
/> vagrant basebox define '' 'Fedora-14-amd64'<br
/> vagrant basebox define '' 'Fedora-14-amd64-netboot'<br
/> vagrant basebox define '' 'Fedora-14-i386'<br
/> vagrant basebox define '' 'Fedora-14-i386-netboot'<br
/> vagrant basebox define '' 'freebsd-8.2-experimental'<br
/> vagrant basebox define '' 'freebsd-8.2-pcbsd-i386'<br
/> vagrant basebox define '' 'freebsd-8.2-pcbsd-i386-netboot'<br
/> vagrant basebox define '' 'gentoo-latest-i386-experimental'<br
/> vagrant basebox define '' 'opensuse-11.4-i386-experimental'<br
/> vagrant basebox define '' 'solaris-11-express-i386'<br
/> vagrant basebox define '' 'Sysrescuecd-2.0.0-experimental'<br
/> vagrant basebox define '' 'ubuntu-10.04.2-amd64-netboot'<br
/> vagrant basebox define '' 'ubuntu-10.04.2-server-amd64'<br
/> vagrant basebox define '' 'ubuntu-10.04.2-server-i386'<br
/> vagrant basebox define '' 'ubuntu-10.04.2-server-i386-netboot'<br
/> vagrant basebox define '' 'ubuntu-10.10-server-amd64'<br
/> vagrant basebox define '' 'ubuntu-10.10-server-amd64-netboot'<br
/> vagrant basebox define '' 'ubuntu-10.10-server-i386'<br
/> vagrant basebox define '' 'ubuntu-10.10-server-i386-netboot'<br
/> vagrant basebox define '' 'ubuntu-11.04-server-amd64'<br
/> vagrant basebox define '' 'ubuntu-11.04-server-i386'<br
/> vagrant basebox define '' 'windows-2008R2-amd64-experimental'</code></p><p>This means that we can build a box based on <strong>any</strong> of the above templates. <em>That&#8217;s awesome!</em> Let&#8217;s say we want to build a debian squeeze box using veewee; we would have to run:<br
/> <code>vagrant basebox define 'debian-60' 'Debian-6.0.1a-amd64-netboot'</code><br
/> and this will create a folder definitions/debian-60 with the following files (the content of the veewee template):<br
/> <code>definition.rb<br
/> postinstall.sh<br
/> preseed.cfg</code><br
/> we can modify/tune any of those files based on our custom needs. The file <strong>definition.rb</strong> is the main definition of the template. Here you would define the memory size, disk size, iso file, etc. The content is very easy to understand, but you would normally not have to change many things here. <strong>preseed.cfg</strong> is just a standard preseed file where you would customize the actual install process (you could change here the partitions or their type, timezone setup, etc). And finally <strong>postinstall.sh</strong> that is a bash script that will run at the end of the installation process and it will install ruby, gems , chef and puppet and also the virtualbox guest additions (needed for shared folders).</p><p>If you have the iso already place it in <strong>&#8216;currentdir&#8217;/iso</strong>. If not, veewee will download it and place it in the appropriate folder before starting the install process:<br
/> <code>vagrant basebox build 'debian-60'</code><br
/> this will start the installation and you can see all the steps it takes (the keystrokes as they are entered, etc.). This can take a while… Once it is done you can validate the build with:<br
/> <code>vagrant basebox validate 'debian-60'</code><br
/> (this will run a few basic tests to see if it can connect to the vm as user vagrant, if chef and puppet were installed, if the shared folders are accessible, etc).</p><p>And finally you can export it as a vagrant box with:<br
/> <code>vagrant basebox export 'debian-60'</code><br
/> and add it to vagrant:<br
/> <code>vagrant box add 'debian-60' debian-60.box</code><br
/> and now you can use it in vagrant with:<br
/> <code>vagrant init 'debian-60'</code></p><p>That&#8217;s it. Very simple and now we have our own box built from scratch. As a side note, I found this very useful to test and troubleshoot preseed configurations <img
src='http://www.ducea.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . As you can see there are plenty of templates available in veewee but if you create a new one please consider to share it with others and send it to Patrick on <a
href="https://github.com/jedi4ever/veewee" target="_blank">github</a>. I&#8217;m sure he will be happy to include it in newer versions of veewee. And if you found this useful don&#8217;t forget to thank <a
href="https://twitter.com/#!/patrickdebois" target="_blank">Patrick</a> for his great work on this awesome tool.</p><p><a
href="http://www.thycotic.com/zSS_Ducea.html?utm_source=ducea&utm_medium=banner&utm_content=iquit&utm_campaign=SSDucea"><img
src="http://www.ducea.com/images/SS468by60.jpg"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Mdlog?a=YX7iFcPlUio:FB_5ARR307Y:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Mdlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=YX7iFcPlUio:FB_5ARR307Y:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=YX7iFcPlUio:FB_5ARR307Y:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=YX7iFcPlUio:FB_5ARR307Y:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=YX7iFcPlUio:FB_5ARR307Y:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=YX7iFcPlUio:FB_5ARR307Y:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=YX7iFcPlUio:FB_5ARR307Y:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=YX7iFcPlUio:FB_5ARR307Y:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Mdlog?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=YX7iFcPlUio:FB_5ARR307Y:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=YX7iFcPlUio:FB_5ARR307Y:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://www.ducea.com/2011/08/15/building-vagrant-boxes-with-veewee/feed/</wfw:commentRss> <slash:comments>8</slash:comments> <feedburner:origLink>http://www.ducea.com/2011/08/15/building-vagrant-boxes-with-veewee/</feedburner:origLink></item> <item><title>Monitoring with Icinga @ SF Bay Area LSPE meetup</title><link>http://feedproxy.google.com/~r/Mdlog/~3/d6oyCjikNlQ/</link> <comments>http://www.ducea.com/2011/07/22/monitoring-with-icinga-sf-bay-area-lspe-meetup/#comments</comments> <pubDate>Fri, 22 Jul 2011 18:15:22 +0000</pubDate> <dc:creator>- Marius -</dc:creator> <category><![CDATA[Conferences]]></category> <category><![CDATA[General]]></category> <category><![CDATA[Monitoring]]></category> <category><![CDATA[bay area]]></category> <category><![CDATA[icinga]]></category> <category><![CDATA[meetups]]></category> <category><![CDATA[monitoring]]></category> <category><![CDATA[nagios]]></category><guid isPermaLink="false">http://www.ducea.com/?p=1340</guid> <description><![CDATA[Yesterday evening I presented at the SF Bay Area Large-Scale Production Engineering meetup group at Yahoo HQ a talk about &#8220;Monitoring with Icinga&#8221;. This was an introductory talk intended to bring awareness about icinga (there were only 3-4 people from the audience of about 75 that heard of it before), and I think it reached [...]<p><a
href="http://www.thycotic.com/zSS_Ducea.html?utm_source=ducea&utm_medium=banner&utm_content=iquit&utm_campaign=SSDucea"><img
src="http://www.ducea.com/images/SS468by60.jpg"></a></p> ]]></description> <content:encoded><![CDATA[<p>Yesterday evening I presented at the SF Bay Area Large-Scale Production Engineering meetup group at Yahoo HQ a talk about <strong>&#8220;Monitoring with Icinga&#8221;</strong>. This was an introductory talk intended to bring awareness about <a
href="https://www.icinga.org/" target="_blank">icinga</a> (there were only 3-4 people from the audience of about 75 that heard of it before), and I think it reached its goal very well; afterwards there were many people interested to try it out and had various questions about it at the end. I was also very happy to have <a
href="https://twitter.com/#!/mjbrooks_dev" target="_blank">Matthew Brooks</a> one of the icinga core developers in the audience and backing me up to some of the more difficult questions people had. Thanks again Matthew for coming! Here are the slides from my presentation:</p><div
id="__ss_8657145" style="width: 560px;"><p><strong
style="display: block; margin: 12px 0 4px;"><a
title="Monitoring with Icinga @ SF Bay Area LSPE meetup" href="http://www.slideshare.net/mdxp/monitoring-with-icinga-sf-bay-area-lspe-meetup-8657145" target="_blank">Monitoring with Icinga @ SF Bay Area LSPE meetup</a></strong> <iframe
src="http://www.slideshare.net/slideshow/embed_code/8657145?rel=0" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="510" height="426"></iframe></p><div
style="padding: 5px 0 12px;">View more <a
href="http://www.slideshare.net/" target="_blank">presentations</a> from <a
href="http://www.slideshare.net/mdxp" target="_blank">mdxp</a></div></div><p><a
href="http://twitter.com/LSPEMeetup" target="_blank">@LSPEMeetup</a> made available the video on justin.tv; unfortunately the quality of the video/sound is not the best; you can find it <a
href="http://www.justin.tv/kctv88/b/290736874" target="_blank">here</a>.</p><p><a
href="http://www.thycotic.com/zSS_Ducea.html?utm_source=ducea&utm_medium=banner&utm_content=iquit&utm_campaign=SSDucea"><img
src="http://www.ducea.com/images/SS468by60.jpg"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Mdlog?a=d6oyCjikNlQ:fF_xH50jSt8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Mdlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=d6oyCjikNlQ:fF_xH50jSt8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=d6oyCjikNlQ:fF_xH50jSt8:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=d6oyCjikNlQ:fF_xH50jSt8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=d6oyCjikNlQ:fF_xH50jSt8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=d6oyCjikNlQ:fF_xH50jSt8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=d6oyCjikNlQ:fF_xH50jSt8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=d6oyCjikNlQ:fF_xH50jSt8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Mdlog?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=d6oyCjikNlQ:fF_xH50jSt8:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=d6oyCjikNlQ:fF_xH50jSt8:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://www.ducea.com/2011/07/22/monitoring-with-icinga-sf-bay-area-lspe-meetup/feed/</wfw:commentRss> <slash:comments>3</slash:comments> <feedburner:origLink>http://www.ducea.com/2011/07/22/monitoring-with-icinga-sf-bay-area-lspe-meetup/</feedburner:origLink></item> <item><title>HowTo Improve IO Performance for KVM Guests</title><link>http://feedproxy.google.com/~r/Mdlog/~3/zccCKtnbgPs/</link> <comments>http://www.ducea.com/2011/07/06/howto-improve-io-performance-for-kvm-guests/#comments</comments> <pubDate>Wed, 06 Jul 2011 17:58:18 +0000</pubDate> <dc:creator>- Marius -</dc:creator> <category><![CDATA[Linux]]></category> <category><![CDATA[Tips & Tricks]]></category> <category><![CDATA[Ubuntu]]></category> <category><![CDATA[Virtualization]]></category> <category><![CDATA[kvm]]></category> <category><![CDATA[performance]]></category> <category><![CDATA[xen]]></category><guid isPermaLink="false">http://www.ducea.com/?p=1313</guid> <description><![CDATA[Recently I&#8217;ve worked on a project where we deployed a bunch KVM instances. Immediately we noticed horrible IO performance on all the guests instances. In this particular case the hosts and the guests were all Ubuntu 10.04 Lucid and were created with vmbuilder without any special settings using the ubuntu defaults. Here is a sample [...]<p><a
href="http://www.thycotic.com/zSS_Ducea.html?utm_source=ducea&utm_medium=banner&utm_content=iquit&utm_campaign=SSDucea"><img
src="http://www.ducea.com/images/SS468by60.jpg"></a></p> ]]></description> <content:encoded><![CDATA[<p>Recently I&#8217;ve worked on a project where we deployed a bunch <strong>KVM</strong> instances. Immediately we noticed <em>horrible IO performance</em> on all the guests instances. In this particular case the hosts and the guests were all <em>Ubuntu 10.04 Lucid</em> and were created with <strong>vmbuilder</strong> without any special settings using the ubuntu defaults. Here is a sample command similar to what we used to build the kvm images:</p><p><code>vmbuilder kvm ubuntu --suite=lucid --flavour=virtual --arch=amd64 --mirror=http://en.archive.ubuntu.com/ubuntu -o --libvirt=qemu:///system --ip=10.0.0.11 --gw=10.0.0.1 --part=vmbuilder.partition --templates=mytemplates --user=username --pass=password --firstboot=/var/vms/vm1/boot.sh --mem=1024 --hostname=myhost --bridge=br0</code></p><p>Now even if we haven&#8217;t tuned anything I would have expected it to perform at least the same level or even better compared with a <strong>Xen</strong> instance. Still, this was not the case, and the performance was really horrible and any kind of IO bound tasks would effectively lock the instance. Looking into this and trying to understand what was the problem I was able to isolate this issue happening only on instances that had <strong>ext4</strong> as the filesystem (the default for lucid), but strangely enough this didn&#8217;t happen for an older instance that was build with <strong>ext3</strong> (actually a <em>debian lenny</em> instance). All the images build with the above command will use <strong>qcow2</strong> sparse format as the default format for the disk.</p><p><span
id="more-1313"></span>In order to achieve good IO performance we had to use <strong>cache=&#8217;writeback&#8217;</strong> for the instances and this will significantly increase the IO performance and bring it almost to host level performance, but in anycase much better compared with the old xen instances we had. Here is how you can enable writeback for an instance: stop the vm; edit the guestdomain and add cache=writeback in the driver section, save and start back the vm:<br
/> <code>virsh --connect qemu:///system<br
/> stop guestdomain<br
/> edit guestdomain   &lt;-- add cache='writeback' in the driver section<br
/> start guestdomain</code></p><p>Here is the how the disk part of my guest domain looks like after adding the cache writeback:<br
/> <code>&lt;disk type='file' device='disk'&gt;<br
/> &lt;driver name='qemu' type='qcow2' <strong>cache='writeback'</strong>/&gt;<br
/> &lt;source file='/var/vms/vm2/ubuntu-kvm/tmphAUcOB.qcow2'/&gt;<br
/> &lt;target dev='hda' bus='ide'/&gt;<br
/> &lt;/disk&gt;</code></p><p>In the process of debugging and searching for a fix for this issue, I&#8217;ve found out that it can also be useful to use <strong>elevator=noop</strong> as the <em>default kernel io scheduler</em>; this definitely helps, but not to the same extend as the cache writeback setting on the virtio disk. You can add elevator=noop to your kernel command line in your grub config, and I have this by default on all the instances.</p><p>Hopefully this will help you greatly improve IO performance for your KVM guests and will save you the time I&#8217;ve lost while trying to find a solution to this problem. Please feel free to share your experiences using the comment form bellow; also I&#8217;m curious if you have any other tips on how to improve this even more.</p><p><a
href="http://www.thycotic.com/zSS_Ducea.html?utm_source=ducea&utm_medium=banner&utm_content=iquit&utm_campaign=SSDucea"><img
src="http://www.ducea.com/images/SS468by60.jpg"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Mdlog?a=zccCKtnbgPs:-VM7Tb9_JkM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Mdlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=zccCKtnbgPs:-VM7Tb9_JkM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=zccCKtnbgPs:-VM7Tb9_JkM:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=zccCKtnbgPs:-VM7Tb9_JkM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=zccCKtnbgPs:-VM7Tb9_JkM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=zccCKtnbgPs:-VM7Tb9_JkM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=zccCKtnbgPs:-VM7Tb9_JkM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=zccCKtnbgPs:-VM7Tb9_JkM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Mdlog?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=zccCKtnbgPs:-VM7Tb9_JkM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=zccCKtnbgPs:-VM7Tb9_JkM:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://www.ducea.com/2011/07/06/howto-improve-io-performance-for-kvm-guests/feed/</wfw:commentRss> <slash:comments>13</slash:comments> <feedburner:origLink>http://www.ducea.com/2011/07/06/howto-improve-io-performance-for-kvm-guests/</feedburner:origLink></item> <item><title>HowTo upgrade Chef from 0.10 to 0.10.2 – rubygems install</title><link>http://feedproxy.google.com/~r/Mdlog/~3/dsNN0FDGmhM/</link> <comments>http://www.ducea.com/2011/07/01/howto-upgrade-chef-from-0-10-to-0-10-2-rubygems-install/#comments</comments> <pubDate>Fri, 01 Jul 2011 19:30:48 +0000</pubDate> <dc:creator>- Marius -</dc:creator> <category><![CDATA[Configuration management]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[Tips & Tricks]]></category> <category><![CDATA[chef]]></category> <category><![CDATA[opschef]]></category><guid isPermaLink="false">http://www.ducea.com/?p=1327</guid> <description><![CDATA[A few days ago Opscode released a security fix for chef server 0.10.0 and 0.9.16 and this post will show how upgrade to chef-server 0.10.2. First start by backing up your data. Seriously. In the past I&#8217;ve had serious problems when performing similar upgrades (even a minor one like this that looks harmless), and even if [...]<p><a
href="http://www.thycotic.com/zSS_Ducea.html?utm_source=ducea&utm_medium=banner&utm_content=iquit&utm_campaign=SSDucea"><img
src="http://www.ducea.com/images/SS468by60.jpg"></a></p> ]]></description> <content:encoded><![CDATA[<p>A few days ago <strong><a
href="http://www.opscode.com/" target="_blank">Opscode</a></strong> released a <a
href="http://www.opscode.com/blog/2011/06/29/chef-0-10-2-and-0-9-18-released/" target="_blank">security fix</a> for <strong>chef server 0.10.0</strong> and 0.9.16 and this post will show how upgrade to chef-server <strong>0.10.2</strong>. First start by backing up your data. Seriously. In the past I&#8217;ve had serious problems when performing similar upgrades (even a minor one like this that looks harmless), and even if now opscode are much better with this process it never hurts to be precautions. Since I use a <strong>rubygem</strong> install the next steps will focus on this type of installation; if you are using distribution or opscode packages this will not be very helpful as probably packages are not yet available for this upgrade; once they will replace the gem upgrade part with the deb/rpm upgrade and you should be set.</p><h3>1. Stop all the chef related services</h3><p>Here is a handy command that will stop all the possible chef server related services:<br
/> <code>for svc in server server-webui solr expander<br
/> do<br
/> sudo /etc/init.d/chef-${svc} stop<br
/> done</code></p><h3><span
id="more-1327"></span>2. Upgrade the chef-server gems</h3><p>Simply run:<br
/> <code>sudo gem update chef chef-server --no-ri --no-rdoc</code><br
/> and this should upgrade all the other gems it needs to. A sample output will look like this:<br
/> <code>gem update chef chef-server --no-ri --no-rdoc<br
/> Updating installed gems<br
/> Updating chef<br
/> Successfully installed chef-0.10.2<br
/> Updating chef-expander<br
/> Successfully installed chef-expander-0.10.2<br
/> Updating chef-server<br
/> Successfully installed chef-server-api-0.10.2<br
/> Successfully installed chef-server-webui-0.10.2<br
/> Successfully installed chef-solr-0.10.2<br
/> Successfully installed chef-server-0.10.2<br
/> Gems updated: chef, chef-expander, chef-server-api, chef-server-webui, chef-solr, chef-server</code></p><p>Optional: if you want you can cleanup the system from old, unused gems with:<br
/> <code>sudo gem cleanup</code></p><h3>3. Start back the chef server services</h3><p>Again in a single command, now to start them:<br
/> <code>for svc in server server-webui solr expander<br
/> do<br
/> sudo /etc/init.d/chef-${svc} start<br
/> done</code></p><p>That&#8217;s it, now you should be running the latest and greatest chef server version 0.10.2.</p><p><a
href="http://www.thycotic.com/zSS_Ducea.html?utm_source=ducea&utm_medium=banner&utm_content=iquit&utm_campaign=SSDucea"><img
src="http://www.ducea.com/images/SS468by60.jpg"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Mdlog?a=dsNN0FDGmhM:vXXskBNuBXg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Mdlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=dsNN0FDGmhM:vXXskBNuBXg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=dsNN0FDGmhM:vXXskBNuBXg:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=dsNN0FDGmhM:vXXskBNuBXg:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=dsNN0FDGmhM:vXXskBNuBXg:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=dsNN0FDGmhM:vXXskBNuBXg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=dsNN0FDGmhM:vXXskBNuBXg:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=dsNN0FDGmhM:vXXskBNuBXg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Mdlog?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mdlog?a=dsNN0FDGmhM:vXXskBNuBXg:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Mdlog?i=dsNN0FDGmhM:vXXskBNuBXg:gIN9vFwOqvQ" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://www.ducea.com/2011/07/01/howto-upgrade-chef-from-0-10-to-0-10-2-rubygems-install/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://www.ducea.com/2011/07/01/howto-upgrade-chef-from-0-10-to-0-10-2-rubygems-install/</feedburner:origLink></item> </channel> </rss><!-- Served from: www.ducea.com @ 2012-05-18 19:09:26 by W3 Total Cache -->

