Friday, December 31, 2010

Cloud Community Flash, Adnane

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!

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 Ubuntu cloud portal. I asked him for a few words about himself, and here's what he has to say


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!

AK: What keeps you motivated contributing to Ubuntu?

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 :)

Thursday, December 30, 2010

Cloud Instance with Cloud-Init on KVM

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 UEC Images wiki page.

So what this does is, it:
  • Downloads a UEC image of natty server daily i386 if it doesn't exist
  • Sets a few variables
  • Creates a qcow disk image, shadowing/cowing/differencing the downloaded image. This is to keep the originally downloaded image pristine
  • Downloads some sample user-data and meta-data (warning, 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
  • Runs a local simple webserver (port 8000)
  • 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
  • Once you close kvm, kills the web-server
So all you need to do, is create an empty directory, put this script in it and run it
uecnattyservercurrent=http://uec-images.ubuntu.com/server/natty/current/natty-server-uec-i386.tar.gz
tarball=$(basename $uecnattyservercurrent)
[ -f ${tarball} ] || wget ${uecnattyservercurrent}
contents=${tarball}.contents
tar -Sxvzf ${tarball} | tee "${contents}"
cat natty-server-uec-i386.tar.gz.contents
base=$(sed -n 's/.img$//p' "${contents}")
kernel=$(echo ${base}-vmlinuz-*)
floppy=${base}-floppy
img=${base}.img
qemu-img create -f qcow2 -b ${img} disk.img
wget http://smoser.brickies.net/ubuntu/uec-seed/meta-data
wget http://smoser.brickies.net/ubuntu/uec-seed/user-data
python -m SimpleHTTPServer &
websrvpid=$!
kvm -drive file=disk.img,if=virtio,boot=on -kernel "${kernel}" -append "ro init=/usr/lib/cloud-init/uncloud-init root=/dev/vda ds=nocloud-net;s=http://192.168.122.1:8000/ ubuntu-pass=ubuntu"
kill $websrvpid

Monday, December 27, 2010

Ubuntu Cloud Tech Content

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
  • Modifying Ubuntu images and rebundling to EC2
  • Creating images from scratch with vmbuilder
  • P2V and V2V conversions (Physical, VirtualBox, VMware...)
  • Advanced cloud-init (custom handlers, multi-server, includes)
  • Provisioning and deploying Web applications (e.g. rails, django) to the cloud
  • Best practices for upgrading a server install cross-release
  • Load balanced LAMP multi-tier installation
  • Best practices around creating cloud instance snapshots
  • Backing up live cloud instances
  • Restoring cloud servers from backup/snapshots

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 cloud community hour

Wednesday, December 15, 2010

Ubuntu Cloud Community Meeting

Just a quick update, the weekly cloud community meeting time has been changed to 6pm-UTC, 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.

More details on how to join are at: https://wiki.ubuntu.com/UbuntuCloudMeeting

Monday, December 13, 2010

Fix Eucalyptus for Natty yourself

In a previous post 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 couple of patches, 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!

Which brings us to this post, I see the Eucalyptus package is broken on natty as well. The list of remaining packages is at: http://tinyurl.com/server-ftbfs 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

Friday, December 10, 2010

Help Fix Ubuntu Server Packages FTBFS

With every transition to a new Ubuntu release, certain packages break due to different reasons such as newer versions of components, an updated tool-chain 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)
http://tinyurl.com/server-ftbfs

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 favorite Daniel Holbach is working on a proper guide for fixing these things, however for now you can find lots of useful information at
https://wiki.ubuntu.com/Bugs/HowToFix

In case you need help, the channel #ubuntu-motu on freenode IRC is a good place to ask

Wednesday, December 8, 2010

Introducing Ubuntu Cloud-Init Technology

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



Questions ? Comments ? I'm all ears, leave me a note in the comments section and I'll reply back
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

Friday, December 3, 2010

Announcing Ubuntu Cloud Portal

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

Front page: Lists important news to the Ubuntu Cloud community, latest tweets and happenings (RSS). The front page also features the widely anticipated (drum roll please ... ) AMI Locator application which helps anyone using Ubuntu on the EC2 cloud quickly locate the AMI needed. Go ahead and bookmark this right now
Documentation: Quick links to useful documentation pages on the wiki. If you'd like to start contributing, let me know
Community: Pointers to where you should be, mailing lists you should subscribe to, forums and IRC rooms that should interest you
Developer: 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
Planet: Collecting Every word written about Ubuntu Cloud on the world wide web (RSS). If you think your blog should be aggregated here, let me know!

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



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 Ubuntu Morrocan Team, and involved in different projects such as (The Ubuntu Manual ProjectThe Loco Directory, The elementary project). It's that fuzzy warm feeling of contributing to Ubuntu that keeps its community rocking. Let me know what you guys think in comments.

Ubuntu Cloud Forums a great place

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 surprisingly (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!

In case you're wondering, you can easily access the Ubuntu Cloud Forum at:
http://ubuntuforums.org/forumdisplay.php?f=392&order=desc

And if you're an efficiency superhero who wants the information to come right at your fingertips, you can follow the forums RSS feed at:
http://ubuntuforums.org/external.php?type=RSS2&forumids=392

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

Wednesday, December 1, 2010

What Cloud sessions interest you

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 here. 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

Leave me a comment mentioning what sort of topics you'd be interested in seeing discussed
Leave me a comment if you're willing to host one of those sessions
Leave me a comment if you're running an Ubuntu cloud setup and would like to share your experiences

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