Community Call

hack-cloud-small

The Community Call page lists specific contribution opportunities that the Ubuntu cloud community can start working on. While there is definitely many ways to contribute (helping answer questions, triage bugs, QA…etc), the community call page usually lists a complete “something” to work on, start-to-finish by community members. If you’re interested in joining the Ubuntu cloud community, want to start crunching on a project at your own pace, this is a great chance!

EC2 Ebs Migration Tool

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. A utility is currently needed 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!)

I have written step by step, what needs to be done to accomplish this task in a BluePrint. Here is a high level overview of steps involved

  • You need to migrate an ebs boot ami across ec2 regions
  • A tool needs to be written to run from a client machine to perform the migration. The tool needs to:
    • Be written in Python
    • Use ec2 API bindings (most likely boto)
    • Spawn two utility instances in src and dest regions
    • Attach the ebs volume to the src instance
    • Create a blank new volume to dest instance, attach it to dest utility instance
    • create filesystem on target volume
    • copy filesystem label and UUID from source volume (tune2fs or xfs_admin)
    • Start copying/rsyncing data from src vol/instance to destination vol/instance
    • Snapshot target volume and register as AMI
    • Terminate the two EBS instances and volumes

So, if you’re ready to start contributing, click that blueprint link, subscribe to it, ping me (kim0 on Freenode IRC) 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 http://cloud.ubuntu.com/community/irc-chat/). A great time to discuss this, would be Wednesdays 6pm-UTC during the weekly cloud community meeting. If you miss the meeting, just talk in the channel anytime, most people are there all the time anyway. Let’s make Ubuntu rock even harder