BoxGrinder Build 0.6.5 released!

This is mostly a bugfix release including one very important bug. 32 bit AMIs produced by Fedora Cloud SIG showed up a nasty issue described in details in Red Hat Bugzilla bug report. After great help from Jeff Darcy - we have now a workaround. This workaround is now implemented in BoxGrinder. So, if you want to build Fedora 14 AMI's - please update BoxGrinder to the latest version!

Beginning with this version - BoxGrinder will not install ec2-ami-tools package by default for appliances converted to EC2 format. If you want still this package to be included in your AMI you need to do this manually. There are two steps to do this:

  1. Put this package to a local repository and add it to packages section.
  2. Install the package using post section:

        post:
          ec2:
            - "rpm -Uvh http://s3.amazonaws.com/ec2-downloads/ec2-ami-tools.noarch.rpm"
    

Release Notes

Bug

  • [BGBUILD-105] - No plugin-manager require for local delivery plugin
  • [BGBUILD-106] - No plugin-manager require for fedora os plugin
  • [BGBUILD-107] - No plugin-manager require for vmware platform plugin
  • [BGBUILD-108] - No plugin-manager require for sftp delivery plugin
  • [BGBUILD-109] - readdir64 bugfix for i386 base AMIs

Task

  • [BGBUILD-111] - Don't install ec2-ami-tools by default in AMIs

BoxGrinder 0.6.4 released – on the road to Fedora

I'm happy to announce next version of BoxGrinder Build: 0.6.4. This release is a another minor build that moves us closer to Fedora. If you're interested in this process – make sure you watch BoxGrinder Feature page on Fedora wiki. On 17th November BoxGrinder was officially accepted as a feature for Fedora 15 on FESCo meeting. See IRC log for details.

Most fixes in 0.6.4 are usability improvements. We finally have trace switch enabled by default so we'll see the full stacktrace and these errors are saved in log file – this will help us to help you. We fixed also VMware delivery. Now you unpack the VMware appliance and import it to your library. Still, take a look at README provided with the package for more info.

New nightly RPM repository

I prepared also a repository with BoxGrinder RPM nightly builds. We build RPMs against Fedora rawhide, but this doesn't matter because all packages we produce are noarch.

To add it to your system save below content as /etc/yum.repos.d/boxgrinder-nightly.repo:

[Update 23.01.2011]

[boxgrinder-nightly]
name=BoxGrinder Nightly builds for Fedora 14
baseurl=http://repo.ci.boxgrinder.org/fedora/14/RPMS/
enabled=1
gpgcheck=0

How to update existing installations

To use the latest version execute the command below if you use our RPM's:

yum --enablerepo=updates-testing update rubygem-boxgrinder-*

In other cases use gem command directly:

gem list | cut -d" " -f1 | grep boxgrinder | xargs sudo gem update

Release Notes

Bug

  • [BGBUILD-91] - Log exceptions to log file
  • [BGBUILD-99] - Timeout exception is not caught on non-EC2 platfrom in GuestFSHelper

Feature Request

  • [BGBUILD-96] - Don't Require User to Rename VMware .vmdk and .vmx Files
  • [BGBUILD-102] - Start X on boot when X Window System group or base-x group is specified

Task

How to install package group using BoxGrinder?

If you want install a specified package in an appliance – you simply add it to packages section, like that:

packages:
  includes:
    - bash
    - mc
    - ...

Simple. But you can do more. Fedora (and RHEL too) has notion of groups. This helps you install a specific group of packages to have a selected functionality installed; for example GNOME Desktop.

What package groups are available?

Please use yum grouplist command for a full list of available package groups. Below you can find an incomplete (stripped language support packages) list of groups in Fedora 14:

