Friday, October 29, 2010

Gold rush

Inventive minds have built and submitted their appliance to SUSE Gallery in the quest to win $10,000 and fame within the community. With the contest coming soon to a close, you can also submit your appliance before the 1st of November and win the big prize!
If you are not sure what this is all about, here is a brief overview of what you have to do:
  1. Build your  appliance using SUSE Studio
  2. Publish your appliance to Gallery and obtain your URL
  3. Complete the form following this link:  http://novell.com/thedisters
When competing you can choose to build a community appliance, something you plan to share with everybody or a commercial appliance, something you want to market. Your appliance will be reviewed by some renowned judges including Jason Brooks from eWeek, Steven Vaughn-Nichols of ComputerWorld, Sean Michael Kerner from InternetNews, Jim Zemlin from the Linux Foundation, Markus Rex Head of Linux for Novell and Jos Poortvliet from openSUSE. This is a great chance to get insight from the pros.

Building an appliance is really easy. It is also one of the fastest ways to package and distribute software for the cloud, as live system or for traditional installation. With our free appliance-building tool, SUSE Studio, developers can create many kinds of software appliances – the only limit is your imagination. To get some inspiration, you can checkout already built appliances at susegallery.com.

The deadline for the contest is approaching fast, but you still have a few days for a last sprint. How would you spend your prize? Buy a new computer? Get a robot? Go to Hawaii? Don't hesitate, build your appliance, publish it on Gallery, and submit it to the contest. Dister is looking forward to your entry.

Wednesday, October 27, 2010

New Amazon EC2 build format

Regular users of SUSE Studio have probably discovered the new Amazon Elastic Compute Cloud (EC2) build format that we sneaked in last week. It was available for openSUSE 11.3 only, and today we released it for SUSE Linux Enterprise Server (SLES) 11 SP1 as well. Support for SLES 10 SP3 will be available next week.

This means you can now easily build customized server appliances for Amazon EC2 in SUSE Studio! Together with Amazon's recent free usage tier announcement, there's hardly a better time to try out EC2.

Introducing Amazon EC2

If you're new to Amazon EC2, it's a web service hosted by Amazon that provides dynamically scalable computing capacity. It is cloud computing and sometimes also referred to as Infrastructure as a Service (IaaS). EC2 allows you to rent reliable computing resources (eg. CPU, memory, disk storage) in a highly flexible and affordable manner, with prices starting at just several cents per hour per instance. These resources can be quickly scaled up or down on demand, reducing or even eliminating the need for companies to buy and maintain expensive server farms in-house. Before we proceed with building an EC2 image in SUSE Studio, there's some Amazon specific terminology we should clarify. An appliance must first be created as an Amazon Machine Image (AMI) before it can run in EC2. There are two main types of AMIs:

  • Amazon Simple Storage Service (S3) backed AMIs
  • Amazon Elastic Block Storage (EBS) backed AMIs

There are several key differences between these two AMI types, though we won't go into the details in this post. What's important to note now is that the EC2 images built by SUSE Studio can technically be used to create both AMI types. To keep things simple, however, the current AMI creation script only supports S3-backed AMIs for openSUSE based images, and EBS-backed AMIs for SLES based images.

Building Amazon EC2 images with SUSE Studio

The easiest way to get started is to find an existing EC2 image in SUSE Gallery, such as this LAMP Server appliance. But let's walk through the steps to create one from scratch. First login to SUSE Studio and create a new appliance based on openSUSE 11.3 JeOS:

Choose your preferred architecture (note that 64-bit S3-backed AMIs are slightly more expensive to run), change the default appliance name, and hit "Create appliance". You will now be in the appliance editor interface where you can perform the usual software selection and configuration, but we'll skip that for now and jump to the Build tab. Change the default image format to "Amazon EC2 image":

There's now an alert in the left sidebar, telling you to add the Amazon EC2 software repository before building:

Simply click on the "Add the 'Amazon EC2 Updates' repository" link there, which will then add the required repository in the software tab:

Once you're satisfied, return to the Build tab and hit "Build". It usually takes only about five minutes (!!) for the build to complete:

Now we can use this image to create an AMI in EC2.

Creating an S3-backed AMI from the Studio-built image

We are working on a minimal user interface to do this directly from SUSE Studio, so meanwhile you have to download the EC2 image and execute the bundled AMI creation script. To do this, click on the "Download" link in the Build tab to download the EC2 image archive. Extract the archive and you'll find the create_ami.sh script and README files along with the EC2 image:

