<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-342921498109425004</id><updated>2012-01-27T11:30:49.571+02:00</updated><category term='machine-translation'/><category term='SNMP'/><category term='AntiVirus'/><category term='rebundling'/><category term='s3'/><category term='documentation'/><category term='cloud 101'/><category term='dom0'/><category term='NCP'/><category term='bugs'/><category term='free'/><category term='development'/><category term='Amazon'/><category term='donate'/><category term='community'/><category term='migrate'/><category term='eucalyptus'/><category term='upgrade'/><category term='step-by-step'/><category term='cobbler'/><category term='hadoop'/><category term='Linus'/><category term='Google location'/><category term='xcp'/><category term='sessions'/><category term='Somalia'/><category term='removal'/><category term='iphone'/><category term='ubuntu-eg'/><category term='PXE'/><category term='configuration'/><category term='x2go'/><category term='torrent'/><category term='installer'/><category term='video'/><category term='portal'/><category term='contribute'/><category term='conficker'/><category term='scalable'/><category term='xenapi'/><category term='solaris'/><category term='laptop'/><category term='xen'/><category term='backup'/><category term='broken'/><category term='featured'/><category term='scripting'/><category term='ami'/><category term='xfs'/><category term='virtio'/><category term='centos'/><category term='appliance'/><category term='ubuntu-planet'/><category term='Q+A'/><category term='famine'/><category term='UFO'/><category term='definition'/><category term='government'/><category term='HPC'/><category term='HTC Hero'/><category term='ec2-consistent-snapshot'/><category term='cloud'/><category term='ubuntu cloud days'/><category term='bash'/><category term='natty'/><category term='handler'/><category term='wordpress'/><category term='datacenter'/><category term='nested'/><category term='paravirtual'/><category term='interview'/><category term='portability'/><category term='custom'/><category term='orchestra'/><category term='desktop'/><category term='power'/><category term='GPS'/><category term='xen cloud'/><category term='paravirtualized'/><category term='remote desktop'/><category term='D-Bus'/><category term='UEC'/><category term='smash hit'/><category term='ubuntu'/><category term='automation'/><category term='Bandwidth'/><category term='virtual machines'/><category term='blueprint'/><category term='Intel'/><category term='xapi'/><category term='pygrub'/><category term='screencast'/><category term='Python'/><category term='articles'/><category term='virtualization'/><category term='xen cloud platform'/><category term='bigdata'/><category term='benefits'/><category term='packaging'/><category term='Internet2.0'/><category term='Microsoft'/><category term='Traffic'/><category term='zfs'/><category term='javascript'/><category term='planet'/><category term='Fedora-11'/><category term='uds'/><category term='ec2'/><category term='ensemble'/><category term='lockin'/><category term='forums'/><category term='web applications'/><category term='kido'/><category term='release party'/><category term='lucid'/><category term='buntu'/><category term='Anticompetitive'/><category term='snapshot'/><category term='DBUS'/><category term='customizing'/><category term='Gentoo'/><category term='WFP'/><category term='console'/><category term='download'/><category term='CPU'/><category term='survey'/><category term='screencasts'/><category term='10.04.1'/><category term='new tabs'/><category term='IRC'/><category term='windows'/><category term='Batch'/><category term='rtorrent'/><category term='devops'/><category term='kvm'/><category term='FTBFS'/><category term='Android'/><category term='playlist'/><category term='ebs'/><category term='uds-o'/><category term='network-scan'/><category term='KDE'/><category term='LAMP'/><category term='navigation'/><category term='nexenta'/><category term='openstack'/><category term='guide'/><category term='rtgui'/><category term='nova'/><category term='orchestration'/><category term='tutorial'/><category term='deployment'/><category term='UCD'/><category term='nehalem'/><category term='Google wave'/><category term='meeting'/><category term='vnc'/><category term='SMP'/><category term='adoptions'/><category term='canonical'/><category term='VMs'/><category term='AWS'/><category term='one liner'/><category term='cool'/><category term='arabic'/><category term='qa'/><category term='2008.11'/><category term='multiple tabs'/><category term='Linux'/><category term='virt-install'/><category term='kernel'/><category term='virus'/><category term='chromium'/><category term='server'/><category term='foss'/><category term='opensolaris'/><category term='maps'/><category term='cairo'/><category term='Google chrome'/><category term='freedesktop'/><category term='management'/><category term='beginner'/><category term='NX'/><category term='accounting'/><category term='cloud-init'/><title type='text'>FOSS Boss</title><subtitle type='html'>Egyptian geek's Blog about Linux Solaris Unix open-source and everything hot and cool in technology</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>88</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-4445588324771807748</id><published>2011-09-23T20:53:00.001+02:00</published><updated>2011-09-23T21:06:39.830+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='server'/><category scheme='http://www.blogger.com/atom/ns#' term='planet'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='cobbler'/><category scheme='http://www.blogger.com/atom/ns#' term='featured'/><category scheme='http://www.blogger.com/atom/ns#' term='datacenter'/><category scheme='http://www.blogger.com/atom/ns#' term='automation'/><category scheme='http://www.blogger.com/atom/ns#' term='orchestration'/><category scheme='http://www.blogger.com/atom/ns#' term='PXE'/><category scheme='http://www.blogger.com/atom/ns#' term='orchestra'/><category scheme='http://www.blogger.com/atom/ns#' term='installer'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Oneiric server, Deploy Server fleets p2</title><content type='html'>Welcome to the second installment of this article series. In the first part of this article we installed an Ubuntu server instance, made sure it became an orchestra installation server. If this is new to you, Orchestra is a new Oneiric server feature that enables admins to very easily deploy fleets of Ubuntu servers. Let's pick up where the first article stopped&lt;br /&gt;&lt;br /&gt;First, let's check where we are. You see installing the orchestra server, it automatically downloads and imports various Ubuntu server ISOs and creates all the needed structure (distros, profiles ...etc) in the underlying cobbler system. Let's see what have we&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;$ sudo cobbler list&lt;br /&gt;distros:&lt;br /&gt;&amp;nbsp; &amp;nbsp;hardy-i386&lt;br /&gt;&amp;nbsp; &amp;nbsp;hardy-x86_64 &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;lucid-i386&lt;br /&gt;&amp;nbsp; &amp;nbsp;lucid-x86_64 &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;maverick-i386 &lt;br /&gt;&amp;nbsp; &amp;nbsp;maverick-x86_64&lt;br /&gt;&amp;nbsp; &amp;nbsp;natty-i386&lt;br /&gt;&amp;nbsp; &amp;nbsp;natty-x86_64 &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;oneiric-i386 &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;oneiric-x86_64&lt;br /&gt;&lt;br /&gt;profiles:&lt;br /&gt;&amp;nbsp; &amp;nbsp;hardy-i386&lt;br /&gt;&amp;nbsp; &amp;nbsp;hardy-i386-juju&lt;br /&gt;&amp;nbsp; &amp;nbsp;hardy-x86_64&lt;br /&gt;&amp;nbsp; &amp;nbsp;hardy-x86_64-juju&lt;br /&gt;&amp;nbsp; &amp;nbsp;lucid-i386&lt;br /&gt;&amp;nbsp; &amp;nbsp;lucid-i386-juju&lt;br /&gt;&amp;nbsp; &amp;nbsp;lucid-x86_64&lt;br /&gt;&amp;nbsp; &amp;nbsp;lucid-x86_64-juju&lt;br /&gt;&amp;nbsp; &amp;nbsp;maverick-i386&lt;br /&gt;&amp;nbsp; &amp;nbsp;maverick-i386-juju&lt;br /&gt;&amp;nbsp; &amp;nbsp;maverick-x86_64&lt;br /&gt;&amp;nbsp; &amp;nbsp;maverick-x86_64-juju&lt;br /&gt;&amp;nbsp; &amp;nbsp;natty-i386&lt;br /&gt;&amp;nbsp; &amp;nbsp;natty-i386-juju&lt;br /&gt;&amp;nbsp; &amp;nbsp;natty-x86_64&lt;br /&gt;&amp;nbsp; &amp;nbsp;natty-x86_64-juju&lt;br /&gt;&amp;nbsp; &amp;nbsp;oneiric-i386&lt;br /&gt;&amp;nbsp; &amp;nbsp;oneiric-i386-juju&lt;br /&gt;&amp;nbsp; &amp;nbsp;oneiric-x86_64&lt;br /&gt;&amp;nbsp; &amp;nbsp;oneiric-x86_64-juju&lt;br /&gt;&lt;br /&gt;systems:&lt;br /&gt;&lt;br /&gt;repos:&lt;br /&gt;&amp;nbsp; &amp;nbsp;hardy-i386&lt;br /&gt;&amp;nbsp; &amp;nbsp;hardy-i386-security&lt;br /&gt;&amp;nbsp; &amp;nbsp;hardy-x86_64&lt;br /&gt;&amp;nbsp; &amp;nbsp;hardy-x86_64-security&lt;br /&gt;&amp;nbsp; &amp;nbsp;lucid-i386&lt;br /&gt;&amp;nbsp; &amp;nbsp;lucid-i386-security&lt;br /&gt;&amp;nbsp; &amp;nbsp;lucid-x86_64&lt;br /&gt;&amp;nbsp; &amp;nbsp;lucid-x86_64-security&lt;br /&gt;&amp;nbsp; &amp;nbsp;maverick-i386&lt;br /&gt;&amp;nbsp; &amp;nbsp;maverick-i386-security&lt;br /&gt;&amp;nbsp; &amp;nbsp;maverick-x86_64&lt;br /&gt;&amp;nbsp; &amp;nbsp;maverick-x86_64-security&lt;br /&gt;&amp;nbsp; &amp;nbsp;natty-i386&lt;br /&gt;&amp;nbsp; &amp;nbsp;natty-i386-security&lt;br /&gt;&amp;nbsp; &amp;nbsp;natty-x86_64&lt;br /&gt;&amp;nbsp; &amp;nbsp;natty-x86_64-security&lt;br /&gt;&amp;nbsp; &amp;nbsp;oneiric-i386&lt;br /&gt;&amp;nbsp; &amp;nbsp;oneiric-i386-security&lt;br /&gt;&amp;nbsp; &amp;nbsp;oneiric-x86_64&lt;br /&gt;&amp;nbsp; &amp;nbsp;oneiric-x86_64-security&lt;br /&gt;&lt;br /&gt;images:&lt;br /&gt;&lt;br /&gt;mgmtclasses:&lt;br /&gt;&amp;nbsp; &amp;nbsp;orchestra-juju-acquired&lt;br /&gt;&amp;nbsp; &amp;nbsp;orchestra-juju-available&lt;br /&gt;&lt;/pre&gt;woah! that sure makes my life easier. If you're interested to see where the isos were downloaded (like I was) here you are&lt;br /&gt;&lt;pre&gt;ls /var/lib/cobbler/isos/&lt;br /&gt;hardy-i386-mini.iso &amp;nbsp; &amp;nbsp;lucid-i386-mini.iso &amp;nbsp; &amp;nbsp;maverick-i386-mini.iso &amp;nbsp; &amp;nbsp;natty-i386-mini.iso &amp;nbsp; &amp;nbsp;oneiric-i386-mini.iso&lt;br /&gt;hardy-x86_64-mini.iso &amp;nbsp;lucid-x86_64-mini.iso &amp;nbsp;maverick-x86_64-mini.iso &amp;nbsp;natty-x86_64-mini.iso &amp;nbsp;oneiric-x86_64-mini.iso&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Let's create a new virtual box VM, to serve as our new "server" that needs to be installed. Here's how it looks for me&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/6175453989/" title="12-oneiric01-vboxsettings by Ahmed-Kamal, on Flickr"&gt;&lt;img alt="12-oneiric01-vboxsettings" height="500" src="http://farm7.static.flickr.com/6179/6175453989_eddc3b516a.jpg" width="384" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;One thing is worth noting however, it's that the NIC is placed on the "intnet" network, which has the IP range 192.168.77.0/24 that we configured in the first part of this article&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/6175453857/" title="13-vbox-natty01-netsettings by Ahmed-Kamal, on Flickr"&gt;&lt;img alt="13-vbox-natty01-netsettings" height="425" src="http://farm7.static.flickr.com/6166/6175453857_6edd623a70.jpg" width="500" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;now the only "real" thing you have to do, is to add a profile on the orchestra server for your new bare server. The profile binds its mac address, to a name and an installation profile (think OS to install, kickstart ..etc)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;sudo cobbler system add --name="oneiric01.ubuntu.lan" --mac-address="08:00:27:B7:76:2A" --ip-address="192.168.77.33" --dns-name="oneiric01.ubuntu.lan" --hostname="oneiric01.ubuntu.lan" --profile="oneiric-x86_64-juju" --mgmt-classes="orchestra-juju-available" --kopts=" DEBCONF_DEBUG=developer netcfg/dhcp_timeout=120 netcfg/choose_interface=eth0"&lt;br /&gt;&lt;/pre&gt;Boot the server, choose PXE (For vbox that's F12 then "l" that's an L)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/6175981526/" title="14-natty-PXEbooting by Ahmed-Kamal, on Flickr"&gt;&lt;img alt="14-natty-PXEbooting" height="317" src="http://farm7.static.flickr.com/6153/6175981526_e4d49e3341.jpg" width="500" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Watch the installer fly by (look ma hands free)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/6175981638/" title="15-installer-running by Ahmed-Kamal, on Flickr"&gt;&lt;img alt="15-installer-running" height="445" src="http://farm7.static.flickr.com/6151/6175981638_432079c8d3.jpg" width="500" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and your box is ready!&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/6175981698/" title="16-Oneiric01-ready by Ahmed-Kamal, on Flickr"&gt;&lt;img alt="16-Oneiric01-ready" height="416" src="http://farm7.static.flickr.com/6178/6175981698_501492aaa2.jpg" width="500" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;That's how easy it is to install a fresh server off your orchestra box! So basically the only thing you need to do per server, is to attach it to a profile and that's it. Boot it and it installs whatever you provisioned for it. Of course any good admin already did that manually before, but it took effort and it wasn't standardized. Now you can count on Ubuntu server covering your back when you're tasked with installing a hundred servers&lt;br /&gt;&lt;br /&gt;How cool was that! Got thoughts, comments or rotten tomatoes ? Shoot me a comment&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-4445588324771807748?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/4445588324771807748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=4445588324771807748' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/4445588324771807748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/4445588324771807748'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/09/oneiric-server-deploy-server-fleets-p2.html' title='Oneiric server, Deploy Server fleets p2'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm7.static.flickr.com/6179/6175453989_eddc3b516a_t.jpg' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-3289714849835872842</id><published>2011-09-21T01:11:00.000+02:00</published><updated>2011-09-21T01:11:07.862+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='server'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='cobbler'/><category scheme='http://www.blogger.com/atom/ns#' term='datacenter'/><category scheme='http://www.blogger.com/atom/ns#' term='automation'/><category scheme='http://www.blogger.com/atom/ns#' term='orchestration'/><category scheme='http://www.blogger.com/atom/ns#' term='PXE'/><category scheme='http://www.blogger.com/atom/ns#' term='installer'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Oneiric server, Deploy Server fleets p1</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;I'm gonna be posting a series of articles on new features and cool technology bits that are landing in Ubuntu Oneiric (11.10) server. Why? I like servers, I like cloud, I like Ubuntu, it all mixes well, what's not to like :)&lt;br /&gt;&lt;br /&gt;During this first article, I'll be demoing (in a&amp;nbsp;graphically&amp;nbsp;intensive way :) what it takes (hint: not much!) to deploy a server fleet with Oneiric server. &lt;a href="https://launchpad.net/orchestra"&gt;Orchestra&lt;/a&gt; is the name of a wonderful piece of technology that lands in Oneiric, that's been created on top of the open-source &lt;a href="https://fedorahosted.org/cobbler/"&gt;cobbler&lt;/a&gt; project. Orchestra is super easy to install and get started with, and enables you to very rapidly deploy tens or hundreds of physical servers. I'll be using virtualbox to build a small test "lab" on my laptop for purposes of this article. I did actually try KVM first, but faced some trouble getting PXE booting reliably, so I opted for &lt;a href="http://www.virtualbox.org/"&gt;virtualbox&lt;/a&gt; which worked flawlessly (kudos vbox guys, you rock!)&lt;br /&gt;&lt;br /&gt;Let's get started, I created a VM to represent the very first "head node", that will install the rest of all nodes. Here is a summary of its configuration&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/6167776998/" title="1-orchestra by Ahmed-Kamal, on Flickr"&gt;&lt;img alt="1-orchestra" height="500" src="http://farm7.static.flickr.com/6159/6167776998_a1b0965c27.jpg" width="364" /&gt;&lt;/a&gt;&lt;br /&gt;Pop in the virtual CD, boot it, press F6, add "priority=critical locale=en_US url=http://bit.ly/uquick" (Thanks &lt;a href="http://blog.dustinkirkland.com/2011/03/ubuntu-server-quick-install-no.html"&gt;Dustin&lt;/a&gt;!) so it looks like&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/6167777042/" title="2-orchestra-bootoptions by Ahmed-Kamal, on Flickr"&gt;&lt;img alt="2-orchestra-bootoptions" height="416" src="http://farm7.static.flickr.com/6166/6167777042_3a046d47a8.jpg" width="500" /&gt;&lt;/a&gt;&lt;br /&gt;The uquick profile answers all the installer questions, such that the installation is fully automatic. Since the VM contains two NICs however, we'll need to select a primary one (eth0 in my case)&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/6167242023/" title="3-orchestra-whicheth by Ahmed-Kamal, on Flickr"&gt;&lt;img alt="3-orchestra-whicheth" height="408" src="http://farm7.static.flickr.com/6178/6167242023_f6d68d1a1a.jpg" width="500" /&gt;&lt;/a&gt;&lt;br /&gt;The installation runs like a champ, fully automated, give it a few minutes till it finishes everything and reboots into the server OS (oh that was easy!)&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/6167242047/" title="4-orchestra-login by Ahmed-Kamal, on Flickr"&gt;&lt;img alt="4-orchestra-login" height="416" src="http://farm7.static.flickr.com/6151/6167242047_6bd5e2f693.jpg" width="500" /&gt;&lt;/a&gt;&lt;br /&gt;Now I configure eth1 to have a static IP address of 192.168.77.1/24 (I made any address up), here is a snapshot of /etc/network/interfaces and I started eth1 using ifup&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/6167777170/" title="5-orchestra-eth1up by Ahmed-Kamal, on Flickr"&gt;&lt;img alt="5-orchestra-eth1up" height="416" src="http://farm7.static.flickr.com/6167/6167777170_6717546dce.jpg" width="500" /&gt;&lt;/a&gt;&lt;br /&gt;At this stage, I rebooted the server but you definitely don't have to. Let's start actually installing Orchestra&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;sudo apt-get update&lt;br /&gt;sudo apt-get install ubuntu-orchestra-server -y&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Everything proceeds automatically, for any question you get during package installation, I'll provide a picture with the answer :)&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/6167242113/" title="6-cobbler-password by Ahmed-Kamal, on Flickr"&gt;&lt;img alt="6-cobbler-password" height="416" src="http://farm7.static.flickr.com/6174/6167242113_0553b191da.jpg" width="500" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/6167242157/" title="7-nextserver by Ahmed-Kamal, on Flickr"&gt;&lt;img alt="7-nextserver" height="416" src="http://farm7.static.flickr.com/6168/6167242157_f4587a6af6.jpg" width="500" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/6167777288/" title="8-enable-dns-dhcp by Ahmed-Kamal, on Flickr"&gt;&lt;img alt="8-enable-dns-dhcp" height="416" src="http://farm7.static.flickr.com/6166/6167777288_4a69c2a9d1.jpg" width="500" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/6167777326/" title="9-dhcp-range by Ahmed-Kamal, on Flickr"&gt;&lt;img alt="9-dhcp-range" height="416" src="http://farm7.static.flickr.com/6172/6167777326_8fae8c2bd1.jpg" width="500" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/6167242275/" title="10-dhcp-gw by Ahmed-Kamal, on Flickr"&gt;&lt;img alt="10-dhcp-gw" height="416" src="http://farm7.static.flickr.com/6152/6167242275_ae23aaac7a.jpg" width="500" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/6167242329/" title="11-domain-name by Ahmed-Kamal, on Flickr"&gt;&lt;img alt="11-domain-name" height="416" src="http://farm7.static.flickr.com/6171/6167242329_dbac14a4e7.jpg" width="500" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;That's it! You've just installed and configured your first Ubuntu Orchestra server, and you're now ready to install a fleet of Ubuntu servers the easy way! In part 2 of this article, I'll go through creating a second server, PXE booting and installing it from the orchestra server. (Extra credit: If you can't wait, try PXE booting a fresh server right now. Note that after installation, orchestra actually downloads and auto-imports a few Ubuntu mini ISOs, thus will need a few minutes depending on your internet connection speed)&lt;br /&gt;&lt;br /&gt;So, what do you think of this coolness? Is this easier than the last time you tried building yourself an automated network installer? Shoot me a comment, let me know what you think&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-3289714849835872842?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/3289714849835872842/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=3289714849835872842' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/3289714849835872842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/3289714849835872842'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/09/oneiric-server-deploy-server-fleets-p1.html' title='Oneiric server, Deploy Server fleets p1'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm7.static.flickr.com/6159/6167776998_a1b0965c27_t.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-2178997339486427663</id><published>2011-09-12T14:19:00.002+02:00</published><updated>2011-09-12T14:34:18.909+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='devops'/><category scheme='http://www.blogger.com/atom/ns#' term='cool'/><category scheme='http://www.blogger.com/atom/ns#' term='download'/><category scheme='http://www.blogger.com/atom/ns#' term='rtgui'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='appliance'/><category scheme='http://www.blogger.com/atom/ns#' term='ensemble'/><category scheme='http://www.blogger.com/atom/ns#' term='rtorrent'/><category scheme='http://www.blogger.com/atom/ns#' term='orchestration'/><category scheme='http://www.blogger.com/atom/ns#' term='s3'/><category scheme='http://www.blogger.com/atom/ns#' term='ec2'/><category scheme='http://www.blogger.com/atom/ns#' term='torrent'/><title type='text'>Torrent download Cloud appliance</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;h2&gt;The Why&lt;/h2&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.axleration.com/en/wp-content/uploads/2010/12/Torrents.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="302" src="http://www.axleration.com/en/wp-content/uploads/2010/12/Torrents.jpg" width="302" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;A friend of mine who's a Linux systems geek as well, was tasked with building a library of Linux distro ISOs, this involved downloading tens of ISOs many of which were only offered in torrent form. Even if that were not the case, it would still be good practice to download such large binaries from torrent to avoid loading a certain mirror too much. Anyway, we were chatting about it, and since where I live bandwidth (especially upload) is a scarce resource, he was considering paying some service to download the torrents he needed and convert them to HTTP!&lt;br /&gt;&lt;br /&gt;I mentioned I could build something to do just that in about an hour! It wouldn't even be complex. Armed with &lt;a href="https://ensemble.ubuntu.com/"&gt;Ensemble&lt;/a&gt; I can very simply launch an EC2 instance, install rtorrent (my fav cli torrent client) and rtgui (rtorrent Web UI) and have it ready to crunch on any of your torrenting needs. We both became interested in seeing how well that would work and so here we go...&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;The How&lt;/h2&gt;&lt;br /&gt;I'll assume you already know how to &lt;a href="https://ensemble.ubuntu.com/docs/getting-started.html"&gt;get started with Ensemble&lt;/a&gt;. Let's see what it takes to deploy my torrent appliance &lt;br /&gt;&lt;br /&gt;&lt;pre&gt;$ bzr branch lp:~kim0/+junk/rtgui&lt;br /&gt;$ ensemble bootstrap&lt;br /&gt;# Wait for ec2 to catch up (2~5 mins)&lt;br /&gt;$ ensemble deploy --repository . rtgui&lt;br /&gt;$ ensemble expose rtgui&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;That is basically all you need to "use" this appliance! Give another few minutes for the rtgui appliance to boot, install and configure itself. You can check status with&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;$ ensemble status &lt;br /&gt;2011-09-12 13:23:53,868 INFO Connecting to environment.&lt;br /&gt;machines:&lt;br /&gt;  0: {dns-name: ec2-50-19-19-234.compute-1.amazonaws.com, instance-id: i-2c37ee4c}&lt;br /&gt;  1: {dns-name: ec2-107-20-96-125.compute-1.amazonaws.com, instance-id: i-1c28f17c}&lt;br /&gt;services:&lt;br /&gt;  rtgui:&lt;br /&gt;    exposed: true&lt;br /&gt;    formula: local:rtgui-9&lt;br /&gt;    relations: {}&lt;br /&gt;    units:&lt;br /&gt;      rtgui/0:&lt;br /&gt;        machine: 1&lt;br /&gt;        open-ports: [80/tcp, 55556/tcp, 55557/tcp, 55558/tcp, 55559/tcp, 55560/tcp,&lt;br /&gt;          6881/udp]&lt;br /&gt;        relations: {}&lt;br /&gt;        state: started&lt;br /&gt;2011-09-12 13:24:01,334 INFO 'status' command finished successfully&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The import bit to watch for is "state: started", if it's something else, that means the ec2 instance is still being configured. It's nice to note that the following ports have been opened 55556-55560 since rtorrent is configured to use those ports, port 80 was opened for the Web UI, and port 6881 UDP was opened for the DHT network. I am in no way a torrent expert, so this could be completely unoptimized, but hey it seems to work&lt;br /&gt;&lt;br /&gt;Ready to test? Machine 1 runs rtgui, so go ahead and visit it in a browser, for me that's http://ec2-107-20-96-125.compute-1.amazonaws.com/&lt;b&gt;rtgui&lt;/b&gt; (replace that DNS name with the right one for your instance, and don't forget the trailing /rtgui like I always do). Click "Add torrent" and pass it the URL to a torrent file, I'm gonna be testing with &lt;a href="http://releases.ubuntu.com/11.10/ubuntu-11.10-beta1-desktop-amd64.iso.torrent"&gt;Ubuntu 11.10 beta1 amd64 torrent file&lt;/a&gt;. Once the torrent is added, click the green play button to start it. Since EC2 instances have quite some bandwidth available to them, this Ubuntu torrent downloaded in a just few seconds. I am shipping a default configuration with rtorrent that limits upload speed to 100KB (since you're paying for bandwidth), but you can change that from the web UI. Here's how the whole thing looks&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-HGbPTY1dqig/Tm3vxtvThmI/AAAAAAAABQs/W7YIdfc6Rmg/s1600/rtgui-web-ui.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="196" src="http://1.bp.blogspot.com/-HGbPTY1dqig/Tm3vxtvThmI/AAAAAAAABQs/W7YIdfc6Rmg/s640/rtgui-web-ui.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Once a torrent file is downloaded, you can download it through http://ec2-107-20-96-125.compute-1.amazonaws.com/&lt;b&gt;complete&lt;/b&gt; (again replace the machine DNS name, with the correct name in your case)&lt;br /&gt;&lt;br /&gt;A single torrent appliance is not ofcourse limited to a single torrent! You can keep adding as much as you want, however eventually you're going to hit some limit (disk IO, network IO, disk space ...etc). As such (probably only if you're after downloading really large number of torrents) you may need to "scale up" this torrent download appliance (well it's a cloud for God's sake!). If that's what you wish for, you only need to&lt;br /&gt;&lt;pre&gt;$ ensemble add-unit rtgui&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Simple as that, as with everything Ensemble! So now you know how you can download your 11.10 copy without loading Ubuntu's servers, actually you'd be helping them and all millions of Ubuntu users if you use this method on release day. Once you're done playing with the appliance, you need to destroy it (to stop paying Amazon for the machines)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;$ ensemble destroy-environment&lt;br /&gt;WARNING: this command will destroy the 'sample' environment (type: ec2).&lt;br /&gt;This includes all machines, services, data, and other resources. Continue [y/N]&lt;b&gt;y&lt;/b&gt;&lt;br /&gt;2011-09-12 13:53:33,018 INFO Destroying environment 'sample' (type: ec2)...&lt;br /&gt;2011-09-12 13:53:36,641 INFO Waiting on 2 EC2 instances to transition to terminated state, this may take a while&lt;br /&gt;2011-09-12 13:54:18,617 INFO 'destroy_environment' command finished successfully&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;h2&gt;Want to improve it?&lt;/h2&gt;&lt;br /&gt;Things I wish I had time to improve:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Once a file is downloaded, upload it to S3. You can then terminate the appliance, and still download the files at your own pace&lt;/li&gt;&lt;li&gt;Parameterize rtorrent rc configuration file, such that you can pass it parameters from Ensemble (such as upload rate...etc)&lt;/li&gt;&lt;li&gt;Integrate notification upon download completion (SMS me, email me, IM me ...etc)&lt;/li&gt;&lt;li&gt;Add an auto-redirect to /rtgui :)&lt;/li&gt;&lt;li&gt;Figure out a way to download completed files from within the rtgui web UI&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;If you're interested in improving that appliance, drop by in #ubuntu-ensemble on IRC/Freenode and ping me (kim0) or any of the friendly folks around. &lt;br /&gt;&lt;br /&gt;What kind of skills do you need to hack on that project? Just bash shell scripting foo! The feature I love most about Ensemble as a cloud orchestration tool, is that it doesn't twist you into using some abstracted syntax. You get to write in whatever language you feel like using, for me that's bash. You can find the script that does all of the above &lt;a href="http://bazaar.launchpad.net/~kim0/+junk/rtgui/view/head:/hooks/install"&gt;right here&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Interested&lt;/b&gt; to learn more about Ensemble and automating Ubuntu server deployments in the cloud or on physical servers ?&lt;br /&gt;&lt;b&gt;Want&lt;/b&gt; to hack on this torrent appliance, or do something similar?&lt;br /&gt;&lt;b&gt;Have&lt;/b&gt; comments or a better idea?&lt;br /&gt;&lt;br /&gt;Let me know about it, just &lt;b&gt;drop me a comment&lt;/b&gt; right here! You can also grab me (kim0) over Freenode irc&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-2178997339486427663?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/2178997339486427663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=2178997339486427663' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/2178997339486427663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/2178997339486427663'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/09/torrent-download-cloud-appliance.html' title='Torrent download Cloud appliance'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-HGbPTY1dqig/Tm3vxtvThmI/AAAAAAAABQs/W7YIdfc6Rmg/s72-c/rtgui-web-ui.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-4093570442449827116</id><published>2011-08-21T12:18:00.000+02:00</published><updated>2011-08-21T12:18:26.554+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Somalia'/><category scheme='http://www.blogger.com/atom/ns#' term='famine'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='WFP'/><category scheme='http://www.blogger.com/atom/ns#' term='donate'/><title type='text'>Battling Hunger in the Horn of Africa</title><content type='html'>&lt;img style="float: right" src="http://horn.wfp.org/images/photo.jpg" alt="Hungry children in the Horn of Africa" class="photo"&gt;&lt;br /&gt;&lt;br /&gt;A humanitarian crisis has slowly unfolded in the Horn of Africa. Drought, conflict, and rising food prices have affected more than 13 million people in the region. On 20 July, famine conditions were declared in several southern regions of Somalia. The Food Security and Nutrition Analysis Unit (FSNAU) forecasts that famine conditions will spread if humanitarian assistance does not increase. In response, WFP is planning to feed over 11.5 million people, including 3.7 million people in Somalia, 3.7 million in Ethiopia, and 2.7 million in Kenya.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Restricted aid access&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Access to some vital areas is restricted to humanitarian aid organizations. The hatched area on the map shows areas in which some aid organizations are unable to work— including the places where people are most in need of assistance.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Operational efficiency&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The figure of &lt;b&gt;USD $0.50 per person per day&lt;/b&gt; is based on the average combined daily costs of World Food Programme's operations within Somalia, Ethiopia, &amp; Kenya, as well as the number of people reached by those efforts.&lt;br /&gt;&lt;br /&gt;&lt;div id='ts-embed-1313921521952-script'&gt;&lt;script src='http://tiles.mapbox.com/wfp-famine/api/v1/embed.js?api=mm&amp;amp;size=700&amp;amp;size%5B%5D=500&amp;amp;center%5B%5D=41.99999999999999&amp;amp;center%5B%5D=5.000000000000007&amp;amp;center%5B%5D=5&amp;amp;layers%5B%5D=mapbox.blue-marble-topo-jul-bw&amp;amp;layers%5B%5D=wfp-famine.famine-areas-current-v2&amp;amp;layers%5B%5D=mapbox.world-borders-dark&amp;amp;layers%5B%5D=wfp-famine.wfp-country-interaction-v3&amp;amp;layers%5B%5D=wfp-famine.wfp-points-photos-v5&amp;amp;options%5B%5D=zoomwheel&amp;amp;options%5B%5D=legend&amp;amp;options%5B%5D=tooltips&amp;amp;options%5B%5D=zoombox&amp;amp;options%5B%5D=zoompan&amp;amp;options%5B%5D=attribution&amp;amp;el=ts-embed-1313921521952'&gt;&lt;/script&gt;&lt;/div&gt;&lt;br /&gt;If you cannot see the embedded map above, click here: &lt;a href="http://horn.wfp.org/main.html"&gt;http://horn.wfp.org/main.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Save a child today!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-4093570442449827116?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/4093570442449827116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=4093570442449827116' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/4093570442449827116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/4093570442449827116'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/08/battling-hunger-in-horn-of-africa.html' title='Battling Hunger in the Horn of Africa'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-2878387635996026167</id><published>2011-08-21T00:19:00.000+02:00</published><updated>2011-08-21T00:19:14.245+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='foss'/><category scheme='http://www.blogger.com/atom/ns#' term='benefits'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='adoptions'/><category scheme='http://www.blogger.com/atom/ns#' term='government'/><title type='text'>How can Govs help FOSS businesses</title><content type='html'>&lt;img style="float:right" src="http://www.ps3hax.net/wp-content/uploads/2010/09/open-source.jpg" alt=""&gt;&lt;br /&gt;Dear Lazyweb,&lt;br /&gt;&lt;br /&gt;A group of FOSS ambassadors (of which I am one) have been invited to visit government officials who are "interested" in open-source. The goal will be to pitch open-source and why adopting it would have various benefits on a national level. &lt;br /&gt;&lt;br /&gt;A more specific point that should be discussed is How can the government help local FOSS businesses grow in order to help, support and grow a FOSS-oriented eco-system (Developers, Support professionals, VARs...)&lt;br /&gt;&lt;br /&gt;If you were in that meeting, what points would you make ?&lt;br /&gt;&lt;br /&gt;Thanks!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-2878387635996026167?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/2878387635996026167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=2878387635996026167' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/2878387635996026167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/2878387635996026167'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/08/how-can-govs-help-foss-businesses.html' title='How can Govs help FOSS businesses'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-5865965793922739532</id><published>2011-08-08T16:39:00.000+02:00</published><updated>2011-08-08T16:39:47.342+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='devops'/><category scheme='http://www.blogger.com/atom/ns#' term='ensemble'/><category scheme='http://www.blogger.com/atom/ns#' term='orchestration'/><category scheme='http://www.blogger.com/atom/ns#' term='screencast'/><category scheme='http://www.blogger.com/atom/ns#' term='ec2'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='hadoop'/><title type='text'>Ensemble meets Hadoop on the cloud</title><content type='html'>&lt;a href="http://hadoop.apache.org/"&gt;&lt;img alt="Hadoop" src="http://hadoop.apache.org/images/hadoop-logo.jpg" title="Hadoop" class="aligncenter" width="300" height="71" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So you wanted to play with hadoop to crunch on some big-data problems, except that, well getting a hadoop cluster up and running in not exactly a one minute thing! Let me show you how to make it "a one minute thing" using Ensemble! Since Ensemble now has formulas for creating hadoop &lt;a href="https://code.launchpad.net/~negronjl/+junk/hadoop-master"&gt;master&lt;/a&gt; and &lt;a href="https://code.launchpad.net/~negronjl/+junk/hadoop-slave"&gt;slave&lt;/a&gt; nodes, spinning up a hadoop cluster could not be easier! Check this video out&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="349"&gt;&lt;param name="movie" value="http://www.youtube.com/v/e8IKkWJj7bA?version=3&amp;amp;hl=en_US&amp;amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/e8IKkWJj7bA?version=3&amp;amp;hl=en_US&amp;amp;rel=0" type="application/x-shockwave-flash" width="425" height="349" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;If you can't see the embedded video, here's a direct link &lt;a href="http://youtu.be/e8IKkWJj7bA"&gt;http://youtu.be/e8IKkWJj7bA&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Yep that's how simple it is! If you want to scale-out the cluster, you only need to ask Ensemble to do it for you:&lt;br /&gt;$ ensemble add-unit hadoop-slave&lt;br /&gt;&lt;br /&gt;So is this easier than configuring a hadoop cluster manually? Leave me a comment, let me know your thoughts! Also let me know what you'd like to see deployed next with Ensemble&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-5865965793922739532?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/5865965793922739532/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=5865965793922739532' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/5865965793922739532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/5865965793922739532'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/08/ensemble-meets-hadoop-on-cloud.html' title='Ensemble meets Hadoop on the cloud'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-7434002730279903238</id><published>2011-07-29T16:44:00.002+02:00</published><updated>2011-07-29T19:01:57.372+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='planet'/><category scheme='http://www.blogger.com/atom/ns#' term='UFO'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='featured'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='bigdata'/><category scheme='http://www.blogger.com/atom/ns#' term='ensemble'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><category scheme='http://www.blogger.com/atom/ns#' term='hadoop'/><title type='text'>Ubuntu takes UFOs to the cloud</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="float: right; text-align: right;"&gt;&lt;a href="http://4.bp.blogspot.com/-UMaJYhBTao8/TjLE5OXf-_I/AAAAAAAABM4/SOi5UPkThcc/s1600/UFOold.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="313" src="http://4.bp.blogspot.com/-UMaJYhBTao8/TjLE5OXf-_I/AAAAAAAABM4/SOi5UPkThcc/s400/UFOold.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;I've always believed in &lt;a href="http://en.wikipedia.org/wiki/UFO"&gt;UFOs&lt;/a&gt; as a kid, and while I've never seen one (yet?) I am still more on the believer side! I was interested to stumble upon a database of UFO sightings at&amp;nbsp;&lt;a href="http://www.infochimps.com/tags/ufo#"&gt;http://www.infochimps.com/tags/ufo#&lt;/a&gt;&amp;nbsp;A shout-out at infochimps (you guys are great!). Downloading the sightings DB (around 80MB), I found a listing of 60,000 documented sightings, hmm interesting! I started thinking I could crunch on this data in some useful and fun way, what about finding the most commonly spotted UFO shape?! Sounds like I could use hadoop for that, just for the coolness factor really, the data is not that large anyway, but hey why not! I had no-idea how to get started with hadoop though and wasn't really interested in learning up all the gory details!&lt;br /&gt;&lt;br /&gt;Well &lt;a href="https://ensemble.ubuntu.com/"&gt;Ensemble&lt;/a&gt; to the rescue, hadoop master and slave formulas exist, which means someone else packaged the knowledge needed to setup and run a hadoop cluster for me. All I needed to do was ask Ensemble to deploy me a couple of cloud instances and start playing. Let's see how you can do that for yourself&lt;br /&gt;&lt;br /&gt;I won't repeat the instructions to &lt;a href="https://ensemble.ubuntu.com/docs/getting-started.html"&gt;get started with Ensemble&lt;/a&gt;, since the documentation is a good place for that (and it's so easy anyway!). If you feel you need more help there, this little &lt;a href="http://www.youtube.com/user/ubuntucloud#p/a/u/1/qxMhKbDSbOw"&gt;video&lt;/a&gt; should be helpful. If you're still stuck, you can always drop by on irc/freenode at #ubuntu-ensemble and ask your questions&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Hadoop node, with an extra slave please&lt;/h2&gt;&lt;br /&gt;So, let's start ensembling&lt;br /&gt;&lt;pre&gt;bzr branch lp:~negronjl/+junk/hadoop-master&lt;br /&gt;bzr branch lp:~negronjl/+junk/hadoop-slave&lt;br /&gt;ensemble bootstrap&lt;br /&gt;&lt;/pre&gt;wait a minute or two for EC2 to spin up the instance, then&lt;br /&gt;&lt;pre&gt;ensemble status&lt;br /&gt;&lt;/pre&gt;which’ll give you output like&lt;br /&gt;&lt;pre&gt;$ ensemble status&lt;br /&gt;2011-07-12 15:20:54,978 INFO Connecting to environment.&lt;br /&gt;The authenticity of host 'ec2-50-17-28-19.compute-1.amazonaws.com (50.17.28.19)' can't be established.&lt;br /&gt;RSA key fingerprint is c5:21:62:f0:ac:bd:9c:0f:99:59:12:ec:4d:41:48:c8.&lt;br /&gt;Are you sure you want to continue connecting (yes/no)? yes&lt;br /&gt;machines:&lt;br /&gt;  0: {dns-name: ec2-50-17-28-19.compute-1.amazonaws.com, instance-id: i-8bc034ea}&lt;br /&gt;services: {}&lt;br /&gt;2011-07-12 15:21:01,205 INFO 'status' command finished successfully&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now let's deploy a two node hadoop cluster&lt;br /&gt;&lt;pre&gt;ensemble deploy --repository . hadoop-master&lt;br /&gt;ensemble deploy --repository . hadoop-slave&lt;br /&gt;ensemble add-relation hadoop-master hadoop-slave&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Yeah it's that easy! Ensemble formulas manage all the kung-fu for you. The hadoop cluster is ready, let's ssh into the master node and switch to user hdfs&lt;br /&gt;&lt;pre&gt;ensemble ssh hadoop-master/0&lt;br /&gt;sudo -su hdfs&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;h2&gt;Downloading UFOs&lt;/h2&gt;&lt;br /&gt;Download the infochimps sightings database here, unzip it and locate the TSV file (tab separated values) file. Note that you can download the file from infochimps without registering on their website (didn't I say these guys were great :)&lt;br /&gt;&lt;br /&gt;Upload the TSV DB to hadoop's distributed filesystem&lt;br /&gt;&lt;pre&gt;hadoop dfs -copyFromLocal ufo_awesome.tsv ufo_awesome.tsv&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Almost ready, the corpus has been uploaded. Now we need to write some map/reduce jobs to do the actual crunching. Not being a pro developer, the thought of writing that in java was like (oh no ew), so python to the rescue! Thanks to the great instructions at &lt;a href="http://www.michael-noll.com/tutorials/writing-an-hadoop-mapreduce-program-in-python/"&gt;Michael Noll&lt;/a&gt;'s blog, I was able to massage some of that code to get it to do what I wanted. I pushed my code to &lt;a href="https://code.launchpad.net/~kim0/+junk/ufo-ensemble-cruncher"&gt;launchpad&lt;/a&gt;, so that you can grab it directly from the hadoop master node&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;cd /tmp&lt;br /&gt;bzr branch lp:~kim0/+junk/ufo-ensemble-cruncher&lt;br /&gt;cd ufo-ensemble-cruncher&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;h2&gt;Unleashing the elephant&lt;/h2&gt;&lt;br /&gt;Now for the big moment, let's launch the elephant&lt;br /&gt;&lt;pre&gt;hadoop jar /usr/lib/hadoop-0.20/contrib/streaming/hadoop-streaming-*.jar -file ./mapper.py -mapper mapper.py -file ./reducer.py -reducer reducer.py -input ufo_awesome.tsv -output ufo-output&lt;br /&gt;packageJobJar: [./mapper.py, ./reducer.py, /tmp/hadoop-hdfs/hadoop-unjar1418682529553378062/] [] /tmp/streamjob5701745574334998473.jar tmpDir=null&lt;br /&gt;11/07/29 12:27:52 INFO mapred.FileInputFormat: Total input paths to process : 1&lt;br /&gt;11/07/29 12:27:53 INFO streaming.StreamJob: getLocalDirs(): [/tmp/hadoop-hdfs/mapred/local]&lt;br /&gt;11/07/29 12:27:53 INFO streaming.StreamJob: Running job: job_201107290935_0010&lt;br /&gt;11/07/29 12:27:53 INFO streaming.StreamJob: To kill this job, run:&lt;br /&gt;11/07/29 12:27:53 INFO streaming.StreamJob: /usr/lib/hadoop-0.20/bin/hadoop job  -Dmapred.job.tracker=domU-12-31-39-10-81-8E.compute-1.internal:8021 -kill job_201107290935_0010&lt;br /&gt;11/07/29 12:27:53 INFO streaming.StreamJob: Tracking URL: http://domU-12-31-39-10-81-8E.compute-1.internal:50030/jobdetails.jsp?jobid=job_201107290935_0010&lt;br /&gt;11/07/29 12:27:54 INFO streaming.StreamJob:  map 0%  reduce 0%&lt;br /&gt;11/07/29 12:28:11 INFO streaming.StreamJob:  map 10%  reduce 0%&lt;br /&gt;11/07/29 12:28:12 INFO streaming.StreamJob:  map 19%  reduce 0%&lt;br /&gt;11/07/29 12:28:14 INFO streaming.StreamJob:  map 72%  reduce 0%&lt;br /&gt;11/07/29 12:28:16 INFO streaming.StreamJob:  map 100%  reduce 0%&lt;br /&gt;11/07/29 12:28:33 INFO streaming.StreamJob:  map 100%  reduce 100%&lt;br /&gt;11/07/29 12:28:37 INFO streaming.StreamJob: Job complete: job_201107290935_0010&lt;br /&gt;11/07/29 12:28:37 INFO streaming.StreamJob: Output: ufo-output&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Woohoo success! Now let's grab the results, sorting it to easily see the most popular sighting shape&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Is the answer really 42&lt;/h2&gt;&lt;br /&gt;&lt;pre&gt;hadoop dfs -cat ufo-output/part-00000 | sort -k 2,2 -nr&lt;br /&gt;light   12202&lt;br /&gt;triangle        6082&lt;br /&gt;circle  5271&lt;br /&gt;disk    4825&lt;br /&gt;other   4593&lt;br /&gt;unknown 4490&lt;br /&gt;sphere  3637&lt;br /&gt;fireball        3452&lt;br /&gt;oval    2869&lt;br /&gt;formation       1788&lt;br /&gt;cigar   1782&lt;br /&gt;changing        1546&lt;br /&gt;flash   990&lt;br /&gt;cylinder        982&lt;br /&gt;rectangle       966&lt;br /&gt;diamond 915&lt;br /&gt;chevron 760&lt;br /&gt;egg     664&lt;br /&gt;teardrop        595&lt;br /&gt;cone    265&lt;br /&gt;cross   177&lt;br /&gt;delta   8&lt;br /&gt;round   2&lt;br /&gt;crescent        2&lt;br /&gt;pyramid 1&lt;br /&gt;hexagon 1&lt;br /&gt;flare   1&lt;br /&gt;dome    1&lt;br /&gt;changed 1&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The answer is "light" then! Wow that was a blast! I had fun doing this exercise. Now I am no hadoop expert in any way (so direct those hadoopy questions to someone who can actually answer them), however I was quite pleased Ensemble could help me get up and running that fast. The Ensemble community is doing a great job wrapping many free software with formulas, such that you can always get up and running with any app you need in seconds rather than days (months?). &lt;b&gt;You&lt;/b&gt; too can write Ensemble formulas for your favorite (server?) application. Hop on to #ubuntu-ensemble and grab me (kim0) or any of the dev team and ask any questions on your mind! We're a happy community&lt;br /&gt;&lt;br /&gt;So was that fun? Can you think of something cooler you want to see done? Leave me a comment, let me know about it&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-7434002730279903238?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/7434002730279903238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=7434002730279903238' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/7434002730279903238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/7434002730279903238'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/07/ubuntu-takes-ufos-to-cloud.html' title='Ubuntu takes UFOs to the cloud'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-UMaJYhBTao8/TjLE5OXf-_I/AAAAAAAABM4/SOi5UPkThcc/s72-c/UFOold.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-3229443779996372452</id><published>2011-06-28T12:40:00.000+02:00</published><updated>2011-06-28T12:40:41.315+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='devops'/><category scheme='http://www.blogger.com/atom/ns#' term='scalable'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='featured'/><category scheme='http://www.blogger.com/atom/ns#' term='ensemble'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='orchestration'/><category scheme='http://www.blogger.com/atom/ns#' term='screencast'/><category scheme='http://www.blogger.com/atom/ns#' term='ec2'/><category scheme='http://www.blogger.com/atom/ns#' term='Amazon'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Ensemble deploy and scale cloud apps</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Think deploying and scaling your cloud application is &lt;b&gt;hard&lt;/b&gt; ? Think again!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5880089759/" title="scalability by Ahmed-Kamal, on Flickr"&gt;&lt;img alt="scalability" height="200" src="http://farm6.static.flickr.com/5159/5880089759_258671fbb2.jpg" width="280" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Check out this video demo, where I deploy a multi-tiered cloud application. I'm deploying&lt;br /&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;HAproxy load balancer&lt;/li&gt;&lt;li&gt;Memcached caching server&lt;/li&gt;&lt;li&gt;MediaWiki application server&lt;/li&gt;&lt;li&gt;MySQL DB&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;connecting them together and getting it working. After which, I'm &lt;b&gt;scaling&lt;/b&gt; the whole thing from two application servers, to four&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;How long it takes me ? Well basically &lt;b&gt;5 minutes&lt;/b&gt; for the whole thing!&lt;/div&gt;&lt;div&gt;The secret: &lt;a href="https://ensemble.ubuntu.com/"&gt;Ensemble&lt;/a&gt;&amp;nbsp;!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here's the video&lt;/div&gt;&lt;div&gt;&lt;object height="349" width="560"&gt;&lt;param name="movie" value="http://www.youtube.com/v/AMHcy63wRL0?version=3&amp;amp;hl=en_US"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/AMHcy63wRL0?version=3&amp;amp;hl=en_US" type="application/x-shockwave-flash" width="560" height="349" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here is a &lt;a href="http://www.youtube.com/user/ubuntucloud#p/a/u/0/AMHcy63wRL0"&gt;direct link&lt;/a&gt; if you can't see the player&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So what do you guys think, like the demo ? Leave me a comment, let me know which demo you'd like to see next. Also if you'd like to see your favorite application deployed with Ensemble, leave me a comment or ping me (kim0) on freenode irc&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-3229443779996372452?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/3229443779996372452/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=3229443779996372452' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/3229443779996372452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/3229443779996372452'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/06/ensemble-deploy-and-scale-cloud-apps.html' title='Ensemble deploy and scale cloud apps'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm6.static.flickr.com/5159/5880089759_258671fbb2_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-4505990021912201353</id><published>2011-06-23T18:58:00.002+02:00</published><updated>2011-06-23T19:01:31.878+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='featured'/><category scheme='http://www.blogger.com/atom/ns#' term='documentation'/><category scheme='http://www.blogger.com/atom/ns#' term='ensemble'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='orchestration'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Ensemble user tutorial p2</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;Welcome to the second part of this &lt;a href="http://ensemble.ubuntu.com/"&gt;Ensemble&lt;/a&gt; user tutorial. In &lt;a href="http://foss-boss.blogspot.com/2011/06/ensemble-user-tutorial-p1.html"&gt;part 1&lt;/a&gt; we bootstrapped an Ensemble environment, deployed a sample wordpress service and a MySQL service. Related the two services together and got ourselves a working wordpress installation. In this second part, let's check out viewing the debug-log output to understand the asynchronous nature of hook execution. You'll see how easy it is to "scale-up" a service deployment&lt;br /&gt;&lt;br /&gt;&lt;div class="section" id="tracing-hook-execution"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt; Tracing hook execution&lt;a href="https://ensemble.ubuntu.com/docs/user-tutorial.html#tracing-hook-execution"&gt;&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="line-height: 20px;"&gt;An Ensemble user should never have to trace the execution order of hooks, however if you are the kind of person who enjoys looking under the hood, this section is for you. Understanding hook order execution, the parallel nature of hook execution across instances, and how relation-set in a hook can trigger the execution of another hook is quite interesting and provides insight into Ensemble internals&lt;/span&gt;&lt;br /&gt;&lt;div style="line-height: 20px; text-align: justify;"&gt;Here are a few important messages from the debug-log of this Ensemble run. The date field has been deliberately left in this log, in order to understand the parallel nature of hook execution.&lt;/div&gt;&lt;dl class="docutils" style="margin-bottom: 15px;"&gt;&lt;dt&gt;Things to consider while reading the log include:&lt;/dt&gt;&lt;dd style="line-height: 20px; margin-bottom: 10px; margin-left: 30px; margin-top: 3px; text-align: justify;"&gt;&lt;ul class="first last simple" style="margin-bottom: 10px; margin-top: 0px !important;"&gt;&lt;li style="line-height: 20px; text-align: justify;"&gt;The time the log message was generated&lt;/li&gt;&lt;li style="line-height: 20px; text-align: justify;"&gt;Which service unit is causing the log message (for example mysql/0)&lt;/li&gt;&lt;li style="line-height: 20px; text-align: justify;"&gt;The message logging level. In this run DEBUG messages are generated by the Ensemble core engine, while WARNING messages are generated by calling ensemble-log from inside formulas (which you can read in the examples folder)&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;div style="line-height: 20px; text-align: justify;"&gt;Let’s view select debug-log messages which can help understand the execution order:&lt;/div&gt;&lt;div class="highlight-python"&gt;&lt;pre style="background-color: #eeffcc; border-bottom-color: rgb(170, 204, 153); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: initial; border-left-style: none; border-left-width: initial; border-right-color: initial; border-right-style: none; border-right-width: initial; border-top-color: rgb(170, 204, 153); border-top-style: solid; border-top-width: 1px; color: #333333; line-height: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px;"&gt;14:29:43,625 unit:mysql/0: hook.scheduler DEBUG: executing hook for wordpress/0:joined&lt;br /&gt;14:29:43,626 unit:mysql/0: unit.relation.lifecycle DEBUG: Executing hook db-relation-joined&lt;br /&gt;14:29:43,660 unit:wordpress/0: hook.scheduler DEBUG: executing hook for mysql/0:joined&lt;br /&gt;14:29:43,660 unit:wordpress/0: unit.relation.lifecycle DEBUG: Executing hook db-relation-joined&lt;br /&gt;14:29:43,661 unit:wordpress/0: unit.relation.lifecycle DEBUG: Executing hook db-relation-changed&lt;br /&gt;14:29:43,789 unit:mysql/0: unit.hook.api WARNING: Creating new database and corresponding security settings&lt;br /&gt;14:29:43,813 unit:wordpress/0: unit.hook.api WARNING: Retrieved hostname: ec2-184-72-156-54.compute-1.amazonaws.com&lt;br /&gt;14:29:43,976 unit:mysql/0: unit.relation.lifecycle DEBUG: Executing hook db-relation-changed&lt;br /&gt;14:29:43,997 unit:wordpress/0: hook.scheduler DEBUG: executing hook for mysql/0:modified&lt;br /&gt;14:29:43,997 unit:wordpress/0: unit.relation.lifecycle DEBUG: Executing hook db-relation-changed&lt;br /&gt;14:29:44,143 unit:wordpress/0: unit.hook.api WARNING: Retrieved hostname: ec2-184-72-156-54.compute-1.amazonaws.com&lt;br /&gt;14:29:44,849 unit:wordpress/0: unit.hook.api WARNING: Creating appropriate upload paths and directories&lt;br /&gt;14:29:44,992 unit:wordpress/0: unit.hook.api WARNING: Writing wordpress config file /etc/wordpress/config-ec2-184-72-156-54.compute-1.amazonaws.com.php&lt;br /&gt;14:29:45,130 unit:wordpress/0: unit.hook.api WARNING: Writing apache config file /etc/apache2/sites-available/ec2-184-72-156-54.compute-1.amazonaws.com&lt;br /&gt;14:29:45,301 unit:wordpress/0: unit.hook.api WARNING: Enabling apache modules: rewrite, vhost_alias&lt;br /&gt;14:29:45,512 unit:wordpress/0: unit.hook.api WARNING: Enabling apache site: ec2-184-72-156-54.compute-1.amazonaws.com&lt;br /&gt;14:29:45,688 unit:wordpress/0: unit.hook.api WARNING: Restarting apache2 service&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="section" id="scaling-the-ensemble"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;br /&gt;&lt;b&gt; Scaling the ensemble&lt;a href="https://ensemble.ubuntu.com/docs/user-tutorial.html#scaling-the-ensemble"&gt;&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="line-height: 20px;"&gt;Assuming your blog got really popular, is having high load and you decided to scale it up (it’s a cloud deployment after all). Ensemble makes this magically easy. All what is needed is:&lt;/span&gt;&lt;br /&gt;&lt;div class="highlight-python"&gt;&lt;pre style="background-color: #eeffcc; border-bottom-color: rgb(170, 204, 153); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: initial; border-left-style: none; border-left-width: initial; border-right-color: initial; border-right-style: none; border-right-width: initial; border-top-color: rgb(170, 204, 153); border-top-style: solid; border-top-width: 1px; color: #333333; line-height: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px;"&gt;$ bin/ensemble add-unit wordpress&lt;br /&gt;INFO Connecting to environment.&lt;br /&gt;INFO Unit 'wordpress/1' added to service 'wordpress'&lt;br /&gt;INFO 'add_unit' command finished successfully&lt;br /&gt;$ bin/ensemble status&lt;br /&gt;machines:&lt;br /&gt;  0: {dns-name: ec2-50-16-61-111.compute-1.amazonaws.com, instance-id: i-2a702745}&lt;br /&gt;  1: {dns-name: ec2-50-16-117-185.compute-1.amazonaws.com, instance-id: i-227e294d}&lt;br /&gt;  2: {dns-name: ec2-184-72-156-54.compute-1.amazonaws.com, instance-id: i-9c7e29f3}&lt;br /&gt;  3: {dns-name: ec2-50-16-156-106.compute-1.amazonaws.com, instance-id: i-ba6532d5}&lt;br /&gt;services:&lt;br /&gt;  mysql:&lt;br /&gt;    formula: local:mysql-11&lt;br /&gt;    relations: {db: wordpress}&lt;br /&gt;    units:&lt;br /&gt;      mysql/0:&lt;br /&gt;        machine: 1&lt;br /&gt;        relations:&lt;br /&gt;          db: {state: up}&lt;br /&gt;        state: started&lt;br /&gt;  wordpress:&lt;br /&gt;    formula: local:wordpress-29&lt;br /&gt;    relations: {db: mysql}&lt;br /&gt;    units:&lt;br /&gt;      wordpress/0:&lt;br /&gt;        machine: 2&lt;br /&gt;        relations:&lt;br /&gt;          db: {state: up}&lt;br /&gt;        state: started&lt;br /&gt;      wordpress/1:&lt;br /&gt;        machine: 3&lt;br /&gt;        relations:&lt;br /&gt;          db: {state: up}&lt;br /&gt;        state: started&lt;/pre&gt;&lt;/div&gt;&lt;div style="line-height: 20px; text-align: justify;"&gt;The add-unit command starts a new wordpress instance (wordpress/1), which then joins the relation with the already existing mysql/0 instance. mysql/0 notices the database required has already been created and thus decides all needed configuration has already been done. On the other hand wordpress/1 reads service settings from mysql/0 and starts configuring itself and joining the ensemble. Let’s review a short version of debug-log for adding wordpress/1:&lt;/div&gt;&lt;div class="highlight-python"&gt;&lt;pre style="background-color: #eeffcc; border-bottom-color: rgb(170, 204, 153); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: initial; border-left-style: none; border-left-width: initial; border-right-color: initial; border-right-style: none; border-right-width: initial; border-top-color: rgb(170, 204, 153); border-top-style: solid; border-top-width: 1px; color: #333333; line-height: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px;"&gt;14:36:19,755 unit:mysql/0: hook.scheduler DEBUG: executing hook for wordpress/1:joined&lt;br /&gt;14:36:19,755 unit:mysql/0: unit.relation.lifecycle DEBUG: Executing hook db-relation-joined&lt;br /&gt;14:36:19,810 unit:wordpress/1: hook.scheduler DEBUG: executing hook for mysql/0:joined&lt;br /&gt;14:36:19,811 unit:wordpress/1: unit.relation.lifecycle DEBUG: Executing hook db-relation-joined&lt;br /&gt;14:36:19,811 unit:wordpress/1: unit.relation.lifecycle DEBUG: Executing hook db-relation-changed&lt;br /&gt;14:36:19,918 unit:mysql/0: unit.hook.api WARNING: Database already exists, exiting&lt;br /&gt;14:36:19,938 unit:mysql/0: unit.relation.lifecycle DEBUG: Executing hook db-relation-changed&lt;br /&gt;14:36:19,990 unit:wordpress/1: unit.hook.api WARNING: Retrieved hostname: ec2-50-16-156-106.compute-1.amazonaws.com&lt;br /&gt;14:36:20,757 unit:wordpress/1: unit.hook.api WARNING: Creating appropriate upload paths and directories&lt;br /&gt;14:36:20,916 unit:wordpress/1: unit.hook.api WARNING: Writing wordpress config file /etc/wordpress/config-ec2-50-16-156-106.compute-1.amazonaws.com.php&lt;br /&gt;14:36:21,088 unit:wordpress/1: unit.hook.api WARNING: Writing apache config file /etc/apache2/sites-available/ec2-50-16-156-106.compute-1.amazonaws.com&lt;br /&gt;14:36:21,236 unit:wordpress/1: unit.hook.api WARNING: Enabling apache modules: rewrite, vhost_alias&lt;br /&gt;14:36:21,476 unit:wordpress/1: unit.hook.api WARNING: Enabling apache site: ec2-50-16-156-106.compute-1.amazonaws.com&lt;br /&gt;14:36:21,682 unit:wordpress/1: unit.hook.api WARNING: Restarting apache2 service&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="section" id="destroying-the-environment"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;br /&gt;&lt;b&gt; Destroying the environment&lt;a href="https://ensemble.ubuntu.com/docs/user-tutorial.html#destroying-the-environment"&gt;&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="line-height: 20px;"&gt;Once you are done with an Ensemble deployment, you need to terminate all running instances in order to stop paying for them. The shutdown command helps terminate all running instances:&lt;/span&gt;&lt;br /&gt;&lt;div class="highlight-python"&gt;&lt;pre style="background-color: #eeffcc; border-bottom-color: rgb(170, 204, 153); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: initial; border-left-style: none; border-left-width: initial; border-right-color: initial; border-right-style: none; border-right-width: initial; border-top-color: rgb(170, 204, 153); border-top-style: solid; border-top-width: 1px; color: #333333; line-height: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px;"&gt;$ bin/ensemble shutdown&lt;/pre&gt;&lt;/div&gt;&lt;div style="line-height: 20px; text-align: justify;"&gt;Ensemble will ask for user confirmation of shutdown before proceeding as this will destroy service data in the environment as well.&lt;br /&gt;&lt;br /&gt;Hope you enjoyed the article! If you find Ensemble interesting, please do visit us in #ubuntu-ensemble. We're a friendly bunch :) Do you want to write Ensemble formulas? Want to get the satisfaction of Ensemblizing your favorite application, grab me (kim0) on irc, and I will help you do it&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-4505990021912201353?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/4505990021912201353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=4505990021912201353' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/4505990021912201353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/4505990021912201353'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/06/ensemble-user-tutorial-p2.html' title='Ensemble user tutorial p2'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-7047837705803975244</id><published>2011-06-16T14:35:00.000+02:00</published><updated>2011-06-16T14:35:30.137+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='featured'/><category scheme='http://www.blogger.com/atom/ns#' term='documentation'/><category scheme='http://www.blogger.com/atom/ns#' term='ensemble'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='orchestration'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Ensemble user tutorial p1</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;I've been adding lots of documentation to help a new Ensemble user find her way around Ensemble. I thought it would nice to share this documentation as a series of blog posts, to raise its exposure and help interested users find their way quickly. Here is the first of a series of posts, which I hope you'll enjoy. If you think we can improve the docs in any way, please do let me know&lt;br /&gt;&lt;div class="section" id="introduction"&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Introduction&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: sans-serif; font-size: 16px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="section" id="introduction"&gt;&lt;div style="line-height: 20px; text-align: justify;"&gt;This tutorial demonstrates basic features of Ensemble from a user perspective. An Ensemble user would typically be a devops or a sys-admin who is interested in automated deployment and management of servers and services.&lt;/div&gt;&lt;/div&gt;&lt;div class="section" id="bootstrapping"&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Bootstrapping&lt;/span&gt;&lt;/div&gt;&lt;div class="section" id="bootstrapping"&gt;&lt;div style="font-family: sans-serif; font-size: 16px; line-height: 20px; text-align: justify;"&gt;The first step for deploying an Ensemble system is to perform bootstrapping. Bootstrapping launches a utility instance that is used in all subsequent operations to launch and orchestrate other instances:&lt;/div&gt;&lt;div class="highlight-python" style="font-family: sans-serif; font-size: 16px;"&gt;&lt;pre style="background-color: #eeffcc; border-bottom-color: rgb(170, 204, 153); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: initial; border-left-style: none; border-left-width: initial; border-right-color: initial; border-right-style: none; border-right-width: initial; border-top-color: rgb(170, 204, 153); border-top-style: solid; border-top-width: 1px; color: #333333; line-height: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px;"&gt;$ bin/ensemble bootstrap&lt;/pre&gt;&lt;/div&gt;&lt;div style="font-family: sans-serif; font-size: 16px; line-height: 20px; text-align: justify;"&gt;Note that while the command should display a message indicating it has finished successfully, that does not mean the bootstrapping instance is immediately ready for usage. Bootstrapping an instance can require a couple of minutes. To check on the status of the Ensemble deployment, we can use the status command:&lt;/div&gt;&lt;div class="highlight-python" style="font-family: sans-serif; font-size: 16px;"&gt;&lt;pre style="background-color: #eeffcc; border-bottom-color: rgb(170, 204, 153); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: initial; border-left-style: none; border-left-width: initial; border-right-color: initial; border-right-style: none; border-right-width: initial; border-top-color: rgb(170, 204, 153); border-top-style: solid; border-top-width: 1px; color: #333333; line-height: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px;"&gt;$ bin/ensemble status&lt;/pre&gt;&lt;/div&gt;&lt;div style="font-family: sans-serif; font-size: 16px; line-height: 20px; text-align: justify;"&gt;If the bootstrapping node has not yet completed bootstrapping, the status command may either mention the environment is not yet ready, or may display a connection timeout such as:&lt;/div&gt;&lt;div class="highlight-python" style="font-family: sans-serif; font-size: 16px;"&gt;&lt;pre style="background-color: #eeffcc; border-bottom-color: rgb(170, 204, 153); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: initial; border-left-style: none; border-left-width: initial; border-right-color: initial; border-right-style: none; border-right-width: initial; border-top-color: rgb(170, 204, 153); border-top-style: solid; border-top-width: 1px; color: #333333; line-height: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px;"&gt;INFO Connecting to environment.&lt;br /&gt;ERROR Connection refused&lt;br /&gt;ProviderError: Interaction with machine provider failed:&lt;br /&gt;ConnectionTimeoutException('could not connect before timeout after 2&lt;br /&gt;retries',)&lt;br /&gt;ERROR ProviderError: Interaction with machine&lt;br /&gt;provider failed: ConnectionTimeoutException('could not connect before timeout&lt;br /&gt;after 2 retries',)&lt;/pre&gt;&lt;/div&gt;&lt;div style="font-family: sans-serif; font-size: 16px; line-height: 20px; text-align: justify;"&gt;This is simply an indication the environment needs more time to complete initialization. It is recommended you retry every minute. Once the environment has properly initialized, the status command should display:&lt;/div&gt;&lt;div class="highlight-python" style="font-family: sans-serif; font-size: 16px;"&gt;&lt;pre style="background-color: #eeffcc; border-bottom-color: rgb(170, 204, 153); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: initial; border-left-style: none; border-left-width: initial; border-right-color: initial; border-right-style: none; border-right-width: initial; border-top-color: rgb(170, 204, 153); border-top-style: solid; border-top-width: 1px; color: #333333; line-height: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px;"&gt;machines:&lt;br /&gt;  0: {dns-name: ec2-50-16-61-111.compute-1.amazonaws.com, instance-id: i-2a702745}&lt;br /&gt;  services: {}&lt;/pre&gt;&lt;/div&gt;&lt;div style="font-family: sans-serif; font-size: 16px; line-height: 20px; text-align: justify;"&gt;Note the following, machine “0” has been started. This is the bootstrapping node and the first node to be started. The dns-name for the node is printed. Also the EC2 instance-id is printed. Since no services are yet deployed to the Ensemble system yet, the list of deployed services is empty&lt;/div&gt;&lt;/div&gt;&lt;div class="section" id="starting-debug-log"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt; Starting debug-log&lt;a href="https://ensemble.ubuntu.com/docs/user-tutorial.html#starting-debug-log"&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 20px;"&gt;While not a requirement, it is beneficial for the understanding of Ensemble to start a debug-log session. Ensemble’s debug-log provides great insight into the execution of various hooks as they are triggered by various events. It is important to understand that debug-log shows events from a distributed environment (multiple-instances). This means that log lines will alternate between output from different instances. To start a debug-log session, from a secondary terminal issue:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="highlight-python" style="font-family: sans-serif; font-size: 16px;"&gt;&lt;pre style="background-color: #eeffcc; border-bottom-color: rgb(170, 204, 153); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: initial; border-left-style: none; border-left-width: initial; border-right-color: initial; border-right-style: none; border-right-width: initial; border-top-color: rgb(170, 204, 153); border-top-style: solid; border-top-width: 1px; color: #333333; line-height: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px;"&gt;$ bin/ensemble debug-log&lt;br /&gt;INFO Connecting to environment.&lt;br /&gt;INFO Enabling distributed debug log.&lt;br /&gt;INFO Tailing logs - Ctrl-C to stop.&lt;/pre&gt;&lt;/div&gt;&lt;div style="font-family: sans-serif; font-size: 16px; line-height: 20px; text-align: justify;"&gt;This will connect to the environment, and start tailing logs.&lt;/div&gt;&lt;/div&gt;&lt;div class="section" id="deploying-service-units"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt; Deploying service units&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 20px;"&gt;Now that we have bootstrapped the Ensemble environment, and started the debug-log viewer, let’s proceed by deploying a mysql service:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="highlight-python" style="font-family: sans-serif; font-size: 16px;"&gt;&lt;pre style="background-color: #eeffcc; border-bottom-color: rgb(170, 204, 153); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: initial; border-left-style: none; border-left-width: initial; border-right-color: initial; border-right-style: none; border-right-width: initial; border-top-color: rgb(170, 204, 153); border-top-style: solid; border-top-width: 1px; color: #333333; line-height: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px;"&gt;$ bin/ensemble deploy --repository=examples mysql&lt;br /&gt;INFO Connecting to environment.&lt;br /&gt;INFO Formula deployed as service: 'mysql'&lt;br /&gt;INFO 'deploy' command finished successfully&lt;/pre&gt;&lt;/div&gt;&lt;div style="font-family: sans-serif; font-size: 16px; line-height: 20px; text-align: justify;"&gt;Checking the debug-log window, we can see the mysql service unit being downloaded and started:&lt;/div&gt;&lt;div class="highlight-python" style="font-family: sans-serif; font-size: 16px;"&gt;&lt;pre style="background-color: #eeffcc; border-bottom-color: rgb(170, 204, 153); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: initial; border-left-style: none; border-left-width: initial; border-right-color: initial; border-right-style: none; border-right-width: initial; border-top-color: rgb(170, 204, 153); border-top-style: solid; border-top-width: 1px; color: #333333; line-height: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px;"&gt;Machine:1: ensemble.agents.machine DEBUG: Downloading formula&lt;br /&gt;local:mysql-11...&lt;br /&gt;Machine:1: ensemble.agents.machine INFO: Started service unit mysql/0&lt;/pre&gt;&lt;/div&gt;&lt;div style="font-family: sans-serif; font-size: 16px; line-height: 20px; text-align: justify;"&gt;It is important to note the different debug levels. DEBUG is used for very detailed logging messages, usually you should not care about reading such messages unless you are trying to debug (hence the name) a specific problem. INFO debugging level is used for slightly more important informational messages. In this case, these messages are generated as the mysql formula’s hooks are being executed. Let’s check the current status:&lt;/div&gt;&lt;div class="highlight-python" style="font-family: sans-serif; font-size: 16px;"&gt;&lt;pre style="background-color: #eeffcc; border-bottom-color: rgb(170, 204, 153); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: initial; border-left-style: none; border-left-width: initial; border-right-color: initial; border-right-style: none; border-right-width: initial; border-top-color: rgb(170, 204, 153); border-top-style: solid; border-top-width: 1px; color: #333333; line-height: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px;"&gt;$ bin/ensemble status&lt;br /&gt;machines:&lt;br /&gt;  0: {dns-name: ec2-50-16-61-111.compute-1.amazonaws.com, instance-id: i-2a702745}&lt;br /&gt;  1: {dns-name: ec2-50-16-117-185.compute-1.amazonaws.com, instance-id: i-227e294d}&lt;br /&gt;services:&lt;br /&gt;  mysql:&lt;br /&gt;    formula: local:mysql-11&lt;br /&gt;    relations: {}&lt;br /&gt;    units:&lt;br /&gt;      mysql/0:&lt;br /&gt;        machine: 1&lt;br /&gt;        relations: {}&lt;br /&gt;        state: null&lt;/pre&gt;&lt;/div&gt;&lt;div style="font-family: sans-serif; font-size: 16px; line-height: 20px; text-align: justify;"&gt;We can see a new EC2 instance has now been spun up for mysql. Information for this instance is displayed as machine number 1 and mysql is now listed under services. It is apparent the mysql service unit has no relations, since it has not been connected to wordpress yet. Since this is the first mysql service unit, it is being referred to as mysql/0, subsequent service units would be named mysql/1 and so on.&lt;/div&gt;&lt;div class="admonition note" style="background-color: #eeeeee; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; font-family: sans-serif; font-size: 16px; margin-bottom: 10px; margin-top: 10px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px;"&gt;&lt;div class="first admonition-title" style="display: inline; font-weight: bold; line-height: 20px; margin-bottom: 5px; margin-left: 0px; margin-right: 10px; margin-top: 0px; text-align: justify;"&gt;Note&lt;/div&gt;&lt;br /&gt;&lt;div class="last" style="display: inline; line-height: 20px; text-align: justify;"&gt;An important distinction to make is the difference between a service and a service unit. A service is a high level concept relating to an end-user visible service such as mysql. The mysql service would be composed of several mysql service units referred to as mysql/0, mysql/1 and so on.&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: sans-serif; font-size: 16px; line-height: 20px; text-align: justify;"&gt;The mysql service state is listed as null since it’s not ready yet. Downloading, installing, configuring and starting mysql can take some time. However we don’t have to wait for it to configure, let’s proceed deploying wordpress:&lt;/div&gt;&lt;div class="highlight-python" style="font-family: sans-serif; font-size: 16px;"&gt;&lt;pre style="background-color: #eeffcc; border-bottom-color: rgb(170, 204, 153); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: initial; border-left-style: none; border-left-width: initial; border-right-color: initial; border-right-style: none; border-right-width: initial; border-top-color: rgb(170, 204, 153); border-top-style: solid; border-top-width: 1px; color: #333333; line-height: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px;"&gt;$ bin/ensemble deploy --repository=examples wordpress&lt;/pre&gt;&lt;/div&gt;&lt;div style="font-family: sans-serif; font-size: 16px; line-height: 20px; text-align: justify;"&gt;Let’s wait for a minute for all services to complete their configuration cycle and get properly started, then issue a status command:&lt;/div&gt;&lt;div class="highlight-python" style="font-family: sans-serif; font-size: 16px;"&gt;&lt;pre style="background-color: #eeffcc; border-bottom-color: rgb(170, 204, 153); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: initial; border-left-style: none; border-left-width: initial; border-right-color: initial; border-right-style: none; border-right-width: initial; border-top-color: rgb(170, 204, 153); border-top-style: solid; border-top-width: 1px; color: #333333; line-height: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px;"&gt;$ bin/ensemble status&lt;br /&gt;machines:&lt;br /&gt;  0: {dns-name: ec2-50-16-61-111.compute-1.amazonaws.com, instance-id: i-2a702745}&lt;br /&gt;  1: {dns-name: ec2-50-16-117-185.compute-1.amazonaws.com, instance-id: i-227e294d}&lt;br /&gt;  2: {dns-name: ec2-184-72-156-54.compute-1.amazonaws.com, instance-id: i-9c7e29f3}&lt;br /&gt;services:&lt;br /&gt;  mysql:&lt;br /&gt;    formula: local:mysql-11&lt;br /&gt;    relations: {}&lt;br /&gt;    units:&lt;br /&gt;      mysql/0:&lt;br /&gt;        machine: 1&lt;br /&gt;        relations: {}&lt;br /&gt;        state: started&lt;br /&gt;  wordpress:&lt;br /&gt;    formula: local:wordpress-29&lt;br /&gt;    relations: {}&lt;br /&gt;    units:&lt;br /&gt;      wordpress/0:&lt;br /&gt;        machine: 2&lt;br /&gt;        relations: {}&lt;br /&gt;        state: started&lt;/pre&gt;&lt;/div&gt;&lt;div style="font-family: sans-serif; font-size: 16px; line-height: 20px; text-align: justify;"&gt;mysql/0 as well as wordpress/0 are both now in the started state. Checking the debug-log would reveal wordpress has been started as well&lt;/div&gt;&lt;/div&gt;&lt;div class="section" id="adding-a-relation"&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Adding a relation&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 20px;"&gt;While mysql and wordpress service units have been started, they are still isolated from each other. An important concept for Ensemble is connecting various service units together to create a bigger ensemble! Adding a relation between service units causes hooks to trigger, in effect causing all service units to collaborate and work together to reach the desired end state. Adding a relation is extremely simple:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="highlight-python" style="font-family: sans-serif; font-size: 16px;"&gt;&lt;pre style="background-color: #eeffcc; border-bottom-color: rgb(170, 204, 153); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: initial; border-left-style: none; border-left-width: initial; border-right-color: initial; border-right-style: none; border-right-width: initial; border-top-color: rgb(170, 204, 153); border-top-style: solid; border-top-width: 1px; color: #333333; line-height: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px;"&gt;$ bin/ensemble add-relation wordpress mysql&lt;br /&gt;INFO Connecting to environment.&lt;br /&gt;INFO Added mysql relation to all service units.&lt;br /&gt;INFO 'add_relation' command finished successfully&lt;/pre&gt;&lt;/div&gt;&lt;div style="font-family: sans-serif; font-size: 16px; line-height: 20px; text-align: justify;"&gt;Checking the Ensemble status we see that the db relation now exists with state up:&lt;/div&gt;&lt;div class="highlight-python" style="font-family: sans-serif; font-size: 16px;"&gt;&lt;pre style="background-color: #eeffcc; border-bottom-color: rgb(170, 204, 153); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: initial; border-left-style: none; border-left-width: initial; border-right-color: initial; border-right-style: none; border-right-width: initial; border-top-color: rgb(170, 204, 153); border-top-style: solid; border-top-width: 1px; color: #333333; line-height: 15px; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px;"&gt;$ bin/ensemble status&lt;br /&gt;machines:&lt;br /&gt;  0: {dns-name: ec2-50-16-61-111.compute-1.amazonaws.com, instance-id: i-2a702745}&lt;br /&gt;  1: {dns-name: ec2-50-16-117-185.compute-1.amazonaws.com, instance-id: i-227e294d}&lt;br /&gt;  2: {dns-name: ec2-184-72-156-54.compute-1.amazonaws.com, instance-id: i-9c7e29f3}&lt;br /&gt;services:&lt;br /&gt;  mysql:&lt;br /&gt;    formula: local:mysql-11&lt;br /&gt;    relations: {db: wordpress}&lt;br /&gt;    units:&lt;br /&gt;      mysql/0:&lt;br /&gt;        machine: 1&lt;br /&gt;        relations:&lt;br /&gt;          db: {state: up}&lt;br /&gt;        state: started&lt;br /&gt;  wordpress:&lt;br /&gt;    formula: local:wordpress-29&lt;br /&gt;    relations: {db: mysql}&lt;br /&gt;    units:&lt;br /&gt;      wordpress/0:&lt;br /&gt;        machine: 2&lt;br /&gt;        relations:&lt;br /&gt;          db: {state: up}&lt;br /&gt;        state: started&lt;/pre&gt;&lt;/div&gt;&lt;div style="font-family: sans-serif; font-size: 16px; line-height: 20px; text-align: justify;"&gt;You can now point your browser at the public dns-name for instance 2 (running wordpress) to view the wordpress blog&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="line-height: normal;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;Patience is a virtue, you did read the full thing after all! I would really appreciate some feedback, what you liked, or did not like. And how we can improve the docs. Drop me a comment, &lt;b&gt;shoot what's on your mind&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-7047837705803975244?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/7047837705803975244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=7047837705803975244' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/7047837705803975244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/7047837705803975244'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/06/ensemble-user-tutorial-p1.html' title='Ensemble user tutorial p1'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total><georss:featurename>Cairo, Egypt</georss:featurename><georss:point>30.064742 31.24950899999999</georss:point><georss:box>29.988142 31.168558999999988 30.141341999999998 31.33045899999999</georss:box></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-5048778335605661546</id><published>2011-06-08T13:30:00.000+02:00</published><updated>2011-06-08T13:30:19.323+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='ensemble'/><category scheme='http://www.blogger.com/atom/ns#' term='meeting'/><title type='text'>Ensemble IRC meeting today</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;b&gt;When?&lt;/b&gt;&amp;nbsp;Today 6pm-UTC&lt;br /&gt;&lt;b&gt;What?&lt;/b&gt;&amp;nbsp;Ensemble cloud community meeting&lt;br /&gt;&lt;b&gt;For?&lt;/b&gt;&amp;nbsp;&lt;a href="https://ensemble.ubuntu.com/"&gt;Ensemble&lt;/a&gt;&amp;nbsp;simplifies the deployment, management, and scaling of services in the cloud. We've answered the &lt;a href="http://cloud.ubuntu.com/2011/06/so-what-is-ensemble-anyway/"&gt;what is Ensemble&lt;/a&gt; question previously, but there's nothing like one to one discussions! Interested to learn more? ask your questions ? connect to the development team ? Start writing formulas to deploy your software or even start hacking on Ensemble core? Then this meeting is perfect for you. Join us on IRC in #ubuntu-cloud today 6pm-UTC&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-5048778335605661546?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/5048778335605661546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=5048778335605661546' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/5048778335605661546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/5048778335605661546'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/06/ensemble-irc-meeting-today.html' title='Ensemble IRC meeting today'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total><georss:featurename>Cairo, Egypt</georss:featurename><georss:point>29.991813102482674 31.32064781835936</georss:point><georss:box>29.713713102482675 30.96533281835936 30.269913102482672 31.675962818359363</georss:box></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-5010023227300278895</id><published>2011-05-20T18:16:00.001+02:00</published><updated>2011-05-21T01:15:10.570+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='featured'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='ensemble'/><category scheme='http://www.blogger.com/atom/ns#' term='uds-o'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><category scheme='http://www.blogger.com/atom/ns#' term='uds'/><title type='text'>Ensemble at UDS-O</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;UDS-O is now over, I had a chance to meet with the Ensemble team (a bunch of awesome engineers), also had a chance to attend or lead a few sessions concerning future directions of Ensemble. I'll try to summarize UDS outcome wrt Ensemble from a project newcomer perspective&lt;br /&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Ensemble is now able to do a multi-machine deployment and orchestration&lt;/li&gt;&lt;li&gt;It can do Dynamic reconfiguration which means passing parameters to running formulas to adjust&amp;nbsp;behavior. More work needs to land here, but the foundations are there&lt;/li&gt;&lt;li&gt;Does formula upgrades, more bits landing soon&lt;/li&gt;&lt;li&gt;Firewall auto-configuration (expose, unexpose services). Again, still more bits to land soonish&lt;/li&gt;&lt;li&gt;It has a ppa and docs from trunk live at&amp;nbsp;&lt;a href="https://ensemble.ubuntu.com/docs/"&gt;https://ensemble.ubuntu.com/docs/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;The focus for the 11.10 Oneiric cycle is going to be stability and polish. While currently Amazon EC2 is the only supported deployment target, the 11.10 cycle should hopefully see more targets added such as Linux Containers (LXC) for local development and testing of Ensemble formulas. Having LXC support in 11.10 is a bit optimistic, so if you can lend a helping hand, please do! Also Eucalyptus cloud support is the works (isn't this just great!)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;During 11.10 as well, the infrastructure for Ensemble as a project should be improved. This involves adding better and more structured content to the &lt;a href="http://ensemble.ubuntu.com/"&gt;Ensemble website&lt;/a&gt;. Adding more documentation, guides and screencasts. While you can start writing and contributing Ensemble formulas today! (ping me if you're interested) More work will go into refining the process and integrating it into the Ensemble command line tools.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;That's mostly it. It is an incredibly interesting time for cloud technologies! Diving into discussions with the Ensemble team about the vision and decisions they have taken, I was blown away. I firmly believe Ensemble is a game changer with respect to rapid provisioning and orchestration. Right now, is such a great time to get involved with Ensemble. If you're interested in joining the Ensemble project, or in learning more about it in any way, please do leave me a comment here, or ping me on irc (kim0)&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-5010023227300278895?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/5010023227300278895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=5010023227300278895' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/5010023227300278895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/5010023227300278895'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/05/ensemble-at-uds-o.html' title='Ensemble at UDS-O'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-2696816873685322849</id><published>2011-05-11T11:33:00.000+02:00</published><updated>2011-05-11T11:33:52.293+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='featured'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><category scheme='http://www.blogger.com/atom/ns#' term='Amazon'/><category scheme='http://www.blogger.com/atom/ns#' term='ami'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Cloud Portal one-click launch</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Announcing two nice little additions to the &lt;a href="http://cloud.ubuntu.com/ami/"&gt;cloud portal AMI tool&lt;/a&gt;&amp;nbsp;that should make everyone's cloud life a little easier&lt;br /&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Amazon now allows passing parameters to the AWS console to basically be able to choose the region and AMI-ID to launch. This is now integrated in the cloud portal so that you search for the ami, click the link and it's pre-selected, ready to be launched in AWS console. Here's a screenshot&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5709230381/" title="cloud-portal-one-click-launch by Ahmed-Kamal, on Flickr"&gt;&lt;img alt="cloud-portal-one-click-launch" height="94" src="http://farm3.static.flickr.com/2245/5709230381_1d27f334a3_z.jpg" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;As that image shows as well, you can search now for "cluster" to get Ubuntu cloud cluster-ready images!&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Interested to add any features? Have any thoughts or comments, let me know, leave me a word&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-2696816873685322849?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/2696816873685322849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=2696816873685322849' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/2696816873685322849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/2696816873685322849'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/05/cloud-portal-one-click-launch.html' title='Cloud Portal one-click launch'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm3.static.flickr.com/2245/5709230381_1d27f334a3_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-9098285448167643910</id><published>2011-04-18T14:14:00.000+02:00</published><updated>2011-04-18T14:14:48.867+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='server'/><category scheme='http://www.blogger.com/atom/ns#' term='bugs'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='natty'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Help Squash Natty Server Bugs</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div&gt;Mirroring a post from Ubuntu Server developer &lt;a href="http://blog.daviey.com/"&gt;Dave Walker&lt;/a&gt;, If you're capable and willing to help squash some server bugs, your effort and contribution is really needed now! Join us on irc &lt;b&gt;#ubuntu-server&lt;/b&gt;, ask around if you need help. Thanks in advance&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here is a list of current bugs that should hopefully be fixed for Natty release. &amp;nbsp;The bugs with "Not assigned to anyone :(", could really do &amp;nbsp;with someone volunteering to take. &amp;nbsp;Please feel free to assign yourself, if you are willing to take on working towards a fix.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you are an assignee, please make sure that the current status (and comments) accurately represent the status before tomorrows server team meeting.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;== Bugs for the server team ==&amp;nbsp;&lt;/div&gt;&lt;div&gt;[655533] [likewise-open] [master] package likewise-open 5.4.0.42111-2ubuntu2 failed to install/upgrade: subprocess installed post-installation script returned error exit status 1 (&lt;a href="http://pad.lv/655533"&gt;http://pad.lv/655533&lt;/a&gt;)&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Bug Status: Confirmed&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Not assigned to anyone :(&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Last updated: 2011-04-18&amp;nbsp;&lt;/div&gt;&lt;div&gt;[726769] [eucalyptus] package eucalyptus-common 2.0.1 bzr1255-0ubuntu1 failed to install/upgrade: subprocess installed post-installation script returned error exit status 1 (&lt;a href="http://pad.lv/726769"&gt;http://pad.lv/726769&lt;/a&gt;)&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Bug Status: Confirmed&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Assigned to: Dave Walker&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Last updated: 2011-04-18&amp;nbsp;&lt;/div&gt;&lt;div&gt;[661453] [dovecot] dovecot.conf always shows as having been locally modified on update (&lt;a href="http://pad.lv/661453"&gt;http://pad.lv/661453&lt;/a&gt;)&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Bug Status: Confirmed&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Assigned to: Clint Byrum&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Last updated: 2011-04-18&amp;nbsp;&lt;/div&gt;&lt;div&gt;[745946] [cloud-init] cloud-final job did not run in ec2-automated-tests (&lt;a href="http://pad.lv/745946"&gt;http://pad.lv/745946&lt;/a&gt;)&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Bug Status: Confirmed&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Not assigned to anyone :(&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Last updated: 2011-04-18&amp;nbsp;&lt;/div&gt;&lt;div&gt;[759943] [mod-wsgi] mod_wsgi.so-3.2 gives errors (&lt;a href="http://pad.lv/759943"&gt;http://pad.lv/759943&lt;/a&gt;)&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Bug Status: Confirmed&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Not assigned to anyone :(&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Last updated: 2011-04-15&amp;nbsp;&lt;/div&gt;&lt;div&gt;[764391] [cobbler] cobbler fails to manage bind9 &amp;nbsp;(&lt;a href="http://pad.lv/764391"&gt;http://pad.lv/764391&lt;/a&gt;)&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Bug Status: Confirmed&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Assigned to: James Page&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Last updated: 2011-04-18&amp;nbsp;&lt;/div&gt;&lt;div&gt;[745930] [cloud-init] cloud-init timeout waiting for metadata service on EC2 (&lt;a href="http://pad.lv/745930"&gt;http://pad.lv/745930&lt;/a&gt;)&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Bug Status: New&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Not assigned to anyone :(&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Last updated: 2011-04-15&amp;nbsp;&lt;/div&gt;&lt;div&gt;[760288] [Ubuntu] JeOS is oversized (&lt;a href="http://pad.lv/760288"&gt;http://pad.lv/760288&lt;/a&gt;)&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Bug Status: Confirmed&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Not assigned to anyone :(&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Last updated: 2011-04-15&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;== Bugs being worked on in other areas, more for information ==&amp;nbsp;&lt;/div&gt;&lt;div&gt;[728088] [debian-installer] iscsi root with or without auth fails to boot (&lt;a href="http://pad.lv/728088"&gt;http://pad.lv/728088&lt;/a&gt;)&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Bug Status: Confirmed&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Assigned to: Colin Watson&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Last updated: 2011-04-14&amp;nbsp;&lt;/div&gt;&lt;div&gt;[747090] [linux] wrong return address sometimes pushed for INT in kvm (not qemu) (&lt;a href="http://pad.lv/747090"&gt;http://pad.lv/747090&lt;/a&gt;)&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Bug Status: Fix Committed&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Assigned to: Andy Whitcroft&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Last updated: 2011-04-18&amp;nbsp;&lt;/div&gt;&lt;div&gt;[566818] [plymouth] Cryptsetup passphrase prompt during boot: every character typed repeats the prompt (&lt;a href="http://pad.lv/566818"&gt;http://pad.lv/566818&lt;/a&gt;)&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Bug Status: Confirmed&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Assigned to: Surbhi Palande&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Last updated: 2011-04-16&amp;nbsp;&lt;/div&gt;&lt;div&gt;[580319] [upstart] dhcp3-server launches before upstart brings all interface, thus failing to start (&lt;a href="http://pad.lv/580319"&gt;http://pad.lv/580319&lt;/a&gt;)&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Bug Status: Triaged&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Assigned to: James Hunt&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Last updated: 2011-04-18&amp;nbsp;&lt;/div&gt;&lt;div&gt;[759545] [grub2] user prompted to update unmodified grub configuration during Ubuntu server upgrade (&lt;a href="http://pad.lv/759545"&gt;http://pad.lv/759545&lt;/a&gt;)&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Bug Status: New&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;* Last updated: 2011-04-18&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-9098285448167643910?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/9098285448167643910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=9098285448167643910' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/9098285448167643910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/9098285448167643910'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/04/help-squash-natty-server-bugs.html' title='Help Squash Natty Server Bugs'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-9059771223399642449</id><published>2011-04-15T19:25:00.000+02:00</published><updated>2011-04-15T19:25:51.489+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><title type='text'>Cloud Portal Intro</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Just written a nice introduction to Ubuntu cloud portal on &lt;a href="http://ubuntu-news.org/2011/04/15/ubuntu-cloud-portal-introduction/"&gt;Ubuntu News&lt;/a&gt;. If you don't know about that, or are new to the Ubuntu cloud scene, check it out and ping me back for any questions or comments&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-9059771223399642449?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/9059771223399642449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=9059771223399642449' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/9059771223399642449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/9059771223399642449'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/04/cloud-portal-intro.html' title='Cloud Portal Intro'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-6988386960321272123</id><published>2011-04-14T19:12:00.000+02:00</published><updated>2011-04-14T19:12:10.828+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='ensemble'/><category scheme='http://www.blogger.com/atom/ns#' term='meeting'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Ensemble Cloud Community Meeting Summary</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Yesterday was the first &lt;a href="http://cloud.ubuntu.com/community/cloud-community-weekly-meeting/"&gt;Ubuntu Cloud community meeting&lt;/a&gt; to include &lt;a href="https://wiki.ubuntu.com/Ensemble"&gt;Ensemble&lt;/a&gt;. It was such a blast. Personally I find the &lt;a href="https://code.launchpad.net/ensemble"&gt;ensemble project&lt;/a&gt; to be incredibly cool, it's such a paradigm shift into how services (rather than servers) should be managed especially in this cloud age. Here's a quick summary of the main points mentioned during yesterday's meeting&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;The ensemble-team just landed some changes to formula authorship, specifically the relation-changed-hook was broken out into three separate hooks the relation-joined, relation-changed, relation-departed&lt;/li&gt;&lt;ul&gt;&lt;li&gt;joined denotes that a unit of the related service came online&lt;/li&gt;&lt;li&gt;changed denotes the unit of a related service changed its settings&lt;/li&gt;&lt;li&gt;departed denotes the unit of a related service went offline&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;This hook split is helpful to avoid subtle race conditions, and make formula authorship easier&lt;/li&gt;&lt;li&gt;Ensemble team is now working on formula upgrades&lt;/li&gt;&lt;ul&gt;&lt;li&gt;For now the team is only tackling an initial step of upgrading just the formula itself and only if it's already running&lt;/li&gt;&lt;li&gt;Example command would be: ensemble upgrade-formula --repository=examples mydbservice&lt;/li&gt;&lt;li&gt;That will look into the repo directory for a formula matching the formula of myblog, verify its a newer revision, upload and it mark the units for upgrade&lt;/li&gt;&lt;li&gt;On the unit side, they'll detect they need upgrades, download the formula, and most importantly, execute the upgrade-hook from the new formula&lt;/li&gt;&lt;li&gt;A suggestion came up, that the upgrade hook would be informed which version the upgrade process is starting from&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;A Question comes up, whether hooks should be implemented in a specific language. The answer is that all hooks are effectively just executables, those executables can be in any language and use any tools they'd like&lt;/li&gt;&lt;li&gt;Ensemble team is also working on orchestrating around firewall addressing such that the firewall is configurable by the ensemble user (ensemble expose, ensemble unexpose), with corresponding hooks (exposed, unexposed), and hook commands &amp;nbsp;(open-port, close-port)&lt;/li&gt;&lt;ul&gt;&lt;li&gt;The draft for that is on&amp;nbsp;http://people.canonical.com/~niemeyer/ensemble/drafts/expose-services.html&lt;/li&gt;&lt;li&gt;expose and unexpose are for now operating on top of ec2 security-groups, in the future however multiple backends can be implemented (cisco firewalls..etc)! Without even needing to change the formula, quite impressive!&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;A question was asked whether ensemble is ready for public collaboration, the answer to which is a definite yes!&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Grab the code today:&amp;nbsp;bzr branch lp:ensemble&lt;/li&gt;&lt;li&gt;Join the mailing list:&amp;nbsp;https://lists.ubuntu.com/mailman/listinfo/Ensemble&lt;/li&gt;&lt;li&gt;Join IRC channels #ubuntu-cloud, #ubuntu-ensemble&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div&gt;If you liked this, be sure to join the next meeting (Every Wed, 18:00-UTC in #ubuntu-cloud). Have questions or comment? Leave me a comment right here, or ping me (kim0) on IRC&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-6988386960321272123?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/6988386960321272123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=6988386960321272123' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/6988386960321272123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/6988386960321272123'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/04/ensemble-cloud-community-meeting_14.html' title='Ensemble Cloud Community Meeting Summary'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-2484050904027596342</id><published>2011-04-12T18:38:00.000+02:00</published><updated>2011-04-12T18:38:49.392+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='ensemble'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Ensemble Cloud Community Meeting</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; line-height: 16px;"&gt;&lt;a href="https://wiki.ubuntu.com/Ensemble" style="clear: none; color: #dd4814; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; outline-color: initial; outline-style: none; outline-width: initial; text-decoration: none;"&gt;Ensemble&lt;/a&gt;&amp;nbsp;is an exciting new cloud technology innovated by Ubuntu. If you’re curious what it does (I bet you are) it is a service orchestration framework with focus on rapid cloud deployment. That is to say, it allows one to rapidly deploy cloud instances, bootstrap them, install software on them, configure them as well as link them all together to provide you (as a sys-admin or DevOp) with an end-user facing high-level “service” (Load Balanced CMS with sharded Database, Multinode email service installation…etc). Ensemble has been compared to being APT for the cloud! Now does that sound interesting, it sure is if you ask me! Welcome to next generation Linux infrastructure automation.&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; line-height: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;If that got you interested, be sure to attend the &lt;b&gt;weekly IRC meeting on Wed 18:00-UTC on #ubuntu-cloud&lt;/b&gt;.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;Read More at:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://cloud.ubuntu.com/2011/04/ensemble-cloud-community-meeting/"&gt;http://cloud.ubuntu.com/2011/04/ensemble-cloud-community-meeting/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Feel free to tweet/dent and spread this around the globe. Got feedback? Leave me comments on cloud.ubuntu.com or on my blog&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-2484050904027596342?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/2484050904027596342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=2484050904027596342' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/2484050904027596342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/2484050904027596342'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/04/ensemble-cloud-community-meeting.html' title='Ensemble Cloud Community Meeting'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-2219584551672631196</id><published>2011-04-11T14:31:00.000+02:00</published><updated>2011-04-11T14:31:52.943+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='contribute'/><category scheme='http://www.blogger.com/atom/ns#' term='maps'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Help Shape Maps.Ubuntu.com</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;About either months ago, I had started on a fun little project to raise awareness of how widely used Ubuntu Server is around the world. The result was&amp;nbsp;&lt;a href="http://maps.ubuntu.com/"&gt;http://maps.ubuntu.com/&lt;/a&gt;&amp;nbsp;a web tool allowing anyone using Ubuntu Server to "mark" his location on a global map. This was launched with celebrations for 10.04.1, and thousands of cities were marked (woohoo). The project code was open-sourced and lives at&amp;nbsp;&lt;a href="https://launchpad.net/mapuntu/trunk"&gt;https://launchpad.net/mapuntu/trunk&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It's been a while since the project was last updated, a few days ago, an Ubuntu community member ( hey &lt;a href="https://wiki.ubuntu.com/ronnie.vd.c"&gt;Ronnie&lt;/a&gt; ) stepped up to re-shape the &lt;a href="https://launchpad.net/mapuntu/trunk"&gt;mapuntu&lt;/a&gt; project and relaunch it into an &lt;b&gt;inspiring map that helps anyone record and locate Ubuntu events around the globe!&lt;/b&gt;&amp;nbsp;The first part of that effort is creating a proper&amp;nbsp;&lt;a href="https://wiki.ubuntu.com/mapuntu/API"&gt;back-end&amp;nbsp;API&lt;/a&gt;, everyone is encouraged to click that link and leave comments. If you are inspired by that project, and would like to help, please get involved! Things you can do to help include&lt;br /&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Review and enhance the proposed API&lt;/li&gt;&lt;li&gt;Help write python code to implement the backend api&lt;/li&gt;&lt;li&gt;Write html/css/js for the front-end&lt;/li&gt;&lt;li&gt;Play with the code, test it, report bugs, adapt to your own website!&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;If you want to talk more about this, Please join #ubuntu-locoteams on IRC and ping&amp;nbsp;Ronnie or myself (kim0, also on #ubuntu-cloud).&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-2219584551672631196?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/2219584551672631196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=2219584551672631196' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/2219584551672631196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/2219584551672631196'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/04/help-shape-mapsubuntucom.html' title='Help Shape Maps.Ubuntu.com'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-1851128620580653587</id><published>2011-04-01T18:35:00.000+02:00</published><updated>2011-04-01T18:35:59.187+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UEC'/><category scheme='http://www.blogger.com/atom/ns#' term='rebundling'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='ec2'/><category scheme='http://www.blogger.com/atom/ns#' term='customizing'/><category scheme='http://www.blogger.com/atom/ns#' term='ami'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Creating Customized UEC and EC2 Images</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Want to create a customized Ubuntu cloud image that you can deploy to EC2 or UEC ? No problem! Check out this 5 min video where I demo everything needed to download, customize, rebundle and publish the new image to EC2! Isn't this just great :)&lt;br /&gt;&lt;br /&gt;&lt;object height="390" width="640"&gt;&lt;param name="movie" value="http://www.youtube.com/v/K1IwTGLWbu0?fs=1&amp;amp;hl=en_US&amp;amp;rel=0&amp;amp;hd=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/K1IwTGLWbu0?fs=1&amp;amp;hl=en_US&amp;amp;rel=0&amp;amp;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="390"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;If you can't see the embedded player, here's a direct link:&amp;nbsp;&lt;a href="http://www.youtube.com/watch?v=K1IwTGLWbu0"&gt;http://www.youtube.com/watch?v=K1IwTGLWbu0&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-1851128620580653587?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/1851128620580653587/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=1851128620580653587' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/1851128620580653587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/1851128620580653587'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/04/creating-customized-uec-and-ec2-images.html' title='Creating Customized UEC and EC2 Images'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-4039614861543646204</id><published>2011-03-25T15:03:00.000+02:00</published><updated>2011-03-25T15:03:42.992+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='UCD'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu cloud days'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Ubuntu Cloud Days, Day-2 Summary</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Yesterday was the second and final day of cloud days. It was such a blast! Very interesting stuff, and very cool community to be part of! In case you missed it, you can still read up the logs, and you can reach me and others for questions and comments on #ubuntu-cloud .. Let's quickly zip through yesterday's sessions&lt;br /&gt;&lt;br /&gt;&lt;a href="http://irclogs.ubuntu.com/2011/03/24/%23ubuntu-classroom.html#t16:00"&gt;16.00 UTC smoser&lt;/a&gt; gave a very good introduction to the different ways with which you can rebundle UEC or EC2 images for Ubuntu, how you can customize them and the different pros and cons. Scott also answered lots of questions&lt;br /&gt;&lt;a href="http://irclogs.ubuntu.com/2011/03/24/%23ubuntu-classroom.html#t17:00"&gt;17.00 UTC tetet&lt;/a&gt; started by presenting some interesting new features and tricks that can be used with UEC namely persistency, which means kexec'ing the kernel to load from an EBS volume resulting in persistent UEC instances. Thorsten zipped through the session quickly, but as a pro instructor, he was very well prepared with links to graphics, links and documentation&lt;br /&gt;&lt;a href="http://irclogs.ubuntu.com/2011/03/24/%23ubuntu-classroom.html#t18:00"&gt;18.00 UTC Daviey&lt;/a&gt; wowed the crowd with a puppet introductory session, he showed how to configure apache with puppet and what it takes and deploy a basic system to get running fast. It was a great session&lt;br /&gt;&lt;a href="http://irclogs.ubuntu.com/2011/03/24/%23ubuntu-classroom.html#t19:00"&gt;19.00 UTC edulix&lt;/a&gt; took over to present an awesome session about using hadoop and its map/reduce programming model to crunch on large (we're talking terabytes) of data on lots of machines. Very interesting and useful session&lt;br /&gt;&lt;a href="http://irclogs.ubuntu.com/2011/03/24/%23ubuntu-classroom.html#t20:00"&gt;20.00 UTC obino&lt;/a&gt; had the final say on cloud days. The session was about&amp;nbsp;UEC/Eucalyptus. He presented a detailed architecture of the system, what each node does, how things work. He also explained how to get started contributing to the eucalyptus community.&amp;nbsp;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It was a great event. Big Thank-Yous to everyone who presented in UCD. Till next time o/&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-4039614861543646204?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/4039614861543646204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=4039614861543646204' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/4039614861543646204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/4039614861543646204'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/03/ubuntu-cloud-days-day-2-summary.html' title='Ubuntu Cloud Days, Day-2 Summary'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-6269285251592664883</id><published>2011-03-24T15:23:00.000+02:00</published><updated>2011-03-24T15:23:55.470+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='UCD'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Day-2 Ubuntu Cloud Days</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Yesterday was great! It was Ubuntu Cloud Days, the event was packed with very interesting sessions, hundreds of attendees, lots of questions got answered, tons of ideas and comments were made. I personally had lots of fun, and was&amp;nbsp;&lt;/span&gt;literally&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&amp;nbsp;stuck to my keyboard the full time of the event&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Let's zip through what happened yesterday (If you missed it, Click the time to read the logs!)&lt;/span&gt;&lt;br /&gt;&lt;a href="http://irclogs.ubuntu.com/2011/03/23/%23ubuntu-classroom.html#t16:00"&gt;16.00 UTC kim0&lt;/a&gt;&lt;span class="Apple-style-span" style="color: #333333;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;&amp;nbsp;(me) took-over, gave a quick introduction about cloud computing, differences between public and private clouds and what the cloud fuss is all about&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://irclogs.ubuntu.com/2011/03/23/%23ubuntu-classroom.html#t17:00"&gt;17.00 UTC semiosis&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #333333;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;&amp;nbsp;started a great session about building scalable distributed storage on the EC2 Cloud using Glusterfs for improving redundancy, and performance&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #333333;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://irclogs.ubuntu.com/2011/03/23/%23ubuntu-classroom.html#t18:00"&gt;18.00 UTC SpamapS&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #333333;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;&amp;nbsp;gave a cool presentation and hands-on demo of a new Ubuntu ground breaking "service" management framework called Ensemble. While in early development phase, it's already working well and is changing how we look at server management&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #333333;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://irclogs.ubuntu.com/2011/03/23/%23ubuntu-classroom.html#t19:00"&gt;19.00 UTC hallyn&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #333333;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;&amp;nbsp;took over presenting a technically deep discussion and hands-on demo about LXC Linux containers technology. This is a light weight Linux virtualization (or container) technology&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #333333;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://irclogs.ubuntu.com/2011/03/23/%23ubuntu-classroom.html#t19:59"&gt;20.00 UTC soren&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #333333;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;&amp;nbsp;took over to talk about OpenStack, one of the cloud stacks that Ubuntu ships with 11.04 that's been getting lots of cloud people excited lately. Soren explained how the whole thing got started, explained the architecture, answered lots of questions and discussed what we should be seeing in the future&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="clear: none; color: #333333; outline-color: initial; outline-style: none; outline-width: initial;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="clear: none; color: #333333; outline-color: initial; outline-style: none; outline-width: initial;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #333333; line-height: 16px;"&gt;Here's a sneak peak of today's sessions&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="clear: none; color: #333333; line-height: 25px; outline-color: initial; outline-style: none; outline-width: initial;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="color: #333333; line-height: 16px;"&gt;&lt;strong style="clear: none; color: #333333; outline-color: initial; outline-style: none; outline-width: initial;"&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; line-height: 16px;"&gt;&lt;strong style="clear: none; color: #333333; outline-color: initial; outline-style: none; outline-width: initial;"&gt;Thu 24th Mar&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; line-height: 16px;"&gt;&lt;strong style="clear: none; color: #333333; outline-color: initial; outline-style: none; outline-width: initial;"&gt;16.00 UTC&lt;/strong&gt;&amp;nbsp;rebundling/re-using Ubuntu’s UEC images — smoser&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; line-height: 16px;"&gt;&lt;strong style="clear: none; color: #333333; outline-color: initial; outline-style: none; outline-width: initial;"&gt;17.00 UTC&lt;/strong&gt;&amp;nbsp;UEC persistency — tetet&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; line-height: 16px;"&gt;&lt;strong style="clear: none; color: #333333; outline-color: initial; outline-style: none; outline-width: initial;"&gt;18.00 UTC&lt;/strong&gt;&amp;nbsp;Puppet Configuration Management — Daviey&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; line-height: 16px;"&gt;&lt;strong style="clear: none; color: #333333; outline-color: initial; outline-style: none; outline-width: initial;"&gt;19.00 UTC&lt;/strong&gt;&amp;nbsp;Using hadoop, divide and conquer — edulix&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; line-height: 16px;"&gt;&lt;strong style="clear: none; color: #333333; outline-color: initial; outline-style: none; outline-width: initial;"&gt;20.00 UTC&lt;/strong&gt;&amp;nbsp;UEC/Eucalyptus Private Cloud — obino&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Let's get crunching on even more cool sessions&amp;nbsp;today!  If you’re new to IRC, you can simply use this &lt;a href="http://webchat.freenode.net/?channels=ubuntu-classroom%2Cubuntu-classroom-chat"&gt;web page&lt;/a&gt; to join. For more information, check out the &lt;a href="https://wiki.ubuntu.com/UbuntuCloudDays"&gt;wiki page&lt;/a&gt;, also feel free to ping “kim0″ on IRC!&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-6269285251592664883?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/6269285251592664883/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=6269285251592664883' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/6269285251592664883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/6269285251592664883'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/03/day-2-ubuntu-cloud-days.html' title='Day-2 Ubuntu Cloud Days'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-88635172408699500</id><published>2011-03-23T13:33:00.000+02:00</published><updated>2011-03-23T13:33:33.124+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='UCD'/><category scheme='http://www.blogger.com/atom/ns#' term='buntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Today is Ubuntu Cloud Days</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; font-size: 12px; line-height: 16px;"&gt;&lt;b&gt;Today&lt;/b&gt; is .. dum roll ... Ubuntu Cloud Days! The event starts at 4pm UTC on irc #ubuntu-classroom. Updates to the schedule include an &lt;b&gt;OpenStack&lt;/b&gt; session, a &lt;b&gt;Eucalyptus&lt;/b&gt; session and a &lt;b&gt;puppet&lt;/b&gt; session! Those attending the &lt;b&gt;Ensemble&lt;/b&gt; session are in for a treat :) During Cloud Days, you’ll learn lots of exciting stuff, you’ll interact with tons of smart people, and you’ll just have fun! Spread the word, join in and bring your friends!&lt;/span&gt;&lt;br /&gt;&lt;div style="clear: none; color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; outline-color: initial; outline-style: none; outline-width: initial;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; font-size: 12px; line-height: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; font-size: 12px; line-height: 16px;"&gt;Here’s the sessions schedule&lt;/span&gt;&lt;/div&gt;&lt;div style="clear: none; color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; outline-color: initial; outline-style: none; outline-width: initial;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; font-size: 12px; line-height: 16px;"&gt;&lt;strong style="clear: none; color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; outline-color: initial; outline-style: none; outline-width: initial;"&gt;Wed 23rd Mar&lt;br style="clear: none; color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; outline-color: initial; outline-style: none; outline-width: initial;" /&gt;16.00 UTC&lt;/strong&gt;&amp;nbsp;Cloud Computing 101, Ask your questions — kim0&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; font-size: 12px; line-height: 16px;"&gt;&lt;strong style="clear: none; color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; outline-color: initial; outline-style: none; outline-width: initial;"&gt;17.00 UTC&lt;/strong&gt;&amp;nbsp;Scaling shared-storage web apps in the cloud with Ubuntu &amp;amp; GlusterFS — semiosis&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; font-size: 12px; line-height: 16px;"&gt;&lt;strong style="clear: none; color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; outline-color: initial; outline-style: none; outline-width: initial;"&gt;18.00 UTC&lt;/strong&gt;&amp;nbsp;What is Ensemble? – Presentation and Demo — SpamapS&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; font-size: 12px; line-height: 16px;"&gt;&lt;strong style="clear: none; color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; outline-color: initial; outline-style: none; outline-width: initial;"&gt;19.00 UTC&lt;/strong&gt;&amp;nbsp;Using Linux Containers in Natty — hallyn&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; font-size: 12px; line-height: 16px;"&gt;&lt;strong style="clear: none; color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; outline-color: initial; outline-style: none; outline-width: initial;"&gt;20.00 UTC&lt;/strong&gt;&amp;nbsp;Open-Stack Introduction — soren&lt;/span&gt;&lt;/div&gt;&lt;div style="clear: none; color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; outline-color: initial; outline-style: none; outline-width: initial;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; font-size: 12px; line-height: 16px;"&gt;&lt;strong style="clear: none; color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; outline-color: initial; outline-style: none; outline-width: initial;"&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; font-size: 12px; line-height: 16px;"&gt;&lt;strong style="clear: none; color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; outline-color: initial; outline-style: none; outline-width: initial;"&gt;Thu 24th Mar&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; font-size: 12px; line-height: 16px;"&gt;&lt;strong style="clear: none; color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; outline-color: initial; outline-style: none; outline-width: initial;"&gt;16.00 UTC&lt;/strong&gt;&amp;nbsp;rebundling/re-using Ubuntu’s UEC images — smoser&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; font-size: 12px; line-height: 16px;"&gt;&lt;strong style="clear: none; color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; outline-color: initial; outline-style: none; outline-width: initial;"&gt;17.00 UTC&lt;/strong&gt;&amp;nbsp;UEC persistency — tetet&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; font-size: 12px; line-height: 16px;"&gt;&lt;strong style="clear: none; color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; outline-color: initial; outline-style: none; outline-width: initial;"&gt;18.00 UTC&lt;/strong&gt;&amp;nbsp;Puppet Configuration Management — Daviey&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; font-size: 12px; line-height: 16px;"&gt;&lt;strong style="clear: none; color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; outline-color: initial; outline-style: none; outline-width: initial;"&gt;19.00 UTC&lt;/strong&gt;&amp;nbsp;Using hadoop, divide and conquer — edulix&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; font-size: 12px; line-height: 16px;"&gt;&lt;strong style="clear: none; color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; outline-color: initial; outline-style: none; outline-width: initial;"&gt;20.00 UTC&lt;/strong&gt;&amp;nbsp;UEC/Eucalyptus Private Cloud — obino&lt;/span&gt;&lt;/div&gt;&lt;div style="clear: none; color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; outline-color: initial; outline-style: none; outline-width: initial;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; font-size: 12px; line-height: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; font-size: 12px; line-height: 16px;"&gt;All session happen in IRC (Freenode) in #ubuntu-classroom. If you’re new to IRC, you can simply use this&amp;nbsp;&lt;a href="http://webchat.freenode.net/?channels=ubuntu-classroom%2Cubuntu-classroom-chat" style="clear: none; color: #dd4814; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; outline-color: initial; outline-style: none; outline-width: initial; text-decoration: none;" target="_blank"&gt;web page&lt;/a&gt;&amp;nbsp;to join. For more information, check out the&amp;nbsp;&lt;a href="https://wiki.ubuntu.com/UbuntuCloudDays" style="clear: none; color: #dd4814; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; outline-color: initial; outline-style: none; outline-width: initial; text-decoration: none;" target="_blank"&gt;wiki page&lt;/a&gt;, also feel free to ping “kim0″ on IRC&lt;/span&gt;&lt;/div&gt;&lt;div style="clear: none; color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; outline-color: initial; outline-style: none; outline-width: initial;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; font-size: 12px; line-height: 16px;"&gt;Additional links:&lt;/span&gt;&lt;/div&gt;&lt;ul style="clear: none; color: #333333; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; outline-color: initial; outline-style: none; outline-width: initial; text-align: left;"&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 16px;"&gt;&lt;a href="http://www.facebook.com/ubuntucloud" style="clear: none; color: #dd4814; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; outline-color: initial; outline-style: none; outline-width: initial; text-decoration: none;"&gt;Ubuntu Cloud Facebook page&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 16px;"&gt;&lt;a href="http://www.facebook.com/ubuntucloud" style="clear: none; color: #dd4814; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; outline-color: initial; outline-style: none; outline-width: initial; text-decoration: none;"&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 16px;"&gt;&lt;a href="http://www.twitter.com/ubuntucloud" style="clear: none; color: #dd4814; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; outline-color: initial; outline-style: none; outline-width: initial; text-decoration: none;"&gt;Ubuntu Cloud Twitter page&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 16px;"&gt;&lt;a href="http://www.twitter.com/ubuntucloud" style="clear: none; color: #dd4814; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; outline-color: initial; outline-style: none; outline-width: initial; text-decoration: none;"&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 16px;"&gt;&lt;a href="http://www.identi.ca/ubuntucloud" style="clear: none; color: #dd4814; font-family: Ubuntu, 'Ubuntu Beta', UbuntuBeta, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; outline-color: initial; outline-style: none; outline-width: initial; text-decoration: none;"&gt;Ubuntu Cloud Identi.ca page&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-88635172408699500?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/88635172408699500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=88635172408699500' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/88635172408699500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/88635172408699500'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/03/today-is-ubuntu-cloud-days.html' title='Today is Ubuntu Cloud Days'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-329499977800954007</id><published>2011-03-21T14:10:00.000+02:00</published><updated>2011-03-21T14:10:02.824+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu cloud days'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Ubuntu Cloud Days approaching</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Just a reminder, Ubuntu Cloud Days is approaching, it's only two days away! Yes it's this Wed/Thu. I just posted the full details on the &lt;a href="http://cloud.ubuntu.com/2011/03/ubuntu-cloud-days-approaching/"&gt;Ubuntu Cloud Portal&lt;/a&gt;. Check it out, and leave me a comment if you have any questions&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-329499977800954007?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/329499977800954007/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=329499977800954007' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/329499977800954007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/329499977800954007'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/03/ubuntu-cloud-days-approaching.html' title='Ubuntu Cloud Days approaching'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-6384405920966656641</id><published>2011-03-09T14:57:00.000+02:00</published><updated>2011-03-09T14:57:41.571+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='contribute'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Cloud Python hackers wanted</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;A while back I had &lt;a href="http://foss-boss.blogspot.com/2011/01/hack-on-ubuntu-cloud-utils.html"&gt;blogged&lt;/a&gt;&amp;nbsp;(yes the one with the big uncle Sam pic)&amp;nbsp;asking for people interested in working  on a python tool to help migrate ebs AMIs across ec2 regions. Since  then the project has progressed a bit:&lt;br /&gt;&lt;br /&gt;- Project page is now: &lt;a href="https://launchpad.net/ec2-migrate-ebs-ami"&gt;https://launchpad.net/ec2-migrate-ebs-ami&lt;/a&gt;&lt;br /&gt;- Project is now able to launch two utility instances in the two  specified regions, and mount the source volume in the source instance&lt;br /&gt;- What remains is attaching a destination volume, and sync'ing over contents. More details can be found on the blueprint: &lt;a href="https://blueprints.launchpad.net/ubuntu/+spec/cloud-server-n-ec2-migrate-region"&gt;https://blueprints.launchpad.net/ubuntu/+spec/cloud-server-n-ec2-migrate-region&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Development pace has now slowed down significantly, as such I am  renewing the call. This is a great way to start getting involved with  cloud development, and to join the Ubuntu Cloud and server communities!  joining in is "easy", you don't even have to know lots of python to  start hacking! The steps are very well defined, and I am happy to help  with all steps along the way. If you are thinking about it, go ahead and  get in touch with me right now (kim0 on irc, kim0 AT ubuntu.com) or  join today's irc meeting (6pm-UTC #ubuntu-cloud &lt;a href="https://wiki.ubuntu.com/UbuntuCloudMeeting"&gt;https://wiki.ubuntu.com/UbuntuCloudMeeting&lt;/a&gt;) and start discussing how you can get involved&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-6384405920966656641?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/6384405920966656641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=6384405920966656641' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/6384405920966656641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/6384405920966656641'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/03/cloud-python-hackers-wanted.html' title='Cloud Python hackers wanted'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-9018756751500243692</id><published>2011-03-09T12:36:00.000+02:00</published><updated>2011-03-09T12:36:54.344+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IRC'/><category scheme='http://www.blogger.com/atom/ns#' term='featured'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='UCD'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu cloud days'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Two weeks to Ubuntu Cloud Days</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="dropcaps"&gt;T&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, 'Lucida Grande', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 20px;"&gt;wo weeks from now&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 20px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, 'Lucida Grande', sans-serif;"&gt;, Ubuntu Cloud Days begin! The very first dedicated Ubuntu Cloud Days event from &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 20px;"&gt;&lt;b style="font-family: Arial, 'Lucida Grande', sans-serif; font-size: 16px;"&gt;March 23&lt;sup&gt;rd&lt;/sup&gt;&amp;nbsp;to March 24&lt;sup&gt;th&lt;/sup&gt;&amp;nbsp;2011!&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="line862" style="line-height: 20px;"&gt;&lt;span class="anchor" id="line-5" style="font-family: Arial, 'Lucida Grande', sans-serif;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line862" style="font-family: Arial, 'Lucida Grande', sans-serif; font-size: 16px; line-height: 20px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="line862" style="font-family: Arial, 'Lucida Grande', sans-serif; font-size: 16px; line-height: 20px;"&gt;Cloud computing is changing the face of IT and Ubuntu Server is arguably the most popular Cloud based Operating System with millions of instances launched a year! Are you interested to know more about using Ubuntu Server on the Cloud ? Find out from March 23&lt;sup&gt;rd&lt;/sup&gt;&amp;nbsp;to March 24&lt;sup&gt;th&lt;/sup&gt;&amp;nbsp;2011&lt;span class="anchor" id="line-7"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line862" style="font-family: Arial, 'Lucida Grande', sans-serif; font-size: 16px; line-height: 20px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="line874" style="font-family: Arial, 'Lucida Grande', sans-serif; font-size: 16px; line-height: 20px;"&gt;Ubuntu Cloud Days is a series of online sessions where you can learn more about:&lt;span class="anchor" id="line-8"&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul style="font-family: Arial, 'Lucida Grande', sans-serif; font-size: 16px; line-height: 20px;"&gt;&lt;li&gt;Answering your questions about Ubuntu and the Cloud&lt;span class="anchor" id="line-9"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Ubuntu Enterprise Cloud Images, using Ubuntu with Amazon EC2 cloud&lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Building your private cloud over Ubuntu Server platform&lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;New virtualization and container technologies in Ubuntu Server&lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Crunching Big-Data on the cloud with hadoop&lt;span class="anchor" id="line-13"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Scaling your web-apps on the cloud with Ubuntu&lt;span class="anchor" id="line-14"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;much more...&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, 'Lucida Grande', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 20px;"&gt;Read more about UCD at&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="https://wiki.ubuntu.com/UbuntuCloudDays"&gt;https://wiki.ubuntu.com/UbuntuCloudDays&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you are interested to deliver a session, please get in contact with me! While the timetable is now "full", there's no reason why we can't extend an extra session (or day!). Ping me (kim0 AT ubuntu.com) or (kim0 on IRC)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Mark your calendar, Join in and &lt;b&gt;Bring your friends&lt;/b&gt; ;)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="line874" style="font-family: Arial, 'Lucida Grande', sans-serif; font-size: 16px; line-height: 20px;"&gt;Additional links:&lt;span class="anchor" id="line-19"&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul style="font-family: Arial, 'Lucida Grande', sans-serif; font-size: 16px; line-height: 20px;"&gt;&lt;li&gt;&lt;div class="line891" style="margin-bottom: 0.25em; margin-left: 0px; margin-right: 0px; margin-top: 0.25em;"&gt;&lt;a class="http" href="http://www.facebook.com/ubuntucloud" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #6d4c07;"&gt;Ubuntu Cloud Facebook page&lt;/a&gt;&lt;span class="anchor" id="line-20"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class="line891" style="margin-bottom: 0.25em; margin-left: 0px; margin-right: 0px; margin-top: 0.25em;"&gt;&lt;a class="http" href="http://www.twitter.com/ubuntucloud" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #6d4c07;"&gt;Ubuntu Cloud Twitter page&lt;/a&gt;&lt;span class="anchor" id="line-21"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class="line891" style="margin-bottom: 0.25em; margin-left: 0px; margin-right: 0px; margin-top: 0.25em;"&gt;&lt;a class="http" href="http://www.identi.ca/ubuntucloud" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #6d4c07;"&gt;Ubuntu Cloud Identi.ca page&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-9018756751500243692?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/9018756751500243692/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=9018756751500243692' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/9018756751500243692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/9018756751500243692'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/03/two-weeks-to-ubuntu-cloud-days.html' title='Two weeks to Ubuntu Cloud Days'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-8808970769413136063</id><published>2011-03-02T18:44:00.000+02:00</published><updated>2011-03-02T18:44:15.620+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='virtio'/><category scheme='http://www.blogger.com/atom/ns#' term='featured'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='virtualization'/><category scheme='http://www.blogger.com/atom/ns#' term='virt-install'/><category scheme='http://www.blogger.com/atom/ns#' term='kvm'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>FAST Win7 KVM VirtIO{Disk-Net} Install</title><content type='html'>Everyone who has to use Windows, please let's at least keep it contained inside a virtual machine! In this article I'll demo how to "Install Windows7 over Ubuntu 11.04 Natty, using KVM with System Disk over VirtIO". Quoting the libvirt wiki "&lt;i&gt;Virtio is a Linux standard for network and disk device drivers where just the guest's device driver "knows" it is running in a virtual environment, and cooperates with the hypervisor. This enables guests to get high performance network and disk operations, and gives most of the performance benefits of paravirtualization&lt;/i&gt;"&lt;br /&gt;&lt;br /&gt;Here's a little convenience script to download virtio Windows drivers and launch virt-install to Install Windows. Copy/Paste this script into an empty folder, chmod +x it, and run it. &lt;br /&gt;&lt;style type="text/css"&gt;&lt;!--pre { font-family: monospace; color: #000000; background-color: #ffffff; }body { font-family: monospace; color: #000000; background-color: #ffffff; }.PreProc { color: #a020f0; }.Constant { color: #ff00ff; }.Identifier { color: #008b8b; }.Comment { color: #0000ff; }--&gt;&lt;/style&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="Comment"&gt;#!/bin/sh&lt;/span&gt;&lt;br /&gt;&lt;span class="Identifier"&gt;WINISO&lt;/span&gt;=/path/to/win7.iso    &lt;span class="Comment"&gt;#Windows ISO&lt;/span&gt;&lt;br /&gt;&lt;span class="Identifier"&gt;INSTALLDISK&lt;/span&gt;=win7virtio.img  &lt;span class="Comment"&gt;#Disk location. Can be LVM LV&lt;/span&gt;&lt;br /&gt;&lt;span class="Identifier"&gt;VFD&lt;/span&gt;=&lt;a href="http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/virtio-win"&gt;http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/virtio-win&lt;/a&gt;&lt;span class="Constant"&gt;-1&lt;/span&gt;.&lt;span class="Constant"&gt;1&lt;/span&gt;.&lt;span class="Constant"&gt;16&lt;/span&gt;.vfd&lt;br /&gt;&lt;span class="Identifier"&gt;DRVRISO&lt;/span&gt;=&lt;a href="http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/virtio-win"&gt;http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/virtio-win&lt;/a&gt;&lt;span class="Constant"&gt;-1&lt;/span&gt;.&lt;span class="Constant"&gt;1&lt;/span&gt;.&lt;span class="Constant"&gt;16&lt;/span&gt;.iso&lt;br /&gt;&lt;br /&gt;&lt;span class="Statement"&gt;[&lt;/span&gt; &lt;span class="Statement"&gt;-e&lt;/span&gt; &lt;span class="Error"&gt;$(&lt;/span&gt;&lt;span class="Special"&gt;basename &lt;/span&gt;&lt;span class="PreProc"&gt;$VFD&lt;/span&gt;&lt;span class="Error"&gt;)&lt;/span&gt; &lt;span class="Statement"&gt;]&lt;/span&gt;     || wget &lt;span class="PreProc"&gt;$VFD&lt;/span&gt;&lt;br /&gt;&lt;span class="Statement"&gt;[&lt;/span&gt; &lt;span class="Statement"&gt;-e&lt;/span&gt; &lt;span class="Error"&gt;$(&lt;/span&gt;&lt;span class="Special"&gt;basename &lt;/span&gt;&lt;span class="PreProc"&gt;$DRVRISO&lt;/span&gt;&lt;span class="Error"&gt;)&lt;/span&gt; &lt;span class="Statement"&gt;]&lt;/span&gt; || wget &lt;span class="PreProc"&gt;$DRVRISO&lt;/span&gt;&lt;br /&gt;&lt;span class="Statement"&gt;[&lt;/span&gt; &lt;span class="Statement"&gt;-e&lt;/span&gt; &lt;span class="PreProc"&gt;$INSTALLDISK&lt;/span&gt; &lt;span class="Statement"&gt;]&lt;/span&gt;         || qemu-img create &lt;span class="PreProc"&gt;$INSTALLDISK&lt;/span&gt; 30G&lt;br /&gt;&lt;br /&gt;sudo virt-install &lt;span class="Special"&gt;-c&lt;/span&gt; qemu:///system &lt;span class="Special"&gt;--virt-type&lt;/span&gt; kvm &lt;span class="Special"&gt;--name&lt;/span&gt; win7virtio &lt;span class="Special"&gt;--ram&lt;/span&gt; &lt;span class="Constant"&gt;1024&lt;/span&gt; &lt;span class="Special"&gt;--disk&lt;/span&gt; &lt;span class="Identifier"&gt;path&lt;/span&gt;=&lt;span class="Statement"&gt;&amp;quot;&lt;/span&gt;&lt;span class="PreProc"&gt;$INSTALLDISK&lt;/span&gt;&lt;span class="Statement"&gt;&amp;quot;&lt;/span&gt;,&lt;span class="Identifier"&gt;bus&lt;/span&gt;=virtio &lt;span class="Statement"&gt;\&lt;/span&gt;&lt;br /&gt;--disk &lt;span class="Error"&gt;$(&lt;/span&gt;&lt;span class="Special"&gt;basename &lt;/span&gt;&lt;span class="PreProc"&gt;$VFD&lt;/span&gt;&lt;span class="Error"&gt;)&lt;/span&gt;,&lt;span class="Identifier"&gt;device&lt;/span&gt;=floppy &lt;span class="Special"&gt;--os-variant&lt;/span&gt; win7 &lt;span class="Special"&gt;--cdrom&lt;/span&gt; &lt;span class="Error"&gt;$(&lt;/span&gt;&lt;span class="Special"&gt;basename &lt;/span&gt;&lt;span class="PreProc"&gt;$DRVRISO&lt;/span&gt;&lt;span class="Error"&gt;)&lt;/span&gt; &lt;span class="Special"&gt;--cdrom&lt;/span&gt; &lt;span class="Statement"&gt;&amp;quot;&lt;/span&gt;&lt;span class="PreProc"&gt;$WINISO&lt;/span&gt;&lt;span class="Statement"&gt;&amp;quot;&lt;/span&gt; &lt;span class="Special"&gt;--vcpus&lt;/span&gt; &lt;span class="Constant"&gt;2&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;et voila Windows installer kicks in, we're greeted with the usual&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5491828910/" title="Screenshot-win7virtio - Virt Viewer by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm6.static.flickr.com/5214/5491828910_668a552b19.jpg" width="500" height="402" alt="Screenshot-win7virtio - Virt Viewer" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5491828774/" title="Screenshot-win7virtio - Virt Viewer-1 by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm6.static.flickr.com/5178/5491828774_b3877c374b.jpg" width="500" height="402" alt="Screenshot-win7virtio - Virt Viewer-1" /&gt;&lt;/a&gt;&lt;br /&gt;Next the welcome screen, and agree on the license agreement (if you want!)&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5491234647/" title="Screenshot-win7virtio - Virt Viewer-2 by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm6.static.flickr.com/5014/5491234647_478f19d938.jpg" width="500" height="410" alt="Screenshot-win7virtio - Virt Viewer-2" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In this next screenshot, we see how Windows Installer does not see any "disks". This is because Windows now does not have any drivers for the virtio disk that we attached!&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5491234391/" title="Screenshot-win7virtio - Virt Viewer-3 by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm6.static.flickr.com/5135/5491234391_5b8d5cf02a.jpg" width="500" height="410" alt="Screenshot-win7virtio - Virt Viewer-3" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Let's fix that, clicking "Load Driver" and clicking OK, Windows starts reading the VFD virtual floppy image we attached, and detects the driver&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5491234391/" title="Screenshot-win7virtio - Virt Viewer-3 by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm6.static.flickr.com/5135/5491234391_5b8d5cf02a.jpg" width="500" height="410" alt="Screenshot-win7virtio - Virt Viewer-3" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5491233895/" title="Screenshot-win7virtio - Virt Viewer-5 by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm6.static.flickr.com/5139/5491233895_aa542d5538.jpg" width="500" height="410" alt="Screenshot-win7virtio - Virt Viewer-5" /&gt;&lt;/a&gt;&lt;br /&gt;Clicking Next, Windows can now see the virtio disk&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5491233895/" title="Screenshot-win7virtio - Virt Viewer-5 by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm6.static.flickr.com/5139/5491233895_aa542d5538.jpg" width="500" height="410" alt="Screenshot-win7virtio - Virt Viewer-5" /&gt;&lt;/a&gt;&lt;br /&gt;Then it's business like usual&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5491233339/" title="Screenshot-win7virtio - Virt Viewer-7 by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm6.static.flickr.com/5254/5491233339_b5aff1050c.jpg" width="500" height="410" alt="Screenshot-win7virtio - Virt Viewer-7" /&gt;&lt;/a&gt;&lt;br /&gt;After installation completes, be sure to check the device manager and confirm the disk (and network) are both using optimized virtio drivers&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5491826916/" title="DeviceManager by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm6.static.flickr.com/5017/5491826916_175c79dc2e.jpg" width="385" height="496" alt="DeviceManager" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;et voila, Windows in its full glory running over optimized virtio drivers. The only part that sucks is desktop VNC performance, something that I'll probably write about very soon :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-8808970769413136063?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/8808970769413136063/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=8808970769413136063' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/8808970769413136063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/8808970769413136063'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/03/fast-win7-kvm-virtiodisk-net-install.html' title='FAST Win7 KVM VirtIO{Disk-Net} Install'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm6.static.flickr.com/5214/5491828910_668a552b19_t.jpg' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-6925376044372487037</id><published>2011-03-01T19:31:00.001+02:00</published><updated>2011-03-01T19:32:11.534+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='UCD'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu cloud days'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>First Ever Ubuntu Cloud Days</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://wiki.ubuntu.com/UbuntuCloudDays?action=AttachFile&amp;amp;do=get&amp;amp;target=UCD.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="49" src="https://wiki.ubuntu.com/UbuntuCloudDays?action=AttachFile&amp;amp;do=get&amp;amp;target=UCD.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I am very excited to announce the very first &lt;b&gt;Ubuntu Cloud Days&lt;/b&gt;! UCD is an online event that is designed for everyone interested in cloud computing, as well as someone who is already using Ubuntu server and who's thinking about "that cloud thing" everyone is talking about. If the words "virtualization",&amp;nbsp;"cloud",&amp;nbsp;"server",&amp;nbsp;"scalability" or&amp;nbsp;"automation" intrigue and amuse you, then you should definitely attend! It's a chance to learn a lot, get your questions answered as well as share your experiences and have fun with the rest of the cloud community!&lt;br /&gt;&lt;br /&gt;In fact I'll go one bit further, not only should you attend, you should even deliver a session! Ubuntu as usual is all about community, learning from others, and sharing your knowledge to others. It's quite easy to deliver a session! My first session, I was quite surprised how I didn't have to prepare huge content to "fill" an hour, just answering questions and discussing with people, easily gets you by and you get a warm fuzzy feeling that you just helped lots of people and shared your knowledge.&lt;br /&gt;&lt;br /&gt;So, Ladies and Gentlemen, mark your calendars! March 23rd and March 24th&lt;br /&gt;&lt;br /&gt;Fore more information:&amp;nbsp;&lt;a href="https://wiki.ubuntu.com/UbuntuCloudDays/"&gt;https://wiki.ubuntu.com/UbuntuCloudDays/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To contribute a session, (or if you're thinking about it) talk to me (kim0) on irc #ubuntu-cloud or email [ kim0 =AT= ubuntu.com ]&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-6925376044372487037?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/6925376044372487037/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=6925376044372487037' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/6925376044372487037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/6925376044372487037'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/03/first-ever-ubuntu-cloud-days.html' title='First Ever Ubuntu Cloud Days'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-4375214543885495289</id><published>2011-02-18T14:23:00.000+02:00</published><updated>2011-02-18T14:23:22.834+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='server'/><category scheme='http://www.blogger.com/atom/ns#' term='contribute'/><category scheme='http://www.blogger.com/atom/ns#' term='qa'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Volunteer QA to Ubuntu Server</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;A great way to help contribute to Ubuntu and ensure Ubuntu Server remains the rock solid platform that it is, is by committing to helping perform specific QA tests in predefined scenarios. If you're interested, the following test cases specifically need someone to step up and commit to them&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Install (JeOS on ESX) &lt;a href="http://testcases.qa.ubuntu.com/Install/ServerMinimalVirtualInstall"&gt;QA Testcase&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Install (JeOS on KVM) &lt;a href="http://testcases.qa.ubuntu.com/Install/ServerMinimalVirtualInstall"&gt;QA Testcase&lt;/a&gt;&lt;/li&gt;&lt;li&gt;iSCSI Authenticated Root Installation &lt;a href="http://testcases.qa.ubuntu.com/Install/ServeriSCSIRoot#Authenticated%20Login"&gt;QA Testcase&lt;/a&gt;&lt;/li&gt;&lt;li&gt;iSCSI Unauthenticated Root Installation &lt;a href="http://testcases.qa.ubuntu.com/Install/ServeriSCSIRoot#Unauthenticated%20Login"&gt;QA Testcase&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;These tests are being marked as &lt;b&gt;NOT&lt;/b&gt;&amp;nbsp;required for ISO release exit&amp;nbsp;criteria for Ubuntu Server. Quoting&amp;nbsp;Robbie Williamson "&lt;i&gt;Our decision was based on the lack of&amp;nbsp;consistently available resources to verify these configurations. With&amp;nbsp;that said, we are keeping them optional&lt;/i&gt;"&lt;br /&gt;&lt;br /&gt;Robbie adds "&lt;i&gt;Anyone wishing to reverse this decision, please contact me directly. &amp;nbsp;I&amp;nbsp;have no problem adding them back along with your agreement to run them&amp;nbsp;for each ISO release&lt;/i&gt;"&lt;br /&gt;&lt;br /&gt;Again that's a great way to contribute to Ubuntu. If interested please contact Robbie directly, or contact me (leave a comment right here) and I will help get you on track&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-4375214543885495289?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/4375214543885495289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=4375214543885495289' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/4375214543885495289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/4375214543885495289'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/02/volunteer-qa-to-ubuntu-server.html' title='Volunteer QA to Ubuntu Server'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-5653993709281833851</id><published>2011-02-09T21:38:00.000+02:00</published><updated>2011-02-09T21:38:16.572+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wordpress'/><category scheme='http://www.blogger.com/atom/ns#' term='LAMP'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='xfs'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='ec2-consistent-snapshot'/><category scheme='http://www.blogger.com/atom/ns#' term='ec2'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><category scheme='http://www.blogger.com/atom/ns#' term='snapshot'/><title type='text'>Cloud Backup LAMP Stack like a pro</title><content type='html'>Running Ubuntu server in the cloud to run your own LAMP environment is extremely popular. Backing up that environment is definitely something that almost everyone should think about, unless it's a test env. In this screencast I'll demo using the ec2-consistent-snapshot tool to perform consistent database backups over a XFS formatted ebs volume&lt;br /&gt;&lt;br /&gt;If you can't see the embedded player, here's a direct link&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=SPVqJWWiLVI"&gt;http://www.youtube.com/watch?v=SPVqJWWiLVI&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="640" height="385"&gt;&lt;param name="movie" value="http://www.youtube-nocookie.com/v/SPVqJWWiLVI?fs=1&amp;amp;hl=en_US"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube-nocookie.com/v/SPVqJWWiLVI?fs=1&amp;amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Shoot me a comment if there's something specific you'd like to see, or if you'd like to contribute one such screencast! Till next time&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-5653993709281833851?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/5653993709281833851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=5653993709281833851' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/5653993709281833851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/5653993709281833851'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/02/cloud-backup-lamp-stack-like-pro.html' title='Cloud Backup LAMP Stack like a pro'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-7159432658278508399</id><published>2011-01-19T15:31:00.000+02:00</published><updated>2011-01-19T15:31:27.785+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blueprint'/><category scheme='http://www.blogger.com/atom/ns#' term='migrate'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='featured'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='ebs'/><category scheme='http://www.blogger.com/atom/ns#' term='ec2'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Hack on Ubuntu Cloud Utils</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5369373619/" style="margin-left: 1em; margin-right: 1em;" title="hack-cloud-small by Ahmed-Kamal, on Flickr"&gt;&lt;img alt="hack-cloud-small" src="http://farm6.static.flickr.com/5204/5369373619_1619a8236b.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;Want a chance to hack on the cloud? Yes Ubuntu cloud code? What could possibly be cooler! For us cloud geeks, almost nothing! So, here's the deal. Ubuntu aims to be the best operating system for the cloud, period. Part of that is delivering code and utilities to ease common tasks for people working with Ubuntu as a guest cloud OS. For that I've suggested a utility to migrate ec2 ebs based images across different Amazon regions. Conceptually, what's needed is simple, a tool needs to be written to spin up two virtual servers in the two regions and sync the disks across them then terminate. The Ubuntu server team agrees it's a needed utility, and if done right, it should end up being shipped with Ubuntu (coolness!)&lt;br /&gt;&lt;br /&gt;I have written step by step, what needs to be done to accomplish this task in a &lt;a href="https://blueprints.launchpad.net/ubuntu/+spec/cloud-server-n-ec2-migrate-region"&gt;BluePrint&lt;/a&gt;. For those new to that term, BluePrints are Ubuntu's way of writing software specs in the open, where everyone can read and comment on them (don't you just love open!). So, if you're ready to start contributing, click that blueprint link, decide whether you want to hack on this tool, ping me and let's start working on it! For any questions or discussions, please drop by on Freenode IRC #ubuntu-cloud (if you're new to IRC, use this web UI instead &lt;a href="http://cloud.ubuntu.com/community/irc-chat/"&gt;http://cloud.ubuntu.com/community/irc-chat/&lt;/a&gt;). A great time to discuss this, would be today (Wed) 6pm-UTC during the weekly cloud community meeting. If you miss the meeting no problemo, just talk in the channel anytime, most people are there all the time anyway. I'm already hyper excited. Any questions or feedback? let me know in comments below&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-7159432658278508399?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/7159432658278508399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=7159432658278508399' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/7159432658278508399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/7159432658278508399'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/01/hack-on-ubuntu-cloud-utils.html' title='Hack on Ubuntu Cloud Utils'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm6.static.flickr.com/5204/5369373619_1619a8236b_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-7221982086990317459</id><published>2011-01-17T17:36:00.000+02:00</published><updated>2011-01-17T17:36:28.420+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='server'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='survey'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Help Ubuntu Server, Voice your Opinion</title><content type='html'>&lt;div&gt;Hello Ubuntu Cloud and Server communities. Now is your chance to voice your opinion about Ubuntu server, as well as help make it better! The Ubuntu marketing team would like more insight into why your organization has chosen to deploy Ubuntu on the server/cloud sides (or why they did not) as well as your opinion as to how Ubuntu server can improve. If you're a pro-IT person deploying or supporting Ubuntu server or cloud in any capacity, please help make Ubuntu better by helping us better understand your needs. Here's a survey designed for just that&lt;/div&gt;&lt;div&gt;&lt;a href="http://survey.ubuntu.com/"&gt;http://survey.ubuntu.com/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Thanks!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-7221982086990317459?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/7221982086990317459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=7221982086990317459' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/7221982086990317459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/7221982086990317459'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/01/help-ubuntu-server-voice-your-opinion.html' title='Help Ubuntu Server, Voice your Opinion'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-3958304733812213252</id><published>2011-01-13T20:23:00.000+02:00</published><updated>2011-01-13T20:23:27.332+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='server'/><category scheme='http://www.blogger.com/atom/ns#' term='deployment'/><category scheme='http://www.blogger.com/atom/ns#' term='power'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='datacenter'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Ubuntu Server news storm</title><content type='html'>Check out my interview with Dustin Kirkland. Take a sneak peak into Ubuntu Server's future directions. The server team is working on some pretty exciting technologies for the natty release and later. Things touched on&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Virtualization and LXC improvements&lt;/li&gt;&lt;li&gt;Higher quality Java packaging&lt;/li&gt;&lt;li&gt;Automated Server ISO testing, ensuring rock solid releases&lt;/li&gt;&lt;li&gt;Even more Upstart polish&lt;/li&gt;&lt;li&gt;Improving Ubuntu server's Cluster stack&lt;/li&gt;&lt;li&gt;Datacenter power efficiency with powernap&lt;/li&gt;&lt;li&gt;UEC and EC2 image improvements, pv-grub support&lt;/li&gt;&lt;li&gt;Cloud "desktop" images! wow!&lt;/li&gt;&lt;li&gt;HUGE project for cloud/data-center automatic deployment, management, monitoring, debugging. IMO this takes Ubuntu server way above anything out there. The technology is all about picking and integrating the best of breed open-source server technologies. While you could always do that work yourself, having a tightly integrated stack that is known to work, is what makes Ubuntu server an easy and fun platform to build upon&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Exciting times indeed, check out the full interview at&lt;/div&gt;&lt;br /&gt;Video link: &lt;a href="http://www.youtube.com/watch?v=CWNjzwci5e8"&gt;http://www.youtube.com/watch?v=CWNjzwci5e8&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/CWNjzwci5e8?fs=1&amp;amp;hl=en_US&amp;amp;rel=0&amp;amp;hd=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/CWNjzwci5e8?fs=1&amp;amp;hl=en_US&amp;amp;rel=0&amp;amp;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-3958304733812213252?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/3958304733812213252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=3958304733812213252' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/3958304733812213252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/3958304733812213252'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/01/ubuntu-server-news-storm.html' title='Ubuntu Server news storm'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-2926379507209388683</id><published>2011-01-13T00:52:00.001+02:00</published><updated>2011-01-13T01:04:37.701+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='ebs'/><category scheme='http://www.blogger.com/atom/ns#' term='upgrade'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Upgrade Lucid to Maverick on EC2</title><content type='html'>So you're running Ubuntu server Lucid on EC2 cloud EBS root, and decide you don't really want to wait till the next LTS release (12.04)! You want to upgrade your server to Maverick, well, wait no further. Here's how to do it&lt;br /&gt;&lt;br /&gt;Let's download the list of ec2 images, get a list lucid ebs i386 amis&lt;br /&gt;&lt;pre&gt;ec2-describe-images --all &gt; /tmp/ec2-images&lt;br /&gt;$ grep '099720109477/ebs/ubuntu-images/ubuntu-lucid-10.04-i386' /tmp/ec2-images&lt;br /&gt;&lt;br /&gt;IMAGE ami-714ba518 099720109477/ebs/ubuntu-images/ubuntu-lucid-10.04-i386-server-20100427.1 099720109477 available public  i386machine aki-754aa41c   ebs paravirtual&lt;br /&gt;IMAGE ami-1234de7b 099720109477/ebs/ubuntu-images/ubuntu-lucid-10.04-i386-server-20100827 099720109477 available public  i386 machine aki-5037dd39   ebs paravirtual&lt;br /&gt;IMAGE ami-6c06f305 099720109477/ebs/ubuntu-images/ubuntu-lucid-10.04-i386-server-20100923 099720109477 available public  i386 machine aki-3204f15b   ebs paravirtual&lt;br /&gt;IMAGE ami-480df921 099720109477/ebs/ubuntu-images/ubuntu-lucid-10.04-i386-server-20101020 099720109477 available public  i386 machine aki-6603f70f   ebs paravirtual&lt;br /&gt;IMAGE ami-a2f405cb 099720109477/ebs/ubuntu-images/ubuntu-lucid-10.04-i386-server-20101228 099720109477 available public  i386 machine aki-3af50453   ebs paravirtual&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Start our instance, if you were already running a lucid server, of course you wouldn't have to do that, but for our demo, we'll create a lucid instance to upgrade it to maverick&lt;br /&gt;&lt;pre&gt;$ ec2-run-instances ami-a2f405cb --instance-type t1.micro -k default&lt;br /&gt;RESERVATION r-33271c59 553172479171 default&lt;br /&gt;INSTANCE i-05cd0169 ami-a2f405cb   pending default 0  t1.micro 2011-01-12T20:42:12+0000 us-east-1d aki-3af50453   monitoring-disabled     ebs     paravirtual &lt;br /&gt;$ ec2-describe-instances | awk '-F\t' '$1 == "INSTANCE" { print $4 }'&lt;br /&gt;ec2-67-202-26-253.compute-1.amazonaws.com&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Let's ssh into our to-be-upgraded server, install latest lucid upgrades&lt;br /&gt;&lt;pre&gt;ssh ubuntu@ec2-67-202-26-253.compute-1.amazonaws.com&lt;br /&gt;screen -S upgrade&lt;br /&gt;&lt;br /&gt;sudo apt-get update&lt;br /&gt;sudo apt-get dist-upgrade&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Normally, you wouldn't be able to update a LTS release, except to another LTS release. We'll change that to upgrade to maverick, and start upgrading&lt;br /&gt;&lt;pre&gt;$ sudo sed -i.bak -e 's@lts$@normal@' /etc/update-manager/release-upgrades&lt;br /&gt;&lt;br /&gt;$ do-release-upgrade&lt;br /&gt;Checking for a new ubuntu release&lt;br /&gt;Done Upgrade tool signature&lt;br /&gt;Done Upgrade tool&lt;br /&gt;Done downloading&lt;br /&gt;extracting 'maverick.tar.gz'&lt;br /&gt;authenticate 'maverick.tar.gz' against 'maverick.tar.gz.gpg'&lt;br /&gt;tar: Removing leading `/' from member names&lt;br /&gt;&lt;br /&gt;Reading cache&lt;br /&gt;&lt;br /&gt;Checking package manager&lt;br /&gt;Reading package lists... Done&lt;br /&gt;Building dependency tree&lt;br /&gt;Reading state information... Done&lt;br /&gt;Building data structures... Done&lt;br /&gt;Reading package lists... Done&lt;br /&gt;Building dependency tree&lt;br /&gt;Reading state information... Done&lt;br /&gt;Building data structures... Done&lt;br /&gt;&lt;br /&gt;Updating repository information&lt;br /&gt;WARNING: Failed to read mirror file&lt;br /&gt;100% [Working]&lt;br /&gt;Checking package manager&lt;br /&gt;Reading package lists... Done&lt;br /&gt;Building dependency tree&lt;br /&gt;Reading state information... Done&lt;br /&gt;Building data structures... Done&lt;br /&gt;&lt;br /&gt;Calculating the changes&lt;br /&gt;&lt;br /&gt;Calculating the changes&lt;br /&gt;&lt;br /&gt;Do you want to start the upgrade?&lt;br /&gt;&lt;br /&gt;2 installed packages are no longer supported by Canonical. You can&lt;br /&gt;still get support from the community.&lt;br /&gt;&lt;br /&gt;3 packages are going to be removed. 29 new packages are going to be&lt;br /&gt;installed. 274 packages are going to be upgraded.&lt;br /&gt;&lt;br /&gt;You have to download a total of 124M. This download will take about&lt;br /&gt;15 minutes with a 1Mbit DSL connection and about 4 hours with a 56k&lt;br /&gt;modem.&lt;br /&gt;&lt;br /&gt;Fetching and installing the upgrade can take several hours. Once the&lt;br /&gt;download has finished, the process cannot be cancelled.&lt;br /&gt;&lt;br /&gt;Continue [yN]  Details [d]&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Agree to any prompts while upgrading, till it actually finishes. Let's not reboot the server, instead we power it off&lt;br /&gt;&lt;pre&gt;System upgrade is complete.&lt;br /&gt;Restart required &lt;br /&gt;&lt;br /&gt;To finish the upgrade, a restart is required. &lt;br /&gt;If you select 'y' the system will be restarted. &lt;br /&gt;&lt;br /&gt;Continue [yN]n&lt;br /&gt;$ sudo poweroff&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now what happened is the server has actually been updated from lucid to maverick. However, Amazon would still boot the server using a lucid kernel. That's because for ec2 the kernel is stored outside of the ebs image itself. However, recently amazon added the ability to use pv-grub for booting, that's basically a way to chainload the kernel from inside the ebs image and boot that. That actually makes the cloud server behave just like a bare metal server, which is always a good thing :) To get the aki ID for the pv-grub kernel, we simply grep for the latest maverick images, since those already have pv-grub attached to them&lt;br /&gt;&lt;pre&gt;$ grep '099720109477/ebs/ubuntu-images/ubuntu-maverick-10.10-i386' /tmp/ec2-images&lt;br /&gt;IMAGE ami-508c7839 099720109477/ebs/ubuntu-images/ubuntu-maverick-10.10-i386-server-20101007.1 099720109477 available public  i386machine aki-407d9529   ebs paravirtual&lt;br /&gt;IMAGE ami-ccf405a5 099720109477/ebs/ubuntu-images/ubuntu-maverick-10.10-i386-server-20101225 099720109477 available public  i386machine aki-407d9529   ebs paravirtual&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now let's switch the upgraded image to use the pv-grub kernel&lt;br /&gt;&lt;pre&gt;ec2-modify-instance-attribute i-05cd0169 --kernel aki-407d9529&lt;br /&gt;kernel i-05cd0169 aki-407d9529&lt;br /&gt;$ ec2-start-instances i-05cd0169&lt;br /&gt;INSTANCE i-05cd0169 stopped pending&lt;br /&gt;&lt;br /&gt;$ ec2-describe-instances&lt;br /&gt;RESERVATION r-33271c59 553172479171 default&lt;br /&gt;INSTANCE i-05cd0169 ami-a2f405cb ec2-50-16-133-253.compute-1.amazonaws.com ip-10-112-53-225.ec2.internal running default 0  t1.micro 2011-01-12T21:27:51+0000 us-east-1d aki-407d9529   monitoring-disabled 50.16.133.253 10.112.53.225   ebs     paravirtual &lt;br /&gt;BLOCKDEVICE /dev/sda1 vol-dc7bc9b4 2011-01-12T20:42:22.000Z &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;We're done, let's ssh into the new instance, and make sure it's running maverick kernel&lt;br /&gt;&lt;pre&gt;ssh ubuntu@ec2-50-16-133-253.compute-1.amazonaws.com&lt;br /&gt;$ uname -r&lt;br /&gt;2.6.35-24-virtual&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;voila, mission accomplished. Don't forget to terminate your instance&lt;br /&gt;&lt;pre&gt;$ ec2-terminate-instances i-05cd0169&lt;br /&gt;INSTANCE i-05cd0169 running shutting-down&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-2926379507209388683?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/2926379507209388683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=2926379507209388683' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/2926379507209388683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/2926379507209388683'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/01/upgrade-lucid-to-maverick-on-ec2.html' title='Upgrade Lucid to Maverick on EC2'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-7195540155366664441</id><published>2011-01-11T20:51:00.000+02:00</published><updated>2011-01-11T20:51:39.903+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='interview'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Jono'ed at Dallas sprint</title><content type='html'>I'm attending Ubuntu's sprint at Dallas, and I've just been Jono'ed. Check out this video where Jono asks me about everything cloud communitish. If you wanna know how to get involved with the ubuntu cloud community, there are some good pointers in &lt;a href="http://www.youtube.com/user/ubuntudevelopers#p/a/u/1/Xs4HC1PDvl4"&gt;there&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;object style="height: 390px; width: 640px"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Xs4HC1PDvl4?version=3"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/Xs4HC1PDvl4?version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-7195540155366664441?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/7195540155366664441/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=7195540155366664441' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/7195540155366664441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/7195540155366664441'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/01/jonoed-at-dallas-sprint.html' title='Jono&apos;ed at Dallas sprint'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-1581758270348137836</id><published>2011-01-06T18:25:00.003+02:00</published><updated>2011-01-07T18:10:06.241+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wordpress'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud-init'/><category scheme='http://www.blogger.com/atom/ns#' term='LAMP'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='ec2'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Cloud LAMP Stack in 60 seconds</title><content type='html'>Need to setup a LAMP development or test environment ? on the cloud ? Ubuntu server ? Think it's hard ? Think again! See me setup a LAMP stack, get wordpress up and running in less seconds than most people can eat a sandwich! Check out this video&lt;br /&gt;&lt;br /&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/HinDARd72nQ?fs=1&amp;amp;hl=en_US&amp;amp;rel=0&amp;amp;hd=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/HinDARd72nQ?fs=1&amp;amp;hl=en_US&amp;amp;rel=0&amp;amp;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;If you'd like to download the cloud-init file used, as well as other similar files, visit the &lt;a href="http://bazaar.launchpad.net/~awstrial-dev/awstrial/trunk/files/head:/awstrial/templates/cloud-init/"&gt;awstrial project&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-1581758270348137836?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/1581758270348137836/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=1581758270348137836' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/1581758270348137836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/1581758270348137836'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/01/cloud-lamp-stack-in-60-seconds.html' title='Cloud LAMP Stack in 60 seconds'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-4315487649765046746</id><published>2011-01-03T19:09:00.000+02:00</published><updated>2011-01-03T19:09:12.984+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='custom'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud-init'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='handler'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Advanced cloud-init custom handlers</title><content type='html'>I love &lt;a href="https://help.ubuntu.com/community/CloudInit"&gt;cloud-init&lt;/a&gt;, the Ubuntu cloud technology that enables a cloud instance to bootstrap itself and customize itself into whatever you want it to be (coming from a generic image). I had previously created a &lt;a href="http://foss-boss.blogspot.com/2010/12/introducing-ubuntu-cloud-init.html"&gt;screencast introducing cloud-init&lt;/a&gt;, and written an article on running &lt;a href="http://foss-boss.blogspot.com/2010/12/cloud-instance-with-cloud-init-on-kvm.html"&gt;cloud-init locally over KVM&lt;/a&gt;. This time however, I demonstrate some advanced cloud-init foo, namely how to write a custom content handler in python. Pass the code and data over the cloud's user-data, and watch your code crunch on the data. The possibilities are endless, using this technique you are basically writing plugins for cloud-init allowing you to do almost anything. Ok, enough babbling, let's do some cool stuff&lt;br /&gt;&lt;br /&gt;We need the "write-mime-multipart" script from cloud-init. I would not recommend installing cloud-init on your own machine, since cloud-init is designed to be run on cloud instances (not physical nodes). If you do install it on your own machine, it blocks the boot process waiting for the cloud userdata service to appear (which it never does), so you end up waiting a lot! To get the script, we just check out the code directly&lt;br /&gt;&lt;pre&gt;bzr branch lp:cloud-init&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;You'll find that script in the tools/ directory. Assuming you could run &lt;a href="http://foss-boss.blogspot.com/2010/12/cloud-instance-with-cloud-init-on-kvm.html"&gt;cloud-init on local KVM&lt;/a&gt;, we now need to replace the user-data file, which in the previous article was written using cloud-config syntax, with a new file. The new user-data file is a multipart file composed of custom python code and data you want your python code to chew on! Here is how you create the file&lt;br /&gt;&lt;pre&gt;./write-mime-multipart --output user-data part-handler.txt one:text/plain two:text/plain&lt;/pre&gt;&lt;br /&gt;Let's take a look at the contents of those files. Files "one" and "two" are the data, while "part-handler.txt" is the python code adapted from cloud-init. In our case, I chose to let our part handler be a "user-creation" provider, i.e. you supply a list of user names in the data file, the code loops over them creating them. Simple enough for an example I hope. Let's check out the data files&lt;br /&gt;&lt;pre&gt;$ cat one&lt;br /&gt;jhonny&lt;br /&gt;cash&lt;br /&gt;$ cat two &lt;br /&gt;agent&lt;br /&gt;smith&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;These two files hold the 4 users to be created! I split them into 2 files, just to demo you could have multiple input files. Now let's check out the code living in part-handler.txt&lt;br /&gt;&lt;pre&gt;#part-handler&lt;br /&gt;# vi: syntax=python ts=4&lt;br /&gt;&lt;br /&gt;def list_types():&lt;br /&gt;    # return a list of mime-types that are handled by this module&lt;br /&gt;    return(["text/plain", "text/go-cubs-go"])&lt;br /&gt;&lt;br /&gt;def handle_part(data,ctype,filename,payload):&lt;br /&gt;    # data: the cloudinit object&lt;br /&gt;    # ctype: '__begin__', '__end__', or the specific mime-type of the part&lt;br /&gt;    # filename: the filename for the part, or dynamically generated part if&lt;br /&gt;    #           no filename is given attribute is present&lt;br /&gt;    # payload: the content of the part (empty for begin or end)&lt;br /&gt;    if ctype == "__begin__":&lt;br /&gt;       print "my handler is beginning"&lt;br /&gt;       return&lt;br /&gt;    if ctype == "__end__":&lt;br /&gt;       print "my handler is ending"&lt;br /&gt;       return&lt;br /&gt;&lt;br /&gt;    print "==== received ctype=%s filename=%s ====" % (ctype,filename)&lt;br /&gt;    import os&lt;br /&gt;    for user in payload.splitlines():&lt;br /&gt;        print " == Creating user %s" % (user)&lt;br /&gt;        os.system('sudo useradd -p ubuntu -m %s' % (user) )&lt;br /&gt;    print "==== end ctype=%s filename=%s" % (ctype, filename)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Most of the code is just boiler plate. The code needs to implement two functions "list_types()" that returns a list of content types that this code can handle. In our case, we return "text/plain" and "text/go-cubs-go". Note that when we ran "write-mime-multipart" we used the mime type text/plain, and that is the reason cloud-init would invoke this code to handle it. Because the code advertises it can handle text/plain types. The second function the code needs to implement is handle_part. This is called at the very beginning and very end for initialization and tear-down. It is also called on each input file (2 times in our case). A sample run looks like&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5320710498/" title="qemu-cloud-init-advanced by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm6.static.flickr.com/5161/5320710498_1472203024.jpg" width="500" height="302" alt="qemu-cloud-init-advanced" /&gt;&lt;/a&gt;&lt;br /&gt;and sure enough, the 4 users were created&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5320749380/" title="qemu-cloud-init-users-created by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm6.static.flickr.com/5161/5320749380_a3fdede4c8.jpg" width="500" height="302" alt="qemu-cloud-init-users-created" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;That should be everything you need to know about writing custom mime type handlers as extensions to cloud-init. Indeed that is some pretty amazing stuff! Any questions or comments, leave a comment&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-4315487649765046746?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/4315487649765046746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=4315487649765046746' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/4315487649765046746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/4315487649765046746'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2011/01/advanced-cloud-init-custom-handlers.html' title='Advanced cloud-init custom handlers'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm6.static.flickr.com/5161/5320710498_1472203024_t.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-1516993576688874082</id><published>2010-12-31T16:29:00.000+02:00</published><updated>2010-12-31T16:29:02.062+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='contribute'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><title type='text'>Cloud Community Flash, Adnane</title><content type='html'>Being my last post of 2010 (Hello 2011!) I wanted it to be special, thus I would like to thank every member and contributor to the Ubuntu cloud community, the whole Ubuntu community, and more generally Linux and the rest of the Open-Source world!&lt;br /&gt;&lt;br /&gt;Let's meet Adnane Belmadiaf. Adnane is a committed Ubuntu community member, who has been rocking for the past few months. He's done some great work on the &lt;a href="http://cloud.ubuntu.com/"&gt;Ubuntu cloud portal&lt;/a&gt;. I asked him for a few words about himself, and here's what he has to say&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_dzmrmjmgmI4/TR3nCdmLNWI/AAAAAAAABBc/6Hb0j_xx71o/s1600/daker.png" imageanchor="1" style="clear:right; float:right; margin-left:1em; margin-bottom:1em"&gt;&lt;img border="0" height="165" width="124" src="http://4.bp.blogspot.com/_dzmrmjmgmI4/TR3nCdmLNWI/AAAAAAAABBc/6Hb0j_xx71o/s400/daker.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;AB: Hi, I'm Adnane, a 22 years old Ubuntu user based in Morocco. I was born to be a Web developer (Yes i am a CSS ninja XD) and I am a happy Linux user since 2008. I started actively contributing in 2009. I participated in many projects for Ubuntu such as (The Ubuntu Manual Project, LoCo Directory, and the Ubuntu Cloud Portal). It is a very good experience for me because I learnt and still learn a lot of things from others! The Ubuntu community is something that I’m very passionate about. It’s just awesome to see how it grows and evolves.it’s an inspiring environment to be part of!&lt;br /&gt;&lt;br /&gt;AK: What keeps you motivated contributing to Ubuntu?&lt;br /&gt;&lt;br /&gt;There are a lot of things that help me to stay motivated, but first and foremost - it's the great people i am working with, the atmosphere is always fun and everybody around you is there for support. You know that you're not alone. The appreciation for the work i have done - When a project/work is done there is that quite nice "Thank You" that keeps me motivated all the time. I'm constantly challenged to learn new things and I simply enjoy coding and solving problems. I would tell to everyone who want to be involved on the community, that patience and good work are the keys to success. it’s almost one year since i joined the community and the results are quite surprising. I now think I am ready to apply for an Ubuntu membership, which I am currently pursuing. Wish me luck :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-1516993576688874082?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/1516993576688874082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=1516993576688874082' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/1516993576688874082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/1516993576688874082'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/12/cloud-community-flash-adnane.html' title='Cloud Community Flash, Adnane'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_dzmrmjmgmI4/TR3nCdmLNWI/AAAAAAAABBc/6Hb0j_xx71o/s72-c/daker.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-2636182995352390715</id><published>2010-12-30T15:02:00.000+02:00</published><updated>2010-12-30T15:02:39.476+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cloud-init'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='kvm'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Cloud Instance with Cloud-Init on KVM</title><content type='html'>I wanted to run an Ubuntu server cloud instance locally on KVM hypervisor. I also wanted to run cloud-init on the local setup in order to experiment a bit with it. So that means, downloading a UEC image, booting it under KVM, and passing cloud-init parameters to it as it boots. Much to my surprise things were far easier than I expected, all thanks to our rocking Ubuntu cloud team. Here's the script I cobbled together, most of it is basically a rip off from this &lt;a href="https://help.ubuntu.com/community/UEC/Images"&gt;UEC Images wiki page&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So what this does is, it:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Downloads a UEC image of natty server daily i386 if it doesn't exist&lt;/li&gt;&lt;li&gt;Sets a few variables&lt;/li&gt;&lt;li&gt;Creates a qcow disk image, shadowing/cowing/differencing the downloaded image. This is to keep the originally downloaded image&amp;nbsp;pristine&lt;/li&gt;&lt;li&gt;Downloads some sample user-data and meta-data (&lt;b&gt;warning&lt;/b&gt;, this runs arbitrary commands and injects keys inside your VM, only use for testing!). To experiment with cloud-init you'd have to modify the user-data to your liking&lt;/li&gt;&lt;li&gt;Runs a local simple webserver (port 8000)&lt;/li&gt;&lt;li&gt;Boots the cow image in a local kvm. As it boots, you'll notice on your terminal the following two requests being made "GET /meta-data" and "GET /user-data". Cloud-init uses this data to customize the image as it boots&lt;/li&gt;&lt;li&gt;Once you close kvm, kills the web-server&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;So all you need to do, is create an empty directory, put this script in it and run it&lt;/div&gt;&lt;pre style="background-color: white; color: black; font-family: monospace;"&gt;&lt;span class="Identifier" style="color: darkcyan;"&gt;uecnattyservercurrent&lt;/span&gt;=&lt;a href="http://uec-images.ubuntu.com/server/natty/current/natty-server-uec-i386.tar.gz"&gt;http://uec-images.ubuntu.com/server/natty/current/natty-server-uec-i386.tar.gz&lt;/a&gt;&lt;br /&gt;&lt;span class="Identifier" style="color: darkcyan;"&gt;tarball&lt;/span&gt;=$(&lt;span class="Special" style="color: slateblue;"&gt;basename &lt;/span&gt;&lt;span class="PreProc" style="color: #a020f0;"&gt;$uecnattyservercurrent&lt;/span&gt;)&lt;br /&gt;&lt;span class="Statement" style="color: brown; font-weight: bold;"&gt;[&lt;/span&gt; &lt;span class="Statement" style="color: brown; font-weight: bold;"&gt;-f&lt;/span&gt; &lt;span class="PreProc" style="color: #a020f0;"&gt;${&lt;/span&gt;&lt;span class="PreProc" style="color: #a020f0;"&gt;tarball&lt;/span&gt;&lt;span class="PreProc" style="color: #a020f0;"&gt;}&lt;/span&gt; &lt;span class="Statement" style="color: brown; font-weight: bold;"&gt;]&lt;/span&gt; || wget &lt;span class="PreProc" style="color: #a020f0;"&gt;${&lt;/span&gt;&lt;span class="PreProc" style="color: #a020f0;"&gt;uecnattyservercurrent&lt;/span&gt;&lt;span class="PreProc" style="color: #a020f0;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class="Identifier" style="color: darkcyan;"&gt;contents&lt;/span&gt;=&lt;span class="PreProc" style="color: #a020f0;"&gt;${&lt;/span&gt;&lt;span class="PreProc" style="color: #a020f0;"&gt;tarball&lt;/span&gt;&lt;span class="PreProc" style="color: #a020f0;"&gt;}&lt;/span&gt;.contents&lt;br /&gt;tar &lt;span class="Special" style="color: slateblue;"&gt;-Sxvzf&lt;/span&gt; &lt;span class="PreProc" style="color: #a020f0;"&gt;${&lt;/span&gt;&lt;span class="PreProc" style="color: #a020f0;"&gt;tarball&lt;/span&gt;&lt;span class="PreProc" style="color: #a020f0;"&gt;}&lt;/span&gt; | tee &lt;span class="Statement" style="color: brown; font-weight: bold;"&gt;"&lt;/span&gt;&lt;span class="PreProc" style="color: #a020f0;"&gt;${&lt;/span&gt;&lt;span class="PreProc" style="color: #a020f0;"&gt;contents&lt;/span&gt;&lt;span class="PreProc" style="color: #a020f0;"&gt;}&lt;/span&gt;&lt;span class="Statement" style="color: brown; font-weight: bold;"&gt;"&lt;/span&gt;&lt;br /&gt;cat natty-server-uec-i386.tar.gz.contents&lt;br /&gt;&lt;span class="Identifier" style="color: darkcyan;"&gt;base&lt;/span&gt;=$(&lt;span class="Special" style="color: slateblue;"&gt;sed -n &lt;/span&gt;&lt;span class="Statement" style="color: brown; font-weight: bold;"&gt;'&lt;/span&gt;&lt;span class="Constant" style="color: magenta;"&gt;s/.img$//p&lt;/span&gt;&lt;span class="Statement" style="color: brown; font-weight: bold;"&gt;'&lt;/span&gt;&lt;span class="Special" style="color: slateblue;"&gt; &lt;/span&gt;&lt;span class="Statement" style="color: brown; font-weight: bold;"&gt;"&lt;/span&gt;&lt;span class="PreProc" style="color: #a020f0;"&gt;${&lt;/span&gt;&lt;span class="PreProc" style="color: #a020f0;"&gt;contents&lt;/span&gt;&lt;span class="PreProc" style="color: #a020f0;"&gt;}&lt;/span&gt;&lt;span class="Statement" style="color: brown; font-weight: bold;"&gt;"&lt;/span&gt;)&lt;br /&gt;&lt;span class="Identifier" style="color: darkcyan;"&gt;kernel&lt;/span&gt;=$(&lt;span class="Special" style="color: slateblue;"&gt;echo &lt;/span&gt;&lt;span class="PreProc" style="color: #a020f0;"&gt;${&lt;/span&gt;&lt;span class="PreProc" style="color: #a020f0;"&gt;base&lt;/span&gt;&lt;span class="PreProc" style="color: #a020f0;"&gt;}&lt;/span&gt;&lt;span class="Special" style="color: slateblue;"&gt;-vmlinuz-*&lt;/span&gt;)&lt;br /&gt;&lt;span class="Identifier" style="color: darkcyan;"&gt;floppy&lt;/span&gt;=&lt;span class="PreProc" style="color: #a020f0;"&gt;${&lt;/span&gt;&lt;span class="PreProc" style="color: #a020f0;"&gt;base&lt;/span&gt;&lt;span class="PreProc" style="color: #a020f0;"&gt;}&lt;/span&gt;-floppy&lt;br /&gt;&lt;span class="Identifier" style="color: darkcyan;"&gt;img&lt;/span&gt;=&lt;span class="PreProc" style="color: #a020f0;"&gt;${&lt;/span&gt;&lt;span class="PreProc" style="color: #a020f0;"&gt;base&lt;/span&gt;&lt;span class="PreProc" style="color: #a020f0;"&gt;}&lt;/span&gt;.img&lt;br /&gt;qemu-img create &lt;span class="Special" style="color: slateblue;"&gt;-f&lt;/span&gt; qcow2 &lt;span class="Special" style="color: slateblue;"&gt;-b&lt;/span&gt; &lt;span class="PreProc" style="color: #a020f0;"&gt;${&lt;/span&gt;&lt;span class="PreProc" style="color: #a020f0;"&gt;img&lt;/span&gt;&lt;span class="PreProc" style="color: #a020f0;"&gt;}&lt;/span&gt; disk.img&lt;br /&gt;wget &lt;a href="http://smoser.brickies.net/ubuntu/uec-seed/meta-data"&gt;http://smoser.brickies.net/ubuntu/uec-seed/meta-data&lt;/a&gt;&lt;br /&gt;wget &lt;a href="http://smoser.brickies.net/ubuntu/uec-seed/user-data"&gt;http://smoser.brickies.net/ubuntu/uec-seed/user-data&lt;/a&gt;&lt;br /&gt;python &lt;span class="Special" style="color: slateblue;"&gt;-m&lt;/span&gt; SimpleHTTPServer &amp;amp;&lt;br /&gt;&lt;span class="Identifier" style="color: darkcyan;"&gt;websrvpid&lt;/span&gt;=&lt;span class="PreProc" style="color: #a020f0;"&gt;$!&lt;/span&gt;&lt;br /&gt;kvm &lt;span class="Special" style="color: slateblue;"&gt;-drive&lt;/span&gt; &lt;span class="Identifier" style="color: darkcyan;"&gt;file&lt;/span&gt;=&lt;span class="Identifier" style="color: darkcyan;"&gt;disk.img,if&lt;/span&gt;=&lt;span class="Identifier" style="color: darkcyan;"&gt;virtio,boot&lt;/span&gt;=on &lt;span class="Special" style="color: slateblue;"&gt;-kernel&lt;/span&gt; &lt;span class="Statement" style="color: brown; font-weight: bold;"&gt;"&lt;/span&gt;&lt;span class="PreProc" style="color: #a020f0;"&gt;${&lt;/span&gt;&lt;span class="PreProc" style="color: #a020f0;"&gt;kernel&lt;/span&gt;&lt;span class="PreProc" style="color: #a020f0;"&gt;}&lt;/span&gt;&lt;span class="Statement" style="color: brown; font-weight: bold;"&gt;"&lt;/span&gt; &lt;span class="Special" style="color: slateblue;"&gt;-append&lt;/span&gt; &lt;span class="Statement" style="color: brown; font-weight: bold;"&gt;"&lt;/span&gt;&lt;span class="Constant" style="color: magenta;"&gt;ro init=/usr/lib/cloud-init/uncloud-init root=/dev/vda ds=nocloud-net;s=&lt;a href="http://192.168.122.1:8000/"&gt;http://192.168.122.1:8000/&lt;/a&gt; ubuntu-pass=ubuntu&lt;/span&gt;&lt;span class="Statement" style="color: brown; font-weight: bold;"&gt;"&lt;/span&gt;&lt;br /&gt;&lt;span class="Statement" style="color: brown; font-weight: bold;"&gt;kill&lt;/span&gt; &lt;span class="PreProc" style="color: #a020f0;"&gt;$websrvpid&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-2636182995352390715?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/2636182995352390715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=2636182995352390715' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/2636182995352390715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/2636182995352390715'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/12/cloud-instance-with-cloud-init-on-kvm.html' title='Cloud Instance with Cloud-Init on KVM'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-146145313101234681</id><published>2010-12-27T18:52:00.000+02:00</published><updated>2010-12-27T18:52:58.775+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='contribute'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='articles'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Ubuntu Cloud Tech Content</title><content type='html'>I had sent out calls to the Ubuntu cloud community asking what kind of technical content or training materials (tutorials, screencasts ..etc) they were interested in seeing. I got quite some feedback that boils down to the following being the top 10 topics&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Modifying Ubuntu images and rebundling to EC2&lt;/li&gt;&lt;li&gt;Creating images from scratch with vmbuilder&lt;/li&gt;&lt;li&gt;P2V and V2V conversions (Physical, VirtualBox, VMware...)&lt;/li&gt;&lt;li&gt;Advanced cloud-init (custom handlers, multi-server, includes)&lt;/li&gt;&lt;li&gt;Provisioning and deploying Web applications (e.g. rails, django) to the cloud&lt;/li&gt;&lt;li&gt;Best practices for upgrading a server install cross-release&lt;/li&gt;&lt;li&gt;Load balanced LAMP multi-tier installation&lt;/li&gt;&lt;li&gt;Best practices around creating cloud instance snapshots&lt;/li&gt;&lt;li&gt;Backing up live cloud instances&lt;/li&gt;&lt;li&gt;Restoring cloud servers from backup/snapshots&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Now, what's a better way to spend your holidays than hacking together content addressing those needs! Yup, nothing beats helping your fellow Ubuntuians :) So if you're feeling like contributing content to any of the above, drop me a comment or shoot me an email (kim0 AT ubuntu.com). If you'd like to contribute to some other content, do grab me as well! If you're unsure, or want to talk about how you can get involved (there's always a way) tune in to the weekly &lt;a href="http://cloud.ubuntu.com/community/cloud-community-weekly-meeting/"&gt;cloud community hour&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-146145313101234681?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/146145313101234681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=146145313101234681' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/146145313101234681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/146145313101234681'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/12/ubuntu-cloud-tech-content.html' title='Ubuntu Cloud Tech Content'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-3871691626859913208</id><published>2010-12-15T15:17:00.000+02:00</published><updated>2010-12-15T15:17:01.490+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='meeting'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Ubuntu Cloud Community Meeting</title><content type='html'>Just a quick update, the weekly cloud community meeting time has been changed to &lt;b&gt;6pm-UTC&lt;/b&gt;, so that the US is awake. Everyone is invited, it's a free party! Once in the meeting, we'll all be helping each other out, trying to answer questions, having discussions, agreeing, disagreeing but most certainly having fun :) If you're not sure whether or not you should attend, trust me you should. It's a free form meeting where everything goes! So come along and bring your friends.&lt;br /&gt;&lt;br /&gt;More details on how to join are at:&amp;nbsp;&lt;a href="https://wiki.ubuntu.com/UbuntuCloudMeeting"&gt;https://wiki.ubuntu.com/UbuntuCloudMeeting&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-3871691626859913208?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/3871691626859913208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=3871691626859913208' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/3871691626859913208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/3871691626859913208'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/12/ubuntu-cloud-community-meeting.html' title='Ubuntu Cloud Community Meeting'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-7630117780256784495</id><published>2010-12-13T14:18:00.001+02:00</published><updated>2010-12-13T14:20:12.600+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FTBFS'/><category scheme='http://www.blogger.com/atom/ns#' term='packaging'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='natty'/><category scheme='http://www.blogger.com/atom/ns#' term='eucalyptus'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Fix Eucalyptus for Natty yourself</title><content type='html'>In a &lt;a href="http://foss-boss.blogspot.com/2010/12/help-fix-ubuntu-server-packages-ftbfs.html"&gt;previous post&lt;/a&gt; I mentioned how the Ubuntu server community needs your help fixing some broken packages on the next shiny Ubuntu release "Natty". I wanted to see just how difficult can it be to actually fix those bugs, so I decided to go crunching on a couple. Much to my surprise, fixing those bugs turned out to be way much easier than I thought. I created a &lt;a href="https://code.launchpad.net/~kim0/ubuntu/natty/bacula/ftbfs-fix/+merge/43327"&gt;couple&lt;/a&gt; of &lt;a href="https://code.launchpad.net/~kim0/ubuntu/natty/ibmasm-utils/ftbfs-fix/+merge/43395"&gt;patches&lt;/a&gt;, mostly just adding one parameter or moving things around to make the build process happy, submitted the branches for review, et voila it gets reviewed, merged, and the bug which is attached to your branch gets automatically closed. Quite an easy process indeed! Once the bug closes, you get an exceptionally warm fuzzy feeling that you just helped the world, contributed to making millions of Ubuntu users happy!&lt;br /&gt;&lt;br /&gt;Which brings us to this post, I see the Eucalyptus package is broken on natty as well. The list of remaining packages is at:&amp;nbsp;&lt;a href="http://tinyurl.com/server-ftbfs"&gt;http://tinyurl.com/server-ftbfs&lt;/a&gt;&amp;nbsp;As can be seen, the Eucalyptus packages are "High Importance", so this is quite a significant contribution from anyone who cares about the helping the cloud community (or the server community in general). I would like to encourage you to start fixing those bugs, if you'd like help the #ubuntu-motu channel should be very helpful&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-7630117780256784495?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/7630117780256784495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=7630117780256784495' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/7630117780256784495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/7630117780256784495'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/12/fix-eucalyptus-for-natty-yourself.html' title='Fix Eucalyptus for Natty yourself'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-8820136146227854586</id><published>2010-12-10T13:33:00.000+02:00</published><updated>2010-12-10T13:33:47.841+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='server'/><category scheme='http://www.blogger.com/atom/ns#' term='FTBFS'/><category scheme='http://www.blogger.com/atom/ns#' term='packaging'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Help Fix Ubuntu Server Packages FTBFS</title><content type='html'>With every transition to a new Ubuntu release, certain packages break due to different reasons such as newer versions of&amp;nbsp;components, an updated tool-chain&amp;nbsp;and so on. Since we all love and care about Ubuntu Server, here is a list of Ubuntu server packages that currently FTBFS (Fails to Build from Source)&lt;br /&gt;&lt;a href="http://tinyurl.com/server-ftbfs"&gt;http://tinyurl.com/server-ftbfs&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This means that those packages are not compiling and building the intended binary packages on Natty. This is a great way for you to get involved! If you know how to build packages from source code (the trio ./configure ; make ; make install) and can debug things like missing development packages, missing headers ...etc, then this will be a walk in the park for you :) Everyone's&amp;nbsp;favorite&amp;nbsp;&lt;a href="http://daniel.holba.ch/blog/"&gt;Daniel Holbach&lt;/a&gt; is working on a proper guide for fixing these things, however for now you can find lots of useful information at&lt;br /&gt;&lt;a href="https://wiki.ubuntu.com/Bugs/HowToFix"&gt;https://wiki.ubuntu.com/Bugs/HowToFix&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In case you need help, the channel #ubuntu-motu on freenode IRC is a good place to ask&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-8820136146227854586?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/8820136146227854586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=8820136146227854586' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/8820136146227854586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/8820136146227854586'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/12/help-fix-ubuntu-server-packages-ftbfs.html' title='Help Fix Ubuntu Server Packages FTBFS'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-6006837667455338113</id><published>2010-12-08T16:16:00.000+02:00</published><updated>2010-12-08T16:16:32.369+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cloud-init'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='configuration'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='management'/><category scheme='http://www.blogger.com/atom/ns#' term='ec2'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Introducing Ubuntu Cloud-Init Technology</title><content type='html'>Ubuntu Cloud-init is an awesome piece of software that helps Ubuntu run as great as it does on the cloud. Cloud-init kicks in as the server boots, and starts converting your server from the generic template it has been started from, into the server image you need. Coupled with the easy to use cloud-config syntax, it's just so easy and quick getting this rolling. Check out this screencast, where I introduce cloud-init and demo what it can be used for&lt;br /&gt;&lt;br /&gt;&lt;object height="745" width="1280"&gt;&lt;param name="movie" value="http://www.youtube.com/v/-zL3BdbKyGY?fs=1&amp;amp;hl=en_US&amp;amp;rel=0&amp;amp;hd=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/-zL3BdbKyGY?fs=1&amp;amp;hl=en_US&amp;amp;rel=0&amp;amp;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="1280" height="745"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Questions ? Comments ? I'm all ears, leave me a note in the comments section and I'll reply back&lt;br /&gt;Want to create your own screencasts (it's real easy), ping me (kim0 on irc) and I'll be sure to help you publish them&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-6006837667455338113?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/6006837667455338113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=6006837667455338113' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/6006837667455338113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/6006837667455338113'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/12/introducing-ubuntu-cloud-init.html' title='Introducing Ubuntu Cloud-Init Technology'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-6138157240377073534</id><published>2010-12-03T18:19:00.000+02:00</published><updated>2010-12-03T18:19:37.108+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Announcing Ubuntu Cloud Portal</title><content type='html'>Another rocking day for the Ubuntu Cloud community! The Ubuntu Cloud Portal has just been launched hurray. The portal helps new-comers to the Ubuntu cloud community quickly find interesting information they may care about such as documentation to read/edit, projects that may interest them and so on. In this first release the following is available&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cloud.ubuntu.com/"&gt;Front page&lt;/a&gt;: Lists important news to the Ubuntu Cloud community, latest tweets and happenings (&lt;a href="http://cloud.ubuntu.com/tag/featured/feed/"&gt;RSS&lt;/a&gt;). The front page also features the widely anticipated (drum roll please ... ) &lt;a href="http://cloud.ubuntu.com/ami/"&gt;AMI Locator&lt;/a&gt; application which helps anyone using Ubuntu on the EC2 cloud quickly locate the AMI needed. Go ahead and bookmark this right now&lt;br /&gt;&lt;a href="http://cloud.ubuntu.com/docs/"&gt;Documentation&lt;/a&gt;: Quick links to useful documentation pages on the wiki. If you'd like to start contributing, let me know&lt;br /&gt;&lt;a href="http://cloud.ubuntu.com/community/"&gt;Community&lt;/a&gt;: Pointers to where you should be, mailing lists you should subscribe to, forums and IRC rooms that should interest you&lt;br /&gt;&lt;a href="http://cloud.ubuntu.com/developer/"&gt;Developer&lt;/a&gt;: Once you're ready to start contributing, this page should list all open-source projects that relate to Ubuntu and the cloud. I have added quick links to locate code/bugs/community/features for every project&lt;br /&gt;&lt;a href="http://cloud.ubuntu.com/planet/"&gt;Planet&lt;/a&gt;: Collecting Every word written about Ubuntu Cloud on the world wide web (&lt;a href="http://cloud.ubuntu.com/feed/"&gt;RSS&lt;/a&gt;). If you think your blog should be aggregated here, let me know!&lt;br /&gt;&lt;br /&gt;This is only the first release, so I'm sure lots could be added. Please do ping me if you would like to help improve the portal in anyway, or generally if you'd like to contribute to Ubuntu Cloud efforts. I've put together a quick video demo'ing the portal&lt;br /&gt;&lt;br /&gt;&lt;object height="385" width="640"&gt;&lt;param name="movie" value="http://www.youtube.com/v/8QU68TrGXMU?fs=1&amp;amp;hl=en_US&amp;amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/8QU68TrGXMU?fs=1&amp;amp;hl=en_US&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;I would like to thank the Ubuntu server and cloud teams for their help and guidance. I would also like to thank Adnan Belmadiaf (daker on IRC) for his continued contributions to this portal. Adnan is a 22 years old Ubuntu user living in Salé, Morocco, he works as a Web Developer. He's a member of the &lt;a &amp;nbsp;target="_blank" href="http://ubuntu-ma.org/"&gt;Ubuntu Morrocan Team&lt;/a&gt;, and involved in different projects such as (&lt;a href="http://www.ubuntu-manual.org/" target="_blank"&gt;The Ubuntu Manual Project&lt;/a&gt;,&amp;nbsp;&lt;a href="http://loco.ubuntu.com/" target="_blank"&gt;The Loco Directory&lt;/a&gt;, &lt;a href="http://www.elementary-project.com/" target="_blank"&gt;The elementary project&lt;/a&gt;). It's that fuzzy warm feeling of contributing to Ubuntu that keeps its community rocking. Let me know what you guys think in comments.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-6138157240377073534?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/6138157240377073534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=6138157240377073534' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/6138157240377073534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/6138157240377073534'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/12/announcing-ubuntu-cloud-portal.html' title='Announcing Ubuntu Cloud Portal'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-572990463304794718</id><published>2010-12-03T11:46:00.000+02:00</published><updated>2010-12-03T11:46:50.963+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='forums'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Ubuntu Cloud Forums a great place</title><content type='html'>The Ubuntu Cloud Forum is a great place to be in. We launched the forum about 3 months ago, thinking it may not see much activity. However&amp;nbsp;surprisingly&amp;nbsp;(in a positive sense) we're getting tens of active threads per month, each with hundreds if not thousands of views! Thanks to everyone in the Ubuntu forums community for making this such a great place to be in!&lt;br /&gt;&lt;br /&gt;In case you're wondering, you can easily access the Ubuntu Cloud Forum at:&lt;br /&gt;&lt;a href="http://ubuntuforums.org/forumdisplay.php?f=392&amp;amp;order=desc"&gt;http://ubuntuforums.org/forumdisplay.php?f=392&amp;amp;order=desc&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And if you're an&amp;nbsp;efficiency&amp;nbsp;superhero who wants the information to come right at your fingertips, you can follow the forums RSS feed at:&lt;br /&gt;&lt;a href="http://ubuntuforums.org/external.php?type=RSS2&amp;amp;forumids=392"&gt;http://ubuntuforums.org/external.php?type=RSS2&amp;amp;forumids=392&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The Cloud Forum is not only for people wanting to ask questions (although it's great for that!), it is also a great place for people to share experience and knowledge. If you have just setup UEC on a brand new server farm in some fancy way, or if you've built your infrastructure on top of Ubuntu on EC2 and you're proud of what you've built, chances are others, like yourself, are going to want to learn about how to do the same. So join in and share the love&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-572990463304794718?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/572990463304794718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=572990463304794718' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/572990463304794718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/572990463304794718'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/12/ubuntu-cloud-forums-great-place.html' title='Ubuntu Cloud Forums a great place'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-343302077108438124</id><published>2010-12-01T16:32:00.000+02:00</published><updated>2010-12-01T16:32:14.015+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IRC'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><category scheme='http://www.blogger.com/atom/ns#' term='sessions'/><title type='text'>What Cloud sessions interest you</title><content type='html'>In case you didn't know yet, the Ubuntu cloud community is invited for a weekly gathering on IRC in #ubuntu-cloud. You can find more details &lt;a href="https://wiki.ubuntu.com/UbuntuCloudMeeting"&gt;here&lt;/a&gt;.&amp;nbsp;Once inside feel free to shoot any question you may have about Ubuntu Enterprise Cloud, or running Ubuntu as a guest OS on top of a commercial cloud such as EC2 or otherwise. Also I think it'd be a good idea to start hosting some technical sessions through those meetings. I am volunteering to start hosting, but please grab me if you'd like to host some sessions yourself. I'm reaching out for the community to identify topics you would be interested in discussing through those sessions&lt;br /&gt;&lt;br /&gt;Leave me a comment mentioning what sort of topics you'd be interested in seeing discussed&lt;br /&gt;Leave&amp;nbsp;me a comment if you're willing to host one of those sessions&lt;br /&gt;Leave me a comment if you're running an Ubuntu cloud setup and would like to share your experiences&lt;br /&gt;&lt;br /&gt;You get the idea, leave me a comment because every piece of feedback is valuable. Grab kim0 on irc in #ubuntu-cloud, or shoot me an email to kim0 _AT_ ubuntu.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-343302077108438124?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/343302077108438124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=343302077108438124' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/343302077108438124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/343302077108438124'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/12/what-cloud-sessions-interest-you.html' title='What Cloud sessions interest you'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-1103637780082937746</id><published>2010-11-30T14:02:00.000+02:00</published><updated>2010-11-30T14:02:58.752+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='server'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='ec2'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Ubuntu Server in EC2 Cloud, Easy!</title><content type='html'>I am starting to create a series of screencasts to demonstrate various topics relating to running Ubuntu on the cloud or as the cloud. The first video demos how easy it is to start your very first Ubuntu server in the Amazon EC2 cloud. If you ever wanted to play with Ubuntu server in the cloud and had any doubts, this video should put them to rest :)&lt;br /&gt;&lt;br /&gt;&lt;object height="385" width="640"&gt;&lt;param name="movie" value="http://www.youtube.com/v/rYJLIfVuSMY?fs=1&amp;amp;hl=en_US&amp;amp;hd=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/rYJLIfVuSMY?fs=1&amp;amp;hl=en_US&amp;amp;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;If you think that is cool, and if you want to &lt;a href="http://foss-boss.blogspot.com/2010/11/ubuntu-cloud-screencasts-volunteers.html"&gt;contribute your own, please grab me&lt;/a&gt;.It's real easy to create such screencasts, I can help get you kick-started. And hey you'd be helping the Ubuntu community, and on your way to becoming an online&amp;nbsp;celebrity, what's not to like! If you'd like to follow similar screencasts, subscribe to &lt;a href="http://www.youtube.com/user/ubuntucloud"&gt;this youtube channel&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Let me know in comments what you would like to see in future screencasts, or whether certain topics interest you. If you are using Ubuntu server in the cloud professionally, I'm very interested to hear back from you. Grab me (kim0) on #ubuntu-cloud on IRC (freenode) for a chat. Awaiting the flood of screencasts :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-1103637780082937746?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/1103637780082937746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=1103637780082937746' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/1103637780082937746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/1103637780082937746'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/11/ubuntu-server-in-ec2-cloud-easy.html' title='Ubuntu Server in EC2 Cloud, Easy!'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-3060054816880797027</id><published>2010-11-24T12:23:00.000+02:00</published><updated>2010-11-24T12:23:26.155+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IRC'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='Q+A'/><category scheme='http://www.blogger.com/atom/ns#' term='meeting'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Ubuntu Cloud Q+A weekly meeting</title><content type='html'>The Ubuntu cloud community is coming together today [&amp;nbsp;3pm UTC/GMT / 7am Pacific / 10am Eastern ] for its first weekly Q+A meeting. If you use Ubuntu as a guest OS on a public cloud, or if you have built your own private cloud infrastructure on top of Ubuntu, or even if you're just interested in any of that cloud&amp;nbsp;babel&amp;nbsp;please do join us in this first meeting for a great chance to connect to other users and developers of Ubuntu cloud technology. Through those online meetings you will get a chance to connect to the rest of the Ubuntu cloud community, share experiences, ask questions, find areas that interest you and perhaps start contributing to them&lt;br /&gt;&lt;br /&gt;Information on how to connect and details can be found &lt;a href="https://wiki.ubuntu.com/UbuntuCloudMeeting"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-3060054816880797027?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/3060054816880797027/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=3060054816880797027' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/3060054816880797027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/3060054816880797027'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/11/ubuntu-cloud-qa-weekly-meeting.html' title='Ubuntu Cloud Q+A weekly meeting'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-744671127818302082</id><published>2010-11-22T13:29:00.000+02:00</published><updated>2010-11-22T13:29:48.953+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='screencasts'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Ubuntu Cloud Screencasts Volunteers</title><content type='html'>Interested in Ubuntu cloud community ? Want to help ? Awesome! here is your chance&lt;br /&gt;&lt;br /&gt;Screencasts are a great way to introduce new-comers to something new. I always find it helpful to view a couple of short videos to "get-a-feel" of thingX before I actually start reading and working on it. That's why I'd like to start a screencast series introducing running Ubuntu in the cloud. The target is to start by simple stuff (no voodoo here sorry) in order to demo how simple running Ubuntu in the cloud really is. Of course this can grow into a gigantic series, however for starters I'd like to focus on basic and very common use cases. Here are a few casts I would like to begin with:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: UbuntuBeta, Ubuntu, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; font-size: 14px; line-height: 17px;"&gt;Creating your first Ubuntu server in the cloud (GUI, CLI or both)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: UbuntuBeta, Ubuntu, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; font-size: 14px; line-height: 17px;"&gt;Introducing Ubuntu Cloud-Init technology&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: UbuntuBeta, Ubuntu, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; font-size: 14px; line-height: 17px;"&gt;Customizing (Re-bundling) available Ubuntu images (AMIs)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: UbuntuBeta, Ubuntu, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; font-size: 14px; line-height: 17px;"&gt;Launching a LAMP app on the cloud&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: UbuntuBeta, Ubuntu, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; font-size: 14px; line-height: 17px;"&gt;Backing up your Ubuntu LAMP cloud instance&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: UbuntuBeta, Ubuntu, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif; font-size: 14px; line-height: 17px;"&gt;Creating and Load Balancing a multi-tier LAMP app&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: UbuntuBeta, Ubuntu, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 17px;"&gt;This list is by no means set in stone :) This is a dynamic list that will change according to feedback. Feel free to join the ubuntu-cloud mailing list at:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="https://lists.ubuntu.com/mailman/listinfo/Ubuntu-cloud"&gt;https://lists.ubuntu.com/mailman/listinfo/Ubuntu-cloud&lt;/a&gt;&amp;nbsp;to discuss and change those topics.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: UbuntuBeta, Ubuntu, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 17px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: UbuntuBeta, Ubuntu, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 17px;"&gt;If you're interested to record any of those casts, please do &lt;b&gt;shout at me&lt;/b&gt;! You can email me kim0 [AT] ubuntu.com or grab me for a chat in #ubuntu-cloud IRC channel on Freenode&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: UbuntuBeta, Ubuntu, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 17px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: small; line-height: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;If you're new to all this cloud stuff, and would like to see a screencast covering a certain topic, please let me know in the comments (or email, mailing list, irc ...). If there's some demand on a specific topic, I'll try to cover it. Of course, if you can contribute and cover it yourself, that would be awesome indeed. After all, it's all about the community. Those wishing more information about recording screencasts, can read more information &lt;a href="https://wiki.ubuntu.com/ScreencastTeam/RecordingScreencasts"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Awaiting the flood of excited contributors :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-744671127818302082?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/744671127818302082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=744671127818302082' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/744671127818302082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/744671127818302082'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/11/ubuntu-cloud-screencasts-volunteers.html' title='Ubuntu Cloud Screencasts Volunteers'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-176104416889486314</id><published>2010-11-18T19:17:00.001+02:00</published><updated>2010-11-18T19:21:14.302+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UEC'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud 101'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Cloud Computing 101, p2</title><content type='html'>Continuing my &lt;a href="http://foss-boss.blogspot.com/2010/11/cloud-computing-101.html"&gt;part-1 post&lt;/a&gt; about cloud computing basics, this second post should continue to define different types of "clouds" as well as what you gain and loose by using them&lt;br /&gt;&lt;br /&gt;If you look at a cloud solution, it's really a bunch of software layers stacked on top of each other. You have the hardware (servers, disks, switches, routers), you have bare metal operating systems, hypervisors, virtual servers and inside those you have programming languages (python, java, php), development frameworks, database servers, and your own business logic code living on top! Clouds are categorized as either IaaS, PaaS or SaaS. The type of cloud is basically defined by which layers of the stack the cloud abstracts away from you, and which layers you "own" and control. Another categorization scheme is private, public and hybrid clouds. Let's take a quick tour on what each of those cloud types mean&lt;br /&gt;&lt;br /&gt;IaaS is Infrastructure as a Service. The cloud abstracts away as little as possible from you. Basically the cloud provides you with virtual servers, networking and storage and that's it. You use those building blocks, just as you would use them in any physical datacenter to build your own compute infrastructure. The only difference is that you don't worry about how the servers are powered, cooled, what brand of disk or SAN is used ..etc. All you care about is your provider's SLA as mentioned in part-1. Other than that, it's business as usual&lt;br /&gt;&lt;br /&gt;PaaS is Platform as a Service. The cloud is abstracting away the infrastructure and some more. The cloud in this case is no longer composed of virtual servers and disks, it is however a "development framework". When you write code, you are coding against the platform, against the cloud itself. A PaaS cloud, assuming you're creating a web application, would tell you how to route requests to your handlers, how to write code to handle specific requests, would provide an API for storage, would perhaps provide an API for database (SQL, or noSQL doesn't matter here). Your application code is written against the API of the cloud. As such, you have no idea about "low level" details such as networking, IP addresses, failed servers or even the number of virtual servers running your code! So essentially you upload your code archive and it just runs on the cloud, no questions asked&lt;br /&gt;&lt;br /&gt;SaaS is Software as a Service. In this case, you're only using software running on the cloud that someone else had written. If you've used facebook, Gmail, linkedin, Google docs, SalesForce ...etc that's it. In essence the service you're getting is the actual final "application" you need. This is the highest level of abstraction. You do not concern yourself with infrastructure, nor with code to build an application with. You pay to use the application itself and the SLAs you get are for the application availability and your data availability&lt;br /&gt;&lt;br /&gt;What type of cloud suits you best, is a question that needs some thought and that depends on one's set of requirements. IaaS clouds provide the least abstraction and the most control! They are a good first step to migrating off-the-shelf software to the cloud and benefiting from cheap, on-demand, elastic infrastructure. Since they provide the least abstraction, if you'd like a scalable infrastructure, you would have to do all the work yourself. It is generally not so painful to migrate from an IaaS cloud to another. PaaS clouds however, since they provide higher levels of abstraction, are much easier to manage and scale. It essentially auto-scales delivering cloud computing holy grail. However the big price is that you generally have to rewrite your application to the particular cloud platform. Not only is that painful, but it also may lock you in to the cloud vendor making it extremely hard to change vendors afterwards. Which is why I think the open-source world needs great open-source PaaS cloud frameworks (Have a favorite? drop me a line in the comments section). If a SaaS application meets your needs at a good price point, then the only potential disadvantage would be data lock-in, as well as the (in)ability to mashup the SaaS application with other tools. A good piece of advice here is to choose SaaS applications that provide full API access to your data such that you can easily pull off all data and meta-data should you need to.&lt;br /&gt;&lt;br /&gt;A different categorization of clouds is private vs public. Private simply means that the cloud infrastructure is built in-house behind the firewall. For example you could turn your corporate datacenter into a private cloud. The benefits being, you gain better efficiency  and datacenter utilization across different departments as well as being able to provide an elastic and fast response to your enterprise's departmental IT needs. Should you want to start playing with a private cloud solution, &lt;a href="https://help.ubuntu.com/community/UEC"&gt;Ubuntu Enterprise Cloud&lt;/a&gt; is a good start. Public clouds pertain to a cloud run by a third party service provider. A public cloud is either Iaas, PaaS or SaaS or even a mix of some. Why you would want to migrate some workloads to a public cloud, is simply because public cloud vendors due to their economies of scale are able to provide equivalent if not better service, at a significantly lower price point coupled by the ability to instantly grow. A hybrid cloud on the other hand is a private cloud that can "burst" to a public cloud when its resources are exhausted. The goal is to bring the best of both worlds, the control, data-security of private clouds with the elasticity and economies of large scale public clouds. More and more work-loads are being migrated to the cloud and it's all just starting. &lt;br /&gt;&lt;br /&gt;Has your organization migrated some workloads to the cloud already, are you planning on that? Are you planning on building your own private cloud? Please let me know in the comments, let me know the motivations and the challenges you faced. If you have any questions in general, let me know as well&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-176104416889486314?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/176104416889486314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=176104416889486314' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/176104416889486314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/176104416889486314'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/11/cloud-computing-101-p2.html' title='Cloud Computing 101, p2'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-2368058673636204720</id><published>2010-11-12T17:07:00.000+02:00</published><updated>2010-11-12T17:07:13.896+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='remote desktop'/><category scheme='http://www.blogger.com/atom/ns#' term='x2go'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='desktop'/><category scheme='http://www.blogger.com/atom/ns#' term='NX'/><category scheme='http://www.blogger.com/atom/ns#' term='ec2'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Show Off Ubuntu Desktop on Cloud</title><content type='html'>Want to show off your Ubuntu desktop in the cloud ? Perhaps you want to demo it to some Windows or OSX friends. Perhaps new users at your loco event want to play with Ubuntu for a bit. Well, look no further. In this article I will create an Ubuntu maverick 10.10 desktop in the Amazon ec2 cloud, connect to it using the &lt;a href="http://www.x2go.org/"&gt;x2go&lt;/a&gt; terminal server, which leverages the excellent NX remote display libraries&lt;br /&gt;&lt;br /&gt;Start by launching the following AMI (ami-1a837773). I chose the official Ubuntu 32bit ami, so that we can run it on a m1.small instance. If you're not sure how to launch this instance, you might want to review my &lt;a href="http://foss-boss.blogspot.com/2010/10/pointnclick-guide-to-running-ubuntu-in.html"&gt;point-n-click guide&lt;/a&gt;. After launching the instance and logging in, I do my customary&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;ssh ubuntu@xxxxx   #replace with your instance's public dns name&lt;br /&gt;sudo -i&lt;br /&gt;screen&lt;br /&gt;apt-get update &amp;&amp; apt-get dist-upgrade -y&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Let's install x2go terminal server&lt;br /&gt;&lt;pre&gt;# gpg --keyserver wwwkeys.eu.pgp.net --recv-keys C509840B96F89133&lt;br /&gt;# gpg -a --export C509840B96F89133 | apt-key add -&lt;br /&gt;# echo "deb http://x2go.obviously-nice.de/deb/ lenny main" &gt;&gt; /etc/apt/sources.list&lt;br /&gt;# apt-get update&lt;br /&gt;# apt-get install x2goserver-home&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;h4&gt;Optional step: Switch system to libjpeg-turbo&lt;/h4&gt;I like to break my Ubuntu system by installing unsupported software, so I will be switching the system's default libjpeg into a newer variant that utilizes your CPU's SIMD instruction set to provide better performance. Since connecting to a desktop remotely, heavily utilizes jpeg compression I suspected this step would provide me a performance boost. It is however not recommended, especially to someone who wouldn't be comfortable fixing his system using console only. You need to do the following on the ec2 server and on your own system. I am assuming 32bit systems, you can 32/64 bit versions &lt;a href="http://sourceforge.net/projects/libjpeg-turbo/files/1.0.1/"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;pre&gt;# wget 'http://sourceforge.net/projects/libjpeg-turbo/files/1.0.1/libjpeg-turbo_1.0.1_i386.deb/download' -O libjpeg-turbo_1.0.1_i386.deb&lt;br /&gt;# dpkg -i libjpeg-turbo_1.0.1_i386.deb&lt;br /&gt;Selecting previously deselected package libjpeg-turbo.&lt;br /&gt;(Reading database ... 25967 files and directories currently installed.)&lt;br /&gt;Unpacking libjpeg-turbo (from libjpeg-turbo_1.0.1_i386.deb) ...&lt;br /&gt;Setting up libjpeg-turbo (1.0.1-20100909) ...&lt;br /&gt;&lt;br /&gt;# ls -l /usr/lib/libjpeg.so.62&lt;br /&gt;lrwxrwxrwx 1 root root 17 2010-11-12 12:35 /usr/lib/libjpeg.so.62 -&gt; libjpeg.so.62.0.0&lt;br /&gt;# rm -rf /usr/lib/libjpeg.so.62&lt;br /&gt;# ln -s /opt/libjpeg-turbo/lib/libjpeg.so.62.0.0 /usr/lib/libjpeg.so.62&lt;br /&gt;&lt;/pre&gt;End-Of-Optional-Step&lt;br /&gt;&lt;br /&gt;Install the Ubuntu desktop itself (The GUI)&lt;br /&gt;&lt;pre&gt;apt-get install ubuntu-desktop&lt;br /&gt;&lt;/pre&gt;This takes a good 10-15 minutes. After which your system is ready. Grab yourself a favourite x2go client &lt;a href="http://www.x2go.org/index.php?id=7&amp;L=5"&gt;here&lt;/a&gt;. Send your friends links to the Windows and OSX clients and let them see the light :) In my case I just used my Ubuntu system to connect remotely. So I added the same repo we added before and installed "x2goclient" which is a qt4 client. Here are the settings I used&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5168996543/" title="x2go-client-settings by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4036/5168996543_ba2a6402de.jpg" width="500" height="308" alt="x2go-client-settings" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I am using my ssh key to login to the Ubuntu virtual desktop. If you're using Win/OSX and perhaps wouldn't want to use the ssh key, reset the Ubuntu user password and connect using the password. Once connected we see our familiar and beautiful Ubuntu desktop&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5168996545/" title="ubuntu-desktop-x2go-ec2 by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4037/5168996545_78e43b3630.jpg" width="500" height="377" alt="ubuntu-desktop-x2go-ec2" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I was pleasantly surprised to hear the drums-beating sound of Ubuntu booting! wow! That was just awesome. x2go uses pulseaudio to remotely connect and bring audio right to your desktop. I also could easily forward my local files to the instance in the cloud. Anyone already using Ubuntu desktop in a cloud ? let me know about it ? What kind of use cases you'd use such a setup for ? If you have some fancy setup, let me know about it as well&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-2368058673636204720?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/2368058673636204720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=2368058673636204720' title='31 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/2368058673636204720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/2368058673636204720'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/11/show-off-ubuntu-desktop-on-cloud.html' title='Show Off Ubuntu Desktop on Cloud'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm5.static.flickr.com/4036/5168996543_ba2a6402de_t.jpg' height='72' width='72'/><thr:total>31</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-2394147818701814312</id><published>2010-11-10T13:52:00.000+02:00</published><updated>2010-11-10T13:52:54.301+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='openstack'/><category scheme='http://www.blogger.com/atom/ns#' term='nova'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='ec2'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>OpenStack dev env on EC2</title><content type='html'>Just as I previously blogged about running your own &lt;a href="http://foss-boss.blogspot.com/2010/10/cloud-on-cloud-uec-on-ec2.html"&gt;UEC on top of EC2&lt;/a&gt; (cloud on cloud), here is another cloud on cloud post showing you how to run an OpenStack compute&amp;nbsp;development&amp;nbsp;environment on top of EC2. All of the heavy lifting is really done by the awesome &lt;a href="https://github.com/vishvananda/novascript"&gt;novascript&lt;/a&gt;! I started by launching Ubuntu server 10.10 64bit (ami-688c7801) on a m1.large instance. If you're not sure how to get this done, please check my &lt;a href="http://foss-boss.blogspot.com/2010/10/pointnclick-guide-to-running-ubuntu-in.html"&gt;visual pointnclick guide&lt;/a&gt; to launching Ubuntu VMs on EC2&lt;br /&gt;&lt;br /&gt;Once ssh'ed into my Ubuntu server instance I fire an update&lt;br /&gt;&lt;pre&gt;sudo -i&lt;br /&gt;apt-get update &amp;&amp; apt-get dist-upgrade&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Let's see the available ephemeral storage&lt;br /&gt;&lt;pre&gt;root@ip-10-212-187-80:~# df -h&lt;br /&gt;Filesystem            Size  Used Avail Use% Mounted on&lt;br /&gt;/dev/sda1             9.9G  579M  8.8G   7% /&lt;br /&gt;none                  3.7G  120K  3.7G   1% /dev&lt;br /&gt;none                  3.7G     0  3.7G   0% /dev/shm&lt;br /&gt;none                  3.7G   48K  3.7G   1% /var/run&lt;br /&gt;none                  3.7G     0  3.7G   0% /var/lock&lt;br /&gt;/dev/sdb              414G  199M  393G   1% /mnt&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;As you can see, /mnt is auto-mounted for us. We don't really need this. For nova (OpenStack compute component) to start it needs an LVM setup with a LVM volume group called "nova-volumes", so we unmount that /mnt and use sdb for our LVM purposes&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;# umount /dev/sdb&lt;br /&gt;# apt-get install lvm2&lt;br /&gt;&lt;br /&gt;root@ip-10-212-187-80:~# pvcreate /dev/sdb&lt;br /&gt;  Physical volume "/dev/sdb" successfully created&lt;br /&gt;root@ip-10-212-187-80:~# vgcreate nova-volumes /dev/sdb&lt;br /&gt;  Volume group "nova-volumes" successfully created&lt;br /&gt;root@ip-10-212-187-80:~# ls -ld /dev/nova*&lt;br /&gt;ls: cannot access /dev/nova*: No such file or directory&lt;br /&gt;root@ip-10-212-187-80:~# lvcreate -n foo -L1M nova-volumes&lt;br /&gt;  Rounding up size to full physical extent 4.00 MiB&lt;br /&gt;  Logical volume "foo" created&lt;br /&gt;root@ip-10-212-187-80:~# ls -ld /dev/nova*&lt;br /&gt;drwxr-xr-x 2 root root 60 2010-11-10 10:27 /dev/nova-volumes&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;I had to create an arbitrary volume named "foo" just to get /dev/nova-volumes to be created. If there's some other better way, let me know folks. Let's go checkout the novascript. You need to do that somewhere that has more open permissions than /root :) so /opt is perhaps a good choice&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;# cd /opt&lt;br /&gt;# apt-get install git -y&lt;br /&gt;# git clone https://github.com/vishvananda/novascript.git&lt;br /&gt;Initialized empty Git repository in /opt/novascript/.git/&lt;br /&gt;remote: Counting objects: 121, done.&lt;br /&gt;remote: Compressing objects: 100% (114/114), done.&lt;br /&gt;remote: Total 121 (delta 42), reused 0 (delta 0)&lt;br /&gt;Receiving objects: 100% (121/121), 16.62 KiB, done.&lt;br /&gt;Resolving deltas: 100% (42/42), done.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;From here, we simply follow the novascript instructions to download and install all components&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;# cd novascript/&lt;br /&gt;# ./nova.sh branch&lt;br /&gt;# ./nova.sh install&lt;br /&gt;# ./nova.sh run&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Watch huge amounts of text scroll by as all components are installed. The final "run" line starts a "GNU/screen" session with all nova components running in screen windows. That is just awesome! For some reason though, my first run was unsuccessful. I had to detach from screen, ctrl-c kill it. I then tried starting the nova-api component manually, which did work fine! I then tried to run the script again, and strangely enough this time it worked flawlessly. Probably an initialization thing only. Thought I'd mention this in case any of you guys face this issue. Here's what I did, which you may or may not have to do&lt;br /&gt;&lt;pre&gt;./nova/bin/nova-api --flagfile=/etc/nova/nova-manage.conf&lt;br /&gt;# ./nova.sh run   # works this time .. duh&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Almost there! Nova's components are now running inside screen. You're dropped into screen window number 7. From there we proceed to create some keys, launch a first instance and watch it spring to life&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;# cd /tmp/&lt;br /&gt;# euca-add-keypair test &gt; test.pem&lt;br /&gt;# euca-run-instances -k test -t m1.tiny ami-tiny&lt;br /&gt;RESERVATION     r-yehvnkwa      admin&lt;br /&gt;INSTANCE        i-3fxfo2        ami-tiny        10.0.0.3        10.0.0.3        scheduling      test (admin, None)      0               m1.tiny 2010-11-10 10:50:27.337898                      &lt;br /&gt;# euca-describe-instances&lt;br /&gt;RESERVATION     r-yehvnkwa      admin&lt;br /&gt;INSTANCE        i-3fxfo2        ami-tiny        10.0.0.3        10.0.0.3        launching       test (admin, ip-10-212-187-80)  0               m1.tiny 2010-11-10 10:50:27.337898                      &lt;br /&gt;# euca-describe-instances&lt;br /&gt;RESERVATION     r-yehvnkwa      admin&lt;br /&gt;INSTANCE        i-3fxfo2        ami-tiny        10.0.0.3        10.0.0.3        running test (admin, ip-10-212-187-80)  0               m1.tiny 2010-11-10 10:50:27.337898&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Let's ssh right in&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;# chmod 600 test.pem&lt;br /&gt;# ssh -i test.pem root@10.0.0.3&lt;br /&gt;The authenticity of host '10.0.0.3 (10.0.0.3)' can't be established.&lt;br /&gt;RSA key fingerprint is ab:96:c3:ee:22:84:28:2f:77:ad:d9:a9:52:63:7c:f9.&lt;br /&gt;Are you sure you want to continue connecting (yes/no)? yes&lt;br /&gt;Warning: Permanently added '10.0.0.3' (RSA) to the list of known hosts.&lt;br /&gt;--&lt;br /&gt;-- This lightweight software stack was created with FastScale Stack Manager&lt;br /&gt;-- For information on the FastScale Stack Manager product,&lt;br /&gt;-- please visit www.fastscale.com&lt;br /&gt;--&lt;br /&gt;-bash-3.2# #Yoohoo nova on ec2&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Once you detach from screen, all nova services are killed one by one to clean things up. On that setup, you can immediately hack on the code, then re-launch nova components to see the effect. You can use bzr to update the codebase and so on.  In case you're wondering if this works on KVM on your local machine, it does work beautifully! Of course instead of the LVM setup on the ephemeral storage step, you'd have to pass a second KVM disk to the VM. Other than that, it's about the same. How awesome is that. Let me know guys if you have any questions or comments, also feel free to jump on IRC on #ubuntu-cloud and grab me (kim0). Have fun&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-2394147818701814312?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/2394147818701814312/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=2394147818701814312' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/2394147818701814312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/2394147818701814312'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/11/openstack-dev-env-on-ec2.html' title='OpenStack dev env on EC2'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-3055823006252872163</id><published>2010-11-05T17:11:00.001+02:00</published><updated>2010-11-29T12:24:36.793+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cloud 101'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='definition'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Cloud Computing 101</title><content type='html'>I get asked every now and then, what is this cloud thing, why is it cool, why is everyone talking about it, why should I care! As you see, that's a lot of Whys! In this post I attempt to put an end to those Whys with some Answers. Most of the blogosphere around cloud computing, gets caught in fine details, and the latest bits and pieces of technology, while ignoring newcomers who are not quite sure why is everyone so hyped about cloud to begin with. I hope to help newcomers gain a better view of what the fuss is all about&lt;br /&gt;&lt;br /&gt;Let's assume for a moment, you're called Jim and you're the IT manager at a fictional organization. Your boss walks in, tells you the development team is ready to deploy their ultra scalable video sharing web application. It's very hard to determine how well the market accepts the new web app, we could be the next Youtube, or we could have a much harder start. We estimate to need anywhere between 10 and 100 servers the first couple of weeks, and anywhere between 1 and 50 terabytes of storage depending on market demand. The boss opens the door ready to leave, then he turns around and tells you, can you please have that ready by the end of this week! Talk about poor management in this hypothetical company, in reality things are not that bad, well and in many cases not much better either. So, if you were Jim, you would now probably be thinking of ways to end your life, or at least you'd be writing a farewell email! With the advent of cloud computing however, you have other options. You can snap your fingers, and have a hundred servers created, snap them again and have 50TB of storage appear right next to them, ready to serve you. If you think that's more "magical" than the iPad launch, you would be right although I'm sure Steve Jobs would disagree. That magic is what hypes many IT people about clouds! Well technically, instead of snapping your fingers, you'd perform an API call to a cloud provider. That means you either run a command or click a button in some management tool and those resources spring to life! Can you already feel how enabling this cloud thing is!&lt;br /&gt;&lt;br /&gt;Cloud is called "cloud" because you don't really know what's inside it or how it is built. A cloud icon was and is the standard representation of the "Internet" or a remote network that you don't really care about, or don't control. It is in essence a black box to you, with traffic going in and coming out the other end. You should not know or care how it is built, you're not involved in its daily operation. It provides you "services" that you use. In Jim's case, those services were large numbers of servers, storage and of course networking (you still need a way to access those remote resources anyway!). Jim requested his 50TB of storage and got them, he does not really know what is the physical backing store to this storage service. Are those terabytes of storage (which are holding his company's most precious data) living on a fiber connected high-end SAN storage, low-end SAN or is it a NAS filer. How are the servers accessing the storage network, is it high performance infiniband? fiber connections ? iscsi ? AoE? Lots of options, but Jim doesn't really know. Whether or not he cares is a different story. I would say, he should not care about the technology used to build the solution, however he should care about the SLA his money is buying him. i.e. When you buy storage you are not only buying capacity, you're also buying redundancy and performance. Which is probably why many IT people care about the brand of the SAN storage, and the server to storage connectivity to begin with. What they really care about is "Is my data safe on that storage", "Will that storage deliver the performance I need". They really care about the SLA the cloud services provider is able to achieve&lt;br /&gt;&lt;br /&gt;A common misconception about "cloud" is that cloud equals virtualization. This is not really true. You could very well build a cloud solution that does not use virtualization, instead a physical server would be powered on, PXE booted, deployed and be ready to service you! It would probably end up being too expensive, inflexible, and with limited billing options but it would not be impossible to build. That's why most commercial cloud vendors end up using some kind of virtualization technology as a building block in their "cloud compute service" i.e. the CPU and memory cloud layer. Virtualization is a neat trick to split up a physical server into multiple virtual machines, each running its own operating system and each having its own completely separate software stack. It enables the cloud service provider to carve up different sizes of virtual servers from the underlying physical servers. As a cloud consumer, you end up paying for only the size your workload needs.&lt;br /&gt;&lt;br /&gt;The reason why cloud computing usually ends up being compared to the electricity grid is because both provide you with on-demand services meeting a certain SLA, and that you end up paying for only the amount you used. In case of electricity, you don't care what equipment the electricity company is using to generate your current, you only care that it meets a certain SLA (say 220V able to pump current of upto 100A, and being online for 99.999% of the time). You could run your own generators, but it would be inefficient (expensive) to do so, it would be a hassle to keep everything running, it would require skilled workers keeping everything online, it would not scale if you suddenly need more current! That is why most people do not run their own electricity generators and instead depend on the grid. However, with all the disadvantages mentioned, some businesses still choose to own and operate their own diesel engines for generating electricity at least as a backup solution. Why that is the case, is because those businesses are seeking more "security". They want to be in control, they don't want the electricity company to control such an important resource to their business. Everything mentioned so far about the electricity company applies to cloud vendors as well. Cloud vendors are the IT equivalent of the electricity grid. Running your own datacenter is the analogue of owning a diesel engine. Of course almost every business nowadays owns, builds and operates its own datacenter (diesel engine). However that might be changing rapidly, we're already seeing signs of workloads shifting into the cloud, which is what all the fuss is about. Cloud is the electricity grid of the IT world, and perhaps in the no too distant future it would be powering the vast majority of our personal and professional IT needs. Cloud is all about the commoditization of IT resources and services, coupled with a new business model for consumption lowering the entry barrier for smaller businesses and helping them focus on their core competency instead of focusing on IT&lt;br /&gt;&lt;br /&gt;I hope to have helped shed some light on the topic, I'll probably be writing a part-2 soon touching on types and key properties of a cloud as well as adoption barriers and compromises. I understand many "cloud people" disagree about what qualifies as a cloud, it's definition and well basically everything about cloud is debatable, do let me know (politely :) if you disagree with any of the points mentioned. Let me know in the comments what you think are the key properties of a cloud&lt;br /&gt;&lt;br /&gt;Update: Continue reading &lt;a href="http://foss-boss.blogspot.com/2010/11/cloud-computing-101-p2.html"&gt;part 2&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-3055823006252872163?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/3055823006252872163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=3055823006252872163' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/3055823006252872163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/3055823006252872163'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/11/cloud-computing-101.html' title='Cloud Computing 101'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-2418690781883611032</id><published>2010-11-02T16:14:00.000+02:00</published><updated>2010-11-02T16:14:55.576+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='release party'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-eg'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Egypt LoCo Maverick release party</title><content type='html'>The fun is everywhere :)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/maggieosama/5131226674/" title="Toulan طولان by Maggie Osama, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4057/5131226674_196d82de4d.jpg" width="500" height="333" alt="Toulan طولان" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/maggieosama/5131319564/" title="Untitled by Maggie Osama, on Flickr"&gt;&lt;img src="http://farm2.static.flickr.com/1148/5131319564_c8e7640e0c.jpg" width="500" height="333" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/maggieosama/5131301914/" title="Untitled by Maggie Osama, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4148/5131301914_6d5730a6a8.jpg" width="500" height="333" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/maggieosama/5131434880/" title="Untitled by Maggie Osama, on Flickr"&gt;&lt;img src="http://farm2.static.flickr.com/1439/5131434880_9ff2cf2128.jpg" width="500" height="333" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/maggieosama/5130791625/" title="Untitled by Maggie Osama, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4144/5130791625_a34a4e3a7b.jpg" width="500" height="333" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A link to the whole set&lt;br /&gt;http://www.flickr.com/photos/maggieosama/sets/72157625277893568/show/&lt;br /&gt;&lt;br /&gt;Ubuntu is free, fun and global!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-2418690781883611032?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/2418690781883611032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=2418690781883611032' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/2418690781883611032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/2418690781883611032'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/11/egypt-loco-maverick-release-party.html' title='Egypt LoCo Maverick release party'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm5.static.flickr.com/4057/5131226674_196d82de4d_t.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-6319634736067119404</id><published>2010-10-29T18:04:00.000+02:00</published><updated>2010-10-29T18:04:46.705+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Ubuntu Cloud Community needs You</title><content type='html'>&lt;i&gt;"I'm interested in Ubuntu and the cloud, how do I get involved"&lt;/i&gt; is a question I got a few times already. I thought it would be a good idea to answer this as a blog post. I believe one of the very first things you'd want to do, is to make sure you're on the main communication channels, talking to the community, asking questions, seeing other questions being answered, trying to answer some yourself, sharing opinions and generally "connecting" with the rest of the community. That is a great first step. So I'll highlight the main communication venues for the Ubuntu cloud community, as well as way to get kick-started.&lt;br /&gt;&lt;br /&gt;Places to be&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://ubuntuforums.org/forumdisplay.php?f=392"&gt;Ubuntu Cloud Forums&lt;/a&gt;, while pretty young, there has been some pretty good stir in the forums. While IRC and mailing lists may be more focused on "asking questions", the Forums are a great way to get in touch with other community members. To share your experience building your private clouds, the hardware used, software configuration, tuning and optimization, challenges faced ...etc. Come join in, if you would like to ask questions, or if you would like to share opinions, tips or tricks, get on the forums and make some splash :)&lt;/li&gt;&lt;li&gt;The &lt;a href="https://lists.ubuntu.com/mailman/listinfo/Ubuntu-cloud"&gt;Ubuntu-Cloud&lt;/a&gt; mailing list is a great technical resource where most of the experts and developers are subscribed. For very technical discussions, questions, feature suggestions, RFEs, development discussions the mailing list is a great resource.&lt;/li&gt;&lt;li&gt;The &lt;a href="http://groups.google.com/group/ec2ubuntu"&gt;EC2Ubuntu&lt;/a&gt; mailing list is a great resource that focuses on running Ubuntu in the Amazon EC2 public cloud. This list is active with a wealth of info on the topic&lt;/li&gt;&lt;li&gt;IRC chat has long always been a primary real-time communication tool used by free software enthusiasts. The Ubuntu cloud IRC room is (surprise, surprise) #ubuntu-cloud on Freenode. Jump in, and engage&lt;/li&gt;&lt;/ul&gt;Once connected, things you can do include playing with the latest technology such as creating yourself a &lt;a href="https://help.ubuntu.com/community/UEC/Book"&gt;private UEC cloud&lt;/a&gt;, verifying latest features work as advertised, report and fix bugs, suggest features, design and implement new projects to advance the state of Ubuntu on the cloud. While the community is very welcoming, I definitely understand we need to create better new-comer friendly&amp;nbsp;engagement&amp;nbsp;paths, more hand-holding if you will. A better mentoring program from senior members as well as low hanging fruit are things the Ubuntu cloud and server communities need to identify and improve to make it easier to attract and engage fresh talent&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-6319634736067119404?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/6319634736067119404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=6319634736067119404' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/6319634736067119404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/6319634736067119404'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/10/ubuntu-cloud-community-needs-you.html' title='Ubuntu Cloud Community needs You'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-7851009403422088150</id><published>2010-10-27T14:59:00.001+02:00</published><updated>2010-11-04T19:32:20.747+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='step-by-step'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='guide'/><category scheme='http://www.blogger.com/atom/ns#' term='ec2'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><category scheme='http://www.blogger.com/atom/ns#' term='beginner'/><category scheme='http://www.blogger.com/atom/ns#' term='AWS'/><title type='text'>PointnClick guide to running Ubuntu in the cloud</title><content type='html'>My previous post about running uec on ec2, drew some comments as being a fairly complex process. That may be true because essentially you're attempting to hack together a configuration which is not entirely supported. Anyway, that led me to want to demo a "point-n-clink" guide to running your first Ubuntu server in the EC2 cloud. i.e. no command line allowed, just point and click :) It doesn't get any easier than this, so let's hit it&lt;br /&gt;&lt;br /&gt;Assuming you have setup an account with Amazon and could login to the Amazon console, you should see&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5119906647/" title="pointnclick-guide-ubuntinthecloud-1 by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4068/5119906647_df9c451946.jpg" width="500" height="363" alt="pointnclick-guide-ubuntinthecloud-1" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Before we begin, let's set ourselves a "key-pair". Which is basically a ssh public/private key-pair that enables you to login to your instance once launched. Click on "Key Pairs" and click "Create key pair", I'm gonna name my key "ubuntu" and click create&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5120510410/" title="pointnclick-guide-ubuntinthecloud-2 by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm2.static.flickr.com/1208/5120510410_77bf816980.jpg" width="500" height="363" alt="pointnclick-guide-ubuntinthecloud-2" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The key is promptly created and pushed for download through your browser. Let's proceed with another "preparatory" setup. By default, EC2's firewall denies all inbound traffic to the instance, which means you cannot even ssh into your instance. Let's open ports 22 for ssh, and 80 just in case we wanna test by running an apache2 server. So, add your from-to ports and source IPs as per the next screenshot and "Save" it&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5119906133/" title="pointnclick-guide-ubuntinthecloud-3 by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4107/5119906133_cf9fab583a.jpg" width="500" height="363" alt="pointnclick-guide-ubuntinthecloud-3" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Great, now we're ready to actually launch an instance. Click "EC2 Dashboard" link, click the button "Launch Instance", a wizard starts asking for which AMI we would like to use. An AMI is a template that will be copied to your instance and used to start it. Click "Community AMIs", it may take a moment for the AMIs to load. Now here's a trick, to quickly "zoom-in" on the official ubuntu AMIs, use the following search string "ubuntu-images/" in order to locate EBS based images, and "ubuntu-images-us/" in order to locate instance store based images. This is in no way a "supported" feature of neither Amazon nor Ubuntu, it's just a convenient hack that works today and may not work tomorrow. We choose an EBS based AMI because we plan on launching a micro instance and those require EBS AMIs&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5120509938/" title="pointnclick-guide-ubuntinthecloud-4 by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4151/5120509938_4d9aac6da7.jpg" width="500" height="363" alt="pointnclick-guide-ubuntinthecloud-4" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;click the "Select" button beside it. Click continue and choose a t1.micro instance and click continue a couple of times&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5119905579/" title="pointnclick-guide-ubuntinthecloud-5 by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm2.static.flickr.com/1094/5119905579_fb78f820f7.jpg" width="500" height="363" alt="pointnclick-guide-ubuntinthecloud-5" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5119905375/" title="pointnclick-guide-ubuntinthecloud-6 by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm2.static.flickr.com/1358/5119905375_0bb51473f6.jpg" width="500" height="363" alt="pointnclick-guide-ubuntinthecloud-6" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5119905179/" title="pointnclick-guide-ubuntinthecloud-7 by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4071/5119905179_ac2161cb1a.jpg" width="500" height="363" alt="pointnclick-guide-ubuntinthecloud-7" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You're now on the key-pair page, we simply choose our previously generated "Ubuntu" key pair and click continue&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5120509156/" title="pointnclick-guide-ubuntinthecloud-8 by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4004/5120509156_ae7b5cd206.jpg" width="500" height="363" alt="pointnclick-guide-ubuntinthecloud-8" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;On the firewall configuration page, we choose the "default" security group, since this is what we had configured to open ports 22 and 80 previously&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5119904781/" title="pointnclick-guide-ubuntinthecloud-9 by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm2.static.flickr.com/1226/5119904781_efdccbb170.jpg" width="500" height="363" alt="pointnclick-guide-ubuntinthecloud-9" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Voila, we're ready. Review and confirm the settings on the page and click "Launch"&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5119904591/" title="pointnclick-guide-ubuntinthecloud-10 by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4001/5119904591_43442b352f.jpg" width="500" height="363" alt="pointnclick-guide-ubuntinthecloud-10" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The cloud starts deploying your virtual server and you get the following message&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5120508546/" title="pointnclick-guide-ubuntinthecloud-11 by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm2.static.flickr.com/1237/5120508546_e5527eb3f4.jpg" width="500" height="363" alt="pointnclick-guide-ubuntinthecloud-11" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In a minute your instance should be up and running. Let's locate it and login to it. Clicking the "Instances" link, then clicking our only instance so far and locating its "Public DNS" entry setting allows us to ssh to it&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5120508274/" title="pointnclick-guide-ubuntinthecloud-12 by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4086/5120508274_136c5b727f.jpg" width="500" height="363" alt="pointnclick-guide-ubuntinthecloud-12" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now we're all set, let's jump to our terminal to ssh into the instance. It seems the "ubuntu.pem" key-pair the browser downloaded gets by default permissions that are too open for ssh's taste. Thus we need to "chmod" it to 700, this is the part where I lied about not using any CLI, but hey chmod doesn't really count ;) let's then ssh straight into our instance using the ubuntu.pem key-pair&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5120507992/" title="pointnclick-guide-ubuntinthecloud-13 by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4028/5120507992_ed5d9c50c2.jpg" width="500" height="375" alt="pointnclick-guide-ubuntinthecloud-13" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Awesome! We're in! let's do what the greeting message tells us to "sudo tasksel --section server" and choose to install a LAMP Server. We get asked for a MySQL password twice, the system installs and configures a full LAMP stack for us. Let's visit the apache web server&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5119903701/" title="pointnclick-guide-ubuntinthecloud-14 by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4022/5119903701_c5ebfbd081.jpg" width="500" height="363" alt="pointnclick-guide-ubuntinthecloud-14" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;That concludes this graphical guide. As you can see launching your first Ubuntu server instance in the cloud can't really get much easier than this :) Before you go for a cup of coffee, do not forget to "Terminate" your instance. If you don't, you keep on getting billed by the hour for it.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5119903563/" title="pointnclick-guide-ubuntinthecloud-15 by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4038/5119903563_963de4b583.jpg" width="500" height="363" alt="pointnclick-guide-ubuntinthecloud-15" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Let me know in the comments if a step was unclear. Also, let me know if there are other topics you'd want me to demo. If you're interested in running Ubuntu in a cloud context and have any doubts, drop by on IRC channel #ubuntu-cloud on freenode, and grab me "kim0"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-7851009403422088150?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/7851009403422088150/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=7851009403422088150' title='15 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/7851009403422088150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/7851009403422088150'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/10/pointnclick-guide-to-running-ubuntu-in.html' title='PointnClick guide to running Ubuntu in the cloud'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm5.static.flickr.com/4068/5119906647_df9c451946_t.jpg' height='72' width='72'/><thr:total>15</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-4321594134205760575</id><published>2010-10-22T19:14:00.003+02:00</published><updated>2010-10-22T20:09:02.918+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UEC'/><category scheme='http://www.blogger.com/atom/ns#' term='nested'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='virtualization'/><category scheme='http://www.blogger.com/atom/ns#' term='ec2'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Cloud on Cloud, UEC on EC2</title><content type='html'>So you wanted to play with Ubuntu Enterprise Cloud (UEC), but didn't have a couple of machines to play with ? Want to start a UEC instance right now, no problem. You can use an Amazon EC2 server instance as your base server to install and run UEC on! Of course the EC2 instance is itself a virtual machine, thus running a VM inside that would require nested virtualization which AFAIK wouldn't work over EC2. The trick here is that we switch UEC's hypervisor temporarily to be qemu. Of course this won't win any performance competitions, in fact it'd be quite slow in production, but for playing, it fits the bill just fine.&lt;br /&gt;&lt;br /&gt;If you're thinking doing all that is gonna be complex, you have a point, however it won't! In fact it'll be very easy due to efforts of Ubuntu's always awesome &lt;a href="http://ubuntu-smoser.blogspot.com/"&gt;Scott Moser&lt;/a&gt;. Scott has written a script that automates all needed steps. But wait, it gets better, we're not even going to run this script ourselves, we're passing it as a parameter to the EC2 instance invocation and due to Ubuntu's &lt;a href="https://help.ubuntu.com/community/CloudInit"&gt;cloud-init&lt;/a&gt; technology, that script is going to be run upon instance boot-up, doing its work automagically. Now let's get started&lt;br /&gt;&lt;br /&gt;On your local machine, let's install bzr and get the needed script&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;cd /tmp&lt;br /&gt;sudo apt-get install bzr -y&lt;br /&gt;bzr branch lp:~smoser/+junk/uec-on-ec2&lt;br /&gt;cd uec-on-ec2/&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The file "maverick-commands.txt" contains the script needed to turn the generic Ubuntu image on ec2 into a fully operational single-node UEC install. If you don't have "ssh keys" (seriously?) generate some&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;ssh-keygen -t rsa&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now let's do a neat trick to import the keys into EC2, marking them with the name "default"&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;for r in us-east-1 us-west-1 ap-southeast-1 eu-west-1; do ec2-import-keypair --region $r default --public-key-file ~/.ssh/id_rsa.pub ; done&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Let's open a few needed ports in EC2's default security group&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;for port in 22 80 8443 8773; do ec2-authorize default -p $port ; done&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Very well .. We now launch our EC2 instance, passing in the "maverick commands" file. What happens is, the server instance is created, booted, Ubuntu's cloud-init reads up the maverick commands script we passed to it, and executes it, it starts downloading, installing and configuring UEC in the background while you ssh into your new EC2 instance&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;ec2-run-instances ami-688c7801 --instance-type m1.large -k default --user-data-file=maverick-commands.txt&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Give it a minute to boot, then try to ssh in&lt;br /&gt;&lt;pre&gt;ec2-describe-instances&lt;br /&gt;ssh ubuntu@ec2-a-b-c-d.compute-1.amazonaws.com&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Replace the DNS name for the EC2 instance, with the proper one you get from ec2-describe-instances. Once logged into the EC2 instance, I would start byobu and tail the log file to monitor progress. The whole thing takes less than 5 minutes&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;byobu&lt;br /&gt;tailf uec-setup.log&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The script once finished configuring UEC, actually downloads a tiny linux distro and registers its image in UEC, so that you can start your own instances! You know the script has finished when you see a line that looks like&lt;br /&gt;&lt;pre&gt;emi="emi-FDC21818"; eri="eri-53721963"; eki="eki-740D19EC";&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;UEC is now up and running, let's check the web interface! You login with the default credentials admin/admin&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5105420808/" title="uec-on-ec2-1 by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm2.static.flickr.com/1261/5105420808_b7a4e0f10a.jpg" width="500" height="240" alt="uec-on-ec2-1" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Let's navigate to the Images tab, to get the EMI ID (Equivalent of an AMI ID)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/5105420996/" title="uec-on-ec2-2 by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm2.static.flickr.com/1345/5105420996_dc00faf63e.jpg" width="500" height="240" alt="uec-on-ec2-2" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Is that cool or what, Hell Yes! Now let's start our own VM inside UEC that's inside EC2. Remeber to replace emi-FE03181A with the EMI ID you got from the web interface&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;euca-run-instances --key mykey --addressing private emi-FE03181A&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;You can use "euca-describe-instances" to get the new instance internal IP address and ssh to that&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;ubuntu@domU-12-31-38-01-85-91:~$ ssh -i euca/mykey.pem ubuntu@172.19.1.2&lt;br /&gt;The authenticity of host '172.19.1.2 (172.19.1.2)' can't be established.&lt;br /&gt;RSA key fingerprint is db:9b:47:a4:06:81:26:d7:cf:38:a4:0e:6c:05:54:0d.&lt;br /&gt;Are you sure you want to continue connecting (yes/no)? yes&lt;br /&gt;Warning: Permanently added '172.19.1.2' (RSA) to the list of known hosts.&lt;br /&gt;&lt;br /&gt;Chop wood, carry water.&lt;br /&gt;&lt;br /&gt;$ uname -r&lt;br /&gt;2.6.35-16-virtual&lt;br /&gt;$ df -h                                                                                                                                                                                                                                     &lt;br /&gt;Filesystem                Size      Used Available Use% Mounted on&lt;br /&gt;/dev/sda1                23.2M     14.1M      7.9M  64% /&lt;br /&gt;tmpfs                    24.0K         0     24.0K   0% /dev/shm&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;et voila, you're ssh'ed into a ttylinux instance running inside qemu managed by UEC running over EC2 :) If you do find that cool, what about contributing back. How about you start hacking on that script to make it even more awesome, such as maybe installing over multiple nodes or whatever crazy idea you can think of! If you're interested to start hacking, drop me a hi in #ubuntu-cloud at Freenode&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-4321594134205760575?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/4321594134205760575/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=4321594134205760575' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/4321594134205760575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/4321594134205760575'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/10/cloud-on-cloud-uec-on-ec2.html' title='Cloud on Cloud, UEC on EC2'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm2.static.flickr.com/1261/5105420808_b7a4e0f10a_t.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-3067771438857139770</id><published>2010-10-22T13:40:00.002+02:00</published><updated>2010-10-22T18:10:09.748+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='free'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='ec2'/><category scheme='http://www.blogger.com/atom/ns#' term='Amazon'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><category scheme='http://www.blogger.com/atom/ns#' term='AWS'/><title type='text'>Free Ubuntu Server for a year at Amazon</title><content type='html'>Yes, you can get your very own Free Ubuntu server in the clouds for one full year! The folks at Amazon have just announced &lt;br /&gt;&lt;br /&gt;"&lt;i&gt;Beginning November 1, new AWS customers will be able to run a free Amazon EC2 Micro Instance for a year, while also leveraging a new free usage tier for Amazon S3, Amazon Elastic Block Store, Amazon Elastic Load Balancing, and AWS data transfer. AWS’s free usage tier can be used for anything you want to run in the cloud: launch new applications, test existing applications in the cloud, or simply gain hands-on experience with AWS&lt;/i&gt;"&lt;br /&gt;&lt;br /&gt;You can find the details of the offer at: &lt;a href="http://aws.amazon.com/free/"&gt;http://aws.amazon.com/free/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ubuntu being arguably the most popular Amazon guest image is also available to you for free today! Get the list of Official Ubuntu images created by the Ubuntu's very own server team at&lt;br /&gt;&lt;br /&gt;Maverick &lt;a href="http://uec-images.ubuntu.com/server/maverick/current/"&gt;http://uec-images.ubuntu.com/server/maverick/current/&lt;/a&gt;&lt;br /&gt;Lucid &lt;a href="http://uec-images.ubuntu.com/server/lucid/current/"&gt;http://uec-images.ubuntu.com/server/lucid/current/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For the free offer, you will want to launch a t1.micro instance, and it seems you will want to wait till Nov 1st for registering your account (credit card needed). This is great news! If you ever wanted to play with Ubuntu server on the cloud, now is the best time to get started!&lt;br /&gt;&lt;br /&gt;Update: The &lt;a href="http://aws.amazon.com/free/terms/"&gt;terms&lt;/a&gt; page mentions "&lt;i&gt;Only accounts created after October 20, 2010 are eligible for the Offer&lt;/i&gt;"&lt;br /&gt;&lt;br /&gt;Update2: Please read Scott's comment below, on why you will be charged 0.5$/mo if you run the standard Ubuntu image (or Amazon's own AMIs)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-3067771438857139770?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/3067771438857139770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=3067771438857139770' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/3067771438857139770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/3067771438857139770'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/10/free-ubuntu-server-for-year-at-amazon.html' title='Free Ubuntu Server for a year at Amazon'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-475693094991333941</id><published>2010-10-22T09:43:00.004+02:00</published><updated>2010-10-22T10:00:03.594+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu-planet'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Hello Planet-Ubuntu</title><content type='html'>Hello World! I just became an Ubuntu member yesterday, which means I will no longer be on mute ;) I'm working as the Ubuntu Cloud community liaison, which means I finally bring some cloud and server content to this space instead of all being around fluffy desktops :) If you're interested in using or contributing to Ubuntu in a "cloud" context, feel free to grab me (kim0 on Freenode #ubuntu-cloud). Feel free to drop in, say hi, ask questions or whatever you need. Besides this blog, you may also be interested in my &lt;a href="http://twitter.com/#!/ak_kim0"&gt;tweets&lt;/a&gt;. I'm very proud being part of this great community. Rock on!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-475693094991333941?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/475693094991333941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=475693094991333941' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/475693094991333941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/475693094991333941'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/10/hello-planet-ubuntu.html' title='Hello Planet-Ubuntu'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-8449665994689498317</id><published>2010-10-15T13:20:00.004+02:00</published><updated>2010-10-15T13:23:07.855+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cloud-init'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='ec2'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>OpenWeek Introduction to Cloud IRC session logs</title><content type='html'>If you couldn't attend the Ubuntu Open Week session live on IRC, don't despair! You can read the logs at&lt;br /&gt;&lt;a href="http://irclogs.ubuntu.com/2010/10/13/%23ubuntu-classroom.html#t17:01"&gt;http://irclogs.ubuntu.com/2010/10/13/%23ubuntu-classroom.html#t17:01&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-8449665994689498317?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/8449665994689498317/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=8449665994689498317' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/8449665994689498317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/8449665994689498317'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/10/openweek-introduction-to-cloud-irc.html' title='OpenWeek Introduction to Cloud IRC session logs'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-8702227915444158494</id><published>2010-09-20T11:07:00.003+03:00</published><updated>2010-09-20T11:11:04.497+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>what I do</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', 'Lucida Grande', Helvetica, Arial, Verdana, sans-serif; color: rgb(45, 45, 45); font-size: 13px; line-height: 19px; "&gt;&lt;p class="line874" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;I started with Linux and Open source software around 1999, since then and till today I was amazed about the helpful community that form around different open source projects. In the early days, whenever I'd hit a bug or don't know how to do something, I'd jump over to IRC and someone was always there to help debug the problem! This just felt amazingly empowering, I remember thinking to myself, hell this is way much better than what you get with commercial software! In a few years, I transformed from being a passive user, into someone who tries to help IRC users every time someone has a problem. The culture of open source got me I guess. I started giving presentations at Universities, writing for local IT magazines for free to help spread what FOSS is all about. I always wanted to contribute much more to the free software world, however limited free time available was always an issue. Now that my day job is to work with and help grow the community around Ubuntu, I feel extremely excited and thankful for Canonical for giving me this opportunity.&lt;span class="anchor" id="line-68" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/span&gt;&lt;span class="anchor" id="line-69" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="line874" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline; margin-top: inherit; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: 0px; "&gt;Being the newest member of the "horsemen" team having joined a little over a month now, I feel like I haven't done enough yet. Nevertheless, I'd like to mention a few of the things that have been keeping me busy the past few weeks&lt;span class="anchor" id="line-70" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/span&gt;&lt;span class="anchor" id="line-71" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline; margin-top: 0px; margin-right: 1.5em; margin-bottom: 1.5em; margin-left: 1.5em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: circle; "&gt;&lt;li style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;p class="line862" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;The very first thing I had done with Canonical was to write the &lt;a class="http" href="http://maps.ubuntu.com/map/" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(74, 40, 17); text-decoration: none; border-bottom-style: dotted; border-bottom-color: initial; "&gt;Ubuntu Server Map&lt;/a&gt; application. The idea behind it is to encourage and spur the community behind Ubuntu server. Basically the aim is to make Ubuntu server users feel part of a huge user community all over the world. What the application does is to detect the visitor user's city using his IP address after the user accepts (anonymous process) and then marks that city with a cute little orange Ubuntu logo. So far the &lt;a class="http" href="http://maps.ubuntu.com/map/" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(74, 40, 17); text-decoration: none; border-bottom-style: dotted; border-bottom-color: initial; "&gt;Map&lt;/a&gt; is full of orange Ubuntu logos. It really feels great to be part of such a world wide community of Ubuntu server and cloud users and contributors&lt;span class="anchor" id="line-72" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;p class="line862" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;As part of helping the Ubuntu cloud community grow around open source cloud technologies, I have focused on consolidating any fragmented communication paths available. Thus far, the Ubuntu cloud community has the following &lt;a class="irc" href="irc://chat.freenode.net/ubuntu-cloud" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(74, 40, 17); text-decoration: none; border-bottom-style: dotted; border-bottom-color: initial; "&gt;#ubuntu-cloud&lt;/a&gt; as the official IRC channel for everything Ubuntu cloud related. And the recently created &lt;a class="http" href="http://ubuntuforums.org/forumdisplay.php?f=392" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(74, 40, 17); text-decoration: none; border-bottom-style: dotted; border-bottom-color: initial; "&gt;Ubuntu Cloud Forum&lt;/a&gt; as the official Ubuntu cloud forum. The &lt;a class="https" href="https://lists.ubuntu.com/mailman/listinfo/Ubuntu-cloud" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(74, 40, 17); text-decoration: none; border-bottom-style: dotted; border-bottom-color: initial; "&gt;Ubuntu Cloud mailing list&lt;/a&gt; is an alternate community communication venue as well&lt;span class="anchor" id="line-73" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;p class="line862" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Recently I've been putting a lot of focus on creating a Ubuntu cloud portal, which aims to be a central hub for the Ubuntu cloud community. You can read all about the &lt;a class="https" href="https://wiki.ubuntu.com/CloudPortalSpecs" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(74, 40, 17); text-decoration: none; border-bottom-style: dotted; border-bottom-color: initial; "&gt;portal specs&lt;/a&gt; and give me feedback over IRC (kim0 in #ubuntu-cloud). The portal should provide a list of rolling news that relate to Ubuntu cloud, helping interested community members always be on top of all the new happenings. It also helps community new comers by becoming their one stop shop with links to all documentation and support channels. As well as guide new contributers on how to get involved&lt;span class="anchor" id="line-74" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Something which I am thinking about and which will definitely take a lot of focus soon is studying potential hurdles in the way of new contributers to Ubuntu server and cloud. Basically how to make it easy and more fun for newcomers to join in, find all the information they need in place and start contributing and engaging with the community. Part of that is giving tutorials over IRC or other mediums as well as sponsorship and guidance along the way&lt;span class="anchor" id="line-75" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/span&gt;&lt;span class="anchor" id="line-76" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="line874" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;It is definitely great being part of such a great community such as the Ubuntu one, and I hope the next period is going to be very exciting for the open source Cloud communities in general&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-8702227915444158494?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/8702227915444158494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=8702227915444158494' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/8702227915444158494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/8702227915444158494'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/09/what-i-do.html' title='what I do'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-2688143340617742242</id><published>2010-09-06T16:24:00.007+02:00</published><updated>2010-09-08T17:33:58.746+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='broken'/><category scheme='http://www.blogger.com/atom/ns#' term='web applications'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><category scheme='http://www.blogger.com/atom/ns#' term='portability'/><category scheme='http://www.blogger.com/atom/ns#' term='lockin'/><title type='text'>Why our Internet2.0 is broken</title><content type='html'>The modern Internet which I'll refer to as Internet2.0 is being seen as a new applications platform. It is no longer a series of "pages" that you click through, it is rather a collection of applications. I just needed this intro in case you still thought of the Internet as pages. So the Internet is now the Operating System, and different web sites (Gmail, Facebook, Twitter...etc) are the new applications if you will. I've got news for you, this Internet2.0 thing, is horribly broken! Here is why&lt;br /&gt;&lt;br /&gt;To begin understanding the kind of problems we have to go through using the online systems of today, let us apply the same online mechanisms, to standard old and boring desktop apps. Let's imagine the following workflow, You are 3 friends working on an important report, and you all share your progress online, each person via his blog&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;You login to your computer, you start your email application. You find your friend has edited the report, emailed you the new copy and blogged about his progress&lt;/li&gt;&lt;br /&gt;&lt;li&gt;You check your email, find the attachment, you download that&lt;/li&gt;&lt;br /&gt;&lt;li&gt;You must copy the attachment over a USB stick in order to be able to open it in any other application. You copy it to the USB stick&lt;/li&gt;&lt;br /&gt;&lt;li&gt;You open your word processor. You authenticate to it!&lt;/li&gt;&lt;br /&gt;&lt;li&gt;You plugin your USB stick, open the document, edit it, save it&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Re-copy it to the USB stick&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Re-open your email application, upload the attachment, send it&lt;/li&gt;&lt;br /&gt;&lt;li&gt;You visit your first friend's blog, you add a comment that you updated the report.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Your third friend is not notified of your comment&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;You get the idea. If that user experience sounds horrible, it is pretty similar to what we face today with web applications especially if you want to use different applications from different providers in concert. It is just plain broken. Here is my criticizm spot on&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Why do I have to login separately to each and every web application (Google, Facebook, Zoho, Twitter, MS...)? On my Linux PC I don't have to go through that&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Why do I have to teach each web application my social graph. Reconnect to all my friends on facebook, then twitter, then Google Buzz...? The connectivity between me and my friend belongs to us, it does not belong to Facebook. Any other app on the Internet which I allow to access this data, should be able to. It should not be held captive by the likes of Facebook&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Assuming I love to use a live.com email address (which I don't :) and like to use Google docs to edit my email attachments. Why do I have to download the attachment to my PC first, reupload to Google to edit, save, download, upload, email, yikes! The Unix architecture designed 10s of years ago, was all about sharing data between apps (pipes), why in this modern age are we unable to easily connect different webapps especially from different providers&lt;/li&gt;&lt;br /&gt;&lt;li&gt;When I write a comment on my friend's blog, the comment is MINE. I created it, I own it. My friend's blog maybe displaying it currently, but it should not own it! If my friends are interested in seeing my comments on every website I visit, and if I allow them to, they should be able to do so very easily. The 20 comments I've written today, should not die if the websites I have written them onto decide to die&lt;/li&gt;&lt;br /&gt;&lt;li&gt;The same actually goes for using online editors a la Google docs. Google should not "own" the document. The document is mine. It should be stored in a place I control. I may "Allow" Google web based editor to read/write it now, because I "choose" to. Because it maybe the best editor around. Not because I have to, and not because I need to "migrate" my data off of Google should I want to use something else. If I decide to use Zoho editor tomorrow, I should be able to allow it to access my data in-place. Just like how on the desktop one can use MS Office, OpenOffice and Mac Pages to open a presentation on one's desktop&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;As a new application pops up, say like Apple's new Ping service, you need to (again) rebuild your social graph teaching it all your friends. Afterwards any music you purchase will show on Ping, but won't really show up on Facebook because Apple and Facebook couldn't agree on that. Can you say that again, "I" purchased a music track, and I want to tell "MY" friends about it, and I can't because Apple and Facebook couldn't agree! Can you see how horribly broken our Internet2.0 is&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;How I see things could improve is as follows. Each user needs to own a certain web exposed storage space somewhere. All of my online trails (documents, friendship, Likes, comments, blogs...) should live there. I should "allow" Google docs to read/write to those document if I like it. Tomorrow I could revoke that access and allow Zoho for example or any other online editor. My connections to my friends should be stored in that storage space. Any application that I allow can see who all or some of my friends are. For example I can allow Linkedin to access my work friends, while allowing Ping to access my music friends. If I make a comment somewhere on the Internet, this is content I created, If I Facebook style "Like" something, it is again content that revolves around me. It should be stored in my storage area, and Facebook should be notified of it and allowed to display it should I want to. This architecture makes it quite easy for a new young startup to create a Facebook or Gmail killer tomorrow. Since the application from day one will have access to all my data, emails, friends, comments, blogs...etc i.e. as much content as I want to give it. We become no longer locked into different online service providers. We can switch at will. This is the way how it can and should be done. The diaspora and FreedomBox folks are doing some awesome work and designing their systems along similar lines of thought. They are however more ambitious, and are after user data confidentiality, while all I'm asking for is open-data access and portability. They want to replace all of today's web applications with distributed clones that you can run inside your home. That would be fantastic, however I still it as advantageous and easier if a user can use "closed" cloud apps like Gmail or Facebook should she want to, and switch to a different provider at will, while still owning her online digital trail and every piece of content she ever created&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-2688143340617742242?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/2688143340617742242/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=2688143340617742242' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/2688143340617742242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/2688143340617742242'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/09/why-our-internet20-is-broken.html' title='Why our Internet2.0 is broken'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-5651415820620636718</id><published>2010-08-09T11:38:00.001+03:00</published><updated>2010-09-08T17:34:36.334+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='server'/><category scheme='http://www.blogger.com/atom/ns#' term='maps'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='10.04.1'/><category scheme='http://www.blogger.com/atom/ns#' term='release party'/><category scheme='http://www.blogger.com/atom/ns#' term='lucid'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='canonical'/><title type='text'>Ubuntu Server 10.04.1 virtual release party</title><content type='html'>Ubuntu Server LTS 10.04.1 is targeting to be released this Thursday on the 12th of August. This point release is especially important for the "server" variant of Ubuntu. This is because many conservative sys-admins wait for the first point release before deploying a server OS. The idea being, any bugs the fine QA people at Canonical might have missed, would be caught by the community during the period between the GA and point releases. This means that for many, this next 12th of August is the "actual" release date for Lucid server LTS! In short, on the 12th Ubuntu Server 10.04.1 is ready to rock the world!&lt;br /&gt;&lt;br /&gt;In order to celebrate this awesomeness, we'll be having our own little server release party in the clouds :) What a mouthful, well basically I've put up a nice little &lt;a href="http://maps.ubuntu.com/"&gt;web application&lt;/a&gt; that tracks all cities around the world that are running Ubuntu Server 10.04. Of course you will need to hit that web app with your server box first so that your city becomes registered and shows up on the map! So if you're already running 10.04 server, be sure to hit that application. If you're not, then you should be! Go grab yourself the &lt;a href="http://www.ubuntu.com/server/get-ubuntu/download"&gt;10.04 server&lt;/a&gt; &lt;a href="http://releases.ubuntu.com/lucid/ubuntu-10.04-server-amd64.iso"&gt;iso&lt;/a&gt;, install it, then hit the app with it&lt;br /&gt;&lt;br /&gt;But wait a minute, you say you don't have a web browser on your server box. No problemo. I'll list a few cool ways (well in a serverish way at least) to hit that web app without leaving your comfortable bash shell! Hey community, if you can think of cooler CLI methods, be sure to put them in your comments. if something is very cool, I'll add it to this post. Here we go&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;1- elinks --dump http://maps.ubuntu.com/hit/&lt;br /&gt;&lt;br /&gt;2- curl http://maps.ubuntu.com/hit/&lt;br /&gt;&lt;br /&gt;3- wget http://maps.ubuntu.com/hit/&lt;br /&gt;&lt;br /&gt;4- python -c 'import urllib; urllib.urlopen("http://maps.ubuntu.com/hit/").read()'&lt;br /&gt;&lt;br /&gt;5- /bin/echo -e 'GET /hit/ HTTP/1.1\nHost: maps.ubuntu.com\n\n' | socat - tcp:maps.ubuntu.com:80&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Well I guess that should be enough to wet your appetite. Of course "technically" you don't have to visit the web app using your server box. Hitting it from your Ubuntu desktop has the same effect, but where's the fun in that! If you're running Ubuntu Servers in multiple cities, you are encouraged to hit that app from all cities in which you operate. If you coordinate the hit with some cool stuff (maybe a puppet recipe or bounce over ec2 or something of that sort) let me know about it :)&lt;br /&gt;&lt;br /&gt;Whichever CLI way you choose to hit the app with, you'd be missing out on seeing lots of cute little Ubuntu logos over a world-wide Google map. Now that is something you wouldn't wanna miss, so be sure to &lt;a href="http://maps.ubuntu.com/"&gt;visit the app&lt;/a&gt; from your graphical browser as well to view the list of marked cities running Ubuntu Server. On release day (12th of Aug) it would be very cool to have every major city in the world marked on that map, so please spread the word as much as you can (yes that means retweet it, digg it, slashdot it, tell you mom about it ...etc)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-5651415820620636718?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/5651415820620636718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=5651415820620636718' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/5651415820620636718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/5651415820620636718'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/08/ubuntu-server-10041-virtual-release.html' title='Ubuntu Server 10.04.1 virtual release party'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-5495640913758198047</id><published>2010-08-03T23:08:00.004+03:00</published><updated>2010-08-03T23:16:41.054+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google location'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='GPS'/><category scheme='http://www.blogger.com/atom/ns#' term='one liner'/><title type='text'>bash oneliner, get GPS location + street address</title><content type='html'>Hey there folks,&lt;br /&gt;&lt;br /&gt;It's been quite some time since I last blogged, just been busy with $reallife. Today I'll show you how to an answer the eternal question of "Where am I" from the comfort of your bash shell&lt;br /&gt;&lt;br /&gt;The following code only works if:&lt;br /&gt;- You run it in a root shell (Ubuntu users do: "sudo -i" then paste it)&lt;br /&gt;- You are connected via Wifi to some access point&lt;br /&gt;- Your wireless adapter is called wlan0 (otherwise replace it with the correct name)&lt;br /&gt;- You're using a Linux system or something similar (i.e. Windows won't really work here)&lt;br /&gt;&lt;br /&gt;et voila&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;/bin/echo '{"version": "1.1.0","host": "maps.google.com","request_address": true,"address_language": "en_GB", "wifi_towers": [{"mac_address": "' $( iwlist wlan0 scan | grep Address | head -1 | awk '{print $5}' | sed -e 's/ //g' ) '","signal_strength": 8,"age": 0}]}'  | sed -e 's/" /"/' -e 's/ "/"/g' &gt; /tmp/post.$$ &amp;&amp; curl -X POST -d @/tmp/post.$$ http://www.google.com/loc/json | sed -e 's/{/\n/g' -e 's/,/\n/g'&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I didn't really spend much time cleaning it up, since I'm busy, so that's like the first thing that worked. If any of you guys can skip writing to the file, let me know and I'll update it&lt;br /&gt;&lt;br /&gt;PS: If the returned information is wrong, or some kind of "unknown" .. Consider yourself lucky, very lucky! That means Google does not (yet?) know where your wifi AP is. For the rest of us .. tin-foil all the way&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-5495640913758198047?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/5495640913758198047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=5495640913758198047' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/5495640913758198047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/5495640913758198047'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/08/bash-oneliner-get-gps-location-street.html' title='bash oneliner, get GPS location + street address'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-5101629708759962471</id><published>2010-04-10T22:20:00.002+02:00</published><updated>2010-04-10T22:24:19.614+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='maps'/><category scheme='http://www.blogger.com/atom/ns#' term='HTC Hero'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='cairo'/><category scheme='http://www.blogger.com/atom/ns#' term='navigation'/><title type='text'>Android map navigation in Cairo</title><content type='html'>woot! Android map navigation working in Cairo now! See how it works in the following animated sequence. A few cool things to notice:&lt;br /&gt;&lt;br /&gt;1- It can start navigation from my location, which it knows by cell tours or GPS&lt;br /&gt;2- I don't write my destination, I speak it out, it travels to google servers, gets recognized and comes back as text&lt;br /&gt;3- It searches local areas, to identify the exact destination&lt;br /&gt;4- then provides turn-by-turn instructions .. woohoo .. the future is now&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/4508242125/" title="android-map-magic by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2320/4508242125_a69ba73240_o.gif" width="320" height="480" alt="android-map-magic" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now the negatives:&lt;br /&gt;1- No voice instructions .. you actually have to read ;)&lt;br /&gt;2- The choice of routes, is not always what would make sense to me. I'll try to see how can I make it change its routing decisions&lt;br /&gt;&lt;br /&gt;Thanks Google&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-5101629708759962471?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/5101629708759962471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=5101629708759962471' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/5101629708759962471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/5101629708759962471'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/04/android-map-navigation-in-cairo.html' title='Android map navigation in Cairo'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-7344600024135949272</id><published>2010-01-01T19:30:00.008+02:00</published><updated>2010-01-01T23:32:51.307+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xcp'/><category scheme='http://www.blogger.com/atom/ns#' term='xenapi'/><category scheme='http://www.blogger.com/atom/ns#' term='vnc'/><category scheme='http://www.blogger.com/atom/ns#' term='xen cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='xen'/><category scheme='http://www.blogger.com/atom/ns#' term='xen cloud platform'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><category scheme='http://www.blogger.com/atom/ns#' term='xapi'/><category scheme='http://www.blogger.com/atom/ns#' term='console'/><title type='text'>Taming Xen Cloud Platform Consoles</title><content type='html'>At $dayjob I have been studying Xen Cloud Platform inside out, and all in all I like it a lot! The API rox, it's very extensive and after the first couple of days makes a lot of sense. We're also see'ing initial very good performance. One part that was particularly not straightforward was the getting a console for a running VM. I'll document here my findings&lt;br /&gt;&lt;br /&gt;So, let's jump straight in, let's list the console of our centos VM&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[root@xcp03 ~]# xe console-list vm-uuid=90e68b99-0408-3e4c-1dd1-ea28e98fbbad&lt;br /&gt;uuid ( RO)             : e845ef9d-2075-0773-119e-08875fb61a1f&lt;br /&gt;          vm-uuid ( RO): 90e68b99-0408-3e4c-1dd1-ea28e98fbbad&lt;br /&gt;    vm-name-label ( RO): kamal-CentOS-5.3x64&lt;br /&gt;         protocol ( RO): RFB&lt;br /&gt;         location ( RO): https://10.100.170.12/console?ref=OpaqueRef:11519923-ee64-21cf-654f-8cce6a7edbb9&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The "location" you get is the location of the console for the specified VM. However, if you try visiting that with a VM, you'll get a 404 not found error! Time for some magic. In order to do any of the following, we need a "session" on the Xen Cloud. Since I play with the Xen Python API, I'll use that to get a session&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;In [7]: import XenAPI&lt;br /&gt;&lt;br /&gt;In [8]: session = XenAPI.Session('http://10.100.170.12')&lt;br /&gt;&lt;br /&gt;In [9]: session.login_with_password('root', 'woohoo')&lt;br /&gt;&lt;br /&gt;In [10]: print session._session&lt;br /&gt;-------&gt; print(session._session)&lt;br /&gt;OpaqueRef:2d600568-c2ca-3f79-b54c-d98420fea1bb&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;So we now have a session cookie "OpaqueRef:2d600568-c2ca-3f79-b54c-d98420fea1bb". Now let's try to connect to the VNC server. I'll first try to connect by hand (actually telnet) :)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Try 1: Telnet connection&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We need to connect using SSL, which telnet does not support. For that we use "socat", a magical little tool&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[akamal@matrix tmp]$ socat TCP4-LISTEN:31337,fork OPENSSL:10.100.170.12:443,verify=0&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Let's try to telnet to the locally listening port "31337" and socat will take our connection, wrap it in SSL and connect us to the Xen-API server&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[akamal@matrix ~]$ telnet localhost 31337&lt;br /&gt;Trying ::1...&lt;br /&gt;telnet: connect to address ::1: Connection refused&lt;br /&gt;Trying 127.0.0.1...&lt;br /&gt;Connected to localhost.&lt;br /&gt;Escape character is '^]'.&lt;br /&gt;CONNECT /console?ref=OpaqueRef:11519923-ee64-21cf-654f-8cce6a7edbb9&amp;session_id=OpaqueRef:2d600568-c2ca-3f79-b54c-d98420fea1bb HTTP/1.0&lt;br /&gt;&lt;br /&gt;HTTP/1.1 200 OK&lt;br /&gt;Connection: keep-alive&lt;br /&gt;Cache-Control: no-cache, no-store&lt;br /&gt;&lt;br /&gt;RFB 003.003&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Et voila, all the VNC savvy readers will understand that we have been connected to the VNC server. The RFB greeting denotes the begining of the VNC protocol. A few things to note&lt;br /&gt;&lt;br /&gt;1- The CONNECT HTTP method is one big line&lt;br /&gt;2- It contains two parts, the console uuid we got first, the second part being "&amp;session_id=" and the session uuid we got from python&lt;br /&gt;3- We connected with HTTP/1.0 and got a response with HTTP/1.1&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Try 2: XVP Connection&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Create a custom java key store. Download and convert the certificate format and import it. This is important because if you don't the java viewer won't accept the Xen server's self signed certificate (yuck?)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;cd /usr/java/jdk1.6.0_17/bin&lt;br /&gt;./keytool -genkey -alias kimo -keyalg RSA -keystore /tmp/kimo.jks&lt;br /&gt;[akamal@matrix bin]$ scp root@10.100.170.12:/etc/xensource/xapi-ssl.pem /var/tmp/&lt;br /&gt;xapi-ssl.pem                                                                                                               100% 1108     1.1KB/s   00:00&lt;br /&gt;[akamal@matrix bin]$ openssl x509 -in /var/tmp/xapi-ssl.pem -inform PEM -out /var/tmp/newxapi.crt -outform DER&lt;br /&gt;&lt;br /&gt;[akamal@matrix bin]$ ./keytool -import -trustcacerts -file /var/tmp/newxapi.crt -alias XCP_ALIAS -keystore /tmp/kimo.jks&lt;br /&gt;Enter keystore password:&lt;br /&gt;Owner: CN=10.100.170.13&lt;br /&gt;Issuer: CN=10.100.170.13&lt;br /&gt;Serial number: bb01ad6ac4cdc83e&lt;br /&gt;Valid from: Wed Dec 23 15:27:24 EET 2009 until: Sat Dec 21 15:27:24 EET 2019&lt;br /&gt;Certificate fingerprints:&lt;br /&gt;         MD5:  84:90:D7:CF:7F:76:95:9E:2C:52:5A:66:C7:85:DB:58&lt;br /&gt;         SHA1: BB:7B:C9:B1:47:19:42:F6:75:02:84:55:A1:05:67:7B:A6:B9:4E:82&lt;br /&gt;         Signature algorithm name: SHA1withRSA&lt;br /&gt;         Version: 1&lt;br /&gt;Trust this certificate? [no]:  yes&lt;br /&gt;Certificate was added to keystore&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Perfect, now let's get the XVP source code. XVP is basically tightvnc with protocol additions that the Citrix hackers have added to better control VMs&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[akamal@matrix tmp]$ wget -q http://www.xvpsource.org/xvp-1.3.2.tar.gz&lt;br /&gt;[akamal@matrix tmp]$ tar xzf xvp-1.3.2.tar.gz&lt;br /&gt;[akamal@matrix tmp]$ cd xvp-1.3.2/&lt;br /&gt;[akamal@matrix xvp-1.3.2]$ cd viewer/&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Apply the following patch&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;diff -ur ./HTTPSConnectSocket.java /tmp/xvp/xvp-1.3.2/viewer/HTTPSConnectSocket.java&lt;br /&gt;--- ./HTTPSConnectSocket.java   2009-11-30 15:37:05.000000000 +0200&lt;br /&gt;+++ /tmp/xvp/xvp-1.3.2/viewer/HTTPSConnectSocket.java   2009-12-29 19:14:56.165479016 +0200&lt;br /&gt;@@ -46,8 +46,10 @@&lt;br /&gt;     ssl = (SSLSocket)ssf.createSocket(proxyHost, proxyPort);&lt;br /&gt;     ssl.startHandshake();&lt;br /&gt;&lt;br /&gt;+    System.out.print("CONNECT " + host +&lt;br /&gt;+                             " HTTP/1.0\r\n\r\n");&lt;br /&gt;     // Send the CONNECT request&lt;br /&gt;-    ssl.getOutputStream().write(("CONNECT " + host + ":" + port +&lt;br /&gt;+    ssl.getOutputStream().write(("CONNECT " + host +&lt;br /&gt;                             " HTTP/1.0\r\n\r\n").getBytes());&lt;br /&gt;&lt;br /&gt;     // Read the first line of the response&lt;br /&gt;@@ -55,8 +57,8 @@&lt;br /&gt;     String str = is.readLine();&lt;br /&gt;&lt;br /&gt;     // Check the HTTP error code -- it should be "200" on success&lt;br /&gt;-    if (!str.startsWith("HTTP/1.0 200 ")) {&lt;br /&gt;-      if (str.startsWith("HTTP/1.0 "))&lt;br /&gt;+    if (!str.startsWith("HTTP/1.1 200 ")) {&lt;br /&gt;+      if (str.startsWith("HTTP/1.1 "))&lt;br /&gt;        str = str.substring(9);&lt;br /&gt;       throw new IOException("Proxy reports \"" + str + "\"");&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Build the code&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[akamal@matrix viewer]$ make&lt;br /&gt;javac -J-Xmx16m -target 1.1 -source 1.3 -nowarn -O VncViewer.java RfbProto.java AuthPanel.java VncCanvas.java VncCanvas2.java OptionsFrame.java ClipboardFrame.java ButtonPanel.java DesCipher.java CapabilityInfo.java CapsContainer.java RecordingFrame.java SessionRecorder.java SocketFactory.java ReloginPanel.java HTTPConnectSocketFactory.java HTTPConnectSocket.java HTTPSConnectSocketFactory.java HTTPSConnectSocket.java InStream.java MemInStream.java ZlibInStream.java XvpConfirmDialog.java&lt;br /&gt;jar -J-Xmx16m cfm VncViewer.jar MANIFEST.MF VncViewer.class RfbProto.class AuthPanel.class VncCanvas.class VncCanvas2.class OptionsFrame.class ClipboardFrame.class ButtonPanel.class DesCipher.class CapabilityInfo.class CapsContainer.class RecordingFrame.class SessionRecorder.class SocketFactory.class ReloginPanel.class HTTPConnectSocketFactory.class HTTPConnectSocket.class HTTPSConnectSocketFactory.class HTTPSConnectSocket.class InStream.class MemInStream.class ZlibInStream.class XvpConfirmDialog.class&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Now let's connect using one more magical and undocumented command line&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[akamal@matrix viewer]$ java -Djavax.net.ssl.trustStore=/tmp/kimo.jks -Xmx64m -jar VncViewer.jar HOST "/console?ref=OpaqueRef:11519923-ee64-21cf-654f-8cce6a7edbb9&amp;session_id=OpaqueRef:2d600568-c2ca-3f79-b54c-d98420fea1bb" PORT 443 PROXYHOST1 10.100.170.12 PROXYPORT1 443 SocketFactory "HTTPSConnectSocketFactory"&lt;br /&gt;Initializing...&lt;br /&gt;Connecting to /console?ref=OpaqueRef:11519923-ee64-21cf-654f-8cce6a7edbb9&amp;session_id=OpaqueRef:2d600568-c2ca-3f79-b54c-d98420fea1bb, port 443...&lt;br /&gt;HTTPS CONNECT via proxy 10.100.170.12 port 443&lt;br /&gt;CONNECT /console?ref=OpaqueRef:11519923-ee64-21cf-654f-8cce6a7edbb9&amp;session_id=OpaqueRef:2d600568-c2ca-3f79-b54c-d98420fea1bb HTTP/1.0&lt;br /&gt;&lt;br /&gt;Connected to server&lt;br /&gt;RFB server supports protocol version 3.3&lt;br /&gt;Using RFB protocol version 3.3&lt;br /&gt;No authentication needed&lt;br /&gt;Desktop name is XenServer Virtual Terminal&lt;br /&gt;Desktop size is 640 x 384&lt;br /&gt;Using Tight/ZRLE encodings&lt;br /&gt;Closing window&lt;br /&gt;Disconnecting&lt;br /&gt;Updates received: 2 (40 rectangles + 1 pseudo), 0.02 updates/sec&lt;br /&gt;Rectangles: Tight=0(JPEG=0) ZRLE=0 Hextile=40 Raw=0 CopyRect=0 other=0&lt;br /&gt;Pixel data: 983040 bytes, 4295 compressed, ratio 228.88&lt;br /&gt;RFB socket closed&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;et voila, here's how it looks when it works&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/4234443194/" title="xcp-console by Ahmed-Kamal, on Flickr"&gt;&lt;img src="http://farm5.static.flickr.com/4023/4234443194_6a133b1afb_o.png" width="650" height="438" alt="xcp-console" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Yoohooo, hurray for undocumented ^#^&amp;@%^#%&lt;br /&gt;&lt;br /&gt;This post would not have been possible without great help from a friend and guru developer &lt;a href="http://www.ahmedsoliman.com"&gt;Ahmed Soliman&lt;/a&gt;. Also &lt;a href="http://ahussein-limitless.blogspot.com/"&gt;Abdelrahman Hussein&lt;/a&gt; helped with some final touches&lt;br /&gt;&lt;br /&gt;Hoping that post is of help to some poor souls. I still like XCP though :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-7344600024135949272?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/7344600024135949272/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=7344600024135949272' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/7344600024135949272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/7344600024135949272'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2010/01/taming-xen-cloud-platform-consoles.html' title='Taming Xen Cloud Platform Consoles'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-1648266159936373449</id><published>2009-11-30T19:25:00.008+02:00</published><updated>2009-11-30T23:18:01.904+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='playlist'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Create Mega Android Playlists from PC</title><content type='html'>Wanting to create a large playlist for my HTC Hero android based phone, I found out this is a fairly painful task since the obvious method involves adding songs one by one!&lt;br /&gt;&lt;br /&gt;Fear not fellow androiders, here is how to create mega playlists easily (although it does involve typing a command OMG :) )&lt;br /&gt;&lt;br /&gt;1- Plug in the phone over USB. My phone appears as drive G:&lt;br /&gt;2- Open a terminal window, and "cd" into the Folder containing the music you would like to make a "playlist". In my case  &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;g:&lt;br /&gt;cd MP3/80sMusic&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;3- Here comes the magic&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;dir /B &gt; 80s-best-Music.m3u&lt;br /&gt;exit&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;4- Et voila, the terminal window exits, safely remove your USB disk, turn off the USB connection from the phone and that is it!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Addendum for Linux users&lt;/b&gt;&lt;br /&gt;1- Mount your phone on some directory, and "cd" to it. In my case&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;sudo mount /dev/sdb1 /media/androidy&lt;br /&gt;cd /media/androidy&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;2- Create the playlist file&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;cd MP3/80sMusic&lt;br /&gt;ls &gt; 80s-best-Music.m3u&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;3- Eject and Et voila. It's really almost identical to the Windows case&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;cd / ; sudo umount /media/androidy&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I was pleasently surprised to find that in Android ALL music apps share the same playlists. So that newly created playlist is seen by the built-in Music application, as well as with the 3rd party Music player MixZing. It is also pleasantly surprising that Android seems to scan the whole folder structure for the .M3U files wherever they may be and use them as playlists! Sweet&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-1648266159936373449?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/1648266159936373449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=1648266159936373449' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/1648266159936373449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/1648266159936373449'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2009/11/create-mega-playlists-from-your-pc.html' title='Create Mega Android Playlists from PC'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-4115389954251903256</id><published>2009-11-19T12:06:00.001+02:00</published><updated>2009-11-19T12:07:36.478+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SMP'/><category scheme='http://www.blogger.com/atom/ns#' term='CPU'/><category scheme='http://www.blogger.com/atom/ns#' term='kernel'/><title type='text'>Taking down your CPUs</title><content type='html'>echo 0 &gt; /sys/devices/system/cpu/cpu1/online&lt;br /&gt;&lt;br /&gt;Nov 19 11:59:35 localhost kernel: CPU 1 is now offline&lt;br /&gt;Nov 19 11:59:35 localhost kernel: SMP alternatives: switching to UP code&lt;br /&gt;&lt;br /&gt;Since my CPU is/was dual core, it's now single .. and thus the kernel has switched to UP code... neat !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-4115389954251903256?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/4115389954251903256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=4115389954251903256' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/4115389954251903256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/4115389954251903256'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2009/11/taking-down-your-cpus.html' title='Taking down your CPUs'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-2322046412139292973</id><published>2009-08-29T12:07:00.003+02:00</published><updated>2009-08-29T21:35:41.802+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='multiple tabs'/><category scheme='http://www.blogger.com/atom/ns#' term='chromium'/><category scheme='http://www.blogger.com/atom/ns#' term='new tabs'/><category scheme='http://www.blogger.com/atom/ns#' term='Google chrome'/><title type='text'>Google Chrome Multiple Home Pages</title><content type='html'>Recently I started using Google's browser Chrome (well technically chromium) on Linux for my browsing needs. It is very fast, low on CPU and Memory, I quite like it. I am now also sure Flash plugin is teh CPU hog pig :) Anyway, one really cool feature I missed from Firefox was the ability to set multiple pages as the homepage. The thing is, I follow quite a lot of tech news sites, and I need to check them every now and then. In firefox, I'd just click the Home button, and it would open all of them, I could not find this functionality out of the box with Chrome. What is a geek to do ? Well of course write some javascript :)&lt;br /&gt;&lt;br /&gt;So, here is how I resolved this issue:&lt;br /&gt;- Open a new tab, the bookmarks toolbar appears, right click it choose add page&lt;br /&gt;- Choose a Name for the bookmark&lt;br /&gt;- In the URL field, paste the following javascript&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;javascript:(function(){ window.location.href='http://site1.org/'; window.open('http://site2.com/'); window.open('http://site3.com/'); window.open('http://site4.com/'); })();&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;That is it :) Keep adding more sites as much as you want. Pretty straightforward, but I thought I'd blog  it since it might not be all that obvious&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-2322046412139292973?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/2322046412139292973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=2322046412139292973' title='24 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/2322046412139292973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/2322046412139292973'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2009/08/google-chrome-multiple-home-pages.html' title='Google Chrome Multiple Home Pages'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>24</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-8444777919421365049</id><published>2009-07-21T22:10:00.001+03:00</published><updated>2009-07-21T22:11:19.300+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SMP'/><category scheme='http://www.blogger.com/atom/ns#' term='HPC'/><category scheme='http://www.blogger.com/atom/ns#' term='nehalem'/><category scheme='http://www.blogger.com/atom/ns#' term='Intel'/><title type='text'>8 sockets, 64 cores, 128 threads, Yummy!</title><content type='html'>The Windows task manager almost looks funny! enjoy&lt;br /&gt;&lt;br /&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/BQ4shSQJTd0&amp;hl=en&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/BQ4shSQJTd0&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-8444777919421365049?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/8444777919421365049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=8444777919421365049' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/8444777919421365049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/8444777919421365049'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2009/07/8-sockets-64-cores-128-threads-yummy.html' title='8 sockets, 64 cores, 128 threads, Yummy!'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-4630587893021059414</id><published>2009-07-02T19:47:00.000+03:00</published><updated>2009-07-02T19:48:13.891+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arabic'/><category scheme='http://www.blogger.com/atom/ns#' term='machine-translation'/><category scheme='http://www.blogger.com/atom/ns#' term='iphone'/><title type='text'>English/Arabic Voice/Voice iPhone translator</title><content type='html'>Amazing video! The future is now!&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/rW9m9230LnA&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/rW9m9230LnA&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-4630587893021059414?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/4630587893021059414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=4630587893021059414' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/4630587893021059414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/4630587893021059414'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2009/07/englisharabic-voicevoice-iphone.html' title='English/Arabic Voice/Voice iPhone translator'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-9143030617076235898</id><published>2009-07-01T21:07:00.003+03:00</published><updated>2009-07-01T21:11:30.081+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KDE'/><title type='text'>KDE 4.3 coming</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;br /&gt;Size = 'Banner'; // default value for 186x60 size&lt;br /&gt;Size = 'Square'; // for 125x125 square size&lt;br /&gt;                        Lang = 'En'; //more languages will follow&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type="text/javascript" src="http://games.kde.org/counters/4.3/Slideshow.js"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-9143030617076235898?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/9143030617076235898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=9143030617076235898' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/9143030617076235898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/9143030617076235898'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2009/07/kde-43-coming.html' title='KDE 4.3 coming'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-3809599375368959174</id><published>2009-06-30T14:15:00.005+03:00</published><updated>2009-06-30T19:26:35.759+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='network-scan'/><category scheme='http://www.blogger.com/atom/ns#' term='removal'/><category scheme='http://www.blogger.com/atom/ns#' term='kido'/><category scheme='http://www.blogger.com/atom/ns#' term='conficker'/><title type='text'>Network Scan for Conficker</title><content type='html'>The conficker worm is a pretty nasty one! How do you scan if a machine on your network is infected ?&lt;br /&gt;&lt;br /&gt;In this article we'll be using the awesome open-source nmap network scanning engine. In this example I will be preforming my scan from a Linux box. However you can use other OSs.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;wget http://nmap.org/dist/nmap-4.90RC1-1.i386.rpm&lt;br /&gt;rpm -Uvh nmap-4.90RC1-1.i386.rpm&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;It is recommended that you get the latest nmap from their &lt;a href="http://nmap.org/download.html"&gt;download&lt;/a&gt; page. Next, launch nmap on the local network IP range, in this example it is 192.168.96.0/22, but YMMV. The interesting argument here is the --script which utilizes the NSE (Nmap scripting engine) in order to assess whether or not the current windows machine nmap is connected to is vulnerable. So let's launch the scan&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;nmap -PN -T4 -p139,445 -n -v --script smb-check-vulns,smb-os-discovery --script-args safe=1 192.168.96.0/22&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Once the scan has completed Identify the potentially infected machine on the LAN. An infected machine would result in nmap output similar to&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Host script results:&lt;br /&gt;|  smb-os-discovery: Windows XP&lt;br /&gt;|  LAN Manager: Windows 2000 LAN Manager&lt;br /&gt;|  Name: WORKGROUP\LAME-WinXP&lt;br /&gt;|_ System time: 2009-06-30 10:47:12 UTC+3&lt;br /&gt;|  smb-check-vulns:&lt;br /&gt;|  MS08-067: CHECK DISABLED (remove 'safe=1' argument to run)&lt;br /&gt;|  Conficker: &lt;span style="font-weight:bold;"&gt;Likely INFECTED&lt;/span&gt; (by Conficker.C or lower)&lt;br /&gt;|_ regsvc DoS: CHECK DISABLED (add '--script-args=unsafe=1' to run)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Once identified, you can use the great &lt;a href="http://data2.kaspersky.com:8080/special/KK_v3.4.7.zip"&gt;kkiller&lt;/a&gt; tool from kaspersky labs to clean the infected machine&lt;br /&gt;&lt;br /&gt;You can find the latest kkiller from the following page &lt;a href="http://support.kaspersky.com/faq/?qid=208279973."&gt;page&lt;/a&gt; as well&lt;br /&gt;&lt;br /&gt;Have fun, patch your broken windows, or better yet, learn some *nix &lt;a href="http://en.wikipedia.org/wiki/Unix"&gt;foo&lt;/a&gt; or &lt;a href="http://en.wikipedia.org/wiki/Unix-like"&gt;bar&lt;/a&gt; :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-3809599375368959174?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/3809599375368959174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=3809599375368959174' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/3809599375368959174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/3809599375368959174'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2009/06/network-scan-for-conficker.html' title='Network Scan for Conficker'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-2684625616610002295</id><published>2009-06-03T23:23:00.008+03:00</published><updated>2009-06-04T00:02:39.749+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pygrub'/><category scheme='http://www.blogger.com/atom/ns#' term='paravirtual'/><category scheme='http://www.blogger.com/atom/ns#' term='dom0'/><category scheme='http://www.blogger.com/atom/ns#' term='centos'/><category scheme='http://www.blogger.com/atom/ns#' term='zfs'/><category scheme='http://www.blogger.com/atom/ns#' term='opensolaris'/><category scheme='http://www.blogger.com/atom/ns#' term='xen'/><category scheme='http://www.blogger.com/atom/ns#' term='paravirtualized'/><title type='text'>OpenSolaris 2009.06 PV under Xen Centos5 dom0</title><content type='html'>OpenSolaris 2009.06 has been recently released. Since ZFS offers a lot of flexibility and advantages as a storage platform, many would be interested in running the opensolaris stack. In this article I'll be installing OpenSolaris 2009.06 para-virtualized under a centos-5-x64 dom0. This setup has the advatange of running OpenSolaris on storage controllers that may not have native solaris driver support. Not that that would be recommended, however, it might be useful for testing. So, let's begin&lt;br /&gt;&lt;br /&gt;- Install a minimal Centos-5-x64 installation. I installed the OS on a 20G partition, while the rest of the disk was formatted as LVM partition for creating logical volumes for xen guests to live on&lt;br /&gt;&lt;br /&gt;- Install the latest Xen stack. I will be installing Xen-3.4. This is highly recommended since the bundled boot-loader pygrub has the ability to mount ZFS block devices.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[root@xen2 yum.repos.d]# cat &gt; /etc/yum.repos.d/gitco.repo &lt;&lt; EOF&lt;br /&gt;&gt; [gitco]&lt;br /&gt;&gt; name = Red Hat Enterprise $releasever - gitco&lt;br /&gt;&gt; baseurl = http://www.gitco.de/repo/xen3.4.0&lt;br /&gt;&gt; enabled = 1&lt;br /&gt;&gt; protect = 0&lt;br /&gt;&gt; gpgcheck = 0&lt;br /&gt;&gt; EOF&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;- Now let's install the required virtualization stack&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[root@xen2 yum.repos.d]# yum install xen-libs.x86_64 bridge-utils.x86_64 qemu.x86_64 gtkglext-libs.x86_64 gtk-vnc.x86_64 gtk-vnc-python.x86_64 cyrus-sasl-md5.x86_64 libvirt.x86_64 libvirt-python.x86_64 python-virtinst virt-manager.x86_64 kernel-xen.x86_64 xen.x86_64 virt-viewer.x86_64 libvirt.x86_64 gnome-applet-vm.x86_64&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Check that your menu.lst file has been updated to point to the newly installed Xen&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[root@xen2 yum.repos.d]# cat /boot/grub/grub.conf&lt;br /&gt;# grub.conf generated by anaconda&lt;br /&gt;#&lt;br /&gt;# Note that you do not have to rerun grub after making changes to this file&lt;br /&gt;# NOTICE:  You do not have a /boot partition.  This means that&lt;br /&gt;#          all kernel and initrd paths are relative to /, eg.&lt;br /&gt;#          root (hd0,0)&lt;br /&gt;#          kernel /boot/vmlinuz-version ro root=/dev/sda1&lt;br /&gt;#          initrd /boot/initrd-version.img&lt;br /&gt;#boot=/dev/sda&lt;br /&gt;default=0&lt;br /&gt;timeout=5&lt;br /&gt;splashimage=(hd0,0)/boot/grub/splash.xpm.gz&lt;br /&gt;hiddenmenu&lt;br /&gt;title CentOS (2.6.18-128.1.10.el5xen)&lt;br /&gt;        root (hd0,0)&lt;br /&gt;        kernel /boot/xen.gz-3.4.0&lt;br /&gt;        module /boot/vmlinuz-2.6.18-128.1.10.el5xen ro root=LABEL=/ rhgb quiet&lt;br /&gt;        module /boot/initrd-2.6.18-128.1.10.el5xen.img&lt;br /&gt;title CentOS (2.6.18-128.el5)&lt;br /&gt;        root (hd0,0)&lt;br /&gt;        kernel /boot/vmlinuz-2.6.18-128.el5 ro root=LABEL=/ rhgb quiet&lt;br /&gt;        initrd /boot/initrd-2.6.18-128.el5.img&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;- Reboot into your new environment, and check you are booted on Xen-3.4&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[root@xen2 ~]# xm dmesg | head&lt;br /&gt; __  __            _____ _  _    ___&lt;br /&gt; \ \/ /___ _ __   |___ /| || |  / _ \&lt;br /&gt;  \  // _ \ '_ \    |_ \| || |_| | | |&lt;br /&gt;  /  \  __/ | | |  ___) |__   _| |_| |&lt;br /&gt; /_/\_\___|_| |_| |____(_) |_|(_)___/&lt;br /&gt;&lt;br /&gt;(XEN) Xen version 3.4.0 (root@gitco.tld) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-44)) Fri May 29 21:39:26 CEST 2009&lt;br /&gt;(XEN) Latest ChangeSet: unavailable&lt;br /&gt;(XEN) Command line:&lt;br /&gt;(XEN) Video information:&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;- Now we're ready to begin :) Make a folder and download the ISO in it&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[root@xen2 ~]# mkdir -p /xen/osol/ &amp;&amp; cd /xen/osol &amp;&amp; wget http://genunix.org/distributions/indiana/osol-0906-x86.iso&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;- Let's loop mount the iso, extract the paravirt kernel and micro-root&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[root@xen2 osol]# mkdir -p /mnt/loop&lt;br /&gt;[root@xen2 osol]# mount -o ro,loop osol-0906-x86.iso /mnt/loop&lt;br /&gt;[root@xen2 osol]# cp /mnt/loop/boot/amd64/x86.microroot /mnt/loop/platform/i86xpv/kernel/amd64/unix .&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;- Construct the Xen installation-time configuration file&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[root@xen2 osol]# cat &gt; osol0906install &lt;&lt; EOF&lt;br /&gt;&gt; name = "osol0906install"&lt;br /&gt;&gt; memory = 1024&lt;br /&gt;&gt; vfb = [ 'type=vnc,vnclisten=127.0.0.1,vncdisplay=0' ]&lt;br /&gt;&gt; disk = ['file:/xen/osol/osol-0906-x86.iso,6:cdrom,r',&lt;br /&gt;&gt;  "phy:/dev/vgxen/osol,xvda,w" ]&lt;br /&gt;&gt; vif = [ "mac=00:16:36:10:f5:69,bridge=eth1" ]&lt;br /&gt;&gt; on_reboot = "destroy" # comment out this after installation&lt;br /&gt;&gt; kernel = "/xen/osol/unix"&lt;br /&gt;&gt; ramdisk = "/xen/osol/x86.microroot"&lt;br /&gt;&gt; extra = "/platform/i86xpv/kernel/amd64/unix - nowin -B install_media=cdrom"&lt;br /&gt;&gt; EOF&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;- Create the logical volume for the OpenSolaris installtion&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[root@xen2 osol]# lvcreate -L 15G -n osol vgxen&lt;br /&gt;  Logical volume "osol" created&lt;br /&gt;[root@xen2 osol]# ls -l /dev/vgxen/osol&lt;br /&gt;lrwxrwxrwx 1 root root 22 Jun  3 22:14 /dev/vgxen/osol -&gt; /dev/mapper/vgxen-osol&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;- Start the Xen VM, and hit enter a few times for the defaults&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[root@xen2 osol]# xm create ./osol0906install -c&lt;br /&gt;Using config file "././osol0906install".&lt;br /&gt;Started domain osol0906install (id=1)&lt;br /&gt;                                     v3.4.0 chgset 'unavailable'&lt;br /&gt;SunOS Release 5.11 Version snv_111b 64-bit&lt;br /&gt;Copyright 1983-2009 Sun Microsystems, Inc.  All rights reserved.&lt;br /&gt;Use is subject to license terms.&lt;br /&gt;Hostname: opensolaris&lt;br /&gt;Remounting root read/write&lt;br /&gt;Probing for device nodes ...&lt;br /&gt;NOTICE: xdf@6: failed to read feature-barrier&lt;br /&gt;NOTICE: xdf@51712: failed to read feature-barrier&lt;br /&gt;Preparing live image for use&lt;br /&gt;Done mounting Live image&lt;br /&gt;USB keyboard&lt;br /&gt; 1. Albanian                      23. Lithuanian&lt;br /&gt; 2. Belarusian                    24. Latvian&lt;br /&gt; 3. Belgian                       25. Macedonian&lt;br /&gt; 4. Brazilian                     26. Malta_UK&lt;br /&gt; 5. Bulgarian                     27. Malta_US&lt;br /&gt; 6. Canadian-Bilingual            28. Norwegian&lt;br /&gt; 7. Croatian                      29. Polish&lt;br /&gt; 8. Czech                         30. Portuguese&lt;br /&gt; 9. Danish                        31. Russian&lt;br /&gt;10. Dutch                         32. Serbia-And-Montenegro&lt;br /&gt;11. Finnish                       33. Slovenian&lt;br /&gt;12. French                        34. Slovakian&lt;br /&gt;13. French-Canadian               35. Spanish&lt;br /&gt;14. Hungarian                     36. Swedish&lt;br /&gt;15. German                        37. Swiss-French&lt;br /&gt;16. Greek                         38. Swiss-German&lt;br /&gt;17. Icelandic                     39. Traditional-Chinese&lt;br /&gt;18. Italian                       40. TurkishQ&lt;br /&gt;19. Japanese-type6                41. TurkishF&lt;br /&gt;20. Japanese                      42. UK-English&lt;br /&gt;21. Korean                        43. US-English&lt;br /&gt;22. Latin-American&lt;br /&gt;To select the keyboard layout, enter a number [default 43]:&lt;br /&gt; 1. Arabic&lt;br /&gt; 2. Chinese - Simplified&lt;br /&gt; 3. Chinese - Traditional&lt;br /&gt; 4. Czech&lt;br /&gt; 5. Dutch&lt;br /&gt; 6. English&lt;br /&gt; 7. French&lt;br /&gt; 8. German&lt;br /&gt; 9. Greek&lt;br /&gt;10. Hebrew&lt;br /&gt;11. Hungarian&lt;br /&gt;12. Indonesian&lt;br /&gt;13. Italian&lt;br /&gt;14. Japanese&lt;br /&gt;15. Korean&lt;br /&gt;16. Polish&lt;br /&gt;17. Portuguese - Brazil&lt;br /&gt;18. Russian&lt;br /&gt;19. Slovak&lt;br /&gt;20. Spanish&lt;br /&gt;21. Swedish&lt;br /&gt;To select desktop language, enter a number [default is 6]:&lt;br /&gt;User selected: English&lt;br /&gt;Configuring devices.&lt;br /&gt;Mounting cdroms&lt;br /&gt;Reading ZFS config: done.&lt;br /&gt;&lt;br /&gt;opensolaris console login: jack&lt;br /&gt;Password:&lt;br /&gt;Sun Microsystems Inc.   SunOS 5.11      snv_111b        November 2008&lt;br /&gt;jack@opensolaris:~$  pfexec uname -a&lt;br /&gt;SunOS opensolaris 5.11 snv_111b i86pc i386 i86xpv Solaris&lt;br /&gt;jack@opensolaris:~$&lt;br /&gt;jack@opensolaris:~$ ifconfig -a&lt;br /&gt;lo0: flags=2001000849&lt;UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL&gt; mtu 8232 index 1&lt;br /&gt;        inet 127.0.0.1 netmask ff000000&lt;br /&gt;xnf0: flags=1004843&lt;UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4&gt; mtu 1500 index 2&lt;br /&gt;        inet 192.168.96.121 netmask fffffc00 broadcast 192.168.99.255&lt;br /&gt;lo0: flags=2002000849&lt;UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL&gt; mtu 8252 index 1&lt;br /&gt;        inet6 ::1/128&lt;br /&gt;xnf0: flags=2004841&lt;UP,RUNNING,MULTICAST,DHCP,IPv6&gt; mtu 1500 index 2&lt;br /&gt;        inet6 fe80::216:36ff:fe10:f569/10&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;- Note that once the installation system boots up, we login with username/password = jack/jack. We use "ifconfig -a" to check the system's IP address (was configured by DHCP, VM NIC is bridged to physical host's eth1). The IP in this case is 192.168.96.121&lt;br /&gt;&lt;br /&gt;- Now here comes a bit of a tricky part, the Xen console is text only, the OpenSolaris installtion is GUI only (yuck?) In order to get GUI access we will use a built in VNC service in the OpenSolaris Live CD. To get the password for the default vnc session, perform the following command on the Centos Host machine&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;[root@xen2 osol]# xenstore-ls | grep pass&lt;br /&gt;     passwd = "guzc/VCg"&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;- Connect to the live CD and launch the installer&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;vncviewer 192.168.96.121:0&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Continue with the installer GUI&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/3592713031/" title="1-osol0906-pv-installer by engineer_ak, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3371/3592713031_6a19bcef0c.jpg" width="500" height="386" alt="1-osol0906-pv-installer" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/3593524852/" title="2-osol0906-pv-installer-going by engineer_ak, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2429/3593524852_1d95f8874c.jpg" width="500" height="386" alt="2-osol0906-pv-installer-going" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Once done, click Reboot on the installer. The VM actually powers off, which is what we've configured and what we need. &lt;br /&gt;&lt;br /&gt;- Create the run-time Xen config file&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[root@xen2 osol]# cat &gt; osol0906pv &lt;&lt; EOF&lt;br /&gt;&gt; name = "osol0906pv"&lt;br /&gt;&gt; memory = 2048&lt;br /&gt;&gt; vfb = [ 'type=vnc,vnclisten=127.0.0.1,vncdisplay=0' ]&lt;br /&gt;&gt; disk = [ "phy:/dev/vgxen/osol,xvda,w" ]&lt;br /&gt;&gt; vif = [ "mac=00:16:36:10:f5:69,bridge=eth1" ]&lt;br /&gt;&gt; bootloader = '/usr/bin/pygrub'&lt;br /&gt;&gt; EOF&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;- Start the VM and enjoy :)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;[root@xen2 osol]# xm create -c ./osol0906pv&lt;br /&gt;Using config file "././osol0906pv".&lt;br /&gt;Started domain osol0906pv (id=2)&lt;br /&gt;                                v3.4.0 chgset 'unavailable'&lt;br /&gt;SunOS Release 5.11 Version snv_111b 64-bit&lt;br /&gt;Copyright 1983-2009 Sun Microsystems, Inc.  All rights reserved.&lt;br /&gt;Use is subject to license terms.&lt;br /&gt;NOTICE: xdf@51712: failed to read feature-barrier&lt;br /&gt;Hostname: osol0906pv&lt;br /&gt;Configuring devices.&lt;br /&gt;Loading smf(5) service descriptions: 150/150&lt;br /&gt;svccfg import warnings. See /var/svc/log/system-manifest-import:default.log .&lt;br /&gt;Reading ZFS config: done.&lt;br /&gt;Mounting ZFS filesystems: (6/6)&lt;br /&gt;Creating new rsa public/private host key pair&lt;br /&gt;Creating new dsa public/private host key pair&lt;br /&gt;&lt;br /&gt;osol0906pv console login: dev&lt;br /&gt;Password:&lt;br /&gt;Sun Microsystems Inc.   SunOS 5.11      snv_111b        November 2008&lt;br /&gt;dev@osol0906pv:~$ pfexec uname -a&lt;br /&gt;SunOS osol0906pv 5.11 snv_111b i86pc i386 i86xpv Solaris&lt;br /&gt;dev@osol0906pv:~$&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hope that's useful to someone out there&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-2684625616610002295?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/2684625616610002295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=2684625616610002295' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/2684625616610002295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/2684625616610002295'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2009/06/opensolaris-200906-pv-under-xen-centos5.html' title='OpenSolaris 2009.06 PV under Xen Centos5 dom0'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3371/3592713031_6a19bcef0c_t.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-7163273356157368381</id><published>2009-05-30T14:00:00.018+03:00</published><updated>2009-06-01T16:51:47.215+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Batch'/><category scheme='http://www.blogger.com/atom/ns#' term='Bandwidth'/><category scheme='http://www.blogger.com/atom/ns#' term='Traffic'/><category scheme='http://www.blogger.com/atom/ns#' term='SNMP'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><category scheme='http://www.blogger.com/atom/ns#' term='accounting'/><title type='text'>Traffic accounting with SNMP and Python on Windows</title><content type='html'>If you're not on a flat-rate ISP data-plan, and your ISP made you pay extra last month such as myself :) You might be interested in monitoring your home bandwidth. A nifty little features of most routers or ADSL modems, is support for &lt;a href="http://en.wikipedia.org/wiki/Simple_Network_Management_Protocol"&gt;SNMP&lt;/a&gt;. Since both me and my old folks use the same ADSL line, any host based monitoring solution wouldn't really work. I had to monitor the usage using SNMP. Since my folks are using Windows, the solution had to work on that. The solution overview is:&lt;br /&gt;&lt;br /&gt;1- Enable SNMP on ADSL modem&lt;br /&gt;2- Use a windows scheduled task to run a windows Batch file, that uses &lt;a href="http://www.elifulkerson.com/articles/net-snmp-windows-binary-unofficial.php"&gt;SNMP-tools&lt;/a&gt; for windows to pull data from the router&lt;br /&gt;3- Use a windows scheduled task to run a python script that processes the batch file output and computes the total traffic&lt;br /&gt;&lt;br /&gt;Data from the batch files are written in a file signifying the current month (example 05.txt for May). Here is the code for the batch file&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;div style="overflow-x:scroll;overflow-y:scroll;color:#00FF00;background-color:black"&gt;&lt;br /&gt;&lt;font face="monospace"&gt;&lt;br /&gt;&lt;font color="#00ffff"&gt;&lt;b&gt;cd&lt;/b&gt;&lt;/font&gt;&amp;nbsp;e:\traffic&lt;br&gt;&lt;br /&gt;e:\&lt;br&gt;&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt;FOR&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#ff6060"&gt;&lt;b&gt;/F&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#ff40ff"&gt;&lt;b&gt;&amp;quot;TOKENS=&lt;/b&gt;&lt;/font&gt;&lt;font color="#ff40ff"&gt;&lt;b&gt;1&lt;/b&gt;&lt;/font&gt;&lt;font color="#ff40ff"&gt;&lt;b&gt;* DELIMS= &amp;quot;&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#00ffff"&gt;&lt;b&gt;%%A&lt;/b&gt;&lt;/font&gt;&amp;nbsp;IN (&lt;font color="#8080ff"&gt;&lt;b&gt;'&lt;/b&gt;&lt;/font&gt;&lt;font color="#00ffff"&gt;&lt;b&gt;DATE&lt;/b&gt;&lt;/font&gt;&lt;font color="#8080ff"&gt;&lt;b&gt;/T'&lt;/b&gt;&lt;/font&gt;) DO &lt;font color="#00ffff"&gt;&lt;b&gt;SET&lt;/b&gt;&lt;/font&gt;&lt;font color="#00ffff"&gt;&lt;b&gt;&amp;nbsp;CDATE&lt;/b&gt;&lt;/font&gt;&lt;font color="#ffff00"&gt;&lt;b&gt;=&lt;/b&gt;&lt;/font&gt;&lt;font color="#00ffff"&gt;&lt;b&gt;%%B&lt;/b&gt;&lt;/font&gt;&lt;br&gt;&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt;FOR&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#ff6060"&gt;&lt;b&gt;/F&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#ff40ff"&gt;&lt;b&gt;&amp;quot;TOKENS=&lt;/b&gt;&lt;/font&gt;&lt;font color="#ff40ff"&gt;&lt;b&gt;1&lt;/b&gt;&lt;/font&gt;&lt;font color="#ff40ff"&gt;&lt;b&gt;,2 eol=/ DELIMS=/ &amp;quot;&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#00ffff"&gt;&lt;b&gt;%%A&lt;/b&gt;&lt;/font&gt;&amp;nbsp;IN (&lt;font color="#8080ff"&gt;&lt;b&gt;'&lt;/b&gt;&lt;/font&gt;&lt;font color="#00ffff"&gt;&lt;b&gt;DATE&lt;/b&gt;&lt;/font&gt;&lt;font color="#8080ff"&gt;&lt;b&gt;/T'&lt;/b&gt;&lt;/font&gt;) DO &lt;font color="#00ffff"&gt;&lt;b&gt;SET&lt;/b&gt;&lt;/font&gt;&lt;font color="#00ffff"&gt;&lt;b&gt;&amp;nbsp;mm&lt;/b&gt;&lt;/font&gt;&lt;font color="#ffff00"&gt;&lt;b&gt;=&lt;/b&gt;&lt;/font&gt;&lt;font color="#00ffff"&gt;&lt;b&gt;%%B&lt;/b&gt;&lt;/font&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;font color="#00ffff"&gt;&lt;b&gt;echo&lt;/b&gt;&lt;/font&gt;&lt;font color="#ff40ff"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;font color="#00ffff"&gt;&lt;b&gt;%mm%&lt;/b&gt;&lt;/font&gt;&lt;br&gt;&lt;br /&gt;snmpget.exe -c public -O v -v &lt;font color="#ff40ff"&gt;&lt;b&gt;1&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#ff40ff"&gt;&lt;b&gt;192&lt;/b&gt;&lt;/font&gt;.168.11.1 .1.3.6.1.2.1.2.2.1.10.12&lt;font color="#ffff00"&gt;&lt;b&gt;&amp;nbsp;&amp;gt;&amp;gt; &lt;/b&gt;&lt;/font&gt;&lt;font color="#00ffff"&gt;&lt;b&gt;%mm%&lt;/b&gt;&lt;/font&gt;.txt&lt;br&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt; &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Note that the IP 192.168.11.1 should be replaced with the internal IP of your ADSL router. Also, the SNMP OID .1.3.6.1.2.1.2.2.1.10.12 (symbolically: IF-MIB::ifInOctets.12) is the incoming octets on network interface "12". You might need to change that last "12" to represent your network topology. You can use the "snmpwalk" command to list your interface names like:&lt;br /&gt;&lt;br /&gt;snmpwalk -c public -v1 192.168.11.1&lt;br /&gt;this yields&lt;br /&gt;...&lt;br /&gt;IF-MIB::ifDescr.12 = STRING: ppp0&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;I know that my ppp0 is the link to my ISP, so that's the interface I used&lt;br /&gt;&lt;br /&gt;And here is the code for the python script&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;div style="overflow-x:scroll;overflow-y:scroll;color:#00FF00;background-color:black"&gt;&lt;font face="monospace"&gt;&lt;br /&gt;&lt;font color="#00ffff"&gt;&lt;b&gt;# -*- coding: utf-8 -*-&lt;/b&gt;&lt;/font&gt;&lt;br&gt;&lt;br /&gt;&lt;font color="#8080ff"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/font&gt;&amp;nbsp;glob&lt;br&gt;&lt;br /&gt;&lt;font color="#8080ff"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/font&gt;&amp;nbsp;locale&lt;br&gt;&lt;br /&gt;&lt;font color="#8080ff"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/font&gt;&amp;nbsp;os&lt;br&gt;&lt;br /&gt;locale.setlocale(locale.LC_ALL, '')&lt;br&gt;&lt;br /&gt;reports = sorted(glob.glob('&lt;font color="#ff40ff"&gt;&lt;b&gt;??.txt&lt;/b&gt;&lt;/font&gt;'))&lt;br&gt;&lt;br /&gt;totalsReport = open('&lt;font color="#ff40ff"&gt;&lt;b&gt;totals.txt&lt;/b&gt;&lt;/font&gt;','&lt;font color="#ff40ff"&gt;&lt;b&gt;w&lt;/b&gt;&lt;/font&gt;')&lt;br&gt;&lt;br /&gt;totalsReport.write('&lt;font color="#ff40ff"&gt;&lt;b&gt;&amp;nbsp;Month&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Traffic &lt;/b&gt;&lt;/font&gt;&lt;font color="#ff6060"&gt;&lt;b&gt;\n&lt;/b&gt;&lt;/font&gt;')&lt;br&gt;&lt;br /&gt;totalsReport.write('&lt;font color="#ff40ff"&gt;&lt;b&gt;====================&lt;/b&gt;&lt;/font&gt;&lt;font color="#ff6060"&gt;&lt;b&gt;\n&lt;/b&gt;&lt;/font&gt;')&lt;br&gt;&lt;br /&gt;&lt;font color="#ffff00"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/font&gt;&amp;nbsp;report &lt;font color="#ffff00"&gt;&lt;b&gt;in&lt;/b&gt;&lt;/font&gt;&amp;nbsp;reports:&lt;br&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;datastring = open(report,'&lt;font color="#ff40ff"&gt;&lt;b&gt;r&lt;/b&gt;&lt;/font&gt;').readlines()&lt;br&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data = [ int(datastring[i].strip().split()[1]) &lt;font color="#ffff00"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/font&gt;&amp;nbsp;i &lt;font color="#ffff00"&gt;&lt;b&gt;in&lt;/b&gt;&lt;/font&gt;&amp;nbsp;range(len(datastring)) ]&lt;br&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;diff = [ data[i+1] - data[i] &lt;font color="#ffff00"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/font&gt;&amp;nbsp;i &lt;font color="#ffff00"&gt;&lt;b&gt;in&lt;/b&gt;&lt;/font&gt;&amp;nbsp;range(len(data) - 1) ]&lt;br&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trafficDeltas = [ (data[i+1],diff[i])[diff[i] &amp;gt; 0] &lt;font color="#ffff00"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/font&gt;&amp;nbsp;i &lt;font color="#ffff00"&gt;&lt;b&gt;in&lt;/b&gt;&lt;/font&gt;&amp;nbsp;range(len(diff)) ]&lt;br&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;totalTraffic = sum(trafficDeltas)&lt;br&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;totalsReport.write('&lt;font color="#ff40ff"&gt;&lt;b&gt;&amp;nbsp;%s =&amp;gt; %s &lt;/b&gt;&lt;/font&gt;&lt;font color="#ff6060"&gt;&lt;b&gt;\n&lt;/b&gt;&lt;/font&gt;'% (report.replace('&lt;font color="#ff40ff"&gt;&lt;b&gt;.txt&lt;/b&gt;&lt;/font&gt;','') , locale.format('&lt;font color="#ff40ff"&gt;&lt;b&gt;%d&lt;/b&gt;&lt;/font&gt;', totalTraffic, True)) )&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;totalsReport.close()&lt;br&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Glancing over the Python code, you can already see I'm a list comprehension addict :) The code reads the snmp bytes values from ??.txt (example: 05.txt), computes bandwidth deltas, handles counter resets (32bit overflow, or router loosing power) and computes totals. Then writes the total to a file named "totals.txt"&lt;br /&gt;&lt;br /&gt;This solution is resistant to the router loosing power and resetting its internal traffic counter back to zero. This is because the data is continuously being saved to non-volatile medium (PC's hard-disk). Also, the Windows PC running those two scripts, does NOT need to be running 24x7 .. Just most of the time. If however the PC is powered off, AND the modem power cycles or hangs, you might loose some accuracy, the results will still be fairly valid though. Hope that's helpful to anyone out there&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-7163273356157368381?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/7163273356157368381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=7163273356157368381' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/7163273356157368381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/7163273356157368381'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2009/05/traffic-accounting-with-snmp-and-python.html' title='Traffic accounting with SNMP and Python on Windows'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-398793731228723036</id><published>2009-05-30T01:55:00.001+03:00</published><updated>2009-05-30T01:56:46.068+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google wave'/><title type='text'>Google Wave, me likes</title><content type='html'>Check this out! Email+IM+Wiki+RealTimeCollaboration+Documents+Workflows+ServerSideBots+GoogleMagic+OpenStandards = Google Wave&lt;br /&gt;&lt;br /&gt;This is the "Wave" of the Future ;)&lt;br /&gt;&lt;br /&gt;&lt;object width="640" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/v_UyVmITiYQ&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/v_UyVmITiYQ&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-398793731228723036?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/398793731228723036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=398793731228723036' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/398793731228723036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/398793731228723036'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2009/05/google-wave-me-likes.html' title='Google Wave, me likes'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-2770354327569047063</id><published>2009-05-27T20:17:00.001+03:00</published><updated>2009-05-27T20:17:53.531+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fedora-11'/><title type='text'>Waiting for Fedora 11</title><content type='html'>&lt;script id="fedora-banner" type="text/javascript" src="http://fedoraproject.org/static/js/release-counter-ext.js?lang=en"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-2770354327569047063?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/2770354327569047063/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=2770354327569047063' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/2770354327569047063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/2770354327569047063'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2009/05/waiting-for-fedora-11.html' title='Waiting for Fedora 11'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-6570002855165774139</id><published>2009-05-25T23:18:00.000+03:00</published><updated>2009-05-25T23:19:19.809+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nexenta'/><category scheme='http://www.blogger.com/atom/ns#' term='opensolaris'/><title type='text'>Nexenta 2.0 is out</title><content type='html'>Check out the googley style toons at&lt;br /&gt;http://www.nexenta.org/os&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-6570002855165774139?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/6570002855165774139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=6570002855165774139' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/6570002855165774139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/6570002855165774139'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2009/05/nexenta-20-is-out.html' title='Nexenta 2.0 is out'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-3229293965823670144</id><published>2009-05-25T23:12:00.002+03:00</published><updated>2009-05-25T23:17:55.962+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='virtual machines'/><category scheme='http://www.blogger.com/atom/ns#' term='zfs'/><category scheme='http://www.blogger.com/atom/ns#' term='VMs'/><title type='text'>VMs over ZFS rock</title><content type='html'>when configuring some complex task over a server, sometimes things go bad (corrupt files, wrong versions, bad data in DB ... etc) and sometimes it's really not easy to undo everything such that you're sure the machine is in a known-good-n-clean state. This is where VMs over ZFS rock!&lt;br /&gt;&lt;br /&gt;while self.isPatient():&lt;br /&gt;  ssh vm poweroff;&lt;br /&gt;  zfs rollback vm@someTimeWhenThingsWhereGood&lt;br /&gt;  VBoxManage startvm vm&lt;br /&gt;  self.letsTryAgain()&lt;br /&gt;&lt;br /&gt;Hyper cool! Snapshots and ease/reliability of backups/restores are about one of the most important things why I love virtulization.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-3229293965823670144?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/3229293965823670144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=3229293965823670144' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/3229293965823670144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/3229293965823670144'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2009/05/vms-over-zfs-rock.html' title='VMs over ZFS rock'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-4617075156484948497</id><published>2009-05-20T19:24:00.006+03:00</published><updated>2010-02-08T17:17:48.561+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='virus'/><category scheme='http://www.blogger.com/atom/ns#' term='Gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='AntiVirus'/><title type='text'>Killing Virii with Gentoo and Kaspersky</title><content type='html'>Sorry but if you pronounce kaspersky to rhyme with whisky, the title isn't going to sound as jiggly as it should ;) I used to pronounce it to rhyme with "sky" but apparently that's incorrect. Anyway, I've been a long time admirer of the Kaspersky AV engine. And today it has saved someone's a$$ one more time ;)&lt;br /&gt;&lt;br /&gt;A friend of mine, who is pretty technical, well he maintains windows drivers for a living, so that sure makes him a hot-shot techy in anyone's book. That friend's laptop caught a nasty virus. In his own words, he was only downloading some power point presentations (ugh), when the miserable closed source proprietary OS he's running (euhm Vista) became infected. He was using Google's chrome browser, so the possibility of having been infected through a browser exploit remains pretty low in my opinion. Especially that Chrome auto-updates itself, thus fixing any potential security holes. My first impression was that he got infected through an exploit in MS Office 2007 (yuck). Anyway, with me trying to help him clean up the laptop, we tried the following&lt;br /&gt;&lt;br /&gt;- Tried installing Symantec's AV suite. That totally fails to even install. What a piece of crap. Symantec's ware is highly over-rated IMO. I used to really like Norton stuff, back in the days of Norton's DiskDoctor .. those were the days :D&lt;br /&gt;&lt;br /&gt;- Tried installing the tried and true &lt;a href="http://malwarebytes.org/"&gt;MalwareBytes&lt;/a&gt;, which did detect and clean a whole bunch of malware, however, much to my surprise, the problem persisted. MalwareBytes is a cool piece of anti-malware, it has worked fantastically for me multiple times, but this time it wasn't enough!&lt;br /&gt;&lt;br /&gt;- Having wasted a couple of hours on this already, I wanted to fire some Kaspersky power on the problem. I visited &lt;a href="http://devbuilds.kaspersky-labs.com/devbuilds/RescueDisk/"&gt;http://devbuilds.kaspersky-labs.com/devbuilds/RescueDisk/&lt;/a&gt; and downloaded a Live CD image Burned the iso, and booted!&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.techmixer.com/pic/2008/07/boot-kaspersky-rescue-disk-on-computer.png" /&gt;&lt;br /&gt;&lt;br /&gt;Now this Live CD is absolutely cool, it's a customized build of Gentoo linux (w00t!) that automagically detected the hardware, connected to the network, started an X server, launched a customized icewm environment with Kaspersky's "K" logo as the "start" button down below. I was impressed, and through that GUI I could launch Kaspersky's AntiVirus tool.&lt;br /&gt;&lt;br /&gt;The first thing it did was to auto-update itself over the internet. Most definitely needed. Afterwards it located and mounted all Windows NTFS partitions, and I was presented with options to scan them. I chose to scan the c: drive. Scan has begun, the scan tool sports a nice looking GUI, although it can be a bit confusing. Anyway scanning has started churning on the hard-disk. It was a bit slow, took around 3 hours for a 100G c: drive! &lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.palddl.net/images/z8cdney1ozr3yzw3byt.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;But I'll sure take slow and reliable over anything else every time! At the end, Kaspersky has located hundreds of infected executable files. I chose to disinfect them. It started disinfection one by one. This took around 20 minutes or so as well. Rebooting after that, windows came up finally clean &lt;insert your favourite swear words here&gt;. The system is working normally again, sigh!&lt;br /&gt;&lt;br /&gt;All in all, Kaspersky proved to be a reliable tool. Kudos to their team for providing a top notch Linux based Live CD for free, that updates itself and provides adequate disinfection for free. Thank you Kaspersky. I will surely recommend you guys in the future. This is one AntiVirus tool I will be sure to remember, when a friend comes knocking on my door. Note however, that they're not the only game in town, others like Avira, and BitDefender and others as well offer Live CD "rescue-disks" as they are called. Hope this post helps anyone out there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-4617075156484948497?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/4617075156484948497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=4617075156484948497' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/4617075156484948497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/4617075156484948497'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2009/05/killing-virii-with-gentoo-and-kaspersky.html' title='Killing Virii with Gentoo and Kaspersky'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-8114432400999313888</id><published>2009-04-22T23:06:00.003+02:00</published><updated>2009-04-22T23:20:50.103+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Anticompetitive'/><title type='text'>Why We Hate Micro$oft</title><content type='html'>&lt;span class="Apple-style-span"   style="border-collapse: collapse;   font-family:arial;font-size:13px;"&gt;&lt;div&gt;Did you ever wonder, why "those people" hate Microsoft&lt;br&gt;If you have, and if you really honestly truly want to gain a better understanding, put down your MS lover hat, and feast your eyes on the following Master-Piece document produced by "The&lt;span style="  ;font-family:verdana;font-size:12px;"&gt; European Committee for Interoperable Systems". The document named  "&lt;span style="border-collapse: collapse;   white-space: pre; font-family:arial;font-size:13px;"&gt;&lt;span style="font-style: italic; "&gt;Microsoft - A History of Anticompetitive Behavior and Consumer Harm&lt;/span&gt;"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="border-collapse: collapse; white-space: pre; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="border-collapse: collapse; white-space: pre; "&gt;You can read the an introductory article + the full document (scroll down a couple of pages) at&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="border-collapse: collapse; white-space: pre; "&gt;&lt;a href="http://www.groklaw.net/article.php?story=20090421111327711" target="_blank" style="color: rgb(42, 93, 176); "&gt;http://www.groklaw.net/&lt;wbr&gt;article.php?story=&lt;wbr&gt;20090421111327711&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="border-collapse: collapse; white-space: pre; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="border-collapse: collapse; white-space: pre; "&gt;Beware though, it's not a short read. It's more of a week-end type of thing. However, to wet your appetite, here are a couple of quotes&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="border-collapse: collapse; white-space: pre; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="border-collapse: collapse; white-space: pre; "&gt;&lt;span style="font-weight: bold; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Killing Dr-Dos: The OS monopoly&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="border-collapse: collapse; white-space: pre; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="border-collapse: collapse; white-space: pre; "&gt;&lt;span style="border-collapse: separate;   white-space: normal; font-family:verdana;font-size:12px;"&gt;&lt;i&gt;"The approach we will take is to detect dr [DOS] &lt;a name="120cfa3fcb602f25_ref6" href="http://www.groklaw.net/article.php?story=20090421111327711#foot6" target="_blank" style="font-size: 12px; font-weight: bold; font-family: verdana, arial, sans-serif; color: rgb(42, 93, 176); "&gt;&lt;sup&gt;6&lt;/sup&gt;&lt;/a&gt; and refuse to load. The error&lt;br /&gt;message should be something like 'Invalid device driver interface.'"&lt;br /&gt;--Phillip Barrett, Microsoft Windows Development Manager&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="  font-style: italic; font-family:verdana;font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=" ;font-family:verdana;"&gt;&lt;span style="font-weight: bold; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Killing Word-Perfect: The Office Monopoly&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="  font-style: italic; font-family:verdana;font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="  font-style: italic; font-family:verdana;font-size:12px;"&gt;&lt;span style="font-style: normal; "&gt;&lt;i&gt;"I have decided that we should not publish these [Windows 95 user interface]&lt;br /&gt;extensions. We should wait until we have a way to do a high level of integration&lt;br /&gt;that will be harder for likes of Notes, WordPerfect to achieve, and which will give&lt;br /&gt;Office a real advantage.... We can't compete with Lotus and WordPerfect/Novell without this."&lt;br /&gt;--Bill Gates, Microsoft founder and then-CEO&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="  ;font-family:verdana;font-size:10px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=" ;font-family:verdana;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Killing Java: The language Monopoly&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="  ;font-family:verdana;font-size:10px;"&gt;&lt;span style=" font-style: italic; font-size:12px;"&gt;"[W]e should just quietly grow j++ share and assume that people will take more&lt;br /&gt;advantage of our classes without ever realizing they are building win32-only java&lt;br /&gt;apps."&lt;br /&gt;--Microsoft's Thomas Reardon&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="  ;font-family:verdana;font-size:10px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=" ;font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=" ;font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=" ;font-family:verdana;"&gt;&lt;span style=" ;font-size:small;"&gt;That's enough for a teaser :) Enjoy reading the rest of the document&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-8114432400999313888?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/8114432400999313888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=8114432400999313888' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/8114432400999313888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/8114432400999313888'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2009/04/why-we-hate-microoft.html' title='Why We Hate Micro$oft'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-7967281344751417481</id><published>2008-12-08T23:19:00.009+02:00</published><updated>2010-10-20T18:13:05.045+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nexenta'/><category scheme='http://www.blogger.com/atom/ns#' term='opensolaris'/><title type='text'>Magical apt-clone, broken system recovery</title><content type='html'>&lt;div style="text-align: justify;"&gt;I have received some very nice feedback regarding my last blog on &lt;a href="http://foss-boss.blogspot.com/2008/11/ride-d-bus-control-your-linux-desktop.html"&gt;D-Bus&lt;/a&gt;, thanks guys. This week I'm going to play once more with my Nexenta installation that we completed in &lt;a href="http://foss-boss.blogspot.com/2008/11/nexenta-can-you-say-solabuntu-part1.html"&gt;part1&lt;/a&gt;. This time around I am going to basically demo the integration the Nexenta folks have pulled mixing apt-get with ZFS file-system capabilities, resulting in transactional system upgrades, with multi-snapshots that makes system recovery a snap!&lt;br /&gt;&lt;br /&gt;We start off booting our nexenta NCP2-alpha installation, which we'll be upgrading to beta-1 as we speak. Grub shows the default boot kernel&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/3092988721/" title="001-normal-grub by engineer_ak, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3101/3092988721_6998abd6c5_o.png" alt="001-normal-grub" height="480" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Once booted, and we log in, let's update apt's cache&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/3093829822/" title="002-apt-get-update by engineer_ak, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3245/3093829822_681192680b_o.png" alt="002-apt-get-update" height="400" width="720" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I have also used the command "apt-clone" to list the currently available boot environments. Basically, using ZFS snapshots the whole machine state is snapshot'ed resulting in a instantly bootable environment. Currently we only have the default environment "rootfs-nmu-000". Now I am going to use apt-clone to "dist-upgrade" the whole system. If this is new to you (who has never seen Ubuntu :) it basically means you're upgrading the whole system to the latest tasty bits&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/3092989005/" title="003-apt-clone-dist-upgrade by engineer_ak, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3064/3092989005_c18490e4ff_o.png" alt="003-apt-clone-dist-upgrade" height="400" width="720" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Note that I have used verbose mode "-v" in order to get more information. After a lot of downloading and dpkg grinding, I now have the latest packages installed. apt-clone has created a new system snapshot "001" and the process ends like so&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/3093830018/" title="004-apt-clone-done by engineer_ak, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3067/3093830018_da3f8d1823_o.png" alt="004-apt-clone-done" height="400" width="720" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I have simply hit 'n' to discard any automatic changes, then I used apt-clone to activate the upgraded snapshot as instructed by the on-screen output&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/3093830112/" title="005-apt-clone-activate-newBE-reboot by engineer_ak, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3174/3093830112_00a7d644db_o.png" alt="005-apt-clone-activate-newBE-reboot" height="400" width="720" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now let's reboot and see what kind of coolness we have&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/3092989369/" title="006-newBE-grub by engineer_ak, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3191/3092989369_a94bfa3478_o.png" alt="006-newBE-grub" height="480" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Oh cool, Grub now displays two bootable environments! One before the upgrades and one after. The dates besides each entry make that clear. Great, now let's reboot into the new envrionment and list the available clones (cloned file systems)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/3093830422/" title="007-booted-into-b104 by engineer_ak, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3280/3093830422_e2d460f0a5_o.png" alt="007-booted-into-b104" height="400" width="720" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Note that the "A" and "C" in the output mean "Active" and "Current". Great, now creating instant bootable system snapshots like that is so useful that it does not relate to software installations only. Say you're running some third party closed source installation application and you're not really sure what's it going to do to your system. Or if the new clueless administrator needs to install something to the server but you think he's probably going to destroy it! In such situations, it's very helpful to manually create a system snapshot. So, let's do just that to create the environment 002 and let's activate it&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/3093830610/" title="008-manually-create-clone-BE by engineer_ak, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3028/3093830610_f1aa6ee0a1_o.png" alt="008-manually-create-clone-BE" height="400" width="720" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now we have our own little safety net. Let's now boot into that new environment. Use apt-clone to make sure "002" is the active and current environment. Then's let's simulate complete system failure. I will not be too creative and will simply delete the kernel and reboot!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/3092989751/" title="009-rm-kernel-reboot by engineer_ak, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3249/3092989751_f8ea4417e9_o.png" alt="009-rm-kernel-reboot" height="400" width="720" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Once in Grub, boot the new and destroyed system. As expected Grub errors out and we're staring at&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/3093830836/" title="010-grub-stops-no-kernel by engineer_ak, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3141/3093830836_50b92c9b8c_o.png" alt="010-grub-stops-no-kernel" height="400" width="720" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So right now we have a broken system. Now do we run to tape, dump | restore, and use some black magic, nope, we simply reboot and choose our safe snapshot 001, boot into that and destroy the corrupt environment 002 and activate the safe one 001 as so&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/3092990003/" title="011-recovered-older-BE-rebooting by engineer_ak, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3257/3092990003_5fd88bfbff_o.png" alt="011-recovered-older-BE-rebooting" height="400" width="720" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Perfect! Once rebooted, our system is back fully functional. Mind you that taking system snapshots, destroying corrupt ones all take a couple of seconds, and of course does not consume disk space except for the changed disk blocks. Now that we have our server back, let's do something useful with it. Let's "apt-clone install apache2".&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/3093831136/" title="012-normal-boot-install-apache2 by engineer_ak, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3266/3093831136_3b7b151e50_o.png" alt="012-normal-boot-install-apache2" height="400" width="720" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Once done, the SMF could not start apache because I had chosen nwam network auto-configuration (think NetworkManager), which apache2 does not like. Anyway, I simply started the SysV script manually, and verified "it works" with a direct telnet connection. You can basically start installing and configuring various server software mostly just like an Ubuntu system. All in all, the Nexenta-2 system is a very promising concept. The integration of advanced Solaris kernel features with GNU userland and attempting to port Ubuntu repos, would basically be paradise. It is however a lot of work. The system is not perfect yet, for example in this beta-1, you cannot install X yet (broken deps). That will surely be resolved by release time. However, rebuilding the huge debian/Ubuntu repos, needs a lot of work. If you have free time to push this interesting FOSS project forward, please do so. Visit &lt;a href="http://www.nexenta.org/"&gt;nexenta&lt;/a&gt; and join their development team. Meanwhile and separately from nexenta, I have been interacting with various open source developers working with opensolaris projects. Unfortunately it seems that Sun is not really making it easy for "outsiders" to work on opensolaris projects. I have heard such comments multiple times, from different people. One would think that after so much time, Sun would start to understand what it takes to build a community around any piece of software! Let me use the moment to shout out: Sun, please cut the community some slack! :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-7967281344751417481?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/7967281344751417481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=7967281344751417481' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/7967281344751417481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/7967281344751417481'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2008/12/magical-apt-clone-broken-system.html' title='Magical apt-clone, broken system recovery'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-4046810735460376410</id><published>2008-12-08T23:15:00.002+02:00</published><updated>2008-12-08T23:17:18.608+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='Linus'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Linus explains how Linux started</title><content type='html'>Nice vid&lt;br /&gt;&lt;br /&gt;&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/WVTWCPoUt8w&amp;hl=en&amp;fs=1&amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/WVTWCPoUt8w&amp;hl=en&amp;fs=1&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-4046810735460376410?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/4046810735460376410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=4046810735460376410' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/4046810735460376410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/4046810735460376410'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2008/12/linus-explains-how-linux-started.html' title='Linus explains how Linux started'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-7118121362093101138</id><published>2008-11-29T23:06:00.009+02:00</published><updated>2008-11-30T01:00:03.309+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KDE'/><category scheme='http://www.blogger.com/atom/ns#' term='DBUS'/><category scheme='http://www.blogger.com/atom/ns#' term='freedesktop'/><category scheme='http://www.blogger.com/atom/ns#' term='D-Bus'/><category scheme='http://www.blogger.com/atom/ns#' term='scripting'/><title type='text'>Ride the D-Bus, Control your Linux desktop from the shell</title><content type='html'>&lt;div style="text-align: justify;"&gt;What is the D-Bus?&lt;br /&gt;&lt;br /&gt;From the D-Bus &lt;span style="font-style: italic;"&gt;documentation&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;"D-Bus is an inter-process communication mechanism—a medium for local communication between processes running on the same host. (Inter-host connects may be added in the future, but that is not what D-Bus is meant for). D-Bus is meant to be fast and lightweight, and is designed for use as a unified middleware layer underneath the main free desktop environments"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So for the non technically inclined (why are you reading this anyway) ;) basically a simple way to think of D-Bus, is that it's a way for processes on an operating system to communicate with each other. That's probably a simple and non accurate enough wording, but it should help grasp the concept. Many utilities nowadays are implementing D-Bus connectivity. It is especially interesting (well for me anyway) to script some GUI elements like for example my KDE-4 desktop from the command line. This would help automate some tasks and is cool anyways. Let's see how to begin talking on the D-Bus&lt;br /&gt;&lt;br /&gt;In order to communicate with running applications on the D-Bus, we need a front end CLI application, or we could use a language binding (say python bindings). However, we will choose a CLI application. It is possible to use "dbus-launch", or the "qdbus" command part of Qt4. I will be using qdbus since it demonstrates the point and is faster to use. So, let's launch qdbus, and list the running communications buses.&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt; &lt;br /&gt;# qdbus&lt;br /&gt;:1.1&lt;br /&gt;org.kde.klauncher&lt;br /&gt;:1.10&lt;br /&gt;org.freedesktop.ScreenSaver&lt;br /&gt;org.kde.krunner&lt;br /&gt;org.kde.screensaver&lt;br /&gt;:1.12&lt;br /&gt;org.kde.plasma&lt;br /&gt;:1.1249&lt;br /&gt;... List continues&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;So basically, qdbus now contacts the running session D-Bus and lists available buses. The buses are named in a reverse DNS style names as you can see. Some buses do not have names, but rather numbers, as far as I can see those represent specific sessions of some applications. Now we need to pick an interesting bus to talk on. I will run the following command to list only &lt;a href="http://www.freedesktop.org/"&gt;freedesktop&lt;/a&gt; dbuses, as I believe those should work whether you're running Gnome or KDE. So, it should help any reader follow along&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt; &lt;br /&gt;#qdbus | grep freedesktop&lt;br /&gt;org.freedesktop.ScreenSaver&lt;br /&gt;org.freedesktop.Notifications&lt;br /&gt;org.freedesktop.PowerManagement&lt;br /&gt;org.freedesktop.DBus&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;so, let's pick the ScreenSaver bus. In order to list the available objects on any specific bus, we call it like so:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt; &lt;br /&gt;#qdbus org.freedesktop.ScreenSaver&lt;br /&gt;/&lt;br /&gt;/App&lt;br /&gt;/Interface&lt;br /&gt;/KBookmarkManager&lt;br /&gt;/KBookmarkManager/konqueror&lt;br /&gt;/KDebug&lt;br /&gt;/MainApplication&lt;br /&gt;/ManagerIface_contact&lt;br /&gt;/ScreenSaver&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;I mostly find only one "useful" object, in this case "/ScreenSaver". Let's contact that object, and list its avialable "methods". The methods of an object for those who have not done any object oriented coding before, is basically the list of actions or "things" this object can "do". So listing the methods:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt; &lt;br /&gt;# qdbus org.freedesktop.ScreenSaver /ScreenSaver&lt;br /&gt;signal void org.freedesktop.ScreenSaver.ActiveChanged(bool)&lt;br /&gt;method bool org.freedesktop.ScreenSaver.GetActive()&lt;br /&gt;method uint org.freedesktop.ScreenSaver.GetActiveTime()&lt;br /&gt;method uint org.freedesktop.ScreenSaver.GetSessionIdleTime()&lt;br /&gt;method uint org.freedesktop.ScreenSaver.Inhibit(QString application_name, QString reason_for_inhibit)&lt;br /&gt;method void org.freedesktop.ScreenSaver.Lock()&lt;br /&gt;method bool org.freedesktop.ScreenSaver.SetActive(bool e)&lt;br /&gt;method void org.freedesktop.ScreenSaver.SimulateUserActivity()&lt;br /&gt;method uint org.freedesktop.ScreenSaver.Throttle(QString application_name, QString reason_for_inhibit)&lt;br /&gt;method void org.freedesktop.ScreenSaver.UnInhibit(uint cookie)&lt;br /&gt;method void org.freedesktop.ScreenSaver.UnThrottle(uint cookie)&lt;br /&gt;method void org.kde.screensaver.configure()&lt;br /&gt;method void org.kde.screensaver.saverLockReady()&lt;br /&gt;method QDBusVariant org.freedesktop.DBus.Properties.Get(QString interface_name, QString property_name)&lt;br /&gt;method void org.freedesktop.DBus.Properties.Set(QString interface_name, QString property_name, QDBusVariant value)&lt;br /&gt;method QString org.freedesktop.DBus.Introspectable.Introspect()&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hmm, interesting stuff. Can you see the following method:&lt;br /&gt;org.freedesktop.ScreenSaver.GetSessionIdleTime&lt;br /&gt;Obviously it gives you the session idle time, i.e. how long has the interactive user not touched his keyboard or mouse. This piece of information is interesting if you want your shell script to only do certain things when the user is not interactively using his machine. Without D-Bus, getting this kind of information would be almost impossible, or too tricky. Now how do we call this method you ask? easy! just append it to the command line:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt; &lt;br /&gt;#qdbus org.freedesktop.ScreenSaver /ScreenSaver org.freedesktop.ScreenSaver.GetSessionIdleTime&lt;br /&gt;0&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;So, the output from this command is a "0". Meaning the session idle time is zero! Everytime you execute this command, you get the same answer. Starting to guess why ? :) Basically, as you hit "enter" to run this command, you reset the session idle time back to zero! So, what do we do to test the functionality, try this:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt; &lt;br /&gt;# sleep 5 ; qdbus org.freedesktop.ScreenSaver /ScreenSaver org.freedesktop.ScreenSaver.GetSessionIdleTime&lt;br /&gt;4&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;So, that previous combo command sleeps for 5 seconds .. then executes the D-Bus query without touching any further keyboard keys, so this time we get an answer of "4" seconds. Don't know where that extra second slipped though :)&lt;br /&gt;&lt;br /&gt;Ok, as a second example let's focus on the following method:&lt;br /&gt;method bool org.freedesktop.ScreenSaver.SetActive(bool e)&lt;br /&gt;&lt;br /&gt;This method sets the screen saver active, i.e. it launches the screen saver from your shell command or script. Let's test it out:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt; &lt;br /&gt;# qdbus org.freedesktop.ScreenSaver /ScreenSaver org.freedesktop.ScreenSaver.SetActive&lt;br /&gt;Error: org.freedesktop.DBus.Error.UnknownMethod&lt;br /&gt;No such method 'SetActive' in interface 'org.freedesktop.ScreenSaver' at object path '/ScreenSaver' (signature '')&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Oops, this time we got an error. Why? Basically the error is telling us that it cannot find that method we're calling with that "signature". A method signature usually means the arguments you pass to it and the return type. This simply means we're not calling the method the way it's meant to be called. The sharp shooters are going to instantly know this is because we missed the (bool e) at the end of the method. This means the method call is expecting a boolean (true/false) argument. So, let's call the screensaver method correctly this time:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt; &lt;br /&gt;# qdbus org.freedesktop.ScreenSaver /ScreenSaver org.freedesktop.ScreenSaver.SetActive True&lt;br /&gt;true&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Cool! We're now launching the screensaver from the command line. Let's see what else we can do:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt; &lt;br /&gt;# qdbus org.freedesktop.ScreenSaver /ScreenSaver org.freedesktop.ScreenSaver.Lock&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Yep, that locks the screen on demand, cool! I'm hungry for more. Let's see. Let's call that inhibit method. This will basically inhibit the screensaver from kicking in, even if your computer is idle. Why would that be useful ? Say you're watching a You-tube longish video, and AFAIK, Flash doesn't yet communicate that to the system, and thus the screensaver will kick in to interrupt the video playback. So, let's do it:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt; &lt;br /&gt;# qdbus org.freedesktop.ScreenSaver /ScreenSaver org.freedesktop.ScreenSaver.Inhibit "$$" "Testing D-Bus Interface"&lt;br /&gt;5822&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Let's explain those arguments we passed, the first one should be the application name, in my case, the special shell variable $$ is the PID for the currently executing shell. The second string is the "reason for inhibit"! The method call returns a cookie, i.e. a magic number that identifies my request. This is useful when you want to turn off the inhibit, i.e. return the system to its normal state. You would need to pass back that magic cookie. This is used by the system to identify the different inhibit requests. So finally let's uninhibit our screensaver using that cookie number&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt; &lt;br /&gt;# qdbus org.freedesktop.ScreenSaver /ScreenSaver org.freedesktop.ScreenSaver.UnInhibit 5822&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Cool! Are you starting to see the possibilities just yet? Hope you had fun on this D-Bus tour&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-7118121362093101138?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/7118121362093101138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=7118121362093101138' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/7118121362093101138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/7118121362093101138'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2008/11/ride-d-bus-control-your-linux-desktop.html' title='Ride the D-Bus, Control your Linux desktop from the shell'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-1749142568479042907</id><published>2008-11-24T18:58:00.001+02:00</published><updated>2008-11-24T19:00:22.762+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='smash hit'/><category scheme='http://www.blogger.com/atom/ns#' term='zfs'/><category scheme='http://www.blogger.com/atom/ns#' term='opensolaris'/><title type='text'>ZFS a smash hit</title><content type='html'>Pretty freaking amazing&lt;br /&gt;&lt;br /&gt;&lt;embed src="http://c.brightcove.com/services/viewer/federated_f9/1640183659?isVid=1&amp;publisherID=1460825906" bgcolor="#FFFFFF" flashVars="videoId=1747849205&amp;playerID=1640183659&amp;domain=embed&amp;" base="http://admin.brightcove.com" name="flashObj" width="486" height="322" seamlesstabbing="false" type="application/x-shockwave-flash" allowFullScreen="true" swLiveConnect="true" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"&gt;&lt;/embed&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/342921498109425004-1749142568479042907?l=foss-boss.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://foss-boss.blogspot.com/feeds/1749142568479042907/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=342921498109425004&amp;postID=1749142568479042907' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/1749142568479042907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342921498109425004/posts/default/1749142568479042907'/><link rel='alternate' type='text/html' href='http://foss-boss.blogspot.com/2008/11/zfs-smash-hit.html' title='ZFS a smash hit'/><author><name>Ahmed Kamal</name><uri>http://www.blogger.com/profile/02280645950384593949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_dzmrmjmgmI4/SRS36fzrElI/AAAAAAAAA20/azvs1USNEiA/S220/AhmedKamal_AhmedKamalphoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342921498109425004.post-7470235623237582543</id><published>2008-11-22T15:11:00.010+02:00</published><updated>2008-12-09T00:29:45.709+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nexenta'/><category scheme='http://www.blogger.com/atom/ns#' term='NCP'/><category scheme='http://www.blogger.com/atom/ns#' term='opensolaris'/><title type='text'>Nexenta, Can you say SolaBuntu (part1)</title><content type='html'>&lt;div style="text-align: justify;"&gt;This time around I will be playing around with &lt;a href="http://www.nexenta.org/os"&gt;nexenta&lt;/a&gt; OS. Nexenta is a marriage between OpenSolaris and Ubuntu, or what I like to call SolaBuntu :) Solaris has a pretty decent record in the data-center. It is a solid and widely trusted paltform, however, it was showing its age pretty badly. Many of the most commonly used tools were outdated. And most users begin their *nixy knowledge with Linux, and when faced with Solaris they don't find the GNU tools they have grown accustomed to, and thus don't like the platform. OpenSolaris has been started to fix some of those issues, however, nexneta takes this concept to an extreme. It basically takes the ubuntu userland and plugs underneath it an opensolaris kernel. Nexenta also integrates unique solaris features such as zfs with ubuntu tools like apt-get to provide system wide transactional safe upgrades. I really really like this feature. It basically means you can dist-upgrade your entire system, and once up on the new version, if something is badly broken, you can very easily boot back an earlier snapshot (pre-upgrade) image of your system. We will explore those features later, however, for now, let's get started installing NCP2 alpha. As usual I am choosing to go with the latest and greatest and least stable version ;)&lt;br /&gt;&lt;br /&gt;Download the &lt;a href="http://www.nexenta.org/releases/nexenta-core-platform_2.0-b85-alpha2_x86.iso.zip"&gt;iso&lt;/a&gt;, burn it, boot it and you're faced with grub&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/3049232864/" title="1-GrubCD by engineer_ak, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3192/3049232864_983081001e_o.png" alt="1-GrubCD" height="480" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As you can see, this is based on Ubuntu Hardy. Simply hit enter and the solaris kernel boots on your system. After the boot, you get a splash screen welcoming you to nexenta&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/3049232866/" title="2-installer-splash by engineer_ak, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3041/3049232866_5662952dda_o.png" alt="2-installer-splash" height="400" width="720" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now I'm gonna throw a lot of images, just to give you a feeling of the installer, but I'm also gonna skip some pretty obvious screens that would be mostly obvious (a la are you sure ? Yes/No). Next you choose your country&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/3049232878/" title="3-language-country by engineer_ak, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3148/3049232878_4f08f039c3_o.png" alt="3-language-country" height="400" width="720" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now here is an interesting tidbit, the whole installer is running inside a &lt;a href="http://www.gnu.org/software/screen/"&gt;screen&lt;/a&gt; session. So, a CTRL-A followed by a 2, takes you to screen window 2, as you can see you can use the format command to view and partition your disks as needed. Window 3 is for logging the installer actions. The log is not very verbose however!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/3049232880/" title="4-screen-inside-installer by engineer_ak, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3047/3049232880_7755926a08_o.png" alt="4-screen-inside-installer" height="400" width="720" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Afterwards, you get to choose your disk, then confirm it&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/3049232904/" title="6-destroy-disks by engineer_ak, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3056/3049232904_cc59d499f3_o.png" alt="6-destroy-disks" height="400" width="720" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Afterwards, the disk is zfs formatted, and package installation begins .. Go make the usual cup of nescafe&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/3048397719/" title="7-Installing by engineer_ak, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3181/3048397719_94db75e611_o.png" alt="7-Installing" height="400" width="720" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;After this step completes (around 20 minutes), you get to specify the root password. "root" can be used for direct login (no need for sudo or pfexec here).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/3048397837/" title="8-root-pass by engineer_ak, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3187/3048397837_63222376b0_o.png" alt="8-root-pass" height="400" width="720" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You also create a normal user, set its password. You specify the machine name "nexy" in my case, and domain name. Afterwards, boom the installation is complete. You're ready to boot your new environment&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/3049237424/" title="11-Installation-complete by engineer_ak, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3172/3049237424_cbd539c7d6_o.png" alt="11-Installation-complete" height="400" width="720" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;After the reboot, grub starts, load the opensolaris kernel, and a few seconds later, you get the default login screen, which is not a pretty GUI! The default installation is a minimal installation without X.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/3050268224/" title="12-firstboot by engineer_ak, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3027/3050268224_a64a1491e9_o.png" alt="12-firstboot" height="400" width="720" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Once logged in, you can start enjoying apt which is IMO the best main stream package manager. Let update the repos&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/3050268292/" title="13-apt-get-update by engineer_ak, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3022/3050268292_c7203c99d4_o.png" alt="13-apt-get-update" height="400" width="720" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Let's see how good the repos are. apt-cache show the system has access to around 4700 packages. This is of course not comparable to debian or ubuntu's repos, however, it still is fairly impressive considering how young the project is. If you're feeling excited, one of the best ways you can help is by becoming a packager for nexenta, so go ahead and join their &lt;a href="http://www.nexenta.org/os/Hackathon"&gt;hackathon&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/3050268386/" title="14-apt-cache-stats by engineer_ak, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3287/3050268386_b8d447fc45_o.png" alt="14-apt-cache-stats" height="400" width="720" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;One of the things that make nexenta an attractive opensolaris based system, is that it provides a solid array of open-source software tools that are up2date! This is pretty important at least to me. Let's check a couple of common packages&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/90048824@N00/3050268462/" title="15-nexenta-new-versions by engineer_ak, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3254/3050268462_09c7210fe1_o.png" alt="15-nexenta-new-versions" height="400" width="720" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Your system is now ready, you can apt-get install any software package that's available and start running your nexenta based server. I have to say that my over