Administration Tools
Mail Server
Network Servers
Ruby
System Tools
Authoring and Publishing
Base
Books and Guides
Clustering
DNS Name Server
Development Libraries
Development Tools
Directory Server
Dogtag Certificate System
Editors
Educational Software
Electronic Lab
Engineering and Scientific
FTP Server
Fedora Eclipse
Fedora Packager
Font design and packaging
Fonts
GNOME Desktop Environment
GNOME Software Development
Games and Entertainment
Graphical Internet
Graphics
Haskell
Input Methods
Java
Java Development
KDE Software Compilation
KDE Software Development
LXDE
Legacy Fonts
Legacy Network Server
Legacy Software Development
MinGW cross-compiler
Moblin Desktop Environment
MySQL Database
News Server
OCaml
Office/Productivity
OpenOffice.org Development
Perl Development
PostgreSQL Database
Server Configuration Tools
Sound and Video
Sugar Desktop Environment
Text-based Internet
Virtualization
Web Development
Web Server
Window Managers
Windows File Server
X Software Development
X Window System
XFCE
XFCE Software Development

Core group

There is also one(?) additional group called core. This group contains a minimal package set and is considered as JEOS for Fedora. For Fedora 14 this group installs 192 packages (total list - including dependencies) which is a quite good result. Installed packages on disk take about 500 MB.

If you want create JEOS for Fedora using BoxGrinder, just specify the @core package group in packages list:

packages:
  includes:
    - @core

We have an open issue to set @core package group a minimal package set to install on appliances. See BGBUILD-89 for more info. You can of course mix the package groups with packages - feel free to experiment!

packages:
  includes:
    - @core
    - @XFCE
    - mc

Reporting BoxGrinder Build bugs

So, you've installed BoxGrinder and you get an error while building your appliance? You need help and we'll provide it! But there are couple of things you should do before reporting a bug.

  1. First of all - search our issue tracker for similar bugs. Maybe it's already reported? If yes, please add a new comment - we'll respond to it.
  2. Search our forums - we have there a lot traffic and almost all known bugs were discussed there.
  3. If you couldn't find anything similar to your issue - start a new thread and describe your issue or directly open a new bug report in JIRA. Please attach additional information such like:

    • Which BoxGrinder version are you using? What OS? Which libguestfs version you have installed? Use these commands: rpm -qa | grep boxgrinder and/or gem list | grep boxgrinder and rpm -q libguestfs.
    • How did you installed BoxGrinder? (Meta appliance? Which version? Where do you run it? EC2? VMware? KVM?)
    • Attach as much logs as you can for affected build. Logs are located in log/boxgrinder.log file. But, please strip the content and attach only logs for last run.
    • Describe your issue best you can - this really helps!

If you follow above steps - we'll be able to react faster and solve your problem!

We're also available on IRC: #boxgrinder @ irc.freenode.net where we can answer your questions too!

BoxGrinder 0.6.3 released – Fedora update and customizable filesystem type

We're moving further with BoxGrinder! This release is a result of two things:

  1. We fixed a few bugs that were failing builds on CentOS/RHEL 5.x thanks to our community!
  2. We finally started submitted BoxGrinder to Fedora!

BoxGrinder in Fedora

We started officially the process of BoxGrinder inclusion into Fedora. I created a BoxGrinder feature page. Check it out and tell me what you think about it! We hope to have BoxGrinder included in Fedora 15 as a feature. This means that after Fedora 15 will be release BoxGrinder will be highlighted in release notes and therefore more visible to users.

I submitted several new RPM packages for review – you can find link on the feature page. You can watch the progress there. I'll inform in next posts what's the current status is sou you can help with testing if you want!

But don't worry – the plan is to include BoxGrinder for older Fedora's too! We're going to push it to Fedora 13+.

Customizable filesystem type and options

From now you can specify filesystem type and options for all supported OSes. We support currently ext3 and ext4. Please make sure when you specify the filesystem type you use one supported by selected OS!

From now Fedora 13 and 14 default filesystem is ext4!

Below you can find a snippet how to use it:

hardware:
  partitions:
    "/":
      size: 2
      type: ext3
      options: "barrier=0,nodelalloc,nobh,noatime"
    "/home":
      size: 5
      type: ext4

Release Notes

Bug

  • [BGBUILD-86] - EBS plugin should inform that it can be run only on EC2
  • [BGBUILD-88] - CentOS plugin uses #ARCH# instead of #BASE_ARCH#
  • [BGBUILD-94] - Check if set_network call is avaialbe in libguestfs

Task

  • [BGBUILD-65] - Allow to specify own repos overriding default repos provided for selected OS
  • [BGBUILD-87] - Set default filesystem to ext4 for Fedora 13+