If this is your first time using the Amazon AMI tools, you'll need to do some configuration. The steps are explained in the README file, but I'll repeat them here with a bit more details. First download and install the Amazon EC2 AMI and API tools. Now add your Amazon Web Services (AWS) account information in the following environment variables:

  • $AWS_USER_ID. AWS user ID (eg. 123456789012)
  • $AWS_ACCESS_KEY. AWS access key ID (eg. ABCDEFGHIJKLMNOPQRST)
  • $AWS_SECRET_KEY. AWS secret access key (eg. abcdefghijklmnoprqrtuvwxyzabcdv)
  • $EC2_CERT. Path to EC2 X.509 certification (eg. ~/cert-aws.pem)
  • $EC2_PRIVATE_KEY. Path to EC2 private key (eg. ~/pk-ec2.pem)
We recommend setting these variables in your ~/.profile file so that you don't have to set them up manually each time, eg: export AWS_USER_ID=123456789012 export AWS_ACCESS_KEY=ABCDEFGHIJKLMNOPQRST export AWS_SECRET_KEY=abcdefghijklmnoprqrtuvwxyzabcdv export EC2_CERT=~/cert-aws.pem export EC2_PRIVATE_KEY=~/pk-ec2.pem Once you have all that configured (which you will only need to do once), you can finally create your AMI. AMIs are specific to each Amazon region (eg. us-west-1, us-east-1, eu-west-1, ap-southeast-1), so run the create_ami.sh script with the desired region option, eg. create_ami.sh --region eu-west-1:


Launching new instances of your Studio-built AMI

You can launch as many instances of an AMI as you like. Note that the AMI (referenced by the AMI ID) exists only in the region that it was created in. One way to launch new instances of your AMI is with the command line tools, eg: ec2-run-instances ami-6a380d1e -t m1.small --region eu-west-1 -k jamestyj-eu. You'll want to create your SSH keypair in Amazon first if you don't already have one (specified by the -k option) as password based authentication is automatically disabled (hence the root and user passwords configured in Studio no longer apply). Wait for the instance to boot and check for it's DNS name with ec2-describe-instances, and then you can ssh into it once it fully boots up, eg: ssh -i ~/ec2-eu root@ec2-46-51-133-248.eu-west-1.compute.amazonaws.com. Don't forget to terminate the instance when you're done (eg. ec2-terminate-instances).

To help manage your Amazon EC2 and S3 accounts, we recommend using the ElasticFox and S3Fox Firefox plugins. These plugins have an easy to use graphical user interface that allow you to quickly have an overview of your Amazon accounts, launch new instances, terminate existing ones, etc. Here's a screenshot of ElasticFox:

And one of S3Fox, which is particularly useful for cleaning up any leftover image files from de-registered S3-backed AMIs:

Credits: The ElasticFox and S3Fox screenshots were taken from here.

SUSE Linux Enterprise Server in Amazon EC2

Amazon EC2 has recently collaborated with SUSE to provide supported instances of SUSE Linux Enterprise Server (SLES) running in EC2. These instances have automatic maintenance and access to security updates, patches, and bug fixes.

Creating an EBS-backed AMI

SLES based EC2 instances are currently available as EBS-backed AMI only (otherwise it will not be able to get access to the updates). The creation of these EBS-backed AMIs is very similar to S3-backed ones (as it's all handled by the bundled script), except that the script is called create_ebs_ami.sh. This blog post is getting a bit too long, so we'll go into the details in a later post.


Update 1 (Oct 27 21:26:18 CEST): A number of users have reported problems with building 32-bit PAE-enabled EC2 images. Disabling PAE (Configuration -> Appliance -> Disk and memory -> All formats) should workaround the problem. We are working on a fix.

Update 2 (Nov 01 09:55:18 CEST): The 32-bit PAE-enabled EC2 building issue is now fixed.

Tuesday, October 26, 2010

Building XFCE4 desktop with SUSE Studio

We recently added automagic recognition and start-up of several more window managers such as windowmaker and fvwm2 into Studio, but XFCE4 is still missing from the list. One reason for this is that it simply doesn't work out of the box without a few tweaks. This is easy to do in Studio and in this post I'll explain step-by-step how to build an openSUSE 11.3 appliance with XFCE4. If you are already familiar with building appliances in Studio, just skip to the summary section at the end for the list of steps.

So first, let's start with a minimal X appliance:

and choose 64bit.

In the software tab, search for 'in:patterns xfce' and select xfce pattern. This will pull in most of the dependencies, but we'll need some more packages for xfce4 to work. So in addition to that, add also the following packages:

  • xfce4-settings
  • xfce4-desktop
  • xfwm4
  • thunar

The package selection then looks like this (click on 'packages selected' in the sidebar and hit enter):

Now let's build! We'll use the USB stick format so we can take advantage of the modified files feature.

After few minutes, the build is done, so let's launch it in Testdrive...

...and log in.

Uh oh, this doesn't look like XFCE! It's ICEWM, the window manager Studio uses as a fallback. The default window manager started on system boot is located in /etc/sysconfig/windowmanager. So let's open xterm, make yourself root with su - (default password is linux), and open the window manager file in your favorite editor:

Edit the DEFAULT_WM option to say startxfce4.

Write your changes and run sync to actually write them to the filesystem. And now comes one of the cool parts in Studio - whenever you change a file in Testdrive, Studio automatically detects these changes and displays a list of modified files which you can then easily re-integrate back into your appliance. Click the 'Modified files' tab (near the Testdrive on top of the page). Add /etc/sysconfig into included paths. You should now see the windowmanager. Mark it for addition and click 'Upload selected files into appliance' button. And that's it!

You can check it's been included in the appliance in the Files tab:

Now rebuild your appliance, re-start testdrive and log in. Well now, if you speak squareese, thats great, but for ordinary people, this is kinda not so good:

This is a known pango bug (which we hope they will fix soon) and can be remedied easily. We'll just need to regenerate pango's module list and we're going to fix this using Studio again. Let's open the Configuration tab and click on scripts:

Studio enables users to run bash scripts after build finishes, or optionally on every boot of the appliance. Since this one-time fix, we'll go for the former option and add pango-querymodules-64 > /etc/pango/pango64.modules to the build script. If you started with a 32-bit appliance, add pango-querymodules > /etc/pango/pango.modules instead.

We'll rebuild again and this time, voila, you should now have a working XFCE4! It wasn't that easy, but with Studio's help, you don't need to do all this tweaking on your local machine.

Summary:

  1. Start with minimal X openSUSE 11.3 appliance.
  2. Search for 'in:patterns xfce' and add xfce pattern.
  3. Quick-add xfce4-settings, xfce4-desktop, xfwm4, thunar.
  4. Enable build script and add pango-querymodules-64 > /etc/pango64.modules to the end of the script, or pango-querymodules > /etc/pango/pango.modules for 32-bit appliances.
  5. Build and Testdrive.
  6. Edit /etc/sysconfig/windowmanager to set DEFAULT_WM to startxfce4. Optionally, you can add following line to your build script to obtain similar effect, without need to rebuild, so you can skip step 7: sed -i s/DEFAULT_WM=\"icewm\"/DEFAULT_WM=\"startxfce4\"/ /etc/sysconfig/windowmanager
  7. Upload modified file to appliance and rebuild.

This appliance is now shared on Gallery. In the next version, I'd like to setup Studio to include some more repositories and replace XDM in this appliance with Slim. Stay tuned! :)

Featured - Illumination Software Creation Station

Yes it's that time of the week again when we have another featured appliance! This week's winner of our Amazon gift card is Illumination Software Creation Station created by Bryan Lunduke.


The Illumination Software Creator makes it easy to create software applications, without writing a single line of code. It provides a graphical interface where users can simply rearrange functional building blocks to generate their desired application. There's no need to read that thick programming book or spend hours explaining your requirements to someone else.


If this is something that you've been looking for, do check it out. You can Testdrive it directly from the Gallery, or download your preferred format and test it locally.

Friday, October 15, 2010

New Preload ISO build format

A common use case in Studio is the creation of hard drive images for preloading systems. This is great for setting up, say a computer lab or a server farm, where you want all systems to have the same software and configuration. It is also a step that system hardware vendors (OEMs/IHVs) often include in their production process.

SUSE Studio makes the creation of these images easy, but it's a bit more tricky to get them on to your target system. One way is to use a boot disk, like a Live CD/DVD or Live USB stick, and then dd the image to the target hard drive. This can be largely automated with a smart boot image (such as this) that can, with a bit of scripting and setup, automatically load the image from a server via the network and write it to the target drive (eg. dd over netcat). Unfortunately this does not work in networkless environments and may not be worth the effort if applied to just a couple of systems.

Fret not, for we have added the new Preload ISO build format to facilitate this process. A preload ISO is simply a Live CD/DVD that contains the preload hard disk image. When booted, it overwrites the target disk (after user confirmation), verifies the checksum, and then boots directly into the freshly loaded system. A word of warning - this format is meant for preloading and hence will overwrite all data on the target drive. Do not use this on your system unless you want to perform a clean installation! It is currently available for all base systems except SLE10.

Here's how it looks like in Testdrive. Choose the "Install/Restore" option when booting up:

There is a confirmation prompt before it overwrites the target drive:

If you have more than one disk available, you can choose it from the list:

We think this will be a very useful format for system admins, ISVs/IHVs, and other users that require preloading. For those who have been asking for this in Studio - we hear you, and now it's here!

Tuesday, October 12, 2010

Featured appliance - FreeSWITCHBOX



This week's winner of our Amazon voucher giveaway is Gourav Shah. His winning entry is FreeSWITCHBOX, custom made VoIP distro that includes the latest stable FreeSWITCH build.

FreeSWITCH is a scalable open source and cross-platform telephony solution for routing and interconnecting multiple communication protocols. These include Skype, SIP, H.323, GoogleTalk, sipXecs, Call Weaver, Asterisk, and many more.

If you are looking for a VoIP solution, check this one out!

Activity visualization

SUSE Gallery has been publicly announced a few months ago and we've seen many great appliances being published there.

While we're working hard to improve it further and add new features we also took some time to visualize the activity that's going on there. Here's the result:

The graph in the video shows the published templates (clusters) with their clones (dots) and the inheritance between them. There are lots of users publishing appliances to Gallery (green beams) and releasing new versions of their babies (orange beams).

In the beginning, only the additional templates from the "Create new appliance" page in Studio are shown (LAMP Server, KDE/Gnome Reloaded, Ingres Server) with a few clones here and there, but after a few seconds the effects of the Gallery announcement kick in (~ at 0:06, July 29th).

The video was generated with the awesome open source tool gource. It's primarily made for visualization of version control systems like Git, CVS or subversion but it can also be fed custom logs in a simple format.
So all we had to do was to write such a log file of the published/updated appliances and let ffmpeg process the gource output to the video above.

Monday, October 11, 2010

Studio at openSUSE Conference 2010

The along awaited openSUSE Conference 2010 will be held in SUSE's hometown (Nürnberg, Germany) next week!

And of course, the Studio team will be there to share with you what's new and how to make the most out of it. We will have a workshop on 20 Oct from 13:30-15:00, with members of the development team present to help answer any queries or problems. If you don't have any, do drop in anyway and let us know what you love or hate about the service! There will also be a short talk on Studio/Gallery on 21 Oct from 15:30-16:15.


Do refer to the full conference program for the other sessions that might be of interest to you. Hope to see you there and drop us a note in the comments if you're coming!

Friday, October 8, 2010

Now with OVF support


We have just added the OVF build format to SUSE Studio! You can now easily create standards compliant and vendor independent appliances right from your web browser.

For those unfamiliar with OVF (Open Virtualization Format), it is an open specification for packaging and distributing software appliances, as defined by the DMTF VMAN standard. It is not tied to any particular hypervisor and is supported by many popular virtualization platforms. These include several VMware flavours (eg. ESX, Workstation) and VirtualBox. OVF is backed by Dell, HP, IBM, Microsoft, VMware, and XenSource.

To learn more about OVF and how it compares with VMDK, refer to VMware's OVF guide.

Thursday, October 7, 2010

Featured appliance - Smeegol


We are proud to announce this week's featured appliance - Smeegol 1.0 by Andrew Wafaa, a.k.a. FunkyPenguin as he is known in the openSUSE community.

Smeegol is the openSUSE spin of MeeGo and is targeted for netbooks. This release includes the latest versions of Banshee music player, Evolution Express email/calendar client, plus tight integration with all your favorite social networks like Twitter, Facebook, MySpace, Flickr, etc. The full details can be found in the Smeegol 1.0 announcement.

Wednesday, October 6, 2010

Testdrive appliances directly from within Gallery

There are lots of great appliances available in SUSE Gallery already, and starting today, browsing and testing them became much more practical. Until now, when you found a cool appliance you wanted to test, you had two options:

  • Download the appliance and run it locally (either virtualized or on real hardware), or
  • Clone it, build it and run it in Testdrive

Both options are time-consuming and cumbersome for just giving that appliance a quick try. That's why we came up with public Testdrive:

There is now a button on each appliance page in Gallery that immediately starts it in a Testdrive session. Et Voila!

Note: This feature is currently only available to users who have opted-in to participate in our beta features test. If you haven't joined yet, you can do so on your profile page in Studio.

 
© 2013 SUSE