<?xml version='1.0' encoding='utf-8' ?>
<feed xml:lang='en-US' xmlns='http://www.w3.org/2005/Atom'>
  <id>http://staging.boxgrinder.org/</id>
  <title>BoxGrinder</title>
  <updated>2012-04-20T13:30:00+01:00</updated>
  <link href='http://staging.boxgrinder.org/blog.atom' rel='self' type='application/atom+xml' />
  <link href='http://staging.boxgrinder.org/' rel='alternate' type='text/html' />
  <entry>
    <id>http://staging.boxgrinder.org/blog/2012/04/20/ebs-and-s3-ami-changes/</id>
    <title>Upcoming EBS and S3 AMI changes</title>
    <updated>2012-04-20T13:30:00+01:00</updated>
    <link href='http://staging.boxgrinder.org/blog/2012/04/20/ebs-and-s3-ami-changes/' rel='alternate' type='text/html' />
    <author>
      <name>Marc Savy</name>
    </author>
    <summary>
      In light of some discussions we've been having internally, and with various community members, it has been proposed that as of our next BoxGrinder release, we shall no longer build images with ephemeral devices[1] pre-attached (for EBS), or pre-mounted in any fashion[2] by default (for EBS or S3)[3].
      
      Instead we will emit a message at build-time about device attachment and mounting, advising users to install a script such as cloud-init to auto-mount ephemeral devices, as well as a pointer to a boxgrinder.org resource page explaining how best to bake in an appropriate cloud configuration file (more on that soon).
      
      Those that want......
    </summary>
    <content type='html'>
      &lt;p&gt;In light of some discussions we've been having internally, and with various community members, it has been proposed that as of our next BoxGrinder release, we shall &lt;strong&gt;no longer build images with ephemeral devices&lt;a href=&quot;#foot_1&quot;&gt;[1]&lt;/a&gt; pre-attached (for EBS), or pre-mounted in any fashion&lt;a href=&quot;#foot_2&quot;&gt;[2]&lt;/a&gt; by default (for EBS or S3)&lt;a href=&quot;#foot_3&quot;&gt;[3]&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
      
      &lt;p&gt;Instead we will emit a message at build-time about device attachment and mounting, advising users to install a script such as &lt;em&gt;&lt;a href=&quot;https://help.ubuntu.com/community/CloudInit&quot;&gt;cloud-init&lt;/a&gt;&lt;/em&gt; to auto-mount ephemeral devices, as well as a pointer to a &lt;code&gt;boxgrinder.org&lt;/code&gt; resource page explaining how best to bake in an appropriate cloud configuration file (more on that soon).&lt;/p&gt;
      
      &lt;p&gt;Those that &lt;em&gt;want&lt;/em&gt; device mappings baked into their image will continue to be able to do so by defining their desired mappings via configuration. Note that block storage mappings (including ephemeral, or otherwise), can be &lt;a href=&quot;http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#instance-block-device-mapping&quot;&gt;configured&lt;/a&gt; or &lt;a href=&quot;http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#BDM_Override&quot;&gt;reconfigured&lt;/a&gt; at runtime instead of, or in addition to, build time.&lt;/p&gt;
      
      &lt;h3&gt;Providing block device mappings&lt;/h3&gt;
      
      &lt;p&gt;For EBS AMIs no ephemeral devices are attached by default, whereas with S3 AMIs there is a &lt;a href=&quot;http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/InstanceStorage.html#InstanceStoreDeviceNames&quot;&gt;default layout&lt;/a&gt; (although you can modify it as you see fit).&lt;/p&gt;
      
      &lt;h4&gt;At run-time&lt;/h4&gt;
      
      &lt;p&gt;All of the &lt;a href=&quot;http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#instance-block-device-mapping&quot;&gt;standard methods&lt;/a&gt; of providing (or modifying) a block device mapping at run-time still apply. For example:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;ec2-run-instances ami-12345678 -b /dev/xvdb=ephemeral0&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;h4&gt;At build time&lt;/h4&gt;
      
      &lt;p&gt;You can speculatively map devices that may not be present in every instance size at build time.&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;# -d ami or -d ebs&amp;#x000A;boxgrinder-build my.appl -p ec2 -d ebs --delivery-config \ &amp;#x000A;  block_device_mapping:'/dev/xvdb=ephemeral0:/dev/xvdc=ephemeral1'&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;h3&gt;Why the changes?&lt;/h3&gt;
      
      &lt;p&gt;The reasons for this change are multitudinous, but the foremost are:&lt;/p&gt;
      
      &lt;ul&gt;
      &lt;li&gt;&lt;p&gt;&lt;strong&gt;Ephemeral device mappings vary according to instance size&lt;/strong&gt;: We cannot make any easy assumptions about which ephemeral disks &lt;em&gt;will&lt;/em&gt; be present, as it varies depending on which instance size is selected, and is subject to arbitrary change by Amazon.  For instance, recent problems with BoxGrinder S3 AMIs on &lt;code&gt;m1.small&lt;/code&gt; instances were caused by BoxGrinder assuming a particular ephemeral device would be present; an assumption that fell over when AWS introduced a new device mapping layout&lt;a href=&quot;#foot_4&quot;&gt;[4]&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
      &lt;li&gt;&lt;p&gt;We do not want to maintain a script that maps and mounts which devices are provided by which instance sizes, as it will &lt;strong&gt;duplicate existing well-established efforts&lt;/strong&gt; (e.g. &lt;a href=&quot;https://help.ubuntu.com/community/CloudInit&quot;&gt;cloud-init&lt;/a&gt;), in addition to being difficult to maintain, inferior in functionality, and surprising to the user.&lt;/p&gt;&lt;/li&gt;
      &lt;li&gt;&lt;p&gt;&lt;strong&gt;Confusion&lt;/strong&gt;: Ephemeral device mappings do &lt;em&gt;not&lt;/em&gt; show on Amazon API queries, or their web UI (!!). Users do not realise a device is attached until they attempt to attach their own device at the same location (e.g. &lt;code&gt;/dev/xvdb&lt;/code&gt; is an ephemeral device mapping, but it does not show in the web UI; if the user attempts to attach a device at &lt;code&gt;xvdb&lt;/code&gt; it will fail).&lt;/p&gt;&lt;/li&gt;
      &lt;li&gt;&lt;p&gt;&lt;strong&gt;Inconsistency&lt;/strong&gt;: BoxGrinder can build a few different OSes, and some of the best cloud initialisation projects are not necessarily available on &lt;em&gt;all&lt;/em&gt; of the OSes default repositories. We would rather not force disparate solutions onto our users, as consistency is one of our primary goals.&lt;/p&gt;&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;p&gt;Therefore we concluded that rather than a prescriptive or inconsistent solution, we shall provide extremely simple default behaviour, and enable the user to choose an approach that is optimal for them.&lt;/p&gt;
      
      &lt;h3&gt;Thoughts?&lt;/h3&gt;
      
      &lt;p&gt;If you have any objections, comments or suggestions, leave them in the comments, or send them to via any of our &lt;a href=&quot;http://staging.boxgrinder.org/community/&quot;&gt;community channels&lt;/a&gt;.&lt;/p&gt;
      
      &lt;hr /&gt;
      
      &lt;p&gt;&lt;span id=&quot;foot_1&quot;&gt;[1]&lt;/span&gt; Ephemeral disks are &lt;em&gt;transient/instance storage&lt;/em&gt; devices that are available 'free' with most instance sizes. The overall capacity included, and the number of devices the space is subdivided into varies by &lt;a href=&quot;http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/InstanceStorage.html&quot;&gt;instance size&lt;/a&gt;. For example, a &lt;code&gt;m1.large&lt;/code&gt; instance has &lt;code&gt;2x420GiB&lt;/code&gt; instance storage.&lt;/p&gt;
      
      &lt;p&gt;&lt;span id=&quot;foot_2&quot;&gt;[2]&lt;/span&gt; There is an important distinction between &lt;em&gt;attaching&lt;/em&gt; and &lt;em&gt;mounting&lt;/em&gt; devices on AWS. Attaching is akin to physically plugging a disk into a machine. Mounting is the usual process of making a device available to the machine's file system.&lt;/p&gt;
      
      &lt;p&gt;&lt;span id=&quot;foot_3&quot;&gt;[3]&lt;/span&gt; For the sake of clarity, it is worth noting that S3 Backed AMIs always have a pre-defined set of ephemeral device mappings provided by EC2, but with EBS by default there are none.&lt;/p&gt;
      
      &lt;p&gt;&lt;span id=&quot;foot_4&quot;&gt;[4]&lt;/span&gt; In this particular case we were expecting &lt;code&gt;/dev/xvdb&lt;/code&gt; to exist, but for &lt;code&gt;m1.small&lt;/code&gt; the ephemeral device we wanted was mapped to &lt;code&gt;/dev/xvda2&lt;/code&gt;.&lt;/p&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2012/03/26/boxgrinder-build-0-10-1-released/</id>
    <title>BoxGrinder 0.10.1 Released</title>
    <updated>2012-03-26T17:10:00+01:00</updated>
    <link href='http://staging.boxgrinder.org/blog/2012/03/26/boxgrinder-build-0-10-1-released/' rel='alternate' type='text/html' />
    <author>
      <name>Marc Savy</name>
    </author>
    <summary>
      The long-awaited BoxGrinder Build 0.10.1 bugfix release is now available; with a variety of irritation eliminating alterations behaviour should be more consistent, and no longer prone to permissions errors.
      
      Permission denied, log shifting errors
      
      If you have seen any errors akin to:
      
      FATAL -- : Logger::ShiftingError: Shifting failed. Permission denied - log/boxgrinder.log.2 or log/boxgrinder.log.3
      
      
      The problem was caused when BoxGrinder switched to a local user from root, but the log file could still be owned by root. The issue was only apparent on certain systems, and even then often only occasionally.
      
      Ruby 1.9
      
      We've made some changes to ensure BoxGrinder runs correctly under Ruby 1.9, with......
    </summary>
    <content type='html'>
      &lt;p&gt;The long-awaited BoxGrinder Build 0.10.1 bugfix release is now available; with a variety of irritation eliminating alterations behaviour should be more consistent, and no longer prone to permissions errors.&lt;/p&gt;
      
      &lt;h2&gt;Permission denied, log shifting errors&lt;/h2&gt;
      
      &lt;p&gt;If you have seen any errors akin to:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;FATAL -- : Logger::ShiftingError: Shifting failed. Permission denied - log/boxgrinder.log.2 or log/boxgrinder.log.3&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;The problem was caused when BoxGrinder switched to a local user from root, but the log file could still be owned by root. The issue was only apparent on certain systems, and even then often only occasionally.&lt;/p&gt;
      
      &lt;h2&gt;Ruby 1.9&lt;/h2&gt;
      
      &lt;p&gt;We've made some changes to ensure BoxGrinder runs correctly under Ruby 1.9, with a particular eye towards the forthcoming release of Fedora 17. You can see our earlier &lt;a href=&quot;http://staging.boxgrinder.org/blog/2012/02/29/preparing-for-fedora-17/&quot;&gt;musings&lt;/a&gt; on the changes required.&lt;/p&gt;
      
      &lt;h2&gt;Scientific Linux EBS AMIs&lt;/h2&gt;
      
      &lt;p&gt;OS constraints on the EBS plugin have been removed, so you can now create a Scientific Linux EBS AMIs. As the limitation is generally eliminated, any community OS plugin is also be able to use the EBS plugin.&lt;/p&gt;
      
      &lt;h2&gt;Bash tab completions&lt;/h2&gt;
      
      &lt;p&gt;Basic bash tab completions have been sneaked into this release. Give it a try:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;    [root@localhost ~]# boxgrinder-build my.appl --&amp;#x000A;    --backtrace        --delivery-config  --os-config        --plugins&amp;#x000A;    --debug            --force            --platform         --trace&amp;#x000A;    --delivery         --help             --platform-config  --version&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;h2&gt;Other&lt;/h2&gt;
      
      &lt;p&gt;Snapshots with the S3 plugin are working correctly again, and some simple testing issues were fixed.&lt;/p&gt;
      
      &lt;h1&gt;Release notes&lt;/h1&gt;
      
      &lt;h2&gt;Bug&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[BGBUILD-337] - In SL if default repos are disabled, /etc/yum.repos.d folder is not created&lt;/li&gt;
      &lt;li&gt;[BGBUILD-338] - Weed out non-deterministic tests&lt;/li&gt;
      &lt;li&gt;[BGBUILD-344] - Builds on some platforms impossible due to log (and/or other) files still being owned by root after boxgrinder switches to user&lt;/li&gt;
      &lt;li&gt;[BGBUILD-351] - s3 plugin attempts to create bucket with whole pathname during snapshot&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Enhancement&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[BGBUILD-349] - Use RbConfig instead of obsolete and deprecated
      Config deprecation warning with Ruby 1.9.3&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Task&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[BGBUILD-332] - Add support for bash completion&lt;/li&gt;
      &lt;li&gt;[BGBUILD-346] - Confirm Ruby 1.9.3 support&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h1&gt;Sub-task&lt;/h1&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[BGBUILD-348] - Simplecov coverage testing for Ruby &gt;=1.9&lt;/li&gt;
      &lt;/ul&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2012/02/29/preparing-for-fedora-17/</id>
    <title>Preparing for Fedora 17</title>
    <updated>2012-02-29T17:59:00+00:00</updated>
    <link href='http://staging.boxgrinder.org/blog/2012/02/29/preparing-for-fedora-17/' rel='alternate' type='text/html' />
    <author>
      <name>Marc Savy</name>
    </author>
    <summary>
      Looking to the (beefy) future
      
      Those of you who keep an eye on happenings in Fedora-land will undoubtedly be aware that Fedora 17 is due out in the near future. From BoxGrinder's perspective one of the more important changes is the move to Ruby 1.9.x from 1.8.
      
      There are some syntactic changes and a few subtle semantic differences between versions, so it is important for us to ensure equivalent runtime behaviour in both flavours. Fedora 15 and 16 will both remain on 1.8.7, so we must straddle the fence.
      
      Mercifully, the changes required were fairly minor; but for those of a more inquisitive......
    </summary>
    <content type='html'>
      &lt;h2&gt;Looking to the (beefy) future&lt;/h2&gt;
      
      &lt;p&gt;Those of you who keep an eye on happenings in Fedora-land will undoubtedly be aware that Fedora 17 is &lt;a href=&quot;http://fedoraproject.org/wiki/Releases/17/Schedule&quot;&gt;due out&lt;/a&gt; in the near future. From BoxGrinder's perspective one of the more important changes is the move to &lt;a href=&quot;http://www.ruby-lang.org/en/about/&quot;&gt;Ruby&lt;/a&gt; 1.9.x from 1.8.&lt;/p&gt;
      
      &lt;p&gt;There are some syntactic changes and a few subtle semantic differences between versions, so it is important for us to ensure equivalent runtime behaviour in both flavours. Fedora 15 and 16 will both remain on 1.8.7, so we must straddle the fence.&lt;/p&gt;
      
      &lt;p&gt;Mercifully, &lt;a href=&quot;https://github.com/boxgrinder/boxgrinder-build/compare/f45412e54c7fa94965179dc780b4442f4d8e990c...884980efb9faa01dcbbed3c86afec8cc02869dd0&quot;&gt;the changes&lt;/a&gt; required were &lt;a href=&quot;https://github.com/boxgrinder/boxgrinder-core/compare/3a55db5af5daa694cbf362b349988edf94649c5f...ff7de635396422fa6059f1bc1b50f9e2078b7bdb&quot;&gt;fairly minor&lt;/a&gt;; but for those of a more inquisitive persuasion, let's look at a few examples of alterations that were required.&lt;/p&gt;
      
      &lt;h3&gt;Coverage Testing&lt;/h3&gt;
      
      &lt;p&gt;We needed to provide code coverage analysis with both Rubies, under 1.9 via &lt;a href=&quot;https://github.com/colszowka/simplecov&quot;&gt;simplecov&lt;/a&gt; and &lt;a href=&quot;https://github.com/relevance/rcov&quot;&gt;RCov&lt;/a&gt; when using 1.8. We only want the relevant tool to be loaded and run for the appropriate version of Ruby.&lt;/p&gt;
      
      &lt;p&gt;Our tests are run using Rake, and as &lt;code&gt;Rake&lt;/code&gt; tasks run in a new process, a bit of ingenuity is required to ensure the code you write is affecting the correct process.&lt;/p&gt;
      
      &lt;p&gt;In this instance the simplest solution was to create a couple of helper files that are run in the new process before the specs begin, ensuring everything required is kicked into action.&lt;/p&gt;
      
      &lt;hr /&gt;
      
      &lt;p&gt;Below is a snippet from our &lt;a href=&quot;https://github.com/boxgrinder/boxgrinder-build/blob/884980efb9faa01dcbbed3c86afec8cc02869dd0/Rakefile&quot;&gt;&lt;code&gt;Rakefile&lt;/code&gt;&lt;/a&gt;. Under 1.9, we set an environment variable to indicate to &lt;a href=&quot;https://github.com/boxgrinder/boxgrinder-build/blob/947c256f5ac55b7053ce78503d0628e00a2b5d5e/spec/spec_helper.rb&quot;&gt;&lt;code&gt;spec_helper&lt;/code&gt;&lt;/a&gt; that simplecov should be run.&lt;/p&gt;
      
      &lt;p&gt;When running with 1.8 a bit of path juggling ensures &lt;a href=&quot;https://github.com/boxgrinder/boxgrinder-build/blob/947c256f5ac55b7053ce78503d0628e00a2b5d5e/spec/rcov_helper.rb&quot;&gt;&lt;code&gt;rcov_helper&lt;/code&gt;&lt;/a&gt; is run &lt;em&gt;before&lt;/em&gt; RCov starts. As RCov is initialised before RSpec, we must ensure that some basic dependencies are met.&lt;/p&gt;
      
      &lt;p&gt;&lt;code&gt;Rakefile&lt;/code&gt;:&lt;/p&gt;
      
      &lt;!-- lang: ruby --&gt;
      
      
      &lt;pre&gt;&lt;code&gt;RSpec::Core::RakeTask.new('spec:coverage') do |t|&amp;#x000A;  t.ruby_opts = &quot;-I ../boxgrinder-core/lib&quot;&amp;#x000A;  t.pattern = &quot;spec/**/*-spec.rb&quot;&amp;#x000A;  t.rspec_opts = ['-r spec_helper', '-r boxgrinder-core', &amp;#x000A;          '-r rubygems', &amp;lt;snip&amp;gt;]&amp;#x000A;  t.verbose = true&amp;#x000A;&amp;#x000A;  if RUBY_VERSION =~ /^1.8/&amp;#x000A;    t.rcov = true&amp;#x000A;    t.rcov_opts = [&quot;-Ispec:lib spec/rcov_helper.rb&quot;, &amp;lt;snip&amp;gt;]&amp;#x000A;  else&amp;#x000A;    ENV['COVERAGE'] = 'true'&amp;#x000A;  end&amp;#x000A;end&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;&lt;code&gt;spec_helper.rb&lt;/code&gt;:&lt;/p&gt;
      
      &lt;!-- lang: ruby --&gt;
      
      
      &lt;pre&gt;&lt;code&gt;if ENV['COVERAGE']&amp;#x000A;  require 'simplecov'&amp;#x000A;&amp;#x000A;  FILTER_DIRS = ['spec']&amp;#x000A;&amp;#x000A;  SimpleCov.start do&amp;#x000A;    FILTER_DIRS.each{ |f| add_filter f }&amp;#x000A;  end&amp;#x000A;end&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;This might seem fairly circuitous, but if we attempted to start code coverage in the Rakefile itself, we'd simply be analysing Rake, not &lt;strong&gt;our&lt;/strong&gt; code!&lt;/p&gt;
      
      &lt;h3&gt;Sycked up&lt;/h3&gt;
      
      &lt;!-- lang: ruby --&gt;
      
      
      &lt;pre&gt;&lt;code&gt;module BoxGrinder&amp;#x000A;  # Avoid Psych::SyntaxError (&amp;lt;unknown&amp;gt;): couldn't parse YAML in 1.9&amp;#x000A;  if RUBY_VERSION.split('.')[1] == '9'&amp;#x000A;    require 'yaml'&amp;#x000A;    YAML::ENGINE.yamler = 'syck'&amp;#x000A;  end&amp;#x000A;end&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;Psych, the default cRuby 1.9.3 YAML parser, causes problems with our YAML parsing and validation (through &lt;a href=&quot;http://www.kuwata-lab.com/kwalify/&quot;&gt;Kwalify&lt;/a&gt;), but fortunately the only change required was to set the parser back to Syck.&lt;/p&gt;
      
      &lt;h3&gt;Syntactical slips&lt;/h3&gt;
      
      &lt;!-- lang: diff --&gt;
      
      
      &lt;pre&gt;&lt;code&gt;-    when :ec2:&amp;#x000A;+    when :ec2&amp;#x000A;       disk_format = :ami&amp;#x000A;       container_format = :ami&amp;#x000A;-    when :vmware:&amp;#x000A;+    when :vmware&amp;#x000A;       disk_format = :vmdk&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;This is a single example of a few slightly unusual &lt;em&gt;case&lt;/em&gt; (switch) syntaxes which had crept into the codebase, and due to 1.9's new &lt;a href=&quot;http://logicalfriday.com/2011/06/20/i-dont-like-the-ruby-1-9-hash-syntax/&quot;&gt;hash syntax&lt;/a&gt;, something like &lt;code&gt;:ec2:&lt;/code&gt; appears to be a mangled hash key.&lt;/p&gt;
      
      &lt;h3&gt;String it out&lt;/h3&gt;
      
      &lt;!-- lang: diff --&gt;
      
      
      &lt;pre&gt;&lt;code&gt;-    repoquery_output.each do |line|&amp;#x000A;+    repoquery_output.each_line do |line|&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;&lt;code&gt;String#each&lt;/code&gt; is no longer an alias to &lt;code&gt;#each_line&lt;/code&gt;, which splits a string into an array with &lt;code&gt;newline&lt;/code&gt; as the separator. The change is probably rather sensible, given that the behaviour is surprising at first encounter.&lt;/p&gt;
      
      &lt;h3&gt;Regex&lt;/h3&gt;
      
      &lt;!-- lang: diff --&gt;
      
      
      &lt;pre&gt;&lt;code&gt;-    vmdk_image.scan(/^createType=&quot;(.*)&quot;\s?$/).to_s.should == &quot;vmfs&quot;&amp;#x000A;+    vmdk_image.match(/^createType=&quot;(.*)&quot;\s?$/)[1].should == &quot;vmfs&quot;&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;!-- lang: ruby --&gt;
      
      
      &lt;pre&gt;&lt;code&gt;[1] pry(main)&amp;gt; 'createType=&quot;BG&quot;'.scan(/^createType=&quot;(.*)&quot;\s?$/).to_s&amp;#x000A;=&amp;gt; &quot;example&quot; # Ruby 1.8.7&amp;#x000A;&amp;#x000A;[1] pry(main)&amp;gt; 'createType=&quot;BG&quot;'.scan(/^createType=&quot;(.*)&quot;\s?$/).to_s&amp;#x000A;=&amp;gt; &quot;[[\&quot;example\&quot;]]&quot; # Ruby 1.9.3&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;Numerous examples of &lt;em&gt;slightly dodgy&lt;/em&gt; regex matching that relied upon &lt;code&gt;to_s&lt;/code&gt; in our tests were eliminated from the codebase.&lt;/p&gt;
      
      &lt;h3&gt;Other bits&lt;/h3&gt;
      
      &lt;p&gt;Amongst other changes that bit us was our reliance upon quirky behaviour in Ruby 1.8 &lt;a href=&quot;https://github.com/boxgrinder/boxgrinder-build/commit/af42eb9f2819fddf3eea54a7a2cd3158abedcb74#L4L40&quot;&gt;bindings&lt;/a&gt; (albeit our usage is slightly dubious anyway), and a couple of situations where &lt;a href=&quot;https://github.com/boxgrinder/boxgrinder-build/commit/af42eb9f2819fddf3eea54a7a2cd3158abedcb74#L2L30&quot;&gt;implicit arrays&lt;/a&gt; were assumed.&lt;/p&gt;
      
      &lt;h3&gt;RSpec 2, when dependencies strike&lt;/h3&gt;
      
      &lt;p&gt;A few of our newer RSpec tests only work properly with &lt;code&gt;rspec-expectations &amp;gt;= 2.7.0&lt;/code&gt;, which is available only on Fedora 17 and above.&lt;/p&gt;
      
      &lt;!-- lang: diff --&gt;
      
      
      &lt;pre&gt;&lt;code&gt;- it &quot;should add the path to the path_set&quot; do&amp;#x000A;+ &amp;lt;snip&amp;gt; :if =&amp;gt; RSpec::Expectations::Version::STRING &amp;gt;= '2.7.0' do&amp;#x000A;    expect{ simple_update }.to change(subject, :path_set).&amp;#x000A;      from(empty_set).to(mkset('/the/great/escape'))&amp;#x000A;  end&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;By using RSpec 2 &lt;a href=&quot;http://blog.davidchelimsky.net/2010/06/14/filtering-examples-in-rspec-2/&quot;&gt;&lt;em&gt;filters&lt;/em&gt;&lt;/a&gt; we avoid running &lt;a href=&quot;https://github.com/rspec/rspec-expectations/commit/ea01a6f8787564406e951108a5d6a942880c0152&quot;&gt;tests&lt;/a&gt; known to fail spuriously. This is a useful technique if you temporarily need to straddle multiple versions, and refactoring isn't desirable.&lt;/p&gt;
      
      &lt;h2&gt;Onwards&lt;/h2&gt;
      
      &lt;p&gt;Thankfully the process was rather easy, with all but a couple of issues being caught by our tests. It would seem that all of the cases were circumstances where we should have been using better approaches anyway, so the outcome was certainly positive.&lt;/p&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2011/12/20/new-features-arriving-in-boxgrinder-build-0-10-0/</id>
    <title>New features arriving in BoxGrinder Build 0.10.0</title>
    <updated>2011-12-20T12:20:00+00:00</updated>
    <link href='http://staging.boxgrinder.org/blog/2011/12/20/new-features-arriving-in-boxgrinder-build-0-10-0/' rel='alternate' type='text/html' />
    <author>
      <name>BoxGrinder Team</name>
    </author>
    <summary>
      We are really pleased to announce the next major version of BoxGrinder Build. Version 0.10 includes many exciting new features.
      
      New plugin: libvirt delivery plugin
      
      The most time-consuming feature was the libvirt delivery plugin, enabling appliances to be delivered and registered on the range of platforms that libvirt supports.  These include KVM, Xen, VirtualBox and VMWare to name but a few, and whilst the current release of the plugin is a preview, we hope that your feedback will enable us to continue improving it, so please let us know your thoughts!
      
      There are a large number of features and configurable options available,......
    </summary>
    <content type='html'>
      &lt;p&gt;We are really pleased to announce the next major version of BoxGrinder Build. Version 0.10 includes many exciting new features.&lt;/p&gt;
      
      &lt;h2&gt;New plugin: libvirt delivery plugin&lt;/h2&gt;
      
      &lt;p&gt;The most time-consuming feature was the &lt;a href=&quot;http://libvirt.org/&quot;&gt;libvirt&lt;/a&gt; &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/boxgrinder-build-plugins/#libvirt_Delivery_Plugin&quot;&gt;delivery plugin&lt;/a&gt;, enabling appliances to be delivered and registered on the range of platforms that &lt;a href=&quot;http://libvirt.org/index.html&quot;&gt;libvirt supports&lt;/a&gt;.  These include KVM, Xen, VirtualBox and VMWare to name but a few, and whilst the current release of the plugin is a preview, we hope that your feedback will enable us to continue improving it, so please let us know your thoughts!&lt;/p&gt;
      
      &lt;p&gt;There are a large number of &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/boxgrinder-build-plugins/#Libvirt_Delivery_Plugin&quot;&gt;features and configurable options&lt;/a&gt; available, so we shall limit ourselves to some simple examples. We encourage you to consult &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/boxgrinder-build-plugins/#libvirt_Delivery_Plugin&quot;&gt;the documentation&lt;/a&gt; for detailed information.&lt;/p&gt;
      
      &lt;h3&gt;Examples&lt;/h3&gt;
      
      &lt;p&gt;Deliver the appliance to a &lt;code&gt;qemu&lt;/code&gt; hypervisor on the local machine, placing the appliance in the &lt;code&gt;/var/lib/libvirt/images&lt;/code&gt; directory, and register the image:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;boxgrinder-build definition.appl -d libvirt --delivery-config connection_uri:qemu:///system,image_delivery_uri:/var/lib/libvirt/images  &amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;blockquote&gt;&lt;p&gt;The plugin will attempt to determine optimal settings by probing the libvirt daemon for its capabilities. If, for instance, the libvirtd residing at the &lt;code&gt;connection_uri&lt;/code&gt; machine advertises that it supports &lt;code&gt;kvm&lt;/code&gt;, this will be preferred over a slower &lt;code&gt;qemu&lt;/code&gt; domain. You can, of course, override these settings manually.&lt;/p&gt;&lt;/blockquote&gt;
      
      &lt;p&gt;Connect via SSH to a remote &lt;code&gt;vbox&lt;/code&gt; (VirtualBox) &lt;a href=&quot;http://libvirt.org/drvvbox.html&quot;&gt;hypervisor&lt;/a&gt;. Deliver the appliance via SFTP to the remote machine and register:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;[...] -d libvirt --delivery-config connection_uri:vbox+ssh://root@example.org/session,image_delivery_uri:sftp://root@example.org/var/lib/libvirt/images&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;blockquote&gt;&lt;p&gt;In the above example, we assume that you have set up your &lt;a href=&quot;http://mah.everybody.org/docs/ssh&quot;&gt;&lt;em&gt;ssh-agent&lt;/em&gt;&lt;/a&gt;, thus enabling the plugin to seamlessly use key authentication for both libvirt and SFTP. Password authentication works too, but it requires you to enter a password each time the plugin needs to connect, which is rather inconvenient.&lt;/p&gt;&lt;/blockquote&gt;
      
      &lt;p&gt;There are a plethora of further features to allow arbitrary modification of domain definitions. Futhermore, we hope to make the plugin more user-friendly for those who require complex configurations, and these are topics we shall blog on in the future.&lt;/p&gt;
      
      &lt;h2&gt;New plugin: OpenStack delivery plugin&lt;/h2&gt;
      
      &lt;p&gt;It's a pleasure to submit to testing our &lt;a href=&quot;http://openstack.org/&quot;&gt;OpenStack&lt;/a&gt; plugin. The OpenStack plugin allows you to deliver your appliance (in different formats) to a &lt;a href=&quot;http://glance.openstack.org/&quot;&gt;Glance&lt;/a&gt; server using its REST API.&lt;/p&gt;
      
      &lt;p&gt;Usage of this plugin is very simple. If you want to submit a KVM image to OpenStack:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;boxgrinder-build definition.appl -d openstack&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;...and if you want to have an EC2 image registered:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;boxgrinder-build definition.appl -p ec2 -d openstack&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;Please refer to &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/boxgrinder-build-plugins/#OpenStack_Delivery_Plugin&quot;&gt;plugin documentation&lt;/a&gt; for detailed usage instructions.&lt;/p&gt;
      
      &lt;p&gt;This plugin is in a &lt;strong&gt;tech-preview&lt;/strong&gt; state. This means that we haven't tested it intensively, please help us with some testing. We really appreciate any comments and pull requests for this plugin.&lt;/p&gt;
      
      &lt;h2&gt;New plugin: VirtualPC platform plugin&lt;/h2&gt;
      
      &lt;p&gt;If you need the appliance in VHD format which is required by Virtual PC or Citrix XenServer - there you have it. Usage is very simple:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;boxgrinder-build definition.appl -p virtualpc&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;This is an early stage of the plugin as we want to add more functionality in the future like thin/thick disk support.&lt;/p&gt;
      
      &lt;h2&gt;Kickstart support removal&lt;/h2&gt;
      
      &lt;p&gt;As of now support for using &lt;a href=&quot;http://fedoraproject.org/wiki/Anaconda/Kickstart&quot;&gt;Kickstart files&lt;/a&gt; as input files for BoxGrinder Build is removed. Kickstart files support was the cause of confusion by many BoxGrinder users. They were expecting that the full plugin chain could be executed, but &lt;strong&gt;this wasn't ever true&lt;/strong&gt;. Only operating system plugin execution was tested, everything else was in the hand of gods.&lt;/p&gt;
      
      &lt;p&gt;We're now clear about the support: there is no support for kickstart files.&lt;/p&gt;
      
      &lt;h2&gt;Virtual machines disk alingment&lt;/h2&gt;
      
      &lt;p&gt;This is not a direct feature of BoxGrinder, but there was a fix commited to the upstream appliance-tools which enables disk alignment by default. From now on, all appliances made by BoxGrinder are aligned.&lt;/p&gt;
      
      &lt;h2&gt;New supported EC2 regions: sa-east-1 and us-west-2&lt;/h2&gt;
      
      &lt;p&gt;You're now free to create your AMI's in new regions: sa-east-1 and us-west-2. More info about selecting the regions you can find in &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/boxgrinder-build-plugins/#S3_Delivery_Plugin&quot;&gt;S3 plugin documentation&lt;/a&gt;.&lt;/p&gt;
      
      &lt;h2&gt;Enhanced support for variables (parameters) in any string value field of an appliance definition&lt;/h2&gt;
      
      &lt;p&gt;As requested by the community, it is now possible to use &lt;a href=&quot;http://boxgrinder.org/tutorials/appliance-definition-parameters/&quot;&gt;variables&lt;/a&gt; in &lt;em&gt;any&lt;/em&gt; value field of an appliance:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;name: boxgrinder-#OS_NAME#&amp;#x000A;os:&amp;#x000A;  name: fedora&amp;#x000A;  version: 16&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;Furthermore, you may now &lt;strong&gt;inject custom variables from your environment&lt;/strong&gt; into your appliances simply by defining them.&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;$ export MY_ENV=&quot;I-LOVE-BoxGrinder&quot;&amp;#x000A;&amp;#x000A;[...]&amp;#x000A;  base:&amp;#x000A;    - &quot;mkdir #MY_ENV#&quot; # This becomes &quot;mkdir I-LOVE-BoxGrinder&quot;&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;blockquote&gt;&lt;p&gt;There is a hierarchy in which a variable defined in the &lt;em&gt;variables&lt;/em&gt; section of an appliance takes precedence over one defined in the environment. See our &lt;a href=&quot;http://markmail.org/message/we5abw2bwon36uva&quot;&gt;mailing list post&lt;/a&gt; for more detail.&lt;/p&gt;&lt;/blockquote&gt;
      
      &lt;p&gt;As an added bonus it is now also possible to &lt;strong&gt;define nested variables&lt;/strong&gt;.  BoxGrinder can now resolve the following variable &lt;em&gt;#A#&lt;/em&gt; successfully as &lt;em&gt;BoxGrinder Rocks!&lt;/em&gt;:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;#A#: #B# #C#!&amp;#x000A;#B#: BoxGrinder&amp;#x000A;#C#: Rocks&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;blockquote&gt;&lt;p&gt;You could define these variables either in the &lt;em&gt;variables&lt;/em&gt; section of your appliance, or in the environment. The variables section is better for portability, whereas the environment is useful for baking in one-shot customisations such as fixed MAC addresses.&lt;/p&gt;&lt;/blockquote&gt;
      
      &lt;p&gt;Full release notes can be found below. If you have any comments - &lt;a href=&quot;http://staging.boxgrinder.org/community/&quot;&gt;find us or our community&lt;/a&gt;.&lt;/p&gt;
      
      &lt;h1&gt;Release Notes&lt;/h1&gt;
      
      &lt;h2&gt;Bug&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[BGBUILD-152] - Clarification of Post section inheritance behaviour&lt;/li&gt;
      &lt;li&gt;[BGBUILD-242] - Additional EBS overwrite edge cases&lt;/li&gt;
      &lt;li&gt;[BGBUILD-243] - Misleading error messages when YUM mirrors/mirror-lists are unreachable.&lt;/li&gt;
      &lt;li&gt;[BGBUILD-308] - bg-build 0.9.6 complains about file validation based upon file name&lt;/li&gt;
      &lt;li&gt;[BGBUILD-313] - boxgrinder build fails to build ec2 image if ec2-user already exists&lt;/li&gt;
      &lt;li&gt;[BGBUILD-323] - Invalid kernel version recognition makes recreating initrd impossible&lt;/li&gt;
      &lt;li&gt;[BGBUILD-326] - BoxGrinder can fail when build run from /&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Enhancement&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[BGBUILD-304] - Standarize plugin callbacks&lt;/li&gt;
      &lt;li&gt;[BGBUILD-312] - Only use root privileges when necessary&lt;/li&gt;
      &lt;li&gt;[BGBUILD-318] - Add support for us-west-2 region&lt;/li&gt;
      &lt;li&gt;[BGBUILD-320] - support #ARCH# and/or #BASE_ARCH# replacement anywhere in the appliance definition file&lt;/li&gt;
      &lt;li&gt;[BGBUILD-327] - Resolve appliance definition variables in ENV if they are not defined.&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Feature Request&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[BGBUILD-157] - Add Alignment options for virtual appliances&lt;/li&gt;
      &lt;li&gt;[BGBUILD-195] - Add support for OpenStack&lt;/li&gt;
      &lt;li&gt;[BGBUILD-211] - Support for registering appliances with libvirt (KVM/XEN)&lt;/li&gt;
      &lt;li&gt;[BGBUILD-234] - Host contributed appliance definition files&lt;/li&gt;
      &lt;li&gt;[BGBUILD-267] - Add CentOS 6 support&lt;/li&gt;
      &lt;li&gt;[BGBUILD-302] - Add support for VirtualPC platform&lt;/li&gt;
      &lt;li&gt;[BGBUILD-322] - Allow to specify kernel and ramdisk for ec2 plugin&lt;/li&gt;
      &lt;li&gt;[BGBUILD-331] - Add support for sa-east-1 EC2 region&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Task&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[BGBUILD-315] - Distribute qcow2 and thin vmdk disks for meta appliance&lt;/li&gt;
      &lt;li&gt;[BGBUILD-325] - Remove kickstart support&lt;/li&gt;
      &lt;li&gt;[BGBUILD-328] - Document libvirt plugin usage&lt;/li&gt;
      &lt;li&gt;[BGBUILD-329] - Document openstack plugin usage&lt;/li&gt;
      &lt;li&gt;[BGBUILD-330] - Document virtualpc plugin usage&lt;/li&gt;
      &lt;/ul&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2011/11/16/boxgrinder-build-0-9-8-is-out/</id>
    <title>BoxGrinder Build 0.9.8 is out</title>
    <updated>2011-11-16T11:11:00+00:00</updated>
    <link href='http://staging.boxgrinder.org/blog/2011/11/16/boxgrinder-build-0-9-8-is-out/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      It has been a long time we met last time! There are a few reasons. We both (Marc and me) were travelling a bit spreading the BoxGrinder love around the world. Marc is still working on a big BoxGrinder improvement - libvirt plugin. Additionally I was pulled into another task - making JBoss AS 7 available in Fedora.
      
      But hey, we found some time to release 0.9.8 :) Although we planned to make 0.9.7 the last release of 0.9.x series - we were forced to do another one. The main reason was that appliance-tools version shipped in Fedora 16 wasn't able......
    </summary>
    <content type='html'>
      &lt;p&gt;It has been a long time we met last time! There are a few reasons. We both (Marc and me) were travelling a bit spreading the BoxGrinder love around the world. Marc is still working on a big BoxGrinder improvement - libvirt plugin. Additionally I was pulled into another task - making &lt;a href=&quot;http://fedoraproject.org/wiki/JBossAS7&quot;&gt;JBoss AS 7 available in Fedora&lt;/a&gt;.&lt;/p&gt;
      
      &lt;p&gt;But hey, we found some time to release 0.9.8 :) Although we &lt;a href=&quot;http://staging.boxgrinder.org/blog/2011/09/12/boxgrinder-build-0-9-7-and-beyond/&quot;&gt;planned to make 0.9.7 the last release of 0.9.x series&lt;/a&gt; - we were forced to do another one. The main reason was that &lt;a href=&quot;http://thincrust.org/tooling.html&quot;&gt;appliance-tools&lt;/a&gt; version shipped in Fedora 16 wasn't able to build appliances where &lt;a href=&quot;http://www.gnu.org/software/grub/&quot;&gt;GRUB2&lt;/a&gt; is the default boot loader. I took care of this and &lt;a href=&quot;https://admin.fedoraproject.org/updates/FEDORA-2011-15799&quot;&gt;pushed new appliance-tools version&lt;/a&gt; over the weekend, but it required some changes to how we use appliance-creator internally. So, there we have 0.9.8.&lt;/p&gt;
      
      &lt;h2&gt;CentOS 6 support&lt;/h2&gt;
      
      &lt;p&gt;As a side effect of fixing appliance-creator - I added the ability to create CentOS 6 appliances. You'll even be able to create CentOS 6 AMIs now! Go, try it and let us know how it went!&lt;/p&gt;
      
      &lt;h2&gt;Preserving your environment, and limiting time as root&lt;/h2&gt;
      
      &lt;p&gt;There are some use cases where people get confused about BoxGrinder not using their own environment variables when executing BoxGrinder Build using &lt;code&gt;sudo&lt;/code&gt;. Thanks to Marc this is now over, yay! Even more - we'll make sure that the created artifacts have the expected owner, and drop down from root user to standard user (where applicable) as soon as possible.  This change also ensures that the user's agents such as &lt;code&gt;ssh-agent&lt;/code&gt; are available to BoxGrinder, for instance for the SSH plugin or the upcoming libVirt plugin will seamlessly use your &lt;code&gt;ssh-agent&lt;/code&gt; when required. Small things, but makes life easier.&lt;/p&gt;
      
      &lt;p&gt;To utilise it at its best, you can simply run &lt;code&gt;boxgrinder-build&lt;/code&gt; &lt;strong&gt;without&lt;/strong&gt; &lt;code&gt;sudo&lt;/code&gt;. Although even under &lt;code&gt;sudo&lt;/code&gt; and &lt;code&gt;su&lt;/code&gt;, we now try to behave in a less surprising way.&lt;/p&gt;
      
      &lt;p&gt;The release is &lt;strong&gt;immediately available&lt;/strong&gt; in Fedora 15/16 updates-testing repository.&lt;/p&gt;
      
      &lt;p&gt;Full release notes you can find below. If you have any comments - &lt;a href=&quot;http://staging.boxgrinder.org/community/&quot;&gt;find us or our community&lt;/a&gt;.&lt;/p&gt;
      
      &lt;h1&gt;Release Notes&lt;/h1&gt;
      
      &lt;h2&gt;Bug&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-310&quot;&gt;BGBUILD-310&lt;/a&gt;] - BoxGrinder doesnt build appliances when Fedora 16 is the host&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-321&quot;&gt;BGBUILD-321&lt;/a&gt;] - For EBS AMIs use the filesystem type specified for root partition&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Enhancement&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-312&quot;&gt;BGBUILD-312&lt;/a&gt;] - Only use root privileges when necessary&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Feature Request&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-157&quot;&gt;BGBUILD-157&lt;/a&gt;] - Add Alignment options for virtual appliances&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-267&quot;&gt;BGBUILD-267&lt;/a&gt;] - Add CentOS 6 support&lt;/li&gt;
      &lt;/ul&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2011/09/12/boxgrinder-build-0-9-7-and-beyond/</id>
    <title>BoxGrinder Build 0.9.7 and beyond</title>
    <updated>2011-09-12T11:30:00+01:00</updated>
    <link href='http://staging.boxgrinder.org/blog/2011/09/12/boxgrinder-build-0-9-7-and-beyond/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      A week without BoxGrinder Build release is a lost week :) Let me introduce 0.9.7.
      
      What we broke in the previous release
      
      This small bugfix release fixes some issues regarding the newly introduced files section in 0.9.6.
      
      We also discovered a change in systemd in Fedora 16 which prevented from executing our /etc/rc.local file which lead to unusable AMIs on AWS. The new systemd doesn't have a symlink from /etc/rc.d/rc.local to /etc/rc.local. Even more - a new condition was added to check for the executability for this file that doesn't work when the file is a symlink. See #737047 for more info.
      
      Due to......
    </summary>
    <content type='html'>
      &lt;p&gt;A week without BoxGrinder Build release is a lost week :) Let me introduce 0.9.7.&lt;/p&gt;
      
      &lt;h1&gt;What we broke in the previous release&lt;/h1&gt;
      
      &lt;p&gt;This small bugfix release fixes some issues regarding the &lt;a href=&quot;http://staging.boxgrinder.org/blog/2011/09/02/boxgrinder-build-0-9-6-with-files-support-is-out/&quot;&gt;newly introduced files section&lt;/a&gt; in 0.9.6.&lt;/p&gt;
      
      &lt;p&gt;We also discovered a change in systemd in Fedora 16 which prevented from executing our &lt;code&gt;/etc/rc.local&lt;/code&gt; file which lead to unusable AMIs on AWS. The new systemd doesn't have a symlink from &lt;code&gt;/etc/rc.d/rc.local&lt;/code&gt; to &lt;code&gt;/etc/rc.local&lt;/code&gt;. Even more - a new condition was added to check for the executability for this file that doesn't work when the file is a symlink. See &lt;a href=&quot;https://bugzilla.redhat.com/show_bug.cgi?id=737047&quot;&gt;#737047&lt;/a&gt; for more info.&lt;/p&gt;
      
      &lt;p&gt;Due to a single character typo swap partitions didn't work for &lt;em&gt;some&lt;/em&gt; installations depending on Ruby and operating system combination. Pardon me.&lt;/p&gt;
      
      &lt;p&gt;This release is immediately available in the updates-testing Fedora repository.&lt;/p&gt;
      
      &lt;h1&gt;What we've done to avoid issues in the future&lt;/h1&gt;
      
      &lt;h2&gt;First - issue causes&lt;/h2&gt;
      
      &lt;p&gt;There are several types of issues that may arrive while developing BoxGrinder Build. Why? BoxGrinder Build isn't just a simple library. We integrate &lt;em&gt;very&lt;/em&gt; tightly with operating systems (Fedora, CentOS, RHEL), with our builder (appliance-creator) and with external services (AWS, SSH). If there is a change in some of these - we need to be prepared to handle it. Sometimes upstream introduces a breaking change. For us a change, for example in the file permissions of a single file in an operating system, can break the whole build...&lt;/p&gt;
      
      &lt;p&gt;There are of course also ordinary bugs in the code. Nobody is perfect.&lt;/p&gt;
      
      &lt;h2&gt;What can we do to break things more rarely?&lt;/h2&gt;
      
      &lt;p&gt;The answer is tests. We have two kinds of tests in BoxGrinder Build: unit tests and integration tests. Unit tests should catch our code bugs, integration tests should catch bugs in the integration.&lt;/p&gt;
      
      &lt;p&gt;For our integration tests - &lt;strong&gt;we just moved from stable repositories to updates-testing&lt;/strong&gt;. This way we can be prepared for upcoming changes in the operating systems. We constantly grow our unit tests collection.&lt;/p&gt;
      
      &lt;p&gt;We also want to change the way we introduce new features. &lt;strong&gt;New features will be added only in major versions&lt;/strong&gt;, all minor versions will be bugfix only releases. In our case: 0.10.0 is a major version, 0.9.7 is a minor. We may change the version naming in the future to drop the zero in the front, but we'll leave it as is for now.&lt;/p&gt;
      
      &lt;h1&gt;What to expect after 0.9.7?&lt;/h1&gt;
      
      &lt;p&gt;We want to stop the 0.9.x series and focus on 0.10.0 now. This means that 0.9.x will not have new releases anymore. Our main area of focus is support for new clouds:&lt;/p&gt;
      
      &lt;ol&gt;
      &lt;li&gt;OpenStack - almost done,&lt;/li&gt;
      &lt;li&gt;CloudStack - tricky, we'll spend some time on it.&lt;/li&gt;
      &lt;/ol&gt;
      
      
      &lt;p&gt;We want to build appliances faster using a &lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-287&quot;&gt;pre-launched libguestfs service&lt;/a&gt; which is theorethically doable.&lt;/p&gt;
      
      &lt;p&gt;If you want see our current plans for 0.10.0 - just &lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD/fixforversion/12315923&quot;&gt;take a look at our JIRA&lt;/a&gt;. As always - our schedule is community-based. If you have some great ideas on how to make BoxGrinder better - &lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD&quot;&gt;JIRA&lt;/a&gt; is waiting for you.&lt;/p&gt;
      
      &lt;h1&gt;Release Notes&lt;/h1&gt;
      
      &lt;h2&gt;Bug&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-305&quot;&gt;BGBUILD–305&lt;/a&gt;] - Incorrect version information in 0.9.6 schema causing validation errors&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-307&quot;&gt;BGBUILD–307&lt;/a&gt;] - Appliance with swap file fails to build if selected OS is centos&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Task&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-306&quot;&gt;BGBUILD–306&lt;/a&gt;] - Switch for updates-testing repository for integration tests&lt;/li&gt;
      &lt;/ul&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2011/09/02/boxgrinder-build-0-9-6-with-files-support-is-out/</id>
    <title>BoxGrinder Build 0.9.6 with files support is out</title>
    <updated>2011-09-02T13:35:00+01:00</updated>
    <link href='http://staging.boxgrinder.org/blog/2011/09/02/boxgrinder-build-0-9-6-with-files-support-is-out/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      We continue our rapid development and release another minor update to BoxGrinder Build today: 0.9.6.
      
      This release includes mostly bugfixes, but we also have a neat surprise for you, read on.
      
      What's new in 0.9.6?
      
      GRUB fixes
      
      We discovered some small issues that could prevent Xen/KVM/VMware appliances which used GRUB Legacy from running. Fixed!
      
      File section support
      
      Many of you requested an easy way of including selected files into appliances, for example scripts. Our answer thusfar was:
      
      
      Add your stuff to the post section, or
      Create an RPM (which is fairly simple!) and add it to your packages list.
      
      
      
      Now this is over! Let me introduce the files section:
      
      name:......
    </summary>
    <content type='html'>
      &lt;p&gt;We continue our rapid development and release another minor update to BoxGrinder Build today: &lt;strong&gt;0.9.6&lt;/strong&gt;.&lt;/p&gt;
      
      &lt;p&gt;This release includes mostly bugfixes, but we also have a neat surprise for you, read on.&lt;/p&gt;
      
      &lt;h1&gt;What's new in 0.9.6?&lt;/h1&gt;
      
      &lt;h2&gt;GRUB fixes&lt;/h2&gt;
      
      &lt;p&gt;We discovered some small issues that could prevent Xen/KVM/VMware appliances which used GRUB Legacy from running. Fixed!&lt;/p&gt;
      
      &lt;h2&gt;File section support&lt;/h2&gt;
      
      &lt;p&gt;Many of you requested an easy way of including selected files into appliances, for example scripts. Our answer thusfar was:&lt;/p&gt;
      
      &lt;ol&gt;
      &lt;li&gt;Add your stuff to the post section, or&lt;/li&gt;
      &lt;li&gt;Create an RPM (which is fairly simple!) and add it to your packages list.&lt;/li&gt;
      &lt;/ol&gt;
      
      
      &lt;p&gt;Now this is over! Let me introduce the files section:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;name: jeos-f16&amp;#x000A;summary: fedora 16&amp;#x000A;os:&amp;#x000A;  name: fedora&amp;#x000A;  version: 16&amp;#x000A;files:&amp;#x000A;  &quot;/opt&quot;:&amp;#x000A;    - &quot;install_script.sh&quot;&amp;#x000A;post:&amp;#x000A;  base:&amp;#x000A;    - &quot;chmod +x /opt/install_script.sh &amp;amp;&amp;amp; /opt/install_script.sh&quot;&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;This way you have an easy and fast method of including your files into appliances. Feel free to test it and let us know how you like it!&lt;/p&gt;
      
      &lt;p&gt;For more information about usage please refer to &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/appliance-definition/#files&quot;&gt;files section documentation&lt;/a&gt;.&lt;/p&gt;
      
      &lt;h2&gt;Swap support&lt;/h2&gt;
      
      &lt;p&gt;We hadn't noticed earlier, but there was no way to specify a swap partition in appliance definition files. We have added it now. If you &lt;em&gt;really&lt;/em&gt; want to have swap space on your appliance - just specify another partition with &lt;strong&gt;swap&lt;/strong&gt; as the mount point, like this:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;hardware:&amp;#x000A;  partitions:&amp;#x000A;    &quot;/&quot;:&amp;#x000A;      size: 2&amp;#x000A;    &quot;swap&quot;:&amp;#x000A;      size: 1&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;This release will be available in updates-testing Fedora repository soon. That's all for now. You'll hear more from us in the near future, stay tuned :)&lt;/p&gt;
      
      &lt;h1&gt;Release Notes&lt;/h1&gt;
      
      &lt;h2&gt;Bug&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-298&quot;&gt;BGBUILD–298&lt;/a&gt;] - Fedora 16 or newer has networking issue on platforms different than EC2 because of biosdevname not disabled&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-299&quot;&gt;BGBUILD–299&lt;/a&gt;] - Wrong filenames in GRUB discovery&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-301&quot;&gt;BGBUILD–301&lt;/a&gt;] - Swap feature not working properly&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Enhancement&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-300&quot;&gt;BGBUILD–300&lt;/a&gt;] - Add support for swap partitions&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Feature Request&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-276&quot;&gt;BGBUILD–276&lt;/a&gt;] - Import files into appliance via appliance definition file (Files section)&lt;/li&gt;
      &lt;/ul&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2011/08/26/boxgrinder-0-9-5-released/</id>
    <title>BoxGrinder Build 0.9.5 released</title>
    <updated>2011-08-26T20:15:00+01:00</updated>
    <link href='http://staging.boxgrinder.org/blog/2011/08/26/boxgrinder-0-9-5-released/' rel='alternate' type='text/html' />
    <author>
      <name>Marc Savy</name>
    </author>
    <summary>
      BoxGrinder Build 0.9.5 released
      
      We are pleased to announce the immediate availablity of BoxGrinder Build 0.9.5!  This is primarily a bug-fix release, but introduces one major new feature; Fedora 16 build support.
      
      What's new in 0.9.5?
      
      Fedora 16 build support
      
      Fedora 16 has just reached alpha status, and to coincide with this event BoxGrinder Build now provides build support, allowing you to produced Fedora 16 based appliances, including EC2 and EBS based images! BGBUILD–279 BGBUILD–280
      
      This comes with a caveat at present; the current Fedora 16 kernel suffers from the same device ordering problems that occurred with Fedora 15. There is a workaround however,......
    </summary>
    <content type='html'>
      &lt;h1&gt;BoxGrinder Build 0.9.5 released&lt;/h1&gt;
      
      &lt;p&gt;We are pleased to announce the immediate availablity of BoxGrinder Build 0.9.5!  This is primarily a bug-fix release, but introduces one major new feature; Fedora 16 build support.&lt;/p&gt;
      
      &lt;h1&gt;What's new in 0.9.5?&lt;/h1&gt;
      
      &lt;h2&gt;Fedora 16 build support&lt;/h2&gt;
      
      &lt;p&gt;Fedora 16 has just reached &lt;a href=&quot;https://fedoraproject.org/wiki/F16_Alpha_release_announcement&quot;&gt;alpha status&lt;/a&gt;, and to coincide with this event BoxGrinder Build now provides build support, allowing you to produced Fedora 16 based appliances, including EC2 and EBS based images! &lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-279&quot;&gt;BGBUILD–279&lt;/a&gt; &lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-280&quot;&gt;BGBUILD–280&lt;/a&gt;&lt;/p&gt;
      
      &lt;p&gt;This comes with a caveat at present; the current Fedora 16 kernel suffers from the same &lt;a href=&quot;#Trouble_booting_Fedora_15_S3_AMIs&quot;&gt;device ordering problems&lt;/a&gt; that occurred with Fedora 15. There is a workaround however, by adding the updates-testing repository into the build:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;name: jeos-f16&amp;#x000A;summary: fedora 16 jeos!&amp;#x000A;os:&amp;#x000A;  name: fedora&amp;#x000A;  version: 16&amp;#x000A;repos:&amp;#x000A;  - name: &quot;temp-fedora-updates-testing&quot;&amp;#x000A;    mirrorlist: &quot;https://mirrors.fedoraproject.org/metalink?repo=updates-testing-f#OS_VERSION#&amp;amp;arch=#BASE_ARCH#&quot;&amp;#x000A;    ephemeral: true&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;blockquote&gt;&lt;p&gt;Once the fixed kernel is in the stable repositories, you won't need this workaround, simply remove the temporary repository entry.&lt;/p&gt;&lt;/blockquote&gt;
      
      &lt;h2&gt;0.9.4 Errata&lt;/h2&gt;
      
      &lt;p&gt;This release fixes some bugs that were mistakenly introduced into the S3 and EBS plugins during thes rebase of a development branch. The net effect of which was that flaws were created in the release branch that were not present in the tested development branch.&lt;/p&gt;
      
      &lt;p&gt;We have improved integration tests to ensure this cannot happen easily again.&lt;/p&gt;
      
      &lt;h2&gt;Other points of interest&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;BoxGrinder Build will now use more than 4 CPUS (&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-295&quot;&gt;BGBUILD–295&lt;/a&gt;), and should run faster than before on machines with larger numbers of cores/processors.&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h1&gt;Of CentOS 6, Fedora 15 Kernels, and S3 Overwrite&lt;/h1&gt;
      
      &lt;h2&gt;When will CentOS 6 support arrive&lt;/h2&gt;
      
      &lt;p&gt;Presently, we are awaiting the resolution of a &lt;a href=&quot;http://bugs.centos.org/view.php?id=4995&quot;&gt;CentOS 6 bug&lt;/a&gt;, and hope to provide build support as soon as the blocker is cleared.  You can follow our progress on ticket [&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-267&quot;&gt;BGBUILD-267&lt;/a&gt;].&lt;/p&gt;
      
      &lt;h2&gt;Trouble booting Fedora 15 S3 AMIs&lt;/h2&gt;
      
      &lt;p&gt;A problematic kernel update (kernel-2.6.40-4.fc15) rendered many Fedora 15 S3 backed AMIs unable to boot, as detailed in &lt;a href=&quot;https://bugzilla.redhat.com/show_bug.cgi?id=729340&quot;&gt;RHBZ 729340&lt;/a&gt;. The issue has since been rectified, however any Fedora 15 appliances you may have built that used the aforementioned kernel will not function properly, and should be rebuilt. The fixed kernel is in the stable repositories, so simply doing a forced rebuild of any failed Fedora 15 appliances should produce a working machine.&lt;/p&gt;
      
      &lt;p&gt;The bug caused device naming to be offset, so whilst Fedora was expecting a root block device named &lt;code&gt;xvda1&lt;/code&gt;, it was instead assigned the label &lt;code&gt;xvde1&lt;/code&gt;. You should use &lt;code&gt;yum update kernel&lt;/code&gt; to ensure you have the latest kernel installed, and if you were unfortunate enough to have an EBS instance rendered unbootable by the bug, then you may be able to revive it with the &lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-289?focusedCommentId=12619627&amp;amp;page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-12619627&quot;&gt;solution provided&lt;/a&gt; by community member &lt;em&gt;jrosengren&lt;/em&gt;.&lt;/p&gt;
      
      &lt;h2&gt;S3 overwrite issues&lt;/h2&gt;
      
      &lt;p&gt;Particularly observant readers will recall that in the &lt;a href=&quot;http://blog/2011/08/18/boxgrinder-0-9-4-released/&quot;&gt;0.9.4 release blog&lt;/a&gt; a bug in &lt;code&gt;aws-sdk&lt;/code&gt; library was mentioned, which caused BoxGrinder Build's S3 AMI &lt;em&gt;overwrite&lt;/em&gt; feature to fail. Subsequently a &lt;a href=&quot;http://aws.amazon.com/releasenotes/Ruby/1188396596851115&quot;&gt;new release&lt;/a&gt; has been made that fixes the issue, and this has now been packaged and pushed to the Fedora repositories. The issue should no longer apparent in 0.9.5, or in 0.9.4 after a &lt;code&gt;yum update&lt;/code&gt;.&lt;/p&gt;
      
      &lt;h2&gt;Comprehensive Change-log&lt;/h2&gt;
      
      &lt;h3&gt;Bug&lt;/h3&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-277&quot;&gt;BGBUILD–277&lt;/a&gt;] - When delivering as AMI, the EC2 region should
      match S3 bucket’s region&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-293&quot;&gt;BGBUILD–293&lt;/a&gt;] - Check certificate and key paths are valid before
      building AMIs&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-294&quot;&gt;BGBUILD–294&lt;/a&gt;] - Package aws-sdk 1.1.1 and update dependency&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-295&quot;&gt;BGBUILD–295&lt;/a&gt;] - Remove arbitrary 4 CPU limit&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-297&quot;&gt;BGBUILD–297&lt;/a&gt;] - Cannot create EBS appliances when using
      overwrite parameter&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h3&gt;Enhancement&lt;/h3&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-279&quot;&gt;BGBUILD–279&lt;/a&gt;] - Add support for Fedora 16&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h3&gt;Feature Request&lt;/h3&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-255&quot;&gt;BGBUILD–255&lt;/a&gt;] - Add welcome message for meta appliances&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-296&quot;&gt;BGBUILD–296&lt;/a&gt;] - BG should refer to version and release when
      building new appliances&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h3&gt;Task&lt;/h3&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-280&quot;&gt;BGBUILD–280&lt;/a&gt;] - Add support for GRUB2&lt;/li&gt;
      &lt;/ul&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2011/08/18/boxgrinder-0-9-4-released/</id>
    <title>BoxGrinder Build 0.9.4 released</title>
    <updated>2011-08-18T19:50:00+01:00</updated>
    <link href='http://staging.boxgrinder.org/blog/2011/08/18/boxgrinder-0-9-4-released/' rel='alternate' type='text/html' />
    <author>
      <name>Marc Savy</name>
    </author>
    <summary>
      The release of BoxGrinder Build 0.9.4 is finally upon us.  This release primarily improves the performance and reliability of AWS related functionality within BoxGrinder Build, in addition to a range of miscellaneous bug-fixes and documentation improvements.
      
      What's new in 0.9.4?
      
      Notable changes are summarised below, although the majority of improvements for this release are not directly visible to the end user.
      
      You can update immediately from the Fedora updates-testing repository via:
      
      yum update -y 'rubygem-boxgrinder*' --enablerepo='updates-testing'
      
      
      S3 and EBS plugin enhancements and bug-fixes
      
      Previously BoxGrinder used a couple of different community AWS libraries to enable interactions with Amazon's API.  However, we have now moved......
    </summary>
    <content type='html'>
      &lt;p&gt;The release of BoxGrinder Build 0.9.4 is finally upon us.  This release primarily improves the performance and reliability of AWS related functionality within BoxGrinder Build, in addition to a range of miscellaneous bug-fixes and documentation improvements.&lt;/p&gt;
      
      &lt;h1&gt;What's new in 0.9.4?&lt;/h1&gt;
      
      &lt;p&gt;Notable changes are summarised below, although the majority of improvements for this release are not directly visible to the end user.&lt;/p&gt;
      
      &lt;p&gt;You can update immediately from the Fedora &lt;code&gt;updates-testing&lt;/code&gt; repository via:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;yum update -y 'rubygem-boxgrinder*' --enablerepo='updates-testing'&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;h2&gt;S3 and EBS plugin enhancements and bug-fixes&lt;/h2&gt;
      
      &lt;p&gt;Previously BoxGrinder used a couple of different community AWS libraries to enable interactions with Amazon's API.  However, we have now moved over to the recently released &lt;a href=&quot;http://aws.amazon.com/sdkforruby/&quot;&gt;official Ruby AWS library&lt;/a&gt;; &lt;code&gt;aws-sdk&lt;/code&gt;, which provides a much more comprehensive feature-set and clear object-oriented model than was available previously.  Furthermore, it is regularly maintained, so newer functionality should be exposed for use far more swiftly than was possible previously.&lt;/p&gt;
      
      &lt;p&gt;In the course of rewriting the plugins to best utilise the new library, a variety of bugs were eliminated &lt;sup&gt;[1]&lt;/sup&gt;, which should hopefully result in a far more consistent experience with the plugins &lt;sup&gt;[2]&lt;/sup&gt;.&lt;/p&gt;
      
      &lt;h2&gt;Building on EC2 Micro instances&lt;/h2&gt;
      
      &lt;p&gt;A reduction has been made to the amount of memory allocated to libguestfs in order to avoid running out of memory on EC2 Micro instances [&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-246&quot;&gt;BGBUILD-246&lt;/a&gt;].  A welcome side-effect of the change is a decrease in build times on larger instances.&lt;/p&gt;
      
      &lt;h2&gt;EBS AMI overwriting behaviour&lt;/h2&gt;
      
      &lt;p&gt;The manner in which overwrite functionality works for EBS based AMIs has been changed slightly.  As outlined in &lt;a href=&quot;http://markmail.org/message/xwyeqvblnj5oxqsq&quot;&gt;this developer mailing list post at length&lt;/a&gt;, it should provide a far more useful and stable way of overwriting an existing AMI.&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;boxgrinder-build my.appl -p ec2 -d ami --delivery-config overwrite:true&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;Overwrite existing EBS AMI of the same name, version and release, specified in &lt;code&gt;my.appl&lt;/code&gt;.  If any existing instances are running, the program will terminate with a warning before any irreversible actions occur. The base snapshot will be deleted.&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;boxgrinder-build my.appl -p ec2 -d ami --delivery-config overwrite:true,terminate_instances:true&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;As above, but any running instances will automatically be terminated on your behalf.  Beware that this will delete any attached EBS volumes.  If you wish to preserve any particular EBS volume, simply detach it.&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;boxgrinder-build my.appl -p ec2 -d ami --delivery-config overwrite:true,preserve_snapshots:true&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;As first example, but the base snapshot will not be deleted.  It will be orphaned, so if you wish to remove it later you will need to do so manually.&lt;/p&gt;
      
      &lt;h2&gt;Other points of interest&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;It is now possible for applications that modify the RPM database in the &lt;code&gt;post&lt;/code&gt; section of your appliance to run without issue (such as YUM).&lt;/li&gt;
      &lt;li&gt;In addition to any functional changes, we've made some improvements to the documentation (&lt;a href=&quot;http://boxgrinder.org/tutorials/boxgrinder-build-plugins/&quot;&gt;plugin&lt;/a&gt;, &lt;a href=&quot;http://boxgrinder.org/tutorials/appliance-definition/&quot;&gt;appliance definition&lt;/a&gt;)&lt;/li&gt;
      &lt;li&gt;Any plugin developers should note that BoxGrinder has updated to &lt;a href=&quot;http://relishapp.com/rspec&quot;&gt;RSpec 2&lt;/a&gt; for testing [&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-273&quot;&gt;BGBUILD-273&lt;/a&gt;].&lt;/li&gt;
      &lt;li&gt;Many improvements under the covers to the AWS-related plugins, if you are a plugin developer many new and existing functions are available in &lt;a href=&quot;https://github.com/boxgrinder/boxgrinder-build/blob/0.9.4/lib/boxgrinder-build/helpers/aws-helper.rb&quot;&gt;AWSHelper&lt;/a&gt;, &lt;a href=&quot;https://github.com/boxgrinder/boxgrinder-build/blob/0.9.4/lib/boxgrinder-build/helpers/ec2-helper.rb&quot;&gt;EC2Helper&lt;/a&gt; and &lt;a href=&quot;https://github.com/boxgrinder/boxgrinder-build/blob/0.9.4/lib/boxgrinder-build/helpers/s3-helper.rb&quot;&gt;S3Helper&lt;/a&gt;.&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Comprehensive Change-log&lt;/h2&gt;
      
      &lt;h3&gt;Bug&lt;/h3&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-171&quot;&gt;BGBUILD-171&lt;/a&gt;] Log entries order is wrong&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-238&quot;&gt;BGBUILD-238&lt;/a&gt;] stop annoying AWS gem messages&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-249&quot;&gt;BGBUILD-249&lt;/a&gt;] Warning from S3 AMI plugin that BG is attempting to create a bucket that already exists&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-263&quot;&gt;BGBUILD-263&lt;/a&gt;] NoMethodError: undefined method `item' for nil:NilClass while creating EBS appliance&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-265&quot;&gt;BGBUILD-265&lt;/a&gt;] Resolve concurrency issues in S3 plugin for overwriting&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-269&quot;&gt;BGBUILD-269&lt;/a&gt;] RPM database is recreated after post section execution preventing installing RPM in post section&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-275&quot;&gt;BGBUILD-275&lt;/a&gt;] default_repos setting is not included in schema and is not documented&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-290&quot;&gt;BGBUILD-290&lt;/a&gt;] Small documentation issues on boxgrinder.org&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h3&gt;Enhancement&lt;/h3&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-246&quot;&gt;BGBUILD-246&lt;/a&gt;] Detect when insufficient system memory is available for standard libguestfs, and reduce allocation.&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h3&gt;Task&lt;/h3&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-271&quot;&gt;BGBUILD-271&lt;/a&gt;] Make docs clearer about creating appliances for multiple EC2 regions&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-272&quot;&gt;BGBUILD-272&lt;/a&gt;] Move from aws and amazon-ec2 to official aws-sdk gem&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-273&quot;&gt;BGBUILD-273&lt;/a&gt;] Move to RSpec2&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-278&quot;&gt;BGBUILD-278&lt;/a&gt;] Package aws-sdk gem into Fedora&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;p&gt;[1] AWS-related bugs resolved: [&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-238&quot;&gt;BGBUILD-238&lt;/a&gt;], [&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-249&quot;&gt;BGBUILD-249&lt;/a&gt;], [&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-263&quot;&gt;BGBUILD-263&lt;/a&gt;], [&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-265&quot;&gt;BGBUILD-265&lt;/a&gt;], [&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-271&quot;&gt;BGBUILD-271&lt;/a&gt;], [&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-272&quot;&gt;BGBUILD-272&lt;/a&gt;].&lt;/p&gt;
      
      &lt;p&gt;[2] There appears to be a regression in aws-sdk &gt;1.0.2 that causes S3 overwrite to fail. Soon-to-arrive 0.9.5 will remedy this with a work-around.&lt;/p&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2011/07/15/around-the-world/</id>
    <title>BoxGrinder Build around the World</title>
    <updated>2011-07-15T15:55:00+01:00</updated>
    <link href='http://staging.boxgrinder.org/blog/2011/07/15/around-the-world/' rel='alternate' type='text/html' />
    <author>
      <name>Marc Savy</name>
    </author>
    <summary>
      Whilst procrastinating perusing the Internet, we happened to encounter some fantastic non-English BoxGrinder Build tutorials that are more than worthy of sharing.
      
      Brazilian Portuguese: Appliances na hora com BoxGrinder
      
      Appliances na hora com BoxGrinder is a beginner's BoxGrinder Build tutorial by Amador Pahim, showing how to define and build a custom httpd appliance from scratch.
      
      Japanese: BoxGrinderで遊ぶ (Playing with BoxGrinder)
      
      Takayoshi Kimura's blog-post on playing with BoxGrinder Build; a basic tutorial on BoxGrinder Build, demonstrating how easily you can link your images into libVirt.
      
      Contribute BoxGrinder tutorials in your local language
      
      If you are able and willing to write BoxGrinder Build tutorials in your local languages,......
    </summary>
    <content type='html'>
      &lt;p&gt;Whilst &lt;s&gt;procrastinating&lt;/s&gt; perusing the Internet, we happened to encounter some fantastic non-English BoxGrinder Build tutorials that are more than worthy of sharing.&lt;/p&gt;
      
      &lt;h2&gt;Brazilian Portuguese: Appliances na hora com BoxGrinder&lt;/h2&gt;
      
      &lt;p&gt;&lt;a href=&quot;http://www.pahim.org/2011/07/12/appliances-na-hora-com-boxgrinder/&quot;&gt;&lt;strong&gt;Appliances na hora com BoxGrinder&lt;/strong&gt;&lt;/a&gt; is a beginner's BoxGrinder Build tutorial by &lt;em&gt;Amador Pahim&lt;/em&gt;, showing how to define and build a custom httpd appliance from scratch.&lt;/p&gt;
      
      &lt;h2&gt;Japanese: BoxGrinderで遊ぶ (Playing with BoxGrinder)&lt;/h2&gt;
      
      &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://www.twitter.com/nekop&quot;&gt;Takayoshi Kimura's&lt;/a&gt; &lt;a href=&quot;http://d.hatena.ne.jp/nekop/20110705/1309854739&quot;&gt;blog-post&lt;/a&gt;&lt;/strong&gt; on playing with BoxGrinder Build; a basic tutorial on BoxGrinder Build, demonstrating how easily you can link your images into &lt;a href=&quot;http://libvirt.org/&quot;&gt;libVirt&lt;/a&gt;.&lt;/p&gt;
      
      &lt;h2&gt;Contribute BoxGrinder tutorials in your local language&lt;/h2&gt;
      
      &lt;p&gt;If you are able and willing to write BoxGrinder Build tutorials in your local languages, then we're interested in hearing from you. These contributions could be tutorials or articles written on your blog or web-site, or by volunteering to translate existing content.&lt;/p&gt;
      
      &lt;p&gt;We are happy to share links your content. Assistance from the community to widen the accessibility of BoxGrinder Build is something we're keen on doing as we grow, so if you can translate then let us know.&lt;/p&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2011/07/04/how-we-test-boxgrinder/</id>
    <title>How we test BoxGrinder</title>
    <updated>2011-07-04T19:41:00+01:00</updated>
    <link href='http://staging.boxgrinder.org/blog/2011/07/04/how-we-test-boxgrinder/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      In this post I would like to highight our efforts to make BoxGrinder stable. It'll be about testing, of course.
      
      Unit tests
      
      Our first line of defense are unit tests. Because BoxGrinder is written in Ruby we use the lovely RSpec library to write our specs. RSpec provides a nice looking and flexible DSL for writing unit tests.
      
      Consider following code:
      
      it "should add ec2-user account" do
        guestfs = mock("guestfs")
      
        guestfs.should_receive(:sh).with("useradd ec2-user")
        guestfs.should_receive(:sh).with("echo -e 'ec2-user\tALL=(ALL)\tNOPASSWD: ALL' &gt;&gt; /etc/sudoers")
      
        @plugin.add_ec2_user(guestfs)
      end
      
      
      The code is self-explaining and that's what counts!
      
      Currently we have over 270 tests (>83% C0 code coverage) for boxgrinder-build and over 70......
    </summary>
    <content type='html'>
      &lt;p&gt;In this post I would like to highight our efforts to make BoxGrinder stable. It'll be about testing, of course.&lt;/p&gt;
      
      &lt;h1&gt;Unit tests&lt;/h1&gt;
      
      &lt;p&gt;Our first line of defense are unit tests. Because BoxGrinder is written in Ruby we use the lovely &lt;a href=&quot;http://rspec.info/&quot;&gt;RSpec&lt;/a&gt; library to write our &lt;em&gt;&lt;a href=&quot;https://github.com/boxgrinder/boxgrinder-build/tree/master/spec&quot;&gt;specs&lt;/a&gt;&lt;/em&gt;. RSpec provides a nice looking and flexible DSL for writing unit tests.&lt;/p&gt;
      
      &lt;p&gt;Consider following code:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;it &quot;should add ec2-user account&quot; do&amp;#x000A;  guestfs = mock(&quot;guestfs&quot;)&amp;#x000A;&amp;#x000A;  guestfs.should_receive(:sh).with(&quot;useradd ec2-user&quot;)&amp;#x000A;  guestfs.should_receive(:sh).with(&quot;echo -e 'ec2-user\tALL=(ALL)\tNOPASSWD: ALL' &amp;gt;&amp;gt; /etc/sudoers&quot;)&amp;#x000A;&amp;#x000A;  @plugin.add_ec2_user(guestfs)&amp;#x000A;end&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;The code is self-explaining and that's what counts!&lt;/p&gt;
      
      &lt;p&gt;Currently we have over 270 tests (&lt;strong&gt;&lt;a href=&quot;http://ci.boxgrinder.org/viewLog.html?buildId=lastSuccessful&amp;amp;buildTypeId=bt2&amp;amp;tab=RCov_Report&amp;amp;guest=1&quot;&gt;&gt;83% C0 code coverage&lt;/a&gt;&lt;/strong&gt;) for boxgrinder-build and over 70 tests (&lt;strong&gt;&lt;a href=&quot;http://ci.boxgrinder.org/viewLog.html?buildId=lastSuccessful&amp;amp;buildTypeId=bt3&amp;amp;tab=RCov_Report&amp;amp;guest=1&quot;&gt;&gt;89% C0 code coverage&lt;/a&gt;&lt;/strong&gt;) for boxgrinder-core gems. And we will have more. I promise you this.&lt;/p&gt;
      
      &lt;p&gt;&lt;img title=&quot;TeamCity CI&quot; src=&quot;http://staging.boxgrinder.org/images/screenshots/teamcity.png&quot; alt=&quot;TeamCity&quot; /&gt;&lt;/p&gt;
      
      &lt;p&gt;As we have a &lt;a href=&quot;http://ci.boxgrinder.org/project.html?projectId=project2&amp;amp;tab=projectOverview&amp;amp;guest=1&quot;&gt;Continuous Integration&lt;/a&gt; server - we build our unit tests for every commit and developers are automatically notified in case of failures, triggering an immediate developer response. Most of our failed unit tests are issues with forgetting to commit something, or similar. So, not too bad.&lt;/p&gt;
      
      &lt;h1&gt;Integration tests&lt;/h1&gt;
      
      &lt;p&gt;This is pretty new for us. How to do integration testing for an appliance builder? Well, we &lt;strong&gt;can build&lt;/strong&gt; appliances! But how do we make them easy to write (and maintain)? This is another story. Thankfully BoxGrinder Build has a great feature - &lt;strong&gt;you can use BoxGrinder as a library in your Ruby scripts&lt;/strong&gt;. You don't need to use the command line to run the builds. We &lt;a href=&quot;http://staging.boxgrinder.org/blog/2011/01/26/boxgrinder-build-0-8-0-features-using-boxgrinder-as-a-library/&quot;&gt;described the feature in detail earlier&lt;/a&gt;.&lt;/p&gt;
      
      &lt;p&gt;We prepared some &lt;a href=&quot;https://github.com/boxgrinder/boxgrinder-build/tree/master/integ/appliances&quot;&gt;test appliance definitions&lt;/a&gt;.&lt;/p&gt;
      
      &lt;p&gt;At this time we have JEOS appliances for Fedora 15 and CentOS 5. Additionally we have a full modular appliance definitions where we have split the &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/appliance-definition/&quot;&gt;appliance definition sections&lt;/a&gt; into files and include them next. This gives us the chance to test all section plus inclusion and override functionality.&lt;/p&gt;
      
      &lt;h2&gt;Integration tests execution process&lt;/h2&gt;
      
      &lt;p&gt;We cannot just &lt;em&gt;execute&lt;/em&gt; the tests. There a process. And yes - we use the Cloud (&lt;a href=&quot;http://aws.amazon.com/&quot;&gt;AWS&lt;/a&gt; in our case). Let's take a look at all stages.&lt;/p&gt;
      
      &lt;h3&gt;1. Build RPMs&lt;/h3&gt;
      
      &lt;p&gt;Each day we create RPM's for our gems - these are our nightly builds which are also &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/boxgrinder-rpm-repositories/&quot;&gt;accessible using YUM&lt;/a&gt;. We will use them later.&lt;/p&gt;
      
      &lt;h3&gt;2. Start new EC2 build instance&lt;/h3&gt;
      
      &lt;p&gt;After the RPMs are created we start a new instance on EC2. This is a feature of our continuous integration system - &lt;a href=&quot;http://www.jetbrains.com/teamcity/&quot;&gt;TeamCity&lt;/a&gt;. If you haven't looked at TeamCity so far - I strongly recommend it. It is very powerful, looks great and it's free!&lt;/p&gt;
      
      &lt;p&gt;But back to our instance. After the instance is launched, and the agent installed on the instance connects to our CI server, an additional build machine in the Cloud becomes available for use.&lt;/p&gt;
      
      &lt;h3&gt;3. Prepare instance&lt;/h3&gt;
      
      &lt;p&gt;Before the build can be triggered we need to prepare the instance. We need to install BoxGrinder Build using, of course, the nightly builds created for us just a few minutes ago. Additionally we create a BoxGrinder configuration file with the required data.&lt;/p&gt;
      
      &lt;p&gt;Now we have launched and configured instance, let's start the tests!&lt;/p&gt;
      
      &lt;h3&gt;4. Execute actual tests&lt;/h3&gt;
      
      &lt;p&gt;This is the most important step - the agent installed on the instance pulls the latest integration tests and executes them. They look really simple, for example building Fedora JEOS may look like this:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;it &quot;should build Fedora JEOS&quot; do&amp;#x000A;  @appliance = Appliance.new(&quot;./../appliances/jeos-fedora.appl&quot;, @config, :log =&amp;gt; @log).create&amp;#x000A;end&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;Isn't it neat? We have also set some callbacks to make sure the deliverables were created:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;after(:each) do&amp;#x000A;  @appliance.plugin_chain.last[:plugin].deliverables.each_value do |file|&amp;#x000A;    File.exists?(file).should == true&amp;#x000A;  end&amp;#x000A;end&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;h3&gt;5. Save the artifacts&lt;/h3&gt;
      
      &lt;p&gt;Every artifact created by our integration tests is saved on &lt;a href=&quot;http://aws.amazon.com/cloudfront/&quot;&gt;CloudFront&lt;/a&gt;. This makes is easy to test the image manually later if we need to.&lt;/p&gt;
      
      &lt;h2&gt;What could make integration tests even more powerful?&lt;/h2&gt;
      
      &lt;p&gt;Quick answer: &lt;a href=&quot;http://libguestfs.org/&quot;&gt;ligbuestfs&lt;/a&gt;.&lt;/p&gt;
      
      &lt;h3&gt;Don't know libguestfs?&lt;/h3&gt;
      
      &lt;p&gt;If you're not familiar with libguestfs - it's a tool for offline image launching. Sounds weird? Maybe, but just for the first time.&lt;/p&gt;
      
      &lt;p&gt;It uses &lt;a href=&quot;http://qemu.org/&quot;&gt;qemu&lt;/a&gt; to start a custom, minimalistic OS (supermin appliance). This makes it very fast to boot, on my machine it's less than 5 seconds. You can mount disk images in various formats: vmdk, raw, qcow, even ISOs... Mounted disks are available to you - you can decide whether mount them in read-only fashion or make them fully writable.&lt;/p&gt;
      
      &lt;p&gt;&lt;a href=&quot;http://libguestfs.org/guestfs.3.html#api_calls&quot;&gt;Libguestfs exposes a lot of API calls&lt;/a&gt; that make it possible to check or modify your appliance. In BoxGrinder we use only a fraction of them, but even this small set makes us happy libguestfs users!&lt;/p&gt;
      
      &lt;p&gt;Libguestfs comes with a handy tool called guestfish which is a command line interface to libguestfs. This makes is super easy to debug your appliances and we use it a lot when developing BoxGrinder.&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;$ guestfish -a centos-basic-sda.raw &amp;#x000A;&amp;#x000A;Welcome to guestfish, the libguestfs filesystem interactive shell for&amp;#x000A;editing virtual machine filesystems.&amp;#x000A;&amp;#x000A;Type: 'help' for help on commands&amp;#x000A;      'man' to read the manual&amp;#x000A;      'quit' to quit the shell&amp;#x000A;&amp;#x000A;&amp;gt;&amp;lt;fs&amp;gt; launch &amp;#x000A;&amp;gt;&amp;lt;fs&amp;gt; mount /dev/vda&amp;#x000A;/dev/vda   /dev/vda1  /dev/vda2  &amp;#x000A;&amp;gt;&amp;lt;fs&amp;gt; mount /dev/vda1 /&amp;#x000A;&amp;gt;&amp;lt;fs&amp;gt; mount /dev/vda2 /b&amp;#x000A;/bin   /boot  &amp;#x000A;&amp;gt;&amp;lt;fs&amp;gt; mount /dev/vda2 /boot/&amp;#x000A;&amp;gt;&amp;lt;fs&amp;gt; ls /&amp;#x000A;bin&amp;#x000A;boot&amp;#x000A;dev&amp;#x000A;etc&amp;#x000A;home&amp;#x000A;lib&amp;#x000A;lib64&amp;#x000A;lost+found&amp;#x000A;media&amp;#x000A;mnt&amp;#x000A;opt&amp;#x000A;proc&amp;#x000A;root&amp;#x000A;sbin&amp;#x000A;selinux&amp;#x000A;srv&amp;#x000A;sys&amp;#x000A;tmp&amp;#x000A;usr&amp;#x000A;var&amp;#x000A;&amp;gt;&amp;lt;fs&amp;gt; cat /etc/hosts&amp;#x000A;127.0.0.1       localhost.localdomain localhost&amp;#x000A;::1     localhost6.localdomain6 localhost6&amp;#x000A;&amp;#x000A;&amp;gt;&amp;lt;fs&amp;gt; &amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;And, most importantantly for us, &lt;strong&gt;libguestfs is rock solid&lt;/strong&gt;. Go, try it - it's already in Fedora and RHEL!&lt;/p&gt;
      
      &lt;h3&gt;Integration tests and libguestfs&lt;/h3&gt;
      
      &lt;p&gt;But how we can use libguestfs in our integration tests? So far we only tested for deliverable existence, which can only prove that something was created. But there are still some open questions. Is the artifact really readable? Does it contain data we wanted? &lt;strong&gt;Here libguestfs comes to the rescue&lt;/strong&gt;.&lt;/p&gt;
      
      &lt;p&gt;After building we launch libguestfs, add the disk images and make sure everything is in place. Take a look at this example test:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;it &quot;should build modular appliance based on Fedora and convert it to VirtualBox&quot; do&amp;#x000A;  @config.merge!(:platform =&amp;gt; :virtualbox)&amp;#x000A;  @appliance = Appliance.new(&quot;./../appliances/modular.appl&quot;, @config, :log =&amp;gt; @log).create&amp;#x000A;&amp;#x000A;  GuestFSHelper.new([@appliance.plugin_chain[1][:plugin].deliverables[:disk]], @appliance.appliance_config, @config, :log =&amp;gt; @log ).customize do |guestfs, guestfs_helper|&amp;#x000A;    guestfs.exists('/fedora-boxgrinder-test').should == 1&amp;#x000A;    guestfs.exists('/common-test-base-boxgrinder-test').should == 1&amp;#x000A;    guestfs.exists('/hardware-cpus-boxgrinder-test').should == 1&amp;#x000A;    guestfs.exists('/repos-boxgrinder-noarch-ephemeral-boxgrinder-test').should == 1&amp;#x000A;  end&amp;#x000A;end&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;The above code &lt;strong&gt;is a real test&lt;/strong&gt;. It'll create the appliance, convert it to virtualbox format and then make sure that the files that should be created exist. Not bad for 10 lines of code, huh?&lt;/p&gt;
      
      &lt;h2&gt;Future directions&lt;/h2&gt;
      
      &lt;p&gt;Testing offline appliances makes a lot of sense - we want to make sure the image is valid. But does the upload process work as expected? Does the image boot correctly on the destination platform, especially on EC2? This is the next step we want to investigate.&lt;/p&gt;
      
      &lt;p&gt;We'll introduce a new step in addition to the 5 described above: uploading, launching the appliance and testing on a real instance. It could look similar to this (not working code):&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;it &quot;should build Fedora JEOS&quot; do&amp;#x000A;  @config.merge!(:platform =&amp;gt; :ec2, :delivery =&amp;gt; :ebs)&amp;#x000A;  @appliance = Appliance.new(&quot;./../appliances/mysql-fedora.appl&quot;, @config, :log =&amp;gt; @log).create&amp;#x000A;&amp;#x000A;  @ec2 = AWS::EC2::Base.new(:access_key_id =&amp;gt; ACCESS_KEY_ID, :secret_access_key =&amp;gt; SECRET_ACCESS_KEY)&amp;#x000A;  instance = @ec2.run_instances(:image_id =&amp;gt;  @appliance.plugin_chain.last[:plugin].deliverables[:ami]).instancesSet.item.first&amp;#x000A;&amp;#x000A;  # Not implemented: wait for correct state instance.instanceState pending =&amp;gt; started&amp;#x000A;&amp;#x000A;  Net::SSH.start(instance.dnsName, 'ec2-user', :key_data =&amp;gt; 'ASDASDASD' ) do |ssh|&amp;#x000A;    ssh.exec!('/etc/init.d/mysqld status').should match /is running/&amp;#x000A;    ssh.exec!('ps ax | grep [m]ysql | wc -l').should_not == '0'&amp;#x000A;  end&amp;#x000A;&amp;#x000A;  @ec2.terminate_instance(:instance_id =&amp;gt; instance.instanceId)&amp;#x000A;end&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;This almost-working ruby code shows how easily we can extend our integration tests to run the tests on the right platform.&lt;/p&gt;
      
      &lt;p&gt;The idea of the above code is to create an appliance, convert it to EC2 format, upload to EC2 and launch. After the instance becomes available we'll connect to it using SSH, and check if the mysql daemon is really running. The instance is terminated afterwards.&lt;/p&gt;
      
      &lt;p&gt;We'll work on making this as clean as possible, abstracting the interactions with EC2 even more.&lt;/p&gt;
      
      &lt;p&gt;If you have any comments or ideas. Feel free to leave a note.&lt;/p&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2011/06/28/boxgrinder-0-9-3-released/</id>
    <title>BoxGrinder Build 0.9.3 released</title>
    <updated>2011-06-28T19:41:00+01:00</updated>
    <link href='http://staging.boxgrinder.org/blog/2011/06/28/boxgrinder-0-9-3-released/' rel='alternate' type='text/html' />
    <author>
      <name>Marc Savy</name>
    </author>
    <summary>
      Today marks the release of BoxGrinder Build 0.9.3, packed with important bug fixes and improvements, there are also a few interesting new features to explore.
      
      BoxGrinder Meta 1.6
      
      The BoxGrinder Meta appliances provide an automatically-updated and ideally prepared environment to try the latest release of BoxGrinder Build
      
      An improved release is now available in a variety of virtualized and raw formats, including BoxGrinder Build EBS AMIs for every AWS region.  Previously we only published in US East, but in response to demand you can now launch instances in both x86 and i386/i686 versions in all regions.
      
      The primary improvement in this release, aside......
    </summary>
    <content type='html'>
      &lt;p&gt;Today marks the release of &lt;a href=&quot;http://staging.boxgrinder.org/build/&quot;&gt;BoxGrinder Build&lt;/a&gt; 0.9.3, packed with important bug fixes and improvements, there are also a few interesting new features to explore.&lt;/p&gt;
      
      &lt;h1&gt;BoxGrinder Meta 1.6&lt;/h1&gt;
      
      &lt;p&gt;The &lt;a href=&quot;http://staging.boxgrinder.org/download/boxgrinder-build-meta-appliance/&quot;&gt;BoxGrinder Meta appliances&lt;/a&gt; provide an automatically-updated and ideally prepared environment to try the latest release of BoxGrinder Build&lt;/p&gt;
      
      &lt;p&gt;An &lt;a href=&quot;http://staging.boxgrinder.org/download/boxgrinder-build-meta-appliance/&quot;&gt;improved release&lt;/a&gt; is now available in a variety of virtualized and raw formats, including &lt;strong&gt;BoxGrinder Build EBS AMIs for every AWS region&lt;/strong&gt;.  Previously we only published in US East, but in response to demand you can now launch instances in both x86 and i386/i686 versions in all regions.&lt;/p&gt;
      
      &lt;p&gt;The primary improvement in this release, aside from wider global distribution, is the enabling of ntpd to ensure that the system clock remains accurate, avoiding problems when interacting with remote systems that have &lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-253&quot;&gt;sensitivity to time-skew&lt;/a&gt;.&lt;/p&gt;
      
      &lt;h1&gt;What's new in 0.9.3?&lt;/h1&gt;
      
      &lt;h2&gt;Scientific Linux support&lt;/h2&gt;
      
      &lt;p&gt;Through the kind contribution of community member &lt;a href=&quot;https://github.com/NeilW/&quot;&gt;Neil Wilson (NeilW)&lt;/a&gt;, we now have support for Scientific Linux builds. Usage is &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/boxgrinder-build-quick-start/build-your-first-appliance/&quot;&gt;quintessentially straightforward&lt;/a&gt;;&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;name: my-sl-appliance&amp;#x000A;os:&amp;#x000A;  name: sl&amp;#x000A;  version: 6&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;Then run the build: &lt;code&gt;boxgrinder-build my-sl-appliance.appl&lt;/code&gt;&lt;/p&gt;
      
      &lt;p&gt;&lt;a href=&quot;https://github.com/boxgrinder/boxgrinder-build/blob/b3638120839fb1ccaf319bad6044cef291577f31/lib/boxgrinder-build/plugins/os/sl/sl-plugin.rb&quot;&gt;Neil's contributed plugin&lt;/a&gt; extends the base classes present in BoxGrinder for building RHEL-derived operating systems. For those of you with ambitions to creating additional plugins, this demonstrates how painless it is to extend existing functionality to provide &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/how-to-write-a-plugin-for-boxgrinder-build/&quot;&gt;new features&lt;/a&gt;.&lt;/p&gt;
      
      &lt;h2&gt;Reliably create and upload EBS backed AMIs in all Amazon AWS regions&lt;/h2&gt;
      
      &lt;p&gt;Typically a bug-fix doesn't get much prominence in a release announcement, however with the resolution of a ream of interrelated bugs (amongst which included [&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-254&quot;&gt;BGBUILD-254&lt;/a&gt;], [&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-231&quot;&gt;BGBUILD-231&lt;/a&gt;], [&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-251&quot;&gt;BGBUILD-251&lt;/a&gt;], [&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-193&quot;&gt;BGBUILD-193&lt;/a&gt;], [&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-250&quot;&gt;BGBUILD-250&lt;/a&gt;]), you can now &lt;strong&gt;reliably build and deliver EBS backed AMIs to any Amazon region&lt;/strong&gt;. Previously it was only possible to deliver to &lt;em&gt;us-east-1&lt;/em&gt; without issues, and even then builds would occasionally fail at random due to concurrency issues, this release fixes those bugs and hence the build process is now far more reliable and reproducible.&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;boxgrinder-build my-appliance.appl -p ec2 -d ebs&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;You must run the build on an instance in the &lt;em&gt;same&lt;/em&gt; region that you want the EBS AMI registered in (this is an AWS limitation).  For instance, if you wanted to deliver an appliance to Tokyo (&lt;em&gt;ap-northeast-1&lt;/em&gt;) then you would need to run your build on an instance running in &lt;em&gt;ap-northeast-1&lt;/em&gt;.&lt;/p&gt;
      
      &lt;h2&gt;Overwrite support for S3, AMIs and EBS AMIs&lt;/h2&gt;
      
      &lt;p&gt;A common development idiom is to iteratively change an appliance, upload and test it, then tear it down afterwards. However, it is impossible to upload a new iteration with the same name as the previous one, as this is a conflict that AWS rejects.  An obvious work-around is to increment the version and release numbers in your appliance, which will ensure that the generated appliance has a different name to the previous one.  Unfortunately this has the disadvantage that it quickly consumes large volumes of storage (S3, EBS) on Amazon which must be paid for.  Hence to remedy this we have provided an &lt;strong&gt;overwrite&lt;/strong&gt; attribute that &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/boxgrinder-build-plugins/#Plugin_configuration&quot;&gt;can be set&lt;/a&gt; for EBS and S3 delivery options, which will cause &lt;strong&gt;the existing version to be torn down, de-registered and deleted&lt;/strong&gt;, and the new revision with identical version and release numbers to be uploaded in its place.&lt;/p&gt;
      
      &lt;p&gt;In this example, we attempt to upload an &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/boxgrinder-build-plugins/#S3_Delivery_Plugin&quot;&gt;AMI appliance&lt;/a&gt; that is already registered, first without &lt;code&gt;overwrite&lt;/code&gt; enabled, then subsequently with it:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;# First upload&amp;#x000A;boxgrinder-build my-appliance.appl -p ec2 -d ami&amp;#x000A;# Second upload fails, because there is already an image with the same name, version and release.&amp;#x000A;boxgrinder-build my-appliance.appl -p ec2 -d ami&amp;#x000A;# Works!&amp;#x000A;boxgrinder-build my-appliance.appl -p ec2 -d ami --delivery-config=overwrite:true&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;Overwrite is supported for AMIs, EBS AMIs, and standard S3 packaged delivery.  EBS overwriting is slightly more complex than the other plugins, as there are several components that work together to make the instance, the most important of which are; a snapshot, an EBS root volume and the registered image.  By setting &lt;code&gt;overwrite&lt;/code&gt;, the plugin will locate and delete the EBS volume, its associated snapshot, and then de-register the image. If you wish to preserve the snapshot, you must set &lt;code&gt;preserve_snapshots:true&lt;/code&gt;.&lt;/p&gt;
      
      &lt;p&gt;If BoxGrinder appliance &lt;a href=&quot;http://staging.boxgrinder.org/blog/2011/02/09/boxgrinder-build-0-8-0-released-finally/#Snapshot_support_for_EC2_appliances&quot;&gt;snapshotting&lt;/a&gt; is enabled, then only the &lt;em&gt;very last&lt;/em&gt; snapshot will be overwritten.&lt;/p&gt;
      
      &lt;h2&gt;Plugin configuration is now validated before the build process begins&lt;/h2&gt;
      
      &lt;p&gt;Previously if bad configuration values were provided to a plugin, the build process would fail only when the plugin was reached in the build pipeline.  BoxGrinder now allows &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/boxgrinder-build-plugins/&quot;&gt;plugins&lt;/a&gt; to &lt;strong&gt;validate before executing the build pipeline&lt;/strong&gt;, thus allowing &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/how-to-write-a-plugin-for-boxgrinder-build/&quot;&gt;much earlier detection and failure&lt;/a&gt;.  Any plugin developers will need to modify their software to utilise this new feature, a simple example of which is the &lt;a href=&quot;https://github.com/boxgrinder/boxgrinder-build/blob/fb5831fa994a096ed5014a766eb9ca2bba133082/lib/boxgrinder-build/plugins/delivery/local/local-plugin.rb&quot;&gt;Local delivery plugin code&lt;/a&gt;, see the &lt;code&gt;after_init&lt;/code&gt; and &lt;code&gt;validate&lt;/code&gt; methods.&lt;/p&gt;
      
      &lt;h2&gt;Other points of interest&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;BoxGrinder welcomes Japan! Support has been added for &lt;em&gt;ap-northeast-1&lt;/em&gt; region for all AWS-related plugins.&lt;/li&gt;
      &lt;li&gt;We have &lt;em&gt;dropped support for Fedora 13&lt;/em&gt;, as it has reached &lt;a href=&quot;http://lists.fedoraproject.org/pipermail/announce/2011-June/002979.html&quot;&gt;EOL status&lt;/a&gt;.&lt;/li&gt;
      &lt;li&gt;The PAE configuration option is now in the operating system configuration options, rather than the appliance definition, for instance: &lt;code&gt;... --os-config=pae:false&lt;/code&gt;.&lt;/li&gt;
      &lt;li&gt;&lt;code&gt;~/.ssh/authorized_keys&lt;/code&gt; no longer fills with duplicate key entries, as a result of our custom &lt;code&gt;/etc/rc.local&lt;/code&gt; script.&lt;/li&gt;
      &lt;li&gt;The volume of debugging messages emanating from &lt;em&gt;libguestfs&lt;/em&gt; has been significantly decreased in &lt;code&gt;--trace and --debug&lt;/code&gt;.&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Comprehensive Change-log&lt;/h2&gt;
      
      &lt;h3&gt;Feature Request&lt;/h3&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-201&quot;&gt;BGBUILD-201&lt;/a&gt;] Creating a meta-appliance for all the EC2 regions&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-222&quot;&gt;BGBUILD-222&lt;/a&gt;] Allow overwrite of uploaded ec2 image&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-224&quot;&gt;BGBUILD-224&lt;/a&gt;] EBS Plugin Support for CentOS v5.5&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-241&quot;&gt;BGBUILD-241&lt;/a&gt;] Add Scientific Linux support&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h3&gt;Bug&lt;/h3&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-191&quot;&gt;BGBUILD-191&lt;/a&gt;] Build fails for EC2/EBS appliance when creating filesystem on new disk for CentOS/RHEL 5&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-193&quot;&gt;BGBUILD-193&lt;/a&gt;] Amazon EBS delivery plugin: 'Not found device for suffix g' error while building image&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-220&quot;&gt;BGBUILD-220&lt;/a&gt;] group names have spaces (to the user), this breaks the schema rules for packages&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-223&quot;&gt;BGBUILD-223&lt;/a&gt;] BoxGrinder hangs because qemu.wrapper does not detect x86_64 properly on CentOS 5.6&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-229&quot;&gt;BGBUILD-229&lt;/a&gt;] boxgrinder meta fedora 15 not updating itself at boot&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-231&quot;&gt;BGBUILD-231&lt;/a&gt;] Cannot register Fedora 15 EC2 AMI with S3 delivery plugin in eu-west-1 availability zone&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-232&quot;&gt;BGBUILD-232&lt;/a&gt;] boxgrinder doesn't validate config early enough&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-233&quot;&gt;BGBUILD-233&lt;/a&gt;] boxgrinder fails to report a missing config file&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-237&quot;&gt;BGBUILD-237&lt;/a&gt;] Tilde characters break creation of yum.conf&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-250&quot;&gt;BGBUILD-250&lt;/a&gt;] EBS plugin incorrectly determines that non-US regions are not EC2 instances&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-251&quot;&gt;BGBUILD-251&lt;/a&gt;] Add ap-northeast-1 (tokyo) region for EBS plugin&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-252&quot;&gt;BGBUILD-252&lt;/a&gt;] rc.local script fills ~/.ssh/authorized_keys with a duplicate key every boot&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-253&quot;&gt;BGBUILD-253&lt;/a&gt;] RequestTimeTooSkewed error when attempting upload to S3 from an EC2 instance&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-254&quot;&gt;BGBUILD-254&lt;/a&gt;] all EBS volumes are delivered to us-east-1 despite setting other regions and buckets&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-260&quot;&gt;BGBUILD-260&lt;/a&gt;] Wrong EC2 discovery causing libguestfs errors on non US regions&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h3&gt;Task&lt;/h3&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-225&quot;&gt;BGBUILD-225&lt;/a&gt;] Move PAE configuration parameter to operating system configuration&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h3&gt;Enhancement&lt;/h3&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;http://issues.jboss.org/browse/BGBUILD-261&quot;&gt;BGBUILD-261&lt;/a&gt;] Decrease amount of debug log when downloading or uploading file using guestfs&lt;/li&gt;
      &lt;/ul&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2011/06/17/boxgrinder-weekly-planning-meetings/</id>
    <title>BoxGrinder weekly planning meetings</title>
    <updated>2011-06-17T15:05:00+01:00</updated>
    <link href='http://staging.boxgrinder.org/blog/2011/06/17/boxgrinder-weekly-planning-meetings/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      In the addition to the latest mailing list announcement we are going to start weekly planning meetings. I would like to invite everyone interested in BoxGrinder development to join us. You'll see what we're currently working on and what next week's plans are. Of course we greatly appreciate any input from you at these meetings, don't be shy!
      
      Our meetings will be held on every Monday, 2pm UTC (4pm CEST, 10am EST) in #boxgrinder IRC channel on irc.freenode.net.
      
      Talk to you soon!
      ......
    </summary>
    <content type='html'>
      &lt;p&gt;In the addition to the latest &lt;a href=&quot;http://staging.boxgrinder.org/blog/2011/06/14/join-our-new-boxgrinder-developer-mailing-list/&quot;&gt;mailing list announcement&lt;/a&gt; we are going to start weekly planning meetings. I would like to invite everyone interested in BoxGrinder development to join us. You'll see what we're currently working on and what next week's plans are. Of course we greatly appreciate any input from you at these meetings, don't be shy!&lt;/p&gt;
      
      &lt;p&gt;Our meetings will be held on &lt;strong&gt;every Monday, 2pm UTC (4pm CEST, 10am EST) in #boxgrinder IRC channel&lt;/strong&gt; on irc.freenode.net.&lt;/p&gt;
      
      &lt;p&gt;Talk to you soon!&lt;/p&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2011/06/14/join-our-new-boxgrinder-developer-mailing-list/</id>
    <title>Join our new BoxGrinder developer mailing list</title>
    <updated>2011-06-14T20:30:00+01:00</updated>
    <link href='http://staging.boxgrinder.org/blog/2011/06/14/join-our-new-boxgrinder-developer-mailing-list/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      We decided to create a mailing list for BoxGrinder development purposes. This will help us inform you about what we're currently working on, and what our plans are for the future. More importantly - this will be the place where YOU can influence BoxGrinder development with new ideas or comments regarding our current work.
      
      Join us!
      
      Send an empty email to boxgrinder-dev-subscribe@boxgrinder.org. For detailed instructions see our community page.
      
      What is the best place to...
      
      We now have a mailing list and forums. Where should you post your questions? All user questions (bugs, help requests, etc) go into forums, whereas all development talk (comments......
    </summary>
    <content type='html'>
      &lt;p&gt;We decided to create a mailing list for BoxGrinder development purposes. This will help us inform you about what we're currently working on, and what our plans are for the future. More importantly - this will be the place where &lt;strong&gt;YOU can influence BoxGrinder development with new ideas or comments&lt;/strong&gt; regarding our current work.&lt;/p&gt;
      
      &lt;h1&gt;Join us!&lt;/h1&gt;
      
      &lt;p&gt;Send an empty email to &lt;code&gt;boxgrinder-dev-subscribe@boxgrinder.org&lt;/code&gt;. For detailed instructions see our &lt;a href=&quot;http://staging.boxgrinder.org/community&quot;&gt;community page&lt;/a&gt;.&lt;/p&gt;
      
      &lt;h1&gt;What is the best place to...&lt;/h1&gt;
      
      &lt;p&gt;We now have a mailing list &lt;strong&gt;and&lt;/strong&gt; forums. Where should you post your questions? All user questions (bugs, help requests, etc) go into forums, whereas all development talk (comments on code, new ideas, feature requests, contributions should go into the mailing list.&lt;/p&gt;
      
      &lt;p&gt;See you soon!&lt;/p&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2011/05/19/cloud-sigma-delivery-support/</id>
    <title>CloudSigma delivery tutorial</title>
    <updated>2011-05-19T20:15:00+01:00</updated>
    <link href='http://staging.boxgrinder.org/blog/2011/05/19/cloud-sigma-delivery-support/' rel='alternate' type='text/html' />
    <author>
      <name>Marc Savy</name>
    </author>
    <summary>
      BoxGrinder Build encapsulates powerful functionality, such as the ability to define, build and deliver an appliance, into a simple and concise pipeline. Ultimately, only a single command needs executing in order to build, convert and deliver a custom-defined appliance into your chosen environment.
      
      For some use-cases appliances might only be run within internal or private infrastructure, hence BoxGrinder provides local file-system delivery and SFTP support.  However, BoxGrinder also offers similarly succinct platform conversion and delivery methods for public infrastructure, and as of release 0.9.2 support has been added for CloudSigma, a provider of cloud services throughout Europe.
      
      In this blog-post we......
    </summary>
    <content type='html'>
      &lt;p&gt;BoxGrinder Build encapsulates powerful functionality, such as the ability to define, build and deliver an appliance, into a simple and concise pipeline. Ultimately, only a single command needs executing in order to build, convert and deliver a custom-defined appliance into your chosen environment.&lt;/p&gt;
      
      &lt;p&gt;For some use-cases appliances might only be run within internal or private infrastructure, hence BoxGrinder provides &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/boxgrinder-build-plugins/&quot;&gt;local file-system delivery and SFTP support&lt;/a&gt;.  However, BoxGrinder also offers similarly succinct platform conversion and delivery methods for public infrastructure, and as of release 0.9.2 support has been added for &lt;a href=&quot;http://www.cloudsigma.com/&quot;&gt;CloudSigma&lt;/a&gt;, a provider of cloud services throughout Europe.&lt;/p&gt;
      
      &lt;p&gt;In this blog-post we demonstrate a basic, but complete, work-flow to specify, build and deliver an appliance to CloudSigma.&lt;/p&gt;
      
      &lt;h2&gt;Define your Appliance&lt;/h2&gt;
      
      &lt;p&gt;The starting point of any appliance is an Appliance Definition File; an extremely simple YAML text definition to describe the virtual machine you would like to produce.  There is support for a wide range of &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/appliance-definition/&quot;&gt;features to customise&lt;/a&gt; the image for your specific requirements, however for this post we will only produce a simple definition to illustrate the pertinent functionality.&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;name: sigma-jeos&amp;#x000A;summary: Just Enough Operating System&amp;#x000A;os:&amp;#x000A;  name: fedora&amp;#x000A;  version: 15&amp;#x000A;  password: boxgrinder-rules&amp;#x000A;post:&amp;#x000A;  base:&amp;#x000A;    - /bin/echo &quot;I am a CloudSigma appliance!&quot; &amp;gt;&amp;gt; /what-am-i&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;Save the file as &lt;strong&gt;&lt;em&gt;sigma-jeos.appl&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;
      
      &lt;p&gt;There are very few mandatory fields, in almost all instances a sensible value will be provided as a default.  For instance, we leave BoxGrinder to provide a root partition, and a base set of packages to provide a functional Fedora OS.  The only CloudSigma specific part of this appliance is in the &lt;em&gt;post&lt;/em&gt; section, where we can specify commands to be executed &lt;em&gt;after&lt;/em&gt; the standard build process has completed.  In this example we echo a trivial message into a file, but you could perform any legal shell commands and BoxGrinder will run them on your behalf.&lt;/p&gt;
      
      &lt;p&gt;If you need to perform complex software installation and configration, it is advisable to &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/how-to-use-local-repository/&quot;&gt;encapsulate the scripts in RPMs&lt;/a&gt;, carefully describing the dependencies and requirements.  Your scripts will be installed in the same phase as other RPMs, ensuring that any dependencies are properly resolved before execution occurs.&lt;/p&gt;
      
      &lt;h2&gt;What's the Secret Number?&lt;/h2&gt;
      
      &lt;p&gt;The CloudSigma plugin requires &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/boxgrinder-build-plugins/#ElasticHosts_Delivery_Plugin&quot;&gt;specific configuration information&lt;/a&gt; in order to deliver appliances.  BoxGrinder stores this information in a consolidated plugins file, located at &lt;code&gt;$HOME/.boxgrinder/plugins&lt;/code&gt;.  As CloudSigma uses a variant of the ElasticHosts API, configuration is provided under this subsection.&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;plugins:&amp;#x000A;  elastichosts:&amp;#x000A;    endpoint: api.cloudsigma.com                      # required&amp;#x000A;    username: your@registered-email-address.com       # required&amp;#x000A;    password: whisper                                 # required&amp;#x000A;    chunk: 128                                        # default: 64 (in MB)&amp;#x000A;    start_part: 0                                     # default: 0&amp;#x000A;    wait: 5                                           # default: 5 (in s)&amp;#x000A;    retry: 5                                          # default: 3&amp;#x000A;    ssl: true                                         # default: false&amp;#x000A;    #drive_uuid:                                      # optional&amp;#x000A;    #drive_name:                                      # optional&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;Only the &lt;strong&gt;endpoint&lt;/strong&gt;, &lt;strong&gt;username&lt;/strong&gt;, and &lt;strong&gt;password&lt;/strong&gt; are required attributes, BoxGrinder will either use a sensible default, or derive a value where appropriate.&lt;/p&gt;
      
      &lt;h2&gt;BoxGrinder Build, Make it So!&lt;/h2&gt;
      
      &lt;p&gt;There is now sufficient information available to build, convert and deliver an appliance to CloudSigma. We now simply execute BoxGrinder Build with the CloudSigma delivery flag on the command line as &lt;em&gt;root&lt;/em&gt;, and the hard work will be performed for us.&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;boxgrinder-build sigma-jeos.appl -d elastichosts&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;All packages required to build a basic Fedora 15 image will be downloaded and installed into a RAW imagefile. Once completed, the image is broken into chunks and uploaded to the CloudSigma account specified above.&lt;/p&gt;
      
      &lt;p&gt;BoxGrinder will inform you of the &lt;strong&gt;Server UUID&lt;/strong&gt; and &lt;strong&gt;Drive UUID&lt;/strong&gt; for your appliance.&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;I, [2011-05-18T18:55:27.201579 #14223]  INFO -- : Appliance f15-jeos uploaded to drive with UUID b161fd8b-d56s-4eea-9055-669daaec8aa4.&amp;#x000A;I, [2011-05-18T18:55:27.202616 #14223]  INFO -- : Appliance uploaded.&amp;#x000A;I, [2011-05-18T18:55:27.203164 #14223]  INFO -- : Creating new server...&amp;#x000A;I, [2011-05-18T18:55:28.155540 #14223]  INFO -- : Server was registered with 'f15-jeos-1.0' name as '02c80862-0282-4014-af28-d751fee1dead' UUID. Use web UI or API tools to start your server.&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;h3&gt;Lift-Off&lt;/h3&gt;
      
      &lt;p&gt;You can launch either via CloudSigma's API tools using the UUIDs, or the Web UI, where you should be able to see your newly uploaded appliance under &lt;strong&gt;My Servers&lt;/strong&gt; and &lt;strong&gt;My Drives&lt;/strong&gt;.  After launching an instance, you can connect via SSH, with the &lt;strong&gt;root&lt;/strong&gt; user account and password set in the appliance definition; &lt;strong&gt;boxgrinder-rocks&lt;/strong&gt;.&lt;/p&gt;
      
      &lt;p&gt;&lt;img title=&quot;CloudSigma Web UI&quot; src=&quot;http://staging.boxgrinder.org/images/screenshots/boxgrinder-sigma-ui.png&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;
      
      &lt;h2&gt;Effortless&lt;/h2&gt;
      
      &lt;p&gt;With these simple steps, BoxGrinder Build has created a virtual appliance from scratch, and delivered it to the CloudSigma cloud.  It is easy to envisage how BoxGrinder Build can be harnessed to bake a range of compact, &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/how-to-customize-appliance/&quot;&gt;specialised appliances&lt;/a&gt; to fulfil the roles you require in your deployed applications.&lt;/p&gt;
      
      &lt;p&gt;The easiest way to try out BoxGrinder Build is with our &lt;a href=&quot;http://staging.boxgrinder.org/download/boxgrinder-build-meta-appliance/&quot;&gt;Meta Appliances&lt;/a&gt;, that provide a pre-configured environment ready for grinding out appliances.&lt;/p&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2011/05/17/its-time-for-boxgrinder-build-0-9-2/</id>
    <title>It's time for BoxGrinder Build 0.9.2</title>
    <updated>2011-05-17T16:30:00+01:00</updated>
    <link href='http://staging.boxgrinder.org/blog/2011/05/17/its-time-for-boxgrinder-build-0-9-2/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      I'm very happy to announce a new version of BoxGrinder Build. This release contains many new features and enhancements.
      
      What's new?
      
      CloudSigma support
      
      In this version we added CloudSigma support. CloudSigma is a very popular IaaS Cloud provider in
      Europe, based in Switzerland. To create a server for CloudSigma use our ElasticHosts plugin. Read more on the plugin page.
      
      We will soon provide a tutorial on how to use  BoxGrinder with CloudSigma.
      
      Better Fedora 15 support
      
      Previous versions of BoxGrinder Build had Fedora 15 support, but we found a few issues (networking, /etc/mtab). This version addresses all of them - now you can fully enjoy Fedora......
    </summary>
    <content type='html'>
      &lt;p&gt;I'm very happy to announce a new version of &lt;a href=&quot;http://staging.boxgrinder.org/build/&quot;&gt;BoxGrinder Build&lt;/a&gt;. This release contains many new features and enhancements.&lt;/p&gt;
      
      &lt;h1&gt;What's new?&lt;/h1&gt;
      
      &lt;h2&gt;CloudSigma support&lt;/h2&gt;
      
      &lt;p&gt;In this version we added &lt;a href=&quot;http://cloudsigma.com/&quot;&gt;CloudSigma&lt;/a&gt; support. CloudSigma is a very popular IaaS Cloud provider in
      Europe, based in Switzerland. To create a server for CloudSigma use our ElasticHosts plugin. Read more on the &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/boxgrinder-build-plugins/#ElasticHosts_Delivery_Plugin&quot;&gt;plugin page&lt;/a&gt;.&lt;/p&gt;
      
      &lt;p&gt;We will soon provide a tutorial on how to use  BoxGrinder with CloudSigma.&lt;/p&gt;
      
      &lt;h2&gt;Better Fedora 15 support&lt;/h2&gt;
      
      &lt;p&gt;Previous versions of BoxGrinder Build had Fedora 15 support, but we found a few issues (networking, &lt;code&gt;/etc/mtab&lt;/code&gt;). This version addresses all of them - &lt;strong&gt;now you can fully enjoy Fedora 15&lt;/strong&gt;.&lt;/p&gt;
      
      &lt;h2&gt;New meta appliance&lt;/h2&gt;
      
      &lt;p&gt;We decided to switch to Fedora 15 as our base operating system for the meta appliance. This means that &lt;strong&gt;we have prepared new meta appliances for you&lt;/strong&gt;.
      Go and &lt;a href=&quot;http://staging.boxgrinder.org/download/boxgrinder-build-meta-appliance/&quot;&gt;download them&lt;/a&gt; now.&lt;/p&gt;
      
      &lt;h2&gt;Cross-operating system builds working now!&lt;/h2&gt;
      
      &lt;p&gt;Yes, it's true - we added support for cross-operating system builds.  For example, this means that &lt;strong&gt;you can build a RHEL 5 guest on a Fedora 15 host&lt;/strong&gt;!
      Please make sure you run the build on a host with &quot;newer&quot; version of the operating system when compared to guest operating system version.&lt;/p&gt;
      
      &lt;h1&gt;Need help?&lt;/h1&gt;
      
      &lt;p&gt;Our &lt;a href=&quot;http://staging.boxgrinder.org/community/&quot;&gt;community&lt;/a&gt; is ready to help you!&lt;/p&gt;
      
      &lt;h1&gt;Release Notes&lt;/h1&gt;
      
      &lt;h2&gt;Bug&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-203&quot;&gt;BGBUILD-203&lt;/a&gt;] - Vmware vmdk disk size is wrong when installing
      via kickstart files&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-204&quot;&gt;BGBUILD-204&lt;/a&gt;] - Fedora 15 appliance networking start on boot
      failed&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-205&quot;&gt;BGBUILD-205&lt;/a&gt;] - Error while converting to EC2 when guest OS is
      CentOS/RHEL 5&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-206&quot;&gt;BGBUILD-206&lt;/a&gt;] - Error while converting appliance to EC2 format
      when host is Fedora 14 and guest CentOS 5&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-207&quot;&gt;BGBUILD-207&lt;/a&gt;] - Guestfs dies on Fedora 15 with ‘KVM not
      supported for this target’ message&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-208&quot;&gt;BGBUILD-208&lt;/a&gt;] - Kickstart files not working with 0.9.1&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-209&quot;&gt;BGBUILD-209&lt;/a&gt;] - Wrong /etc/mtab on Fedora 15 appliances causes
      errors&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-210&quot;&gt;BGBUILD-210&lt;/a&gt;] - In Fedora 14 parameters are not being expanded,
      and cause early string truncation.&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-212&quot;&gt;BGBUILD-212&lt;/a&gt;] - path: value not escaped in local&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-214&quot;&gt;BGBUILD-214&lt;/a&gt;] - VMDK disk size is wrong when the vmware-plugin
      and centos-plugin are run together&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-218&quot;&gt;BGBUILD-218&lt;/a&gt;] - Incorrect error messages since revision of
      parser/validator&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Feature Request&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-83&quot;&gt;BGBUILD-83&lt;/a&gt;] - Enable libguestfs log callback to redirect
      guestfs output to logger&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-148&quot;&gt;BGBUILD-148&lt;/a&gt;] - Add support for building CentOS/RHEL images on
      Fedora&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-213&quot;&gt;BGBUILD-213&lt;/a&gt;] - CloudSigma support&lt;/li&gt;
      &lt;/ul&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2011/04/28/boxgrinder-build-0-9-1-released-and-fedora-test-day/</id>
    <title>BoxGrinder Build 0.9.1 released and Fedora Test Day</title>
    <updated>2011-04-28T06:35:00+01:00</updated>
    <link href='http://staging.boxgrinder.org/blog/2011/04/28/boxgrinder-build-0-9-1-released-and-fedora-test-day/' rel='alternate' type='text/html' />
    <author>
      <name>Marc Savy</name>
    </author>
    <summary>
      I'm happy to announce BoxGrinder Build 0.9.1. The release introduces a couple of new features, plus a number of bug-fixes and functionality enhancements. Please refer to the
      Release Notes below for a full list of the changes.
      
      This release is immediately available from BoxGrinder stable repo and will be
      available shortly in Fedora.
      
      What's New?
      
      A quick overview of the most notable features, bug-fixes and enhancements arriving in 0.9.1
      
      ElasticHosts support
      
      As announced in our previous blog post, we've added support for the ElasticHosts Cloud Computing API, establishing support for a range of new Cloud Providers. You can find out more about the plugin, and some of......
    </summary>
    <content type='html'>
      &lt;p&gt;I'm happy to announce &lt;strong&gt;BoxGrinder Build 0.9.1&lt;/strong&gt;. The release introduces a couple of new features, plus a number of bug-fixes and functionality enhancements. Please refer to the
      &lt;a href=&quot;#Release_notes&quot;&gt;Release Notes&lt;/a&gt; below for a full list of the changes.&lt;/p&gt;
      
      &lt;p&gt;This release is immediately available from &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/boxgrinder-rpm-repositories/&quot;&gt;BoxGrinder stable repo&lt;/a&gt; and will be
      available shortly in Fedora.&lt;/p&gt;
      
      &lt;h1&gt;What's New?&lt;/h1&gt;
      
      &lt;p&gt;A quick overview of the most notable features, bug-fixes and enhancements arriving in 0.9.1&lt;/p&gt;
      
      &lt;h2&gt;ElasticHosts support&lt;/h2&gt;
      
      &lt;p&gt;As announced in our &lt;a href=&quot;http://staging.boxgrinder.org/blog/2011/04/19/support-for-new-clouds-is-coming/&quot;&gt;previous blog post&lt;/a&gt;, we've added support for the &lt;strong&gt;&lt;a href=&quot;http://www.elastichosts.com/cloud-hosting/api&quot;&gt;ElasticHosts Cloud Computing API&lt;/a&gt;&lt;/strong&gt;, establishing support for a range of new Cloud Providers. You can find out more about the plugin, and some of the providers who use the ElasticHosts API via our &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/boxgrinder-build-plugins/#ElasticHosts_Delivery_Plugin&quot;&gt;plugin documentation&lt;/a&gt; and &lt;a href=&quot;http://staging.boxgrinder.org/blog/2011/04/19/support-for-new-clouds-is-coming/&quot;&gt;Support for New Clouds&lt;/a&gt; blog post.&lt;/p&gt;
      
      &lt;h2&gt;Clearing out any hangers-on&lt;/h2&gt;
      
      &lt;p&gt;A minor annoyance in previous versions was that if you interrupted a build (possibly manually, or due to an error), it was possible that loop devices would be left hanging around until you manually removed them, or rebooted. However, &lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-97&quot;&gt;BGBUILD-97&lt;/a&gt; resolves that, and &lt;strong&gt;now removes any unwanted mounts automatically&lt;/strong&gt;.&lt;/p&gt;
      
      &lt;h2&gt;Greatly improved parsing, validation and error messages for Appliance Definitions&lt;/h2&gt;
      
      &lt;p&gt;With the aid of Kuwata Lab's &lt;a href=&quot;http://www.kuwata-lab.com/kwalify/&quot;&gt;Kwalify&lt;/a&gt;, we have defined a schema for BoxGrinder Build Appliance Definitions, and implemented parsing and validation against it. Kwalify provides custom YAML parsing and validation, with strict syntax checking. A customised schema validator then checks the input against BoxGrinder's schema definitions, rapidly determining whether the input is conformant. &lt;strong&gt;The change to schema validated input ensures that mistakes in appliance definitions are quickly identified, and precise error messages with line numbers are generated for the user&lt;/strong&gt;.&lt;/p&gt;
      
      &lt;p&gt;Previously, many problems were not detected until the build process began, or caused run-time errors. This was liable to cause confusion, as it was often not immediately obvious where the problem originated from, as all filenames and line-numbers had been lost by this stage.  Furthermore, many subtle syntax errors or invalid fields were silently ignored.&lt;/p&gt;
      
      &lt;p&gt;For instance, a common mistake is to misspell a field, or introduce a syntax error;&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;namee: whoops                       # Bad field name&amp;#x000A;summary: just an example&amp;#x000A;repos:&amp;#x000A;- name: example-repo&amp;#x000A;  baseurl: zz:/invalid_repo_path    # Invalid repo path&amp;#x000A;  ephemeral: truee                  # Typo in value&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;With the improved parsing and validation, this now emits:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;I, INFO -- : Validating appliance definition from blah.appl file...&amp;#x000A;E, ERROR -- : Error: [line 1, col 1] [/namee] key 'namee:' is undefined.&amp;#x000A;E, ERROR -- : Error: [line 5, col 5] [/repos/0/baseurl] 'zz:/invalid_repo_path': not matched to pattern ...&amp;#x000A;E, ERROR -- : Error: [line 6, col 5] [/repos/0/ephemeral] 'truee': not a boolean. # Must be true/false&amp;#x000A;E, ERROR -- : Error: [line 1, col 1] [/] key 'name:' is required. # The field name we intended to type&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;You will be alerted to any errors that are possible to detect early, such as invalid field-names, patterns and value constraints. Those of you interested in the schemas, can find them the &lt;a href=&quot;https://github.com/boxgrinder/boxgrinder-core/tree/master/lib/boxgrinder-core/schemas&quot;&gt;BoxGrinder Core GitHub repo&lt;/a&gt;.&lt;/p&gt;
      
      &lt;h2&gt;CentOS VirtualBox appliances now work with the standard SATA controller!&lt;/h2&gt;
      
      &lt;p&gt;As of VirtualBox 3.2 a virtual SATA controller is default for attaching disk devices such as VDIs. However, BoxGrinder was still producing IDE disks, which when associated with the standard SATA controller caused a Kernel panic at boot. &lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-155&quot;&gt;BGBUILD-155&lt;/a&gt; resolves the issue, with the VDI now conforming to the usual VirtualBox work-flow.&lt;/p&gt;
      
      &lt;h1&gt;Fedora Test Day&lt;/h1&gt;
      
      &lt;p&gt;Today we have also a &lt;strong&gt;&lt;a href=&quot;https://fedoraproject.org/wiki/Test_Day:2011-04-28_Cloud_SIG_BoxGrinder_Build&quot;&gt;BoxGrinder Fedora Test Day&lt;/a&gt;&lt;/strong&gt;. Help us with testing BoxGrinder! Join the #fedora-test-day IRC channel on irc.freenode.net and pick up some &lt;a href=&quot;https://fedoraproject.org/wiki/Test_Day:2011-04-28_Cloud_SIG_BoxGrinder_Build#Test_Cases&quot;&gt;test cases&lt;/a&gt;. If you have any troubles we'll be there to assist you!&lt;/p&gt;
      
      &lt;h1&gt;Release notes&lt;/h1&gt;
      
      &lt;h2&gt;Bug&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-97&quot;&gt;BGBUILD-97&lt;/a&gt;] - some filesystems dont get unmounted on BG interruption&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-155&quot;&gt;BGBUILD-155&lt;/a&gt;] - Images built on Centos5.x (el5) for VirtualBox kernel panic (/dev/root missing)&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-164&quot;&gt;BGBUILD-164&lt;/a&gt;] - Guestfs writes to /tmp/ by default, potentially filling the root filesystem&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-184&quot;&gt;BGBUILD-184&lt;/a&gt;] - Image fails to boot for Fedora 14 KVM appliance using virtio devices&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-185&quot;&gt;BGBUILD-185&lt;/a&gt;] - Cannot create partitions smaller than 1GB&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-189&quot;&gt;BGBUILD-189&lt;/a&gt;] - custom repos with a space bar in name won't work.&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-192&quot;&gt;BGBUILD-192&lt;/a&gt;] - Use IO.popen4 instead open4 gem on JRuby&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-196&quot;&gt;BGBUILD-196&lt;/a&gt;] - GuestFS fails mounting partitions where more then 3 partitions are present&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-198&quot;&gt;BGBUILD-198&lt;/a&gt;] - root password is not inherited&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-200&quot;&gt;BGBUILD-200&lt;/a&gt;] - /sbin/e2label: Filesystem has unsupported feature(s) while trying to open /dev/sda1&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-202&quot;&gt;BGBUILD-202&lt;/a&gt;] - Unable to get valid context for ec2-user after login on AMI&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Enhancement&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-156&quot;&gt;BGBUILD-156&lt;/a&gt;] - Validate appliance definition files early and return meaningful error messages&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-166&quot;&gt;BGBUILD-166&lt;/a&gt;] - Prevent gnome from auto-mounting device during build&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Feature Request&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-188&quot;&gt;BGBUILD-188&lt;/a&gt;] - Use libguestfs instead mounting partitions manually for EC2 appliances&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-190&quot;&gt;BGBUILD-190&lt;/a&gt;] - Allow to specify kernel variant (PAE or not) for Fedora OS&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-194&quot;&gt;BGBUILD-194&lt;/a&gt;] - Add support for ElasticHosts cloud&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Task&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-187&quot;&gt;BGBUILD-187&lt;/a&gt;] - Use UUIDs instead of labels for partitions&lt;/li&gt;
      &lt;/ul&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2011/04/20/meet-us-at-judcon-2011-in-boston/</id>
    <title>Meet us at JUDCon 2011 in Boston!</title>
    <updated>2011-04-20T21:40:00+01:00</updated>
    <link href='http://staging.boxgrinder.org/blog/2011/04/20/meet-us-at-judcon-2011-in-boston/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      This year you'll again see many JBoss developers at JUDCon 2011 conference in Boston
      which will take place on 2nd and 3rd May 2011.
      
      This year for the first time there will be three tracks full of great presentations.
      Join me at 10:30 am, May, 2nd to hear about BoxGrinder.
      I'll show you a lot of BoxGrinder goodness. If you want to learn more about Boxgrinder internals and see a demo don't hesitate
      registering for JUDCon, because the time and tickets are running out!
      
      BoxGrinder team (me and Marc) as well as the whole project:odd will be in Boston for the whole week
      also attending Red Hat......
    </summary>
    <content type='html'>
      &lt;p&gt;This year you'll again see many &lt;a href=&quot;http://www.jboss.org/&quot;&gt;JBoss&lt;/a&gt; developers at &lt;a href=&quot;http://www.jboss.org/events/JUDCon&quot;&gt;JUDCon 2011 conference in Boston&lt;/a&gt;
      which will take place on 2nd and 3rd May 2011.&lt;/p&gt;
      
      &lt;p&gt;This year for the first time there will be &lt;a href=&quot;http://www.jboss.org/events/JUDCon/agenda.html&quot;&gt;three tracks full of great presentations&lt;/a&gt;.
      &lt;strong&gt;Join me at 10:30 am, May, 2nd to &lt;a href=&quot;http://www.jboss.org/events/JUDCon/day1track3.html#1030AM&quot;&gt;hear about BoxGrinder&lt;/a&gt;&lt;/strong&gt;.
      I'll show you a lot of BoxGrinder goodness. If you want to learn more about Boxgrinder internals and see a demo don't hesitate
      &lt;a href=&quot;http://www.jboss.org/events/JUDCon/register.html&quot;&gt;registering for JUDCon&lt;/a&gt;, because the time and tickets are running out!&lt;/p&gt;
      
      &lt;p&gt;BoxGrinder team (me and Marc) as well as the whole &lt;a href=&quot;http://projectodd.org/&quot;&gt;project:odd&lt;/a&gt; will be in Boston for the whole week
      also attending &lt;a href=&quot;http://www.redhat.com/summit/&quot;&gt;Red Hat Summit / JBoss World&lt;/a&gt;. If you're in the area and have questions
      regarding BoxGrinder or just want to drink a beer with us, please &lt;a href=&quot;http://staging.boxgrinder.org/community/&quot;&gt;let us know&lt;/a&gt;!&lt;/p&gt;
      
      &lt;p&gt;See you in Boston!&lt;/p&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2011/04/19/support-for-new-clouds-is-coming/</id>
    <title>Support for new Clouds is coming!</title>
    <updated>2011-04-19T09:40:00+01:00</updated>
    <link href='http://staging.boxgrinder.org/blog/2011/04/19/support-for-new-clouds-is-coming/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      You know what's good? Support for a new Cloud. You know what's better? Support for many new Clouds!
      
      I'm excited to share with you that with the upcoming 0.9.1  release BoxGrinder is going to support the following new Clouds:
      
      
      ElasticHosts - US, UK
      SKALI Cloud - Malaysia
      Open Hosting - US
      Serverlove - UK
      
      
      
      It was possible because all the above listed Clouds share the same API for disk and server management, perfect! The
      API itself is really straightforward and makes the interaction with
      services easy.
      
      At this point I would like to thank all the Cloud providers for their help on testing this, especially the
      ElasticHosts guys which......
    </summary>
    <content type='html'>
      &lt;p&gt;You know what's good? Support for a new Cloud. You know what's better? Support for many new Clouds!&lt;/p&gt;
      
      &lt;p&gt;I'm excited to share with you that &lt;strong&gt;with the upcoming 0.9.1  release &lt;a href=&quot;http://staging.boxgrinder.org/&quot;&gt;BoxGrinder&lt;/a&gt; is going to support the following new Clouds&lt;/strong&gt;:&lt;/p&gt;
      
      &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;http://www.elastichosts.com/&quot;&gt;ElasticHosts&lt;/a&gt; - US, UK&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;http://www.skalicloud.com/&quot;&gt;SKALI Cloud&lt;/a&gt; - Malaysia&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;http://www.openhosting.com/&quot;&gt;Open Hosting&lt;/a&gt; - US&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;http://www.serverlove.com/&quot;&gt;Serverlove&lt;/a&gt; - UK&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;p&gt;It was possible because all the above listed Clouds &lt;strong&gt;share the same API&lt;/strong&gt; for disk and server management, perfect! The
      &lt;a href=&quot;http://www.elastichosts.com/cloud-hosting/api&quot;&gt;API&lt;/a&gt; itself is really straightforward and makes the interaction with
      services easy.&lt;/p&gt;
      
      &lt;p&gt;At this point I would like to &lt;strong&gt;thank all the Cloud providers&lt;/strong&gt; for their help on testing this, especially the
      &lt;a href=&quot;http://www.elastichosts.com/&quot;&gt;ElasticHosts&lt;/a&gt; guys which answered all my stupid emails, thanks!&lt;/p&gt;
      
      &lt;p&gt;Support for these Clouds was added as the &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/boxgrinder-build-plugins/#ElasticHosts_Delivery_Plugin&quot;&gt;ElasticHosts plugin&lt;/a&gt;.
      Detailed usage and configuration instructions for this plugin can be found on the plugin page, but the basic usage
      is as simples as:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;boxgrinder-build jeos.appl -d elastichosts&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;h1&gt;What's happening behind the scenes?&lt;/h1&gt;
      
      &lt;p&gt;The basic workflow is:&lt;/p&gt;
      
      &lt;ol&gt;
      &lt;li&gt;Build the appliance in the normal way.&lt;/li&gt;
      &lt;li&gt;Create or re-use an existing disk in the Cloud with a specific size.&lt;/li&gt;
      &lt;li&gt;Upload the disk image created previously (in chunks, so we can retry sending failed chunks) to the remote disk. The data is
      compressed to reduce the upload time.&lt;/li&gt;
      &lt;li&gt;Create a new server in the Cloud with the newly created disk attached to it.&lt;/li&gt;
      &lt;/ol&gt;
      
      
      &lt;p&gt;After this BoxGrinder returns the name and server UUID which is ready to launch!&lt;/p&gt;
      
      &lt;h1&gt;Help with testing&lt;/h1&gt;
      
      &lt;p&gt;This is immediately available from our &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/boxgrinder-rpm-repositories/#BoxGrinder_Build_nightly_repository&quot;&gt;nightly repository&lt;/a&gt;.
      Please grab the updated packages, test it and &lt;a href=&quot;http://staging.boxgrinder.org/community/&quot;&gt;let us know&lt;/a&gt; how it went!&lt;/p&gt;
      
      &lt;p&gt;If you know any other Cloud that supports ElasticHosts API, please &lt;a href=&quot;http://staging.boxgrinder.org/community/&quot;&gt;let us know&lt;/a&gt; too!&lt;/p&gt;
      
      &lt;h1&gt;Which Cloud is the right one?&lt;/h1&gt;
      
      &lt;p&gt;BoxGrinder supports more and more Clouds. Some of them are closer to your location than others. To help you find the nearest
      Cloud to you see our &lt;a href=&quot;http://staging.boxgrinder.org/cloud-locations/&quot;&gt;supported Clouds map&lt;/a&gt;. Hope you like it!&lt;/p&gt;
      
      &lt;p&gt;Enjoy!&lt;/p&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2011/03/09/boxgrinder-build-0-9-0-is-out/</id>
    <title>BoxGrinder Build 0.9.0 is out!</title>
    <updated>2011-03-09T13:15:00+00:00</updated>
    <link href='http://staging.boxgrinder.org/blog/2011/03/09/boxgrinder-build-0-9-0-is-out/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      Yeah!
      
      I'm really happy to announce the next major release of BoxGrinder Build: 0.9.0! This release includes many bug fixes and most importantly - some requested features. See release notes for a detailed list of issues.
      
      What's new?
      
      Packaging
      
      In the previous version we packaged every BoxGrinder plugin in its own Gem (and then RPM). This wasn't great because the amount of time to maintain versions and dependencies between plugins was too big. Instead of adding new great features I was involved in fixing packaging bugs.
      
      But not anymore!  Now we only ship 2 gems:
      
      
      boxgrinder-core
      boxgrinder-build
      
      
      
      See the quick start for updated installation instructions.
      
      Fedora 15 support
      
      You......
    </summary>
    <content type='html'>
      &lt;h1&gt;Yeah!&lt;/h1&gt;
      
      &lt;p&gt;I'm really happy to announce the next major release of &lt;strong&gt;&lt;a href=&quot;http://staging.boxgrinder.org/build&quot;&gt;BoxGrinder Build&lt;/a&gt;: 0.9.0&lt;/strong&gt;! This release includes many bug fixes and most importantly - some requested features. See &lt;a href=&quot;#Release_notes&quot;&gt;release notes&lt;/a&gt; for a detailed list of issues.&lt;/p&gt;
      
      &lt;h1&gt;What's new?&lt;/h1&gt;
      
      &lt;h2&gt;Packaging&lt;/h2&gt;
      
      &lt;p&gt;In the previous version we packaged every &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/boxgrinder-build-plugins/&quot;&gt;BoxGrinder plugin&lt;/a&gt; in its own Gem (and then RPM). This wasn't great because the amount of time to maintain versions and dependencies between plugins was too big. Instead of adding new great features I was involved in fixing packaging bugs.&lt;/p&gt;
      
      &lt;p&gt;&lt;strong&gt;But not anymore!  Now we only ship 2 gems&lt;/strong&gt;:&lt;/p&gt;
      
      &lt;ol&gt;
      &lt;li&gt;&lt;code&gt;boxgrinder-core&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;&lt;code&gt;boxgrinder-build&lt;/code&gt;&lt;/li&gt;
      &lt;/ol&gt;
      
      
      &lt;p&gt;See the &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/boxgrinder-build-quick-start/&quot;&gt;quick start&lt;/a&gt; for updated installation instructions.&lt;/p&gt;
      
      &lt;h2&gt;Fedora 15 support&lt;/h2&gt;
      
      &lt;p&gt;You can already build &lt;strong&gt;Fedora 15&lt;/strong&gt; appliances. You don't even need to wait for final release. Enjoy!&lt;/p&gt;
      
      &lt;h2&gt;New (old) CLI and package format&lt;/h2&gt;
      
      &lt;p&gt;BoxGrinder Build 0.8.x wasn't pushed to Fedora because our CLI changed and we didn't want to break your scripts. With 0.9.0 we're back to our old CLI enhanced with changes from 0.8.x.&lt;/p&gt;
      
      &lt;p&gt;If you're confused, feel free to read the &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/boxgrinder-build-usage-instructions/&quot;&gt;BoxGrinder Build usage page&lt;/a&gt; which shows the current state.&lt;/p&gt;
      
      &lt;p&gt;To make BoxGrinder Build backwards-compatible, we added support for our legacy packages section format:&lt;/p&gt;
      
      &lt;p&gt;Old format:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;packages:&amp;#x000A;  includes:&amp;#x000A;    - mc&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;New format:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;packages:&amp;#x000A;  - mc&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;Please note that &lt;strong&gt;if you use the old format, a warning will be displayed, but the build will not break&lt;/strong&gt;. Old format support will be dropped in the future.&lt;/p&gt;
      
      &lt;h1&gt;Fedora news&lt;/h1&gt;
      
      &lt;p&gt;&lt;a href=&quot;http://fedoraproject.org/wiki/Fedora_15_Alpha_release_notes&quot;&gt;Fedora 15 Alpha was released yesterday&lt;/a&gt;! From my (Marek) side I would like to thank the Fedora team for their hard work!&lt;/p&gt;
      
      &lt;p&gt;BoxGrinder is part of Fedora 13 and 14 since December 2010, but for Fedora 15 BoxGrinder is &lt;a href=&quot;http://fedoraproject.org/wiki/Features/BoxGrinder&quot;&gt;highlighted as a feature&lt;/a&gt;. This wouldn't be possible without the &lt;a href=&quot;http://fedoraproject.org/wiki/Cloud_SIG&quot;&gt;Cloud SIG&lt;/a&gt; support! Thank you!&lt;/p&gt;
      
      &lt;p&gt;Did you know that BoxGrinder is the &lt;strong&gt;first &lt;a href=&quot;http://www.jboss.org/&quot;&gt;JBoss&lt;/a&gt; project included in Fedora&lt;/strong&gt;? Yep, we're special :)&lt;/p&gt;
      
      &lt;h1&gt;New meta appliances&lt;/h1&gt;
      
      &lt;p&gt;We've rebuilt the &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/boxgrinder-build-meta-appliance/&quot;&gt;meta appliance&lt;/a&gt; and released version 1.4 today. It's available from our &lt;a href=&quot;http://staging.boxgrinder.org/download/boxgrinder-build-meta-appliance/&quot;&gt;meta appliance download site&lt;/a&gt;. Feel free to use it to build your own appliances.&lt;/p&gt;
      
      &lt;h1&gt;New to BoxGrinder? Need some help?&lt;/h1&gt;
      
      &lt;p&gt;We have prepared some &lt;a href=&quot;http://staging.boxgrinder.org/tutorials&quot;&gt;tutorials&lt;/a&gt; and a &lt;a href=&quot;http://staging.boxgrinder.org/faq&quot;&gt;FAQ&lt;/a&gt;. We're also available on &lt;a href=&quot;irc://irc.freenode.net/boxgrinder&quot;&gt;IRC&lt;/a&gt; or &lt;a href=&quot;http://community.jboss.org/en/boxgrinder?view=discussions&quot;&gt;forums&lt;/a&gt; for you. Feel free to jump in and chat with us!&lt;/p&gt;
      
      &lt;h1&gt;Release notes&lt;/h1&gt;
      
      &lt;h2&gt;Bug&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-81&quot;&gt;BGBUILD-81&lt;/a&gt;] - post command execution w/ setarch breaks commands which are scripts&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-162&quot;&gt;BGBUILD-162&lt;/a&gt;] - SFTP delivery plugin fails on Centos 5 in all configurations&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-169&quot;&gt;BGBUILD-169&lt;/a&gt;] - All EC2 builds fail to build, fail to run, or hang at runtime.&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-173&quot;&gt;BGBUILD-173&lt;/a&gt;] - Include setarch package in default package list for RPM-based OSes&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-176&quot;&gt;BGBUILD-176&lt;/a&gt;] - Fail the build with appropriate message if any of post section commands fails to execute&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-177&quot;&gt;BGBUILD-177&lt;/a&gt;] - Fedora 13 builds have enabled firewall although they shouldn&amp;#39;t have it&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-180&quot;&gt;BGBUILD-180&lt;/a&gt;] - F14 AMI fails to launch&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-181&quot;&gt;BGBUILD-181&lt;/a&gt;] - eucatools python shebang replacement on EL5 not occuring&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-182&quot;&gt;BGBUILD-182&lt;/a&gt;] - Creating AMI fails when build is already done and just attempting to deliver it&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Feature Request&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-103&quot;&gt;BGBUILD-103&lt;/a&gt;] - README to indicate supported operating systems / requirements&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-158&quot;&gt;BGBUILD-158&lt;/a&gt;] - Include bundler gem on meta appliance&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-159&quot;&gt;BGBUILD-159&lt;/a&gt;] - Would be handy if meta included &lt;code&gt;createrepo&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-174&quot;&gt;BGBUILD-174&lt;/a&gt;] - Move plugins to boxgrinder-build gem&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-178&quot;&gt;BGBUILD-178&lt;/a&gt;] - Remove sensitive data from logs&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-183&quot;&gt;BGBUILD-183&lt;/a&gt;] - Add support for Fedora 15&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Task&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-168&quot;&gt;BGBUILD-168&lt;/a&gt;] - Add support for old-style packages section in appliance definition format&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-175&quot;&gt;BGBUILD-175&lt;/a&gt;] - Rewrite boxgrinder CLI to remove thor dependency&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-179&quot;&gt;BGBUILD-179&lt;/a&gt;] - Boolean and numeric parameters in hash-like values are not recognized&lt;/li&gt;
      &lt;/ul&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2011/02/22/boxgrinder-build-0-8-1-released/</id>
    <title>BoxGrinder Build 0.8.1 released!</title>
    <updated>2011-02-22T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2011/02/22/boxgrinder-build-0-8-1-released/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      Update: With BoxGrinder 0.9.x the invocation has been changed, please refer to current usage instructions.
      
      I'm happy to announce BoxGrinder Build 0.8.1. This is a bugfix release. Please refer to the
      Release Notes below for a full list of bugfixes.
      
      This release is immediately available from BoxGrinder stable repo and will be
      available shortly in Fedora Rawhide.
      
      Some future ideas (your input needed!)
      
      Moving all plugins into boxgrinder-build gem?
      
      In this release I fixed some gem dependency issues. Currently we have 11 plugins
      for BoxGrinder Build. Keeping the gemspec and RPM spec files up to date with the proper versions of all
      of the dependencies is difficult. I'm therefore......
    </summary>
    <content type='html'>
      &lt;blockquote&gt;&lt;p&gt;Update: With BoxGrinder 0.9.x the invocation has been changed, please refer to current &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/boxgrinder-build-usage-instructions/&quot;&gt;usage instructions&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;
      
      &lt;p&gt;I'm happy to announce &lt;strong&gt;BoxGrinder Build 0.8.1&lt;/strong&gt;. This is a bugfix release. Please refer to the
      &lt;a href=&quot;#Release_notes&quot;&gt;Release Notes&lt;/a&gt; below for a full list of bugfixes.&lt;/p&gt;
      
      &lt;p&gt;This release is immediately available from &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/boxgrinder-rpm-repositories/&quot;&gt;BoxGrinder stable repo&lt;/a&gt; and will be
      available shortly in Fedora Rawhide.&lt;/p&gt;
      
      &lt;h1&gt;Some future ideas (your input needed!)&lt;/h1&gt;
      
      &lt;h2&gt;Moving all plugins into boxgrinder-build gem?&lt;/h2&gt;
      
      &lt;p&gt;In this release I fixed some &lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-165&quot;&gt;gem dependency issues&lt;/a&gt;. Currently we have &lt;strong&gt;11 plugins&lt;/strong&gt;
      for BoxGrinder Build. Keeping the gemspec and RPM spec files up to date with the proper versions of all
      of the dependencies is difficult. I'm therefore considering including all of the plugins into the
      &lt;em&gt;boxgrinder-build&lt;/em&gt; gem.&lt;/p&gt;
      
      &lt;h3&gt;Advantages:&lt;/h3&gt;
      
      &lt;ul&gt;
      &lt;li&gt;Simpler install - all of the plugins would be available with one install&lt;/li&gt;
      &lt;li&gt;Simpler release process&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h3&gt;Disadvantages:&lt;/h3&gt;
      
      &lt;ul&gt;
      &lt;li&gt;All of the plugins with their dependencies would be installed, resulting in a bigger dependency tree&lt;/li&gt;
      &lt;li&gt;Plugins you're not interested in would be installed too&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;p&gt;&lt;strong&gt;What's your opinion?&lt;/strong&gt; Please leave a comment.&lt;/p&gt;
      
      &lt;h2&gt;BoxGrinder 0.8.x in Fedora 13/14?&lt;/h2&gt;
      
      &lt;p&gt;&lt;a href=&quot;http://staging.boxgrinder.org/blog/2011/02/09/boxgrinder-build-0-8-0-released-finally/&quot;&gt;BoxGrinder Build 0.8.0 was released&lt;/a&gt; almost two weeks ago, but it hasn't yet made it into Fedora (you can of course
      download the latest releases from &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/boxgrinder-rpm-repositories/&quot;&gt;our repositories&lt;/a&gt;, you don't need to wait for Fedora packages) due to &lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-165&quot;&gt;BGBUILD-165&lt;/a&gt;.
      With &lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-165&quot;&gt;BGBUILD-165&lt;/a&gt; now fixed, 0.8.x can be added to Fedora, though I haven't decided whether 0.8.x should land in Fedora 13 and 14.
      If you have any thoughts on this, &lt;strong&gt;please leave a comment&lt;/strong&gt;.&lt;/p&gt;
      
      &lt;h1&gt;Release notes&lt;/h1&gt;
      
      &lt;h2&gt;Bug&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-141&quot;&gt;BGBUILD-141&lt;/a&gt;] - Long delay after &quot;Preparing guestfs&quot; message when creating new image&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-142&quot;&gt;BGBUILD-142&lt;/a&gt;] - Backtraces make output unreadable - add option to enable them, and disable by default&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-150&quot;&gt;BGBUILD-150&lt;/a&gt;] - Cyclical inclusion dependencies in appliance definition files are not detected/handled&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-161&quot;&gt;BGBUILD-161&lt;/a&gt;] - Local delivery plugin does not deliver appliance to target path if packaging set to false&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-165&quot;&gt;BGBUILD-165&lt;/a&gt;] - Use version in dependencies in gem and in RPM only where necessary&lt;/li&gt;
      &lt;/ul&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2011/02/16/new-boxgrinder-website/</id>
    <title>New BoxGrinder website!</title>
    <updated>2011-02-16T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2011/02/16/new-boxgrinder-website/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      Here it is!
      
      After a week full of importing, editing, polishing - it's finally here. Let me introduce the new BoxGrinder website!
      It's now available under boxgrinder.org address.
      
      New blog address
      
      We also moved our blog from cloudpress.org to boxgrinder.org/blog. The reason for that is that
      cloudpress was really a BoxGrinder blog. Now we have everything in one place. Don't forget to update your feed reader!
      
      Every comment is appreciated!
      ......
    </summary>
    <content type='html'>
      &lt;h1&gt;Here it is!&lt;/h1&gt;
      
      &lt;p&gt;After a week full of importing, editing, polishing - it's finally here. Let me introduce the new &lt;a href=&quot;http://staging.boxgrinder.org/&quot;&gt;BoxGrinder website&lt;/a&gt;!
      It's now available under &lt;a href=&quot;http://staging.boxgrinder.org/&quot;&gt;boxgrinder.org&lt;/a&gt; address.&lt;/p&gt;
      
      &lt;h1&gt;New blog address&lt;/h1&gt;
      
      &lt;p&gt;We also moved our blog from &lt;a href=&quot;http://cloudpress.org&quot;&gt;cloudpress.org&lt;/a&gt; to &lt;a href=&quot;http://staging.boxgrinder.org/blog&quot;&gt;boxgrinder.org/blog&lt;/a&gt;. The reason for that is that
      cloudpress was really a BoxGrinder blog. Now we have everything in one place. Don't forget to update your feed reader!&lt;/p&gt;
      
      &lt;p&gt;Every comment is appreciated!&lt;/p&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2011/02/09/boxgrinder-build-0-8-0-released-finally/</id>
    <title>BoxGrinder Build 0.8.0 released, finally!</title>
    <updated>2011-02-09T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2011/02/09/boxgrinder-build-0-8-0-released-finally/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      Update: With BoxGrinder 0.9.x the invocation has been changed, please refer to current usage instructions.
      
      I'm
      really happy to announce immediate availability of
      BoxGrinder Build 0.8.0! This is the next major release with
      great new features.
      
      Let's dive into some highlights!
      
      Consolidated configuration file and command line interface improvements
      
      Both things had quite high priority in my todo list. Both are
      drastically improving the usability of BoxGrinder. From now you
      don't need to have multiple configuration files -
      everything is located in one file and you can override configuration from command line.
      
      Configuration file like this:
      
      plugins:
        vmware:
          type: personal
          thin_disk: true
      
      
      ...and configuration
      specified like this:
      
      boxgrinder build......
    </summary>
    <content type='html'>
      &lt;blockquote&gt;&lt;p&gt;Update: With BoxGrinder 0.9.x the invocation has been changed, please refer to current &lt;a href=&quot;http://staging.boxgrinder.org/tutorials/boxgrinder-build-usage-instructions/&quot;&gt;usage instructions&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;
      
      &lt;p&gt;I'm
      really happy to announce immediate availability of
      &lt;strong&gt;BoxGrinder Build 0.8.0&lt;/strong&gt;! This is the next major release with
      great new features.&lt;/p&gt;
      
      &lt;h1&gt;Let's dive into some highlights!&lt;/h1&gt;
      
      &lt;h2&gt;Consolidated configuration file and command line interface improvements&lt;/h2&gt;
      
      &lt;p&gt;Both things had quite high priority in my todo list. Both are
      drastically improving the usability of BoxGrinder. From now you
      don't need to have multiple configuration files -
      &lt;strong&gt;everything is located in one file and you can override configuration from command line&lt;/strong&gt;.&lt;/p&gt;
      
      &lt;p&gt;Configuration file like this:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;plugins:&amp;#x000A;  vmware:&amp;#x000A;    type: personal&amp;#x000A;    thin_disk: true&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;...and configuration
      specified like this:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;boxgrinder build jeos.appl -p vmware --platform-config type:personal thin_disk:true&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;are &lt;strong&gt;equivalent&lt;/strong&gt;! You can use this
      to override configuration parameters that you want change sometimes
      (for example bucket name when deploying to a test bucket vs.
      production bucket).&lt;/p&gt;
      
      &lt;p&gt;These changes make
      &lt;strong&gt;command line interface much more usable&lt;/strong&gt;. For more information
      please refer to my
      &lt;a href=&quot;http://staging.boxgrinder.org/blog/boxgrinder-build-0-8-0-features-new-configuration-and-cli&quot;&gt;earlier post&lt;/a&gt;
      where I explained in detail how to use it.&lt;/p&gt;
      
      &lt;h2&gt;Library enhancements&lt;/h2&gt;
      
      &lt;p&gt;It is now possible to use BoxGrinder Build as a
      &lt;strong&gt;library from your Ruby scripts&lt;/strong&gt;! I introduced it a bit earlier,
      please
      &lt;a href=&quot;http://staging.boxgrinder.org/blog/boxgrinder-build-0-8-0-features-using-boxgrinder-as-a-library&quot;&gt;take a look&lt;/a&gt;.&lt;/p&gt;
      
      &lt;h2&gt;VirtualBox plugin&lt;/h2&gt;
      
      &lt;p&gt;With 0.8.0 we ship an &lt;strong&gt;early version of VirtualBox plugi&lt;/strong&gt;n. What
      it creates is really a VMware disk you can import to your library.
      In the next versions - we'll extend it to
      &lt;strong&gt;generate also metadata files&lt;/strong&gt; to directly use BoxGrinder
      appliances in VirtualBox.&lt;/p&gt;
      
      &lt;h2&gt;Support for all EC2 regions&lt;/h2&gt;
      
      &lt;p&gt;Yes, it's true, finally. &lt;strong&gt;We support all EC2 regions&lt;/strong&gt;. You can
      choose now region specifying 'region' config parameter for S3 or
      EBS delivery plugins.&lt;/p&gt;
      
      &lt;p&gt;If you want register an AMI in us-east-1
      region (which is the default region for BG), please use command
      similar to this one:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;boxgrinder build jeos.appl -p ec2 -d ami --delivery-config region:us-east-1    &amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;To deliver the same appliance to EU bucket:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;boxgrinder build jeos.appl -p ec2 -d ami --delivery-config region:eu-west-1 &amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;h2&gt;Snapshot support for EC2 appliances&lt;/h2&gt;
      
      &lt;p&gt;Imagine you create an appliance for EC2. It starts, you test it but
      you're not happy with it. You decide to make some changes but when
      you try to register it - you get the message that it's already
      registered. Let me introduce &lt;strong&gt;snapshot&lt;/strong&gt; feature for delivering
      appliances to EC2.&lt;/p&gt;
      
      &lt;p&gt;To use snapshots, just specify 'snapshot'
      parameter for S3 or EBS plugin, like this:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;boxgrinder build jeos.appl -p ec2 -d ami --delivery-config snapshot:true&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;h2&gt;Operating systems support for RHEL 6&lt;/h2&gt;
      
      &lt;p&gt;Yes, you can now build appliances based on &lt;strong&gt;RHEL 6&lt;/strong&gt; for all
      currently supported platform/delivery plugins. Enjoy!&lt;/p&gt;
      
      &lt;h2&gt;Simpler packages section&lt;/h2&gt;
      
      &lt;p&gt;We &lt;strong&gt;removed includes section&lt;/strong&gt; from packages definition. Consider
      this appliance definition snippet:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;packages:&amp;#x000A;  includes:&amp;#x000A;    - mc    &amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;This was changed into:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;packages:&amp;#x000A;  - mc    &amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;To use new BoxGrinder 0.8.0 with appliance
      definition files created for earlier versions -
      &lt;strong&gt;you need to manually remove the &lt;em&gt;includes&lt;/em&gt; subsection&lt;/strong&gt;.&lt;/p&gt;
      
      &lt;h1&gt;Fedora status&lt;/h1&gt;
      
      &lt;p&gt;Current stable version in Fedora 13 and 14 (and also in Rawhide) is
      0.7.1. I'll start submitting version 0.8.0 to Fedora shortly! Stay
      tuned. For now - please use
      &lt;a href=&quot;http://repo.boxgrinder.org/boxgrinder/boxgrinder.repo&quot;&gt;our repository&lt;/a&gt;.&lt;/p&gt;
      
      &lt;h1&gt;Enjoy!&lt;/h1&gt;
      
      &lt;p&gt;Hope you like the changes. Feel free to reach us in
      &lt;strong&gt;#boxgrinder&lt;/strong&gt; channel on irc.freenode.net. Happy building to
      you!&lt;/p&gt;
      
      &lt;h1&gt;Release notes&lt;/h1&gt;
      
      &lt;h2&gt;Bug&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-60&quot;&gt;BGBUILD-60&lt;/a&gt;] -
      Post section merging pattern for appliances depending on the same
      appliance&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-132&quot;&gt;BGBUILD-132&lt;/a&gt;] -
      Require only region name change for S3 plugin to register AMI in
      different region&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-138&quot;&gt;BGBUILD-138&lt;/a&gt;] -
      enablerepo path is not escaped when calling repoquery&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-146&quot;&gt;BGBUILD-146&lt;/a&gt;] -
      BG Build lacks -v --version CLI flags&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-149&quot;&gt;BGBUILD-149&lt;/a&gt;] -
      Spurious gnome error message during build&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-151&quot;&gt;BGBUILD-151&lt;/a&gt;] -
      Overriding hardware partitions via inclusion in Appliance
      Definition File causes build failure&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Feature Request&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-68&quot;&gt;BGBUILD-68&lt;/a&gt;] -
      Global .boxgrinder/config or rc style file for config&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-72&quot;&gt;BGBUILD-72&lt;/a&gt;] -
      Add support for growing (not pre-allocated) disks for KVM/Xen&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-74&quot;&gt;BGBUILD-74&lt;/a&gt;] -
      Allow for some way to build and push AMIs to Amazon without bumping
      the version or release numbers in the .appl file&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-75&quot;&gt;BGBUILD-75&lt;/a&gt;] -
      Allow for some way to build and push EBS-backed AMIs to Amazon
      without bumping the version or release numbers in the .appl file&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-79&quot;&gt;BGBUILD-79&lt;/a&gt;] -
      Allow to use BoxGrinder Build as a library&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-89&quot;&gt;BGBUILD-89&lt;/a&gt;] -
      Install @core package group as a minimum package list for RPM-based
      operating systems&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-93&quot;&gt;BGBUILD-93&lt;/a&gt;] -
      Add Red Hat Enterprise Linux 6 support&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-101&quot;&gt;BGBUILD-101&lt;/a&gt;] -
      Don't use 'includes' subsection when specifying packages&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-127&quot;&gt;BGBUILD-127&lt;/a&gt;] -
      Use appliance definition object instead of a file when using BG as
      a library&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-128&quot;&gt;BGBUILD-128&lt;/a&gt;] -
      Allow to specify plugin configuration using CLI&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-129&quot;&gt;BGBUILD-129&lt;/a&gt;] -
      Use partitions labels instead of device path in grub and fstab&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-130&quot;&gt;BGBUILD-130&lt;/a&gt;] -
      Add virtio support out of the box&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-133&quot;&gt;BGBUILD-133&lt;/a&gt;] -
      Support a consolidated configuration file&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-134&quot;&gt;BGBUILD-134&lt;/a&gt;] -
      Replace rubygem-commander with rubygem-thor&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-135&quot;&gt;BGBUILD-135&lt;/a&gt;] -
      Display the region name when reporting the registered ami&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-137&quot;&gt;BGBUILD-137&lt;/a&gt;] -
      Show the appliance name in the ami registration notice&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-147&quot;&gt;BGBUILD-147&lt;/a&gt;] -
      Allow to list installed plugins and version information&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Task&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-5&quot;&gt;BGBUILD-5&lt;/a&gt;] - New
      platform plugin: VirtualBox&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-120&quot;&gt;BGBUILD-120&lt;/a&gt;] -
      Add support for all EC2 regions&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-121&quot;&gt;BGBUILD-121&lt;/a&gt;] -
      Use pvgrub for RHEL/CentOS 5&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-126&quot;&gt;BGBUILD-126&lt;/a&gt;] -
      Use encrypted password in kickstart files&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-131&quot;&gt;BGBUILD-131&lt;/a&gt;] -
      Check if OS is supported before executing the plugin&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-140&quot;&gt;BGBUILD-140&lt;/a&gt;] -
      Update documentation to reflect plugin and CLI changes&lt;/li&gt;
      &lt;/ul&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2011/02/08/fudcon-tempe-2011-delayed-impressions/</id>
    <title>FUDCon Tempe 2011 - delayed impressions</title>
    <updated>2011-02-08T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2011/02/08/fudcon-tempe-2011-delayed-impressions/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      Thanks to Max and
      Robyn (and of course my
      boss!) I was able to attend this
      year's
      FUDCon in Tempe, AZ.
      I submitted a talk proposal about
      BoxGrinder.
      
      This was my first time at a BarCamp-like conference. I was
      surprised how the topic selection works. Every submitted talk (and
      there was about 70 talks at least!) was introduced by speaker in
      the main room in about 15 sec. This time must suffice to attract
      the people to attend the session. I like it this way – community
      chooses tracks they want listen to.
      
      My BoxGrinder talk was
      accepted. Not sure if it was because of the topic itself or
      stickers that arrived one day before......
    </summary>
    <content type='html'>
      &lt;p&gt;Thanks to &lt;a href=&quot;http://spevack.livejournal.com/&quot;&gt;Max&lt;/a&gt; and
      &lt;a href=&quot;http://wordshack.wordpress.com/&quot;&gt;Robyn&lt;/a&gt; (and of course my
      &lt;a href=&quot;http://bob.mcwhirter.org/&quot;&gt;boss&lt;/a&gt;!) I was able to attend this
      year's
      &lt;a href=&quot;http://fedoraproject.org/wiki/FUDCon:Tempe_2011&quot;&gt;FUDCon in Tempe, AZ&lt;/a&gt;.
      I submitted a talk proposal about
      &lt;a href=&quot;http://boxgrinder.org&quot;&gt;BoxGrinder&lt;/a&gt;.&lt;/p&gt;
      
      &lt;p&gt;This was my first time at a BarCamp-like conference. I was
      surprised how the topic selection works. Every submitted talk (and
      there was about 70 talks at least!) was introduced by speaker in
      the main room in about 15 sec. This time must suffice to attract
      the people to attend the session. I like it this way – community
      chooses tracks they want listen to.&lt;/p&gt;
      
      &lt;p&gt;My BoxGrinder talk was
      accepted. Not sure if it was because of the topic itself or
      stickers that arrived one day before the conference :) Thanks Toby
      and James! Either case - my talk was scheduled right after BarCamp
      ended and we were forced to change the location. I had about 25
      people or so. I think the talk went quite good, got a lot of
      questions. The difference between FUDCon and other conferences
      where I presented is that I got here more technical questions.
      &lt;strong&gt;Thanks for attending my talk.&lt;/strong&gt; Slides are available in my
      &lt;a href=&quot;http://staging.boxgrinder.org/blog/fudcon-2011-tempe-slides-from-boxgrinder-talk&quot;&gt;previous post&lt;/a&gt;.&lt;/p&gt;
      
      &lt;p&gt;I attended some other (mostly cloud-related) sessions and met
      several people I knew only from IRC. It's always fun to assign an
      'avatar' to an IRC nick :) I've talked a lot with
      &lt;a href=&quot;http://clalance.blogspot.com/&quot;&gt;Chris&lt;/a&gt; from
      &lt;a href=&quot;http://aeolusproject.org/&quot;&gt;Aeolus&lt;/a&gt; team and Graziano from
      &lt;a href=&quot;http://open.eucalyptus.com/&quot;&gt;Eucalyptus&lt;/a&gt;.&lt;/p&gt;
      
      &lt;p&gt;With Chris we talked
      about possibility of &lt;strong&gt;replacing appliance-tools&lt;/strong&gt; with
      &lt;a href=&quot;https://github.com/clalancette/oz&quot;&gt;oz&lt;/a&gt;. Unfortunately we faced
      some performance issues in a virtualized environments which
      prevents the integration at this point :( Maybe in the future I'll
      take a look one more time on how to make it possible.&lt;/p&gt;
      
      &lt;p&gt;I and Graziano worked on an
      &lt;a href=&quot;http://open.eucalyptus.com/&quot;&gt;Eucalyptus&lt;/a&gt; plugin for BoxGrinder. It
      was quite straightforward as Eucalyptus is almost 1:1 AWS clone. we
      faced some minor issues, but
      &lt;strong&gt;expect to have Eucalyptus support added to BoxGrinder soon&lt;/strong&gt;!&lt;/p&gt;
      
      &lt;p&gt;I
      learned some new &lt;strong&gt;YUM commands&lt;/strong&gt; from James Antill. You can get
      transcript from this talk
      &lt;a href=&quot;http://meetbot.fedoraproject.org/fudcon-room-1/2011-01-30/fudcon-room-1.2011-01-30-14.40.log.txt&quot;&gt;here&lt;/a&gt;.
      Skim it to grab the juicy commands.&lt;/p&gt;
      
      &lt;p&gt;Perry Myers (with a BoxGrinder sticker on his laptop!) presented
      &lt;a href=&quot;https://fedorahosted.org/matahari/&quot;&gt;&lt;strong&gt;Matahari&lt;/strong&gt;&lt;/a&gt; which is a
      system for managing system services using agents connected to a
      bus. It's pluggable, so you can write your own agent to meet your
      needs. Transcript is located
      &lt;a href=&quot;http://meetbot.fedoraproject.org/fudcon-room-3/2011-01-30/fudcon-room-3.2011-01-30-14.40.log.txt&quot;&gt;here&lt;/a&gt;
      (2nd half of it) and slides
      &lt;a href=&quot;https://fedorahosted.org/matahari/wiki/MatahariOverviewPreso&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
      
      &lt;p&gt;At the end of first day at FUDCon we went to &lt;strong&gt;FUDPub&lt;/strong&gt; to enjoy
      some beers with others, chat and play games! I was surprised on how
      good it was organized. We had a few bowling tracks for us,
      ping-pong, snooker and some other fun stuff. Thanks Fedora!&lt;/p&gt;
      
      &lt;p&gt;And of
      course I enjoyed Tempe. Drink some beers at
      &lt;a href=&quot;http://www.gordonbiersch.com/&quot;&gt;Gordon Biersch's brewery&lt;/a&gt; and
      walked around the city. Took also a quick trip to Phoenix. You can
      see all my photos
      &lt;a href=&quot;http://www.flickr.com/photos/goldmann/sets/72157625987834584/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
      
      &lt;p&gt;Yes, &lt;strong&gt;FUDCon in Tempe was a great experience&lt;/strong&gt;, thanks everyone
      for organizing and attending this event. see you next time!&lt;/p&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2011/01/29/fudcon-2011-tempe-slides-from-boxgrinder-talk/</id>
    <title>FUDCon 2011 Tempe slides from BoxGrinder talk</title>
    <updated>2011-01-29T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2011/01/29/fudcon-2011-tempe-slides-from-boxgrinder-talk/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      As promised - I've just uploaded my slides from
      BoxGrinder talk I presented at
      FUDCon 2011 in Tempe.
      
      [Update 31.01.2011]
      
      It seems slideshare messed a bit code
      listings on some slides.
      Pleasedownload the original PDF
      for a better quality.
      
      
      
      
      Enjoy!
      ......
    </summary>
    <content type='html'>
      &lt;p&gt;As promised - I've just uploaded my slides from
      &lt;a href=&quot;http://jboss.org/boxgrinder&quot;&gt;BoxGrinder&lt;/a&gt; talk I presented at
      &lt;a href=&quot;http://fedoraproject.org/wiki/FUDCon:Tempe_2011&quot;&gt;FUDCon 2011 in Tempe&lt;/a&gt;.&lt;/p&gt;
      
      &lt;p&gt;&lt;strong&gt;[Update 31.01.2011]&lt;/strong&gt;&lt;/p&gt;
      
      &lt;p&gt;It seems slideshare messed a bit code
      listings on some slides.
      Please&lt;a href=&quot;http://www.slideshare.net/marekgoldmann/boxgrinder-fudcon-2011-tempe/download&quot;&gt;download the original PDF&lt;/a&gt;
      for a better quality.&lt;/p&gt;
      
      &lt;div id=&quot;__ss_6747810&quot; style=&quot;width:425px&quot;&gt;&lt;object id=&quot;__sse6747810&quot; height=&quot;355&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=boxgrinderfudcon2011tempe-110129161612-phpapp02&amp;stripped_title=boxgrinder-fudcon-2011-tempe&amp;userName=marekgoldmann&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot; /&gt;&lt;embed name=&quot;__sse6747810&quot; allowfullscreen=&quot;true&quot; src=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=boxgrinderfudcon2011tempe-110129161612-phpapp02&amp;stripped_title=boxgrinder-fudcon-2011-tempe&amp;userName=marekgoldmann&quot; allowscriptaccess=&quot;always&quot; type=&quot;application/x-shockwave-flash&quot; height=&quot;355&quot; width=&quot;425&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;
      
      
      &lt;p&gt;Enjoy!&lt;/p&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2011/01/26/boxgrinder-build-0-8-0-features-using-boxgrinder-as-a-library/</id>
    <title>BoxGrinder Build 0.8.0 features: Using BoxGrinder as a library</title>
    <updated>2011-01-26T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2011/01/26/boxgrinder-build-0-8-0-features-using-boxgrinder-as-a-library/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      This
      is the second article about the upcoming BoxGrinder Build 0.8.0
      features. Previously I
      highlighted new configuration and CLI.
      Today I'll show how easy it is to use BoxGrinder from a ruby
      script.
      
      Background
      
      Currently if you want to use BoxGrinder Build in a script, you are
      forced to execute a shell process where you specify command line
      arguments. Although this is a simple solution - it isn't very
      clean. Take a look at this trivial example:
      
      #!/bin/env ruby
      puts "Building appliance XYZ..."
      system "boxgrinder build xyz.appl -p vmware -d local"
      puts "Done!"
      
      
      There are a couple of disadvantages
      to this solution:
      
      
      Logging - catching STDOUT and STDERR logs from a process
      and redirecting them to our logger......
    </summary>
    <content type='html'>
      &lt;p&gt;This
      is the second article about the &lt;strong&gt;upcoming BoxGrinder Build 0.8.0&lt;/strong&gt;
      features. Previously I
      &lt;a href=&quot;http://staging.boxgrinder.org/blog/boxgrinder-build-0-8-0-features-new-configuration-and-cli&quot;&gt;highlighted new configuration and CLI&lt;/a&gt;.
      Today I'll show how easy it is to use BoxGrinder from a ruby
      script.&lt;/p&gt;
      
      &lt;h1&gt;Background&lt;/h1&gt;
      
      &lt;p&gt;Currently if you want to use BoxGrinder Build in a script, you are
      forced to execute a shell process where you specify command line
      arguments. Although this is a simple solution - it isn't very
      clean. Take a look at this trivial example:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;#!/bin/env ruby&amp;#x000A;puts &quot;Building appliance XYZ...&quot;&amp;#x000A;system &quot;boxgrinder build xyz.appl -p vmware -d local&quot;&amp;#x000A;puts &quot;Done!&quot;&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;There are a couple of disadvantages
      to this solution:&lt;/p&gt;
      
      &lt;ol&gt;
      &lt;li&gt;&lt;strong&gt;Logging&lt;/strong&gt; - catching STDOUT and STDERR logs from a process
      and redirecting them to our logger is painful and unreliable. We
      also lose access to any log levels that are just written to
      BoxGrinder's log.&lt;/li&gt;
      &lt;li&gt;Firing up another process, well, &lt;strong&gt;sucks&lt;/strong&gt;.&lt;/li&gt;
      &lt;/ol&gt;
      
      
      &lt;h1&gt;Work log&lt;/h1&gt;
      
      &lt;p&gt;Work on this issue was divided in to two tasks:&lt;/p&gt;
      
      &lt;ol&gt;
      &lt;li&gt;Generally allow to use it as a library:
      &lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-79&quot;&gt;BGBUILD-79&lt;/a&gt;,&lt;/li&gt;
      &lt;li&gt;Don't require to use file-based appliance definition files:
      &lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-127&quot;&gt;BGBUILD-127&lt;/a&gt;.&lt;/li&gt;
      &lt;/ol&gt;
      
      
      &lt;p&gt;The first task was quite easy to accomplish. The second was a bit
      tricky as I wanted to have &lt;strong&gt;exactly the same entry point&lt;/strong&gt; for
      file- and string-based definitions.&lt;/p&gt;
      
      &lt;h1&gt;Result&lt;/h1&gt;
      
      &lt;h2&gt;Appliance definition stored in a file&lt;/h2&gt;
      
      &lt;p&gt;Consider the following:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;#!/bin/env ruby&amp;#x000A;require 'rubygems'&amp;#x000A;require 'boxgrinder-build'&amp;#x000A;&amp;#x000A;log = BoxGrinder::LogHelper.new(:level =&amp;gt; :trace)&amp;#x000A;log.info &quot;Building appliance XYZ...&quot;&amp;#x000A;&amp;#x000A;begin&amp;#x000A;  BoxGrinder::Appliance.new('xyz.appl', BoxGrinder::Config.new(:platform =&amp;gt; :vmware, :deelivery =&amp;gt; :local), :log =&amp;gt; log).create&amp;#x000A;  log.info &quot;Done!&quot;&amp;#x000A;rescue =&amp;gt; e&amp;#x000A;  log.error e&amp;#x000A;  log.error &quot;Appliance build failed!&quot;&amp;#x000A;end&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;&lt;strong&gt;As you can see we create an Appliance object and execute create method on it. Easy, right?&lt;/strong&gt;&lt;/p&gt;
      
      &lt;p&gt;We also create a Config object where we specify what platform we
      want to use (:platform), whether we want to remove previous builds
      (:force) or other parameters. For a full list of parameters, see
      the
      &lt;a href=&quot;https://github.com/boxgrinder/boxgrinder-core/blob/master/lib/boxgrinder-core/models/config.rb&quot;&gt;Config class source code&lt;/a&gt;.&lt;/p&gt;
      
      &lt;p&gt;We also inject a logger. You are free to &lt;strong&gt;use your own logger&lt;/strong&gt; of
      course! The logger must respond to info, warn, error, debug and
      &lt;strong&gt;trace&lt;/strong&gt; methods. For more info, please take a look at our
      &lt;a href=&quot;https://github.com/boxgrinder/boxgrinder-core/blob/master/lib/boxgrinder-core/helpers/log-helper.rb&quot;&gt;LogHelper&lt;/a&gt;.&lt;/p&gt;
      
      &lt;h2&gt;Appliance definition stored in an object&lt;/h2&gt;
      
      &lt;p&gt;If you need to dynamically build the appliance definition, you can
      pass it as a YAML string instead of writing it to a file:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;#!/bin/env ruby&amp;#x000A;require 'rubygems'&amp;#x000A;require 'boxgrinder-build'&amp;#x000A;&amp;#x000A;appliance = {'name' =&amp;gt; 'xyz', 'hardware' =&amp;gt; {'partitions' =&amp;gt; {'/' =&amp;gt; {'size' =&amp;gt; 5}}}, 'os' =&amp;gt; {'name' =&amp;gt; 'fedora', 'version' =&amp;gt; 14}, 'packages' =&amp;gt; ['mc', 'openssh-clients', 'postgresql-server']}&amp;#x000A;&amp;#x000A;log = BoxGrinder::LogHelper.new(:level =&amp;gt; :trace)&amp;#x000A;log.info &quot;Building appliance XYZ...&quot;&amp;#x000A;&amp;#x000A;begin&amp;#x000A;  BoxGrinder::Appliance.new(appliance.to_yaml, BoxGrinder::Config.new(:platform =&amp;gt; :vmware, :deelivery =&amp;gt; :local), :log =&amp;gt; log).create&amp;#x000A;  log.info &quot;Done!&quot;&amp;#x000A;rescue =&amp;gt; e&amp;#x000A;  log.error e&amp;#x000A;  log.error &quot;Appliance build failed!&quot;&amp;#x000A;end&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;h1&gt;Conclusion&lt;/h1&gt;
      
      &lt;p&gt;The upcoming BoxGrinder Build 0.8.0 will greatly simplify and
      empower interaction between your Ruby code and BoxGrinder. But if
      you're not satisfied with the details - feel free to
      &lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD&quot;&gt;create an issue&lt;/a&gt;!&lt;/p&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2011/01/25/boxgrinder-build-0-8-0-features-new-configuration-and-cli/</id>
    <title>BoxGrinder Build 0.8.0 features: New configuration and CLI</title>
    <updated>2011-01-25T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2011/01/25/boxgrinder-build-0-8-0-features-new-configuration-and-cli/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      With
      the upcoming 0.8.0 BoxGrinder Build version we have decided to
      change a bit the way of configuring and using it. The changes
      affect both the configuration files and the command line interface.
      Read on to learn more!
      
      Configuration file
      
      While we had a global configuration file earlier but it wasn't
      really exposed because the functionally was far away from worth
      mentioning. But now it's changed! As you may expect, the
      configuration file uses YAML format. There are some interesting
      parameters you can set. Let's take a look at them. By default
      BoxGrinder will look in $HOME/.boxgrinder/config file for
      configuration data. But you can easily override it
      using BG_CONFIG_FILE environment variable:
      
      export BG_CONFIG_FILE=/home/boxgrinder/boxgrinder_config_file ......
    </summary>
    <content type='html'>
      &lt;p&gt;With
      the upcoming 0.8.0 BoxGrinder Build version we have decided to
      change a bit the way of configuring and using it. The changes
      affect both the configuration files and the command line interface.
      Read on to learn more!&lt;/p&gt;
      
      &lt;h1&gt;Configuration file&lt;/h1&gt;
      
      &lt;p&gt;While we had a global configuration file earlier but it wasn't
      really exposed because the functionally was far away from worth
      mentioning. But now it's changed! As you may expect, the
      configuration file uses YAML format. There are some interesting
      parameters you can set. Let's take a look at them. By default
      BoxGrinder will look in &lt;code&gt;$HOME/.boxgrinder/config&lt;/code&gt; file for
      configuration data. But you can easily override it
      using &lt;code&gt;BG_CONFIG_FILE&lt;/code&gt; environment variable:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;export BG_CONFIG_FILE=/home/boxgrinder/boxgrinder_config_file   &amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;h2&gt;Global configuration&lt;/h2&gt;
      
      &lt;h3&gt;Logging&lt;/h3&gt;
      
      &lt;p&gt;You can set the log level. Choose between: info (default), warn,
      error, debug and trace.&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;log_level: trace    &amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;h3&gt;Cleaning a build&lt;/h3&gt;
      
      &lt;p&gt;To remove previous build for selected appliance (other will stay
      untouched) - force it!&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;force: true&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;h3&gt;Directories&lt;/h3&gt;
      
      &lt;p&gt;You can adjust paths for two type of directories:&lt;/p&gt;
      
      &lt;ul&gt;
      &lt;li&gt;&lt;strong&gt;root&lt;/strong&gt; - where everything happens: where appliance is created
      and logs are stored. By default this is set to current folder.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;cache&lt;/strong&gt; - where cached files are stored. Currently used only
      by RPM-based OS plugin and similar to store downloaded RPMs.
      Default is &lt;code&gt;/var/cache/boxgrinder&lt;/code&gt;.&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;p&gt;Example:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;dir:&amp;#x000A;  root: /home/boxgrinder/work&amp;#x000A;  cache: /home/boxgrinder/cache&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;h3&gt;Custom plugins&lt;/h3&gt;
      
      &lt;p&gt;If you
      &lt;a href=&quot;http://community.jboss.org/docs/DOC-15555&quot;&gt;wrote a BoxGrinder Build plugin&lt;/a&gt;
      and you want to include it - you need to tell BoxGrinder the name
      of the plugin. Provide the name to BoxGrinder, and the plugin will
      be registered and ready to use.&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;additional_plugins:&amp;#x000A;  - some-funky-bg-plugin&amp;#x000A;  - another-great-bg-plugin&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;h2&gt;Plugin configurations&lt;/h2&gt;
      
      &lt;p&gt;But that's not everything.
      &lt;strong&gt;Now plugins will use this global configuration file instead of having one file per plugin.&lt;/strong&gt;
      This will simplify configuration management. It's simple to update
      your current configuration. Just copy the data form your plugin
      configuration file to a section marked with the plugin name.&lt;/p&gt;
      
      &lt;p&gt;Let's
      take a look at local delivery plugin configuration file stored in
      &lt;code&gt;~/.boxgrinder/plugins/local&lt;/code&gt; file:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;path: /var/boxgrinder/appliances&amp;#x000A;package: false&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;This is how
      you'll write in new BoxGrinder Build configuration file.&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;plugins:&amp;#x000A;  local:&amp;#x000A;    path: /var/boxgrinder/appliances&amp;#x000A;    package: false    &amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;h1&gt;Command Line Interface&lt;/h1&gt;
      
      &lt;p&gt;We have updated also BoxGrinder CLI. With move from
      &lt;a href=&quot;http://rubygems.org/gems/commander&quot;&gt;commander&lt;/a&gt; gem to
      &lt;a href=&quot;http://rubygems.org/gems/thor&quot;&gt;thor&lt;/a&gt; - we won &lt;strong&gt;more flexibility&lt;/strong&gt;
      on parsing user input. Take a look at built-in help command:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;$ boxgrinder help build&amp;#x000A;&amp;#x000A;BoxGrinder Build:&amp;#x000A;  A tool for building VM images from simple definition files.&amp;#x000A;&amp;#x000A;Documentation:&amp;#x000A;&amp;#x000A;http://community.jboss.org/docs/DOC-14358&amp;#x000A;&amp;#x000A;Examples:&amp;#x000A;  $ boxgrinder build jeos.appl                                                           # Build KVM image for jeos.appl&amp;#x000A;  $ boxgrinder build jeos.appl --os-config format:qcow2                                  # Build KVM image for jeos.appl with a qcow2 disk&amp;#x000A;  $ boxgrinder build jeos.appl -f                                                        # Build KVM image for jeos.appl with removing previous build for this image&amp;#x000A;  $ boxgrinder build jeos.appl -p ec2 -d ami                                             # Build and register AMI for jeos.appl&amp;#x000A;  $ boxgrinder build jeos.appl -p vmware --platform-config type:personal thin_disk:true  # Build VMware image for VMware Server, Player, Fusion using thin (growing) disk&amp;#x000A;  $ boxgrinder build jeos.appl -p vmware -d local                                        # Build VMware image for jeos.appl and deliver it to local directory&amp;#x000A;&amp;#x000A;Usage:&amp;#x000A;  boxgrinder build [appliance definition file] [options]&amp;#x000A;&amp;#x000A;Options:&amp;#x000A;      [--platform-config=key:value]           # Platform plugin options.&amp;#x000A;  -d, [--delivery=DELIVERY]                   # The delivery method for selected appliance.&amp;#x000A;                                              # Default: none&amp;#x000A;      [--debug]                               # Prints debug information while building. Default: false.&amp;#x000A;      [--os-config=key:value]                 # Operating system plugin options.&amp;#x000A;      [--trace]                               # Prints trace information while building. Default: false.&amp;#x000A;  -f, [--force]                               # Force image creation - removes all previous builds for selected appliance. Default: false.&amp;#x000A;      [--delivery-config=key:value]           # Delivery plugin options.&amp;#x000A;  -l, [--additional-plugins=plugin1 plugin2]  # Space separated list of additional plugins. Default: empty.&amp;#x000A;  -p, [--platform=PLATFORM]                   # The name of platform you want to convert to.&amp;#x000A;                                              # Default: none&amp;#x000A;&amp;#x000A;Create an image from selected appliance definition for selected platform and deliver it using selected method.&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;Please notice that the
      &lt;strong&gt;executable was changed from boxgrinder-build to boxgrinder&lt;/strong&gt;!&lt;/p&gt;
      
      &lt;p&gt;Some options you already know, like -p or -d switches, but some are
      new. Most important change is that
      &lt;strong&gt;you can specify plugin options using CLI from now!&lt;/strong&gt; Sometimes
      you want to change the bucket name or other thing just for one
      build. Now you can do this - overriding values specified in
      configuration file.&lt;/p&gt;
      
      &lt;p&gt;Let's override local delivery plugin
      configuration specified in above configuration file.&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;$ boxgrinder build jeos.appl -p vmware -d local --platform-config type:personal thin_disk:true --delivery-config path:'/var/boxgrinder/tmp' package:true    &amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;Now you have
      the idea how it works! That's all for today. In the next article
      I'll discuss another nice 0.8.0 feature: using BoxGrinder Build as
      a library! If you have question or comments - feel free to join #boxgrinder channel on irc.freenode.net!&lt;/p&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2011/01/03/boxgrinder-build-0-7-1-released/</id>
    <title>BoxGrinder Build 0.7.1 released!</title>
    <updated>2011-01-03T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2011/01/03/boxgrinder-build-0-7-1-released/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      New
      Year - new release! I decided to push out a bugfix release for
      BoxGrinder Build because of one nasty bug:
      BGBUILD-124 which
      prevented from mounting more that one partition in libguestfs.
      
      I removed also unused RPM database recreation code which is not
      necessary after we
      dropped Fedora 11 and 12 support in 0.7.0.
      
      This update is immediately available for download from
      our repositoryas well as
      from Fedora updates-testing repo.
      
      Bug
      
      
      [BGBUILD-124] -
      Guestfs fails while mounting multiple partitions with '_' prefix
      
      
      
      Task
      
      
      [BGBUILD-122] -
      Remove kernel recreation for Fedora EC2 images
      [BGBUILD-123] -
      Remove RPM database recreation code
      [BGBUILD-125] -
      Create kickstart files in RPM-based OS plugin in a temporary
      directory
      
      
      ......
    </summary>
    <content type='html'>
      &lt;p&gt;New
      Year - new release! I decided to push out a bugfix release for
      BoxGrinder Build because of one nasty bug:
      &lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-124&quot;&gt;BGBUILD-124&lt;/a&gt; which
      &lt;strong&gt;prevented from mounting more that one partition in libguestfs&lt;/strong&gt;.&lt;/p&gt;
      
      &lt;p&gt;I removed also unused RPM database recreation code which is not
      necessary after we
      &lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-117&quot;&gt;dropped Fedora 11 and 12 support in 0.7.0&lt;/a&gt;.&lt;/p&gt;
      
      &lt;p&gt;This update is immediately available for download from
      &lt;a href=&quot;http://repo.boxgrinder.org/boxgrinder/&quot;&gt;our repository&lt;/a&gt;as well as
      from Fedora updates-testing repo.&lt;/p&gt;
      
      &lt;h2&gt;Bug&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-124&quot;&gt;BGBUILD-124&lt;/a&gt;] -
      Guestfs fails while mounting multiple partitions with '_' prefix&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Task&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-122&quot;&gt;BGBUILD-122&lt;/a&gt;] -
      Remove kernel recreation for Fedora EC2 images&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-123&quot;&gt;BGBUILD-123&lt;/a&gt;] -
      Remove RPM database recreation code&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-125&quot;&gt;BGBUILD-125&lt;/a&gt;] -
      Create kickstart files in RPM-based OS plugin in a temporary
      directory&lt;/li&gt;
      &lt;/ul&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2010/12/19/boxgrinder-build-0-7-0-is-out/</id>
    <title>BoxGrinder Build 0.7.0 is out!</title>
    <updated>2010-12-19T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2010/12/19/boxgrinder-build-0-7-0-is-out/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      I'm
      pleased to announce new BoxGrinder Build release: 0.7.0. With this
      release we fixed some issues, especially related to Fedora 14 on
      EC2. There are also new nice features as well, read on! For full
      change list read release notes below.
      
      Fedora 11 and 12 support removed
      
      As Fedora 11 and 12 have reached End Of Life - we removed support
      for creating appliance for this operating systems.
      
      EC2 appliances changes
      
      We fixed some issues related to Fedora 14 on EC2. You can use now
      SElinux with Fedora 13/14 on EC2 without issues! We introduced
      another important change:
      you cannot log in now to your EC2 instance using root account - use......
    </summary>
    <content type='html'>
      &lt;p&gt;I'm
      pleased to announce new BoxGrinder Build release: 0.7.0. With this
      release we fixed some issues, especially related to Fedora 14 on
      EC2. There are also new nice features as well, read on! For full
      change list read release notes below.&lt;/p&gt;
      
      &lt;h1&gt;Fedora 11 and 12 support removed&lt;/h1&gt;
      
      &lt;p&gt;As Fedora 11 and 12 have reached End Of Life - we removed support
      for creating appliance for this operating systems.&lt;/p&gt;
      
      &lt;h1&gt;EC2 appliances changes&lt;/h1&gt;
      
      &lt;p&gt;We fixed some issues related to Fedora 14 on EC2. You can use now
      &lt;strong&gt;SElinux&lt;/strong&gt; with Fedora 13/14 on EC2 without issues! We introduced
      another important change:
      &lt;strong&gt;you cannot log in now to your EC2 instance using root account - use ec2-user account instead&lt;/strong&gt;.
      This user has full sudo access, without password, so you'll be
      still able to execute administration tasks.&lt;/p&gt;
      
      &lt;h1&gt;VMware plugin update&lt;/h1&gt;
      
      &lt;p&gt;&lt;a href=&quot;http://community.jboss.org/docs/DOC-15528&quot;&gt;VMware plugin&lt;/a&gt; was
      updated to add thin disk support. This can save a lot of disk
      space, especially when you use it on your laptop/desktop. With this
      change we introduced a configuration file for VMware plugin. Below
      you an find a sample configuration file:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;type: personal   # or enterprise&amp;#x000A;thin_disk: true  # default: false&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;Please save the content under
      &lt;strong&gt;$HOME/.boxgrinder/plugins/vmware&lt;/strong&gt; file.&lt;/p&gt;
      
      &lt;h1&gt;New meta appliance&lt;/h1&gt;
      
      &lt;p&gt;We released new meta appliance, version 1.3. With this release we
      moved to Fedora 14 for our base system. You can grab meta appliance
      in your favorite format from our
      &lt;a href=&quot;http://www.jboss.org/boxgrinder/downloads/build/meta-appliance&quot;&gt;download page&lt;/a&gt;.
      Of curse there also EBS AMI's uploaded to Amazon!&lt;/p&gt;
      
      &lt;h1&gt;Fedora status&lt;/h1&gt;
      
      &lt;p&gt;Almost all plugins are now in stable or updates-testing Fedora
      repository. Remaining BoxGrinder plugins were submitted for a
      review. You can watch current process status on
      &lt;a href=&quot;https://fedoraproject.org/wiki/Features/BoxGrinder#Current_status&quot;&gt;BoxGrinder feature page&lt;/a&gt;.
      Feel free to review new packages or add comments to review
      requests.&lt;/p&gt;
      
      &lt;p&gt;This means we're on time with BoxGrinder Fedora feature.
      Now only waiting for positive review and I'll start the build
      process!&lt;/p&gt;
      
      &lt;h2&gt;Euca2ools&lt;/h2&gt;
      
      &lt;p&gt;Thanks to
      &lt;a href=&quot;https://bugs.launchpad.net/euca2ools/+bug/665667/comments/9&quot;&gt;Pete&lt;/a&gt;
      and
      &lt;a href=&quot;https://bugs.launchpad.net/euca2ools/+bug/665667/comments/10&quot;&gt;Garrett&lt;/a&gt;
      we finally have fixed euca2ools package that allows to build and
      upload images to AWS.  This means that we can close
      &lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-55&quot;&gt;BGBUILD-55&lt;/a&gt; and retire
      ec2-ami-tools usage. This is very important because this allowed to
      submit EC2-related plugins to Fedora!&lt;/p&gt;
      
      &lt;h1&gt;How to install&lt;/h1&gt;
      
      &lt;p&gt;You can use our
      &lt;a href=&quot;http://repo.boxgrinder.org/boxgrinder/&quot;&gt;BoxGrinder RPM repository&lt;/a&gt;.
      Make sure you enable updates-testing repo because
      &lt;a href=&quot;https://admin.fedoraproject.org/updates/search/euca2ools-1.3.1-4&quot;&gt;euca2ools-1.3.1-4 is still in testing repository&lt;/a&gt;:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;yum --enablerepo=updates-testing install rubygem-boxgrinder-*&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;h1&gt;Release Notes&lt;/h1&gt;
      
      &lt;h2&gt;Bug&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-42&quot;&gt;BGBUILD-42&lt;/a&gt;] - No
      man pages installed in appliances&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-119&quot;&gt;BGBUILD-119&lt;/a&gt;] -
      Fix SElinux issues on EC2 appliances&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Feature Request&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-71&quot;&gt;BGBUILD-71&lt;/a&gt;] -
      Add support for growing (not pre-allocated) disks for VMware&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-73&quot;&gt;BGBUILD-73&lt;/a&gt;] -
      Add support for kickstart files&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-80&quot;&gt;BGBUILD-80&lt;/a&gt;] -
      VMware .tgz Bundle Should Expand Into Subdirectory, Not Current
      Directory&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-110&quot;&gt;BGBUILD-110&lt;/a&gt;] -
      For EC2 images don't use root account, use ec2-user instead&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-113&quot;&gt;BGBUILD-113&lt;/a&gt;] -
      Allow to specify supported file formats for operating system
      plugin&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Task&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-55&quot;&gt;BGBUILD-55&lt;/a&gt;] -
      Use euca2ools instead of ec2-ami-tools&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-59&quot;&gt;BGBUILD-59&lt;/a&gt;] -
      Remove all image modifications user is not expecting&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-85&quot;&gt;BGBUILD-85&lt;/a&gt;] -
      Adjust BoxGrinder spec files for review&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-114&quot;&gt;BGBUILD-114&lt;/a&gt;] -
      Update VMware disk geometry calculation&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-115&quot;&gt;BGBUILD-115&lt;/a&gt;] -
      PackageHelper should take directory instead of file list to package&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-117&quot;&gt;BGBUILD-117&lt;/a&gt;] -
      Remove Fedora 11 and 12 support&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://issues.jboss.org/browse/BGBUILD-118&quot;&gt;BGBUILD-118&lt;/a&gt;] -
      Enable SElinux in guestfs&lt;/li&gt;
      &lt;/ul&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2010/12/04/boxgrinder-build-0-6-5-released/</id>
    <title>BoxGrinder Build 0.6.5 released!</title>
    <updated>2010-12-04T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2010/12/04/boxgrinder-build-0-6-5-released/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      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:
      
      
      Put this......
    </summary>
    <content type='html'>
      &lt;p&gt;This
      is mostly a bugfix release including one
      &lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-109&quot;&gt;very important bug&lt;/a&gt;. 32
      bit AMIs produced by
      &lt;a href=&quot;http://fedoraproject.org/wiki/Cloud_SIG&quot;&gt;Fedora Cloud SIG&lt;/a&gt; showed
      up a nasty issue described in details in Red Hat Bugzilla
      &lt;a href=&quot;https://bugzilla.redhat.com/show_bug.cgi?id=651861&quot;&gt;bug report&lt;/a&gt;.
      After great help from Jeff Darcy - we have now a
      &lt;a href=&quot;https://bugzilla.redhat.com/show_bug.cgi?id=651861#c39&quot;&gt;workaround&lt;/a&gt;.
      This workaround is now implemented in BoxGrinder. So,
      &lt;strong&gt;if you want to build Fedora 14 AMI's - please update BoxGrinder to the latest version!&lt;/strong&gt;&lt;/p&gt;
      
      &lt;p&gt;Beginning with this version - BoxGrinder
      &lt;strong&gt;will not install ec2-ami-tools package by default for appliances converted to EC2 format&lt;/strong&gt;.
      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:&lt;/p&gt;
      
      &lt;ol&gt;
      &lt;li&gt;Put this package to a local repository and add it to packages
      section.&lt;/li&gt;
      &lt;li&gt;&lt;p&gt;Install the package using post section:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;    post:&amp;#x000A;      ec2:&amp;#x000A;        - &quot;rpm -Uvh http://s3.amazonaws.com/ec2-downloads/ec2-ami-tools.noarch.rpm&quot;&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
      &lt;/ol&gt;
      
      
      &lt;h1&gt;Release Notes&lt;/h1&gt;
      
      &lt;h2&gt;Bug&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-105&quot;&gt;BGBUILD-105&lt;/a&gt;] - No
      plugin-manager require for local delivery plugin&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-106&quot;&gt;BGBUILD-106&lt;/a&gt;] - No
      plugin-manager require for fedora os plugin&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-107&quot;&gt;BGBUILD-107&lt;/a&gt;] - No
      plugin-manager require for vmware platform plugin&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-108&quot;&gt;BGBUILD-108&lt;/a&gt;] - No
      plugin-manager require for sftp delivery plugin&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-109&quot;&gt;BGBUILD-109&lt;/a&gt;] -
      readdir64 bugfix for i386 base AMIs&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Task&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-111&quot;&gt;BGBUILD-111&lt;/a&gt;] -
      Don't install ec2-ami-tools by default in AMIs&lt;/li&gt;
      &lt;/ul&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2010/11/25/boxgrinder-0-6-4-released-on-the-road-to-fedora/</id>
    <title>BoxGrinder 0.6.4 released &amp;#x2013; on the road to Fedora</title>
    <updated>2010-11-25T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2010/11/25/boxgrinder-0-6-4-released-on-the-road-to-fedora/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      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......
    </summary>
    <content type='html'>
      &lt;p&gt;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
      &lt;a href=&quot;https://fedoraproject.org/wiki/Features/BoxGrinder&quot;&gt;BoxGrinder Feature page&lt;/a&gt;
      on Fedora wiki. On 17th November
      &lt;strong&gt;&lt;a href=&quot;http://www.jboss.org/boxgrinder&quot;&gt;BoxGrinder&lt;/a&gt; was officially accepted as a feature for Fedora 15&lt;/strong&gt;
      on &lt;a href=&quot;http://fedoraproject.org/wiki/FESCo&quot;&gt;FESCo&lt;/a&gt; meeting. See
      &lt;a href=&quot;http://meetbot.fedoraproject.org/teams/fesco/fesco.2010-11-17-18.30.log.html&quot;&gt;IRC log&lt;/a&gt;
      for details.&lt;/p&gt;
      
      &lt;p&gt;Most fixes in 0.6.4 are usability improvements. We
      finally have &lt;strong&gt;trace switch enabled by default&lt;/strong&gt; 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 &lt;strong&gt;VMware delivery&lt;/strong&gt;. 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.&lt;/p&gt;
      
      &lt;h1&gt;New nightly RPM repository&lt;/h1&gt;
      
      &lt;p&gt;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.&lt;/p&gt;
      
      &lt;p&gt;To add it to your system save
      below content as /etc/yum.repos.d/boxgrinder-nightly.repo:&lt;/p&gt;
      
      &lt;p&gt;&lt;strong&gt;[Update 23.01.2011]&lt;/strong&gt;&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;[boxgrinder-nightly]&amp;#x000A;name=BoxGrinder Nightly builds for Fedora 14&amp;#x000A;baseurl=http://repo.ci.boxgrinder.org/fedora/14/RPMS/&amp;#x000A;enabled=1&amp;#x000A;gpgcheck=0&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;h1&gt;How to update existing installations&lt;/h1&gt;
      
      &lt;p&gt;To use the latest version execute the command below if you use our
      RPM's:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;yum --enablerepo=updates-testing update rubygem-boxgrinder-*&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;In other cases use gem command
      directly:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;gem list | cut -d&quot; &quot; -f1 | grep boxgrinder | xargs sudo gem update&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;h1&gt;Release Notes&lt;/h1&gt;
      
      &lt;h2&gt;Bug&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-91&quot;&gt;BGBUILD-91&lt;/a&gt;] - Log
      exceptions to log file&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-99&quot;&gt;BGBUILD-99&lt;/a&gt;] -
      Timeout exception is not caught on non-EC2 platfrom in
      GuestFSHelper&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Feature Request&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-96&quot;&gt;BGBUILD-96&lt;/a&gt;] -
      Don't Require User to Rename VMware .vmdk and .vmx Files&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-102&quot;&gt;BGBUILD-102&lt;/a&gt;] -
      Start X on boot when X Window System group or base-x group is
      specified&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Task&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-92&quot;&gt;BGBUILD-92&lt;/a&gt;] -
      Enable --trace switch by default&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-98&quot;&gt;BGBUILD-98&lt;/a&gt;] - Use
      hashery gem&lt;/li&gt;
      &lt;/ul&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2010/11/22/how-to-install-package-group-using-boxgrinder/</id>
    <title>How to install package group using BoxGrinder?</title>
    <updated>2010-11-22T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2010/11/22/how-to-install-package-group-using-boxgrinder/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      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......
    </summary>
    <content type='html'>
      &lt;p&gt;If you want install a
      specified package in an appliance – you simply add it to packages
      section, like that:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;packages:&amp;#x000A;  includes:&amp;#x000A;    - bash&amp;#x000A;    - mc&amp;#x000A;    - ...&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;Simple. But you can do more.
      &lt;a href=&quot;http://fedoraproject.org/&quot;&gt;Fedora&lt;/a&gt; (and
      &lt;a href=&quot;http://www.redhat.com/rhel/&quot;&gt;RHEL&lt;/a&gt; too) has notion of groups. This
      helps you install a specific group of packages to have a selected
      functionality installed; for example
      &lt;a href=&quot;http://www.gnome.org/&quot;&gt;GNOME Desktop&lt;/a&gt;.&lt;/p&gt;
      
      &lt;h1&gt;What package groups are available?&lt;/h1&gt;
      
      &lt;p&gt;Please use &lt;code&gt;yum grouplist&lt;/code&gt; command for a full list of available
      package groups. Below you can find an &lt;strong&gt;incomplete&lt;/strong&gt; (stripped
      language support packages) list of groups in Fedora 14:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;Administration Tools&amp;#x000A;Mail Server&amp;#x000A;Network Servers&amp;#x000A;Ruby&amp;#x000A;System Tools&amp;#x000A;Authoring and Publishing&amp;#x000A;Base&amp;#x000A;Books and Guides&amp;#x000A;Clustering&amp;#x000A;DNS Name Server&amp;#x000A;Development Libraries&amp;#x000A;Development Tools&amp;#x000A;Directory Server&amp;#x000A;Dogtag Certificate System&amp;#x000A;Editors&amp;#x000A;Educational Software&amp;#x000A;Electronic Lab&amp;#x000A;Engineering and Scientific&amp;#x000A;FTP Server&amp;#x000A;Fedora Eclipse&amp;#x000A;Fedora Packager&amp;#x000A;Font design and packaging&amp;#x000A;Fonts&amp;#x000A;GNOME Desktop Environment&amp;#x000A;GNOME Software Development&amp;#x000A;Games and Entertainment&amp;#x000A;Graphical Internet&amp;#x000A;Graphics&amp;#x000A;Haskell&amp;#x000A;Input Methods&amp;#x000A;Java&amp;#x000A;Java Development&amp;#x000A;KDE Software Compilation&amp;#x000A;KDE Software Development&amp;#x000A;LXDE&amp;#x000A;Legacy Fonts&amp;#x000A;Legacy Network Server&amp;#x000A;Legacy Software Development&amp;#x000A;MinGW cross-compiler&amp;#x000A;Moblin Desktop Environment&amp;#x000A;MySQL Database&amp;#x000A;News Server&amp;#x000A;OCaml&amp;#x000A;Office/Productivity&amp;#x000A;OpenOffice.org Development&amp;#x000A;Perl Development&amp;#x000A;PostgreSQL Database&amp;#x000A;Server Configuration Tools&amp;#x000A;Sound and Video&amp;#x000A;Sugar Desktop Environment&amp;#x000A;Text-based Internet&amp;#x000A;Virtualization&amp;#x000A;Web Development&amp;#x000A;Web Server&amp;#x000A;Window Managers&amp;#x000A;Windows File Server&amp;#x000A;X Software Development&amp;#x000A;X Window System&amp;#x000A;XFCE&amp;#x000A;XFCE Software Development&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;h1&gt;Core group&lt;/h1&gt;
      
      &lt;p&gt;There is also one(?) additional group called &lt;strong&gt;core&lt;/strong&gt;. This group
      contains a minimal package set and is considered as
      &lt;a href=&quot;http://en.wikipedia.org/wiki/Just_enough_operating_system&quot;&gt;JEOS&lt;/a&gt;
      for Fedora. For Fedora 14 this group installs &lt;strong&gt;192 packages&lt;/strong&gt;
      (total list - including dependencies) which is a quite good result.
      Installed packages on disk take about &lt;strong&gt;500 MB&lt;/strong&gt;.&lt;/p&gt;
      
      &lt;p&gt;If you want
      create JEOS for Fedora using BoxGrinder, just specify the @core
      package group in packages list:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;packages:&amp;#x000A;  includes:&amp;#x000A;    - @core&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;We have an open issue to set @core package
      group a minimal package set to install on appliances. See
      &lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-89&quot;&gt;BGBUILD-89&lt;/a&gt; for more
      info. You can of course mix the package groups with packages - feel
      free to experiment!&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;packages:&amp;#x000A;  includes:&amp;#x000A;    - @core&amp;#x000A;    - @XFCE&amp;#x000A;    - mc&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2010/11/18/reporting-boxgrinder-build-bugs/</id>
    <title>Reporting BoxGrinder Build bugs</title>
    <updated>2010-11-18T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2010/11/18/reporting-boxgrinder-build-bugs/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      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.
      
      
      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.
      Search our forums - we have there a lot traffic and almost all known bugs were
      discussed there.
      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......
    </summary>
    <content type='html'>
      &lt;p&gt;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.&lt;/p&gt;
      
      &lt;ol&gt;
      &lt;li&gt;First of all -
      &lt;strong&gt;search &lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD&quot;&gt;our issue tracker&lt;/a&gt; for similar bugs&lt;/strong&gt;.
      Maybe it's already reported? If yes, please add a new comment -
      we'll respond to it.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Search our &lt;a href=&quot;http://community.jboss.org/en/boxgrinder?view=discussions&quot;&gt;forums&lt;/a&gt;&lt;/strong&gt; - we have there a lot traffic and almost all known bugs were
      discussed there.&lt;/li&gt;
      &lt;li&gt;&lt;p&gt;If you couldn't find anything similar to your issue -
      &lt;strong&gt;&lt;a href=&quot;http://community.jboss.org/community/post!input.jspa?containerType=14&amp;amp;container=2232&quot;&gt;start a new thread&lt;/a&gt;&lt;/strong&gt;
      and describe your issue or directly
      &lt;strong&gt;&lt;a href=&quot;https://jira.jboss.org/secure/CreateIssue.jspa?pid=12310920&amp;amp;issuetype=1&quot;&gt;open a new bug report&lt;/a&gt;&lt;/strong&gt;
      in JIRA. Please attach additional information such like:&lt;/p&gt;
      
      &lt;ul&gt;
      &lt;li&gt;Which BoxGrinder version are you using? What OS? Which
      libguestfs version you have installed? Use these commands:
      &lt;code&gt;rpm -qa | grep boxgrinder&lt;/code&gt; and/or &lt;code&gt;gem list | grep boxgrinder&lt;/code&gt;
      and &lt;code&gt;rpm -q libguestfs&lt;/code&gt;.&lt;/li&gt;
      &lt;li&gt;How did you installed BoxGrinder? (Meta appliance? Which
      version? Where do you run it? EC2? VMware? KVM?)&lt;/li&gt;
      &lt;li&gt;Attach as much logs as you can for affected build. Logs are
      located in &lt;em&gt;log/boxgrinder.log&lt;/em&gt; file. But, please strip the content
      and attach only logs for last run.&lt;/li&gt;
      &lt;li&gt;Describe your issue best you can - this really helps!&lt;/li&gt;
      &lt;/ul&gt;
      &lt;/li&gt;
      &lt;/ol&gt;
      
      
      &lt;p&gt;If you follow above steps - we'll be able to react
      &lt;strong&gt;faster and solve your problem&lt;/strong&gt;!&lt;/p&gt;
      
      &lt;p&gt;We're also available on &lt;strong&gt;IRC&lt;/strong&gt;: #boxgrinder @ irc.freenode.net where we can answer your questions
      too!&lt;/p&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2010/11/12/boxgrinder-0-6-3-released-fedora-update-and-customizable-filesystem-type/</id>
    <title>BoxGrinder 0.6.3 released &amp;#x2013; Fedora update and customizable filesystem type</title>
    <updated>2010-11-12T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2010/11/12/boxgrinder-0-6-3-released-fedora-update-and-customizable-filesystem-type/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      We're
      moving further with BoxGrinder! This release is a result of two
      things:
      
      
      We fixed a few bugs that were failing builds on CentOS/RHEL 5.x
      thanks to our community!
      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......
    </summary>
    <content type='html'>
      &lt;p&gt;We're
      moving further with BoxGrinder! This release is a result of two
      things:&lt;/p&gt;
      
      &lt;ol&gt;
      &lt;li&gt;We fixed a few bugs that were failing builds on CentOS/RHEL 5.x
      thanks to our community!&lt;/li&gt;
      &lt;li&gt;We finally started submitted BoxGrinder to Fedora!&lt;/li&gt;
      &lt;/ol&gt;
      
      
      &lt;h1&gt;BoxGrinder in Fedora&lt;/h1&gt;
      
      &lt;p&gt;&lt;strong&gt;We started officially the process of BoxGrinder inclusion into Fedora.&lt;/strong&gt;
      I created a
      &lt;a href=&quot;https://fedoraproject.org/wiki/Features/BoxGrinder&quot;&gt;BoxGrinder feature page&lt;/a&gt;.
      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.&lt;/p&gt;
      
      &lt;p&gt;I submitted
      several new RPM packages for review – you can find link on the
      &lt;a href=&quot;https://fedoraproject.org/wiki/Features/BoxGrinder&quot;&gt;feature page&lt;/a&gt;.
      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!&lt;/p&gt;
      
      &lt;p&gt;But don't worry – the plan is to include BoxGrinder for older
      Fedora's too! We're going to push it to Fedora 13+.&lt;/p&gt;
      
      &lt;h1&gt;Customizable filesystem type and options&lt;/h1&gt;
      
      &lt;p&gt;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
      &lt;strong&gt;use one supported by selected OS&lt;/strong&gt;!&lt;/p&gt;
      
      &lt;p&gt;From now Fedora 13 and 14
      default filesystem is &lt;strong&gt;ext4&lt;/strong&gt;!&lt;/p&gt;
      
      &lt;p&gt;Below you can find a snippet how to
      use it:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;hardware:&amp;#x000A;  partitions:&amp;#x000A;    &quot;/&quot;:&amp;#x000A;      size: 2&amp;#x000A;      type: ext3&amp;#x000A;      options: &quot;barrier=0,nodelalloc,nobh,noatime&quot;&amp;#x000A;    &quot;/home&quot;:&amp;#x000A;      size: 5&amp;#x000A;      type: ext4&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;h1&gt;Release Notes&lt;/h1&gt;
      
      &lt;h2&gt;Bug&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-86&quot;&gt;BGBUILD-86&lt;/a&gt;] - EBS
      plugin should inform that it can be run only on EC2&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-88&quot;&gt;BGBUILD-88&lt;/a&gt;] -
      CentOS plugin uses #ARCH# instead of #BASE_ARCH#&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-94&quot;&gt;BGBUILD-94&lt;/a&gt;] -
      Check if set_network call is avaialbe in libguestfs&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Task&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-65&quot;&gt;BGBUILD-65&lt;/a&gt;] -
      Allow to specify own repos overriding default repos provided for
      selected OS&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-87&quot;&gt;BGBUILD-87&lt;/a&gt;] - Set
      default filesystem to ext4 for Fedora 13+&lt;/li&gt;
      &lt;/ul&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2010/11/05/boxgrinder-0-6-2-finally-released/</id>
    <title>BoxGrinder 0.6.2 finally released!</title>
    <updated>2010-11-05T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2010/11/05/boxgrinder-0-6-2-finally-released/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      This
      should be really a major release. We fixed many bugs, but that's
      not everything – we added some great features too! I want highlight
      two of them.
      
      Fedora 14 support
      
      We support Fedora 14 almost on the day it was released! For all
      platforms: VMware, KVM and EC2 (both S3 and EBS-based AMI's).
      That's a great news for all Fedora lovers. I must admin this was a
      very smooth update – Fedora 14 worked perfect, thanks for the hard
      work on this sfotware!
      
      RPMs available for Fedora 13 and 14
      
      As a part of
      ongoing inclusion process in Fedora
      - we released for the first time RPM's for BoxGrinder. Currently
      these packages are......
    </summary>
    <content type='html'>
      &lt;p&gt;This
      should be really a major release. We fixed many bugs, but that's
      not everything – we added some great features too! I want highlight
      two of them.&lt;/p&gt;
      
      &lt;h1&gt;Fedora 14 support&lt;/h1&gt;
      
      &lt;p&gt;We support Fedora 14 almost on the day it was released! For all
      platforms: VMware, KVM and EC2 (both S3 and EBS-based AMI's).
      That's a great news for all Fedora lovers. I must admin this was a
      very smooth update – Fedora 14 worked perfect, thanks for the hard
      work on this sfotware!&lt;/p&gt;
      
      &lt;h1&gt;RPMs available for Fedora 13 and 14&lt;/h1&gt;
      
      &lt;p&gt;As a part of
      &lt;a href=&quot;https://fedoraproject.org/wiki/Features/BoxGrinder&quot;&gt;ongoing inclusion process in Fedora&lt;/a&gt;
      - we released for the first time RPM's for BoxGrinder. Currently
      these packages are hosted in
      &lt;a href=&quot;http://repo.boxgrinder.org/boxgrinder/packages/&quot;&gt;our repository&lt;/a&gt;,
      therefore if you want to add BoxGrinder to your Fedora box - you'll
      need to add this repo to your environment. In the future you'll be
      able to install BoxGrinder directly from Fedora repos. To add
      BoxGrinder to your box, just grab our repo definition and store it
      in &lt;code&gt;/etc/yum.repos.d/&lt;/code&gt; directory:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;curl http://repo.boxgrinder.org/boxgrinder/boxgrinder.repo &amp;gt; /etc/yum.repos.d/boxgrinder.repo&amp;#x000A;yum install rubygem-boxgrinder-build-fedora-os-plugin&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;From now
      this is the &lt;strong&gt;preferred way of installing BoxGrinder on Fedora&lt;/strong&gt; -
      please don't use gem command directly! If you have troubles -
      please fill a new bug report in
      &lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD&quot;&gt;our issue tracker&lt;/a&gt;.&lt;/p&gt;
      
      &lt;h1&gt;EBS-based EC2 meta appliance&lt;/h1&gt;
      
      &lt;p&gt;Yes - we hear your voice. There is now
      an &lt;a href=&quot;http://www.jboss.org/boxgrinder/downloads/build/meta-appliance.html&quot;&gt;EBS-based meta appliance&lt;/a&gt;
      (version 1.2). This prevents your work from being lost on EC2.&lt;/p&gt;
      
      &lt;p&gt;As
      usual - we're waiting for you in our IRC channel: #boxgrinder on
      irc.freenode.net and on
      &lt;a href=&quot;http://community.jboss.org/en/boxgrinder?view=discussions&quot;&gt;our forums&lt;/a&gt;.&lt;/p&gt;
      
      &lt;p&gt;Below you can find full list of fixed issues:&lt;/p&gt;
      
      &lt;h2&gt;Bug&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-57&quot;&gt;BGBUILD-57&lt;/a&gt;] -
      Additional packages specified in EC2 plugin aren't installed&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-61&quot;&gt;BGBUILD-61&lt;/a&gt;] - EBS
      availability_zone should be defaulted to current running instance
      availability zone&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-81&quot;&gt;BGBUILD-81&lt;/a&gt;] - post
      command execution w/ setarch breaks commands which are scripts&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-82&quot;&gt;BGBUILD-82&lt;/a&gt;] - Root
      password not set when selinux packages are added&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-84&quot;&gt;BGBUILD-84&lt;/a&gt;] -
      Don't use in libguestfs qemu-kvm where hardware accleration isn't
      available&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Feature Request&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-70&quot;&gt;BGBUILD-70&lt;/a&gt;] -
      Enable Ephemeral Storage on EBS Images&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-76&quot;&gt;BGBUILD-76&lt;/a&gt;] - Add
      swap to EBS AMI's&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Task&lt;/h2&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-63&quot;&gt;BGBUILD-63&lt;/a&gt;] - Use
      'aws' gem instead 'aws-s3' because it's already packaged in Fedora&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-64&quot;&gt;BGBUILD-64&lt;/a&gt;] - Add
      support for Fedora 14&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-65&quot;&gt;BGBUILD-65&lt;/a&gt;] -
      Allow to specify own repos overriding default repos provided for
      selected OS&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-66&quot;&gt;BGBUILD-66&lt;/a&gt;] -
      Store tarred appliances files in s3-plugin/ dir for s3-plugin&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-67&quot;&gt;BGBUILD-67&lt;/a&gt;] - Add
      Fedora 14 support for S3 delivery plugin and EBS delivery plugin&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-33&quot;&gt;BGBUILD-33&lt;/a&gt;] -
      Create spec files for BoxGrinder for Fedora&lt;/li&gt;
      &lt;/ul&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2010/10/23/judcon-2010-berlin-impressions/</id>
    <title>JUDCon 2010 Berlin - impressions</title>
    <updated>2010-10-23T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2010/10/23/judcon-2010-berlin-impressions/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      It's
      over two weeks after JUDCon and I hadn't wrote anything yet. Now
      it's finally time to share my impressions on last
      JUDcon Europe we had in Berlin.
      This was the first JBoss User and Developer Conference in Europe.
      How it was? What I liked the best? Read on!
      
      Berlin
      
      Yes, it's a great choice for conference (and not only!). Transport
      infrastructure is on highest level. You spend no time to wait for
      next train/tram, no traffic jams if you arrive by car.
      
      Venue
      
      Conference was held in
      Radialsystem V.
      This is a really nice venue – perfect for such mid-size conference.
      There was one big room downstairs (for 200 people) where everyone
      could sit......
    </summary>
    <content type='html'>
      &lt;p&gt;It's
      over two weeks after JUDCon and I hadn't wrote anything yet. Now
      it's finally time to share my impressions on last
      &lt;a href=&quot;http://www.jboss.org/events/JUDCon/JUDCon2010Berlin.html&quot;&gt;JUDcon Europe we had in Berlin&lt;/a&gt;.
      This was the first JBoss User and Developer Conference in Europe.
      How it was? What I liked the best? Read on!&lt;/p&gt;
      
      &lt;h1&gt;Berlin&lt;/h1&gt;
      
      &lt;p&gt;Yes, it's a great choice for conference (and not only!). Transport
      infrastructure is on highest level. You spend no time to wait for
      next train/tram, no traffic jams if you arrive by car.&lt;/p&gt;
      
      &lt;h1&gt;Venue&lt;/h1&gt;
      
      &lt;p&gt;Conference was held in
      &lt;a href=&quot;http://www.radialsystem.de/rebrush/index.php&quot;&gt;Radialsystem V&lt;/a&gt;.
      This is a really nice venue – perfect for such mid-size conference.
      There was one big room downstairs (for 200 people) where everyone
      could sit down and talk with others. We had there lunch and dinner.
      There were also 2 rooms with space for 60 people upstairs where the
      talks were presented.&lt;/p&gt;
      
      &lt;h1&gt;Talks&lt;/h1&gt;
      
      &lt;p&gt;We
      had four tracks: SOA and integration, Cloud and large sale
      distributed systems, Workflow and BPM and JBoss AS 6 and 7. I
      attended Cloud and JBoss AS tracks.&lt;/p&gt;
      
      &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://www.jboss.org/infinispan&quot;&gt;Infinispan&lt;/a&gt;&lt;/strong&gt; talks (we had
      many of them, maybe too many...) were really well attended.
      &lt;a href=&quot;http://galder.zamarreno.com/&quot;&gt;Galder&lt;/a&gt; and
      &lt;a href=&quot;http://community.jboss.org/people/mircea.markus&quot;&gt;Markus&lt;/a&gt; have done
      great job introducing us to Infinispan and talking about Infinispan
      internals!&lt;/p&gt;
      
      &lt;p&gt;&lt;a href=&quot;http://belaban.blogspot.com/&quot;&gt;Bela&lt;/a&gt; had presented a
      brand new talk on clustering &lt;strong&gt;JBoss AS in the Cloud&lt;/strong&gt; – as always
      – it was pleasure to listen to him. The talk showed all various
      methods we have in JBoss AS to discover nodes in the Cloud. And the
      live demo part (80% of the talk) was great!&lt;/p&gt;
      
      &lt;p&gt;Next we could see
      &lt;a href=&quot;http://community.jboss.org/people/petemuir&quot;&gt;Pete's&lt;/a&gt; talk on
      &lt;strong&gt;Seam in the Cloud&lt;/strong&gt; – he presented the ability to integrate JBoss
      Developer studio and a JBoss AS running in the Cloud. Very nice!&lt;/p&gt;
      
      &lt;p&gt;Adrian
      (a.k.a. jclouds guy) and
      &lt;a href=&quot;http://community.jboss.org/people/aslak&quot;&gt;Aslak&lt;/a&gt; gave us
      introduction to testing in the Cloud. Can you imagine testing
      worker nodes in the Cloud? Try
      &lt;strong&gt;&lt;a href=&quot;http://www.jboss.org/arquillian&quot;&gt;Arquillian&lt;/a&gt;&lt;/strong&gt; and
      &lt;strong&gt;&lt;a href=&quot;http://www.jclouds.org/&quot;&gt;jclouds&lt;/a&gt;&lt;/strong&gt;!&lt;/p&gt;
      
      &lt;p&gt;On the next day I saw
      &lt;a href=&quot;http://jmesnil.net/weblog/&quot;&gt;Jeff's&lt;/a&gt; talk on
      &lt;strong&gt;&lt;a href=&quot;http://jboss.org/hornetq&quot;&gt;HornetQ&lt;/a&gt;&lt;/strong&gt; – very clean and
      informative talk. I like very much live demos – and I saw that
      people enjoyed it too!&lt;/p&gt;
      
      &lt;p&gt;Then I saw a
      &lt;strong&gt;&lt;a href=&quot;http://www.jboss.org/drools&quot;&gt;Drools&lt;/a&gt;&lt;/strong&gt; talk showing us the
      application of the rule-based engines in assistive technology. This
      was a video teleconference with US because
      &lt;a href=&quot;http://community.jboss.org/people/tsurdilovic&quot;&gt;Tihomir&lt;/a&gt; couldn't
      make it to Berlin. It went extremely well – even when there was no
      presenter on the stage. Thanks Tihomir!&lt;/p&gt;
      
      &lt;p&gt;Next talk on JBoss AS felt
      out because the presenter was sick and I presented
      &lt;strong&gt;&lt;a href=&quot;http://www.jboss.org/boxgrinder.html&quot;&gt;BoxGrinder&lt;/a&gt;&lt;/strong&gt;. Even when
      people expected another talk – many of them stayed and listened to
      my talk. I'm very happy how it went (glad I prepared some slides in
      the train). Thanks guys for listening and for all the questions!&lt;/p&gt;
      
      &lt;p&gt;Last talk I saw was presented by Matt and the topic was
      &lt;strong&gt;JBoss AS performance tuning techniques&lt;/strong&gt;. Matt showed pretty easy
      tools which can help us to diagnose the problems. Good!&lt;/p&gt;
      
      &lt;h1&gt;Hackfest&lt;/h1&gt;
      
      &lt;p&gt;On first day, after the dinner, we had Lightening talks and
      &lt;a href=&quot;http://community.jboss.org/docs/DOC-15929&quot;&gt;Hackfest&lt;/a&gt;. This was the
      time where people meet, drink beer, code and talk. Simple? Yes, it
      is. But you can receive much more than just a free beer. You can
      exchange your experience with other community members, more – with
      JBoss developers! You can, or even should code something (see name:
      Hackfest) with our developers.&lt;/p&gt;
      
      &lt;p&gt;And besides of this – it's a great
      way to spend time! I finally met people I'm talking on daily basis
      on IRC – and it was a great experience. Thanks!&lt;/p&gt;
      
      &lt;h1&gt;Summary&lt;/h1&gt;
      
      &lt;p&gt;For me it was a very nice conference. I was feeling like a
      community member. Only Hackfest could be more organized, as
      &lt;a href=&quot;http://community.jboss.org/en/judcon/blog/2010/10/19/judcon-berlin-2010-retrospective&quot;&gt;Mark pointed out&lt;/a&gt;.
      In spite of this – it was a great time for me. Thanks and see you
      next year!&lt;/p&gt;
      
      &lt;p&gt;P.S. Some
      &lt;a href=&quot;http://www.flickr.com/photos/goldmann/sets/72157625097328761/&quot;&gt;pics&lt;/a&gt;.&lt;/p&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2010/10/13/boxgrinder-build-0-6-0-released/</id>
    <title>BoxGrinder Build 0.6.0 released!</title>
    <updated>2010-10-13T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2010/10/13/boxgrinder-build-0-6-0-released/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      I'm
      really happy to announce availability of BoxGrinder Build 0.6.0!
      This is major release fixing many bugs. More, we added some great
      feature I'm describing below and added some usability improvements
      too! So, let's dive into new BoxGrinder!
      
      EBS AMI support
      
      As I mentioned in
      earlier post – we added
      support for building EBS-based AMI's on Amazon Web Services. The
      process is really easy – you just need bear in mind that you must
      execute the build on EC2 (we need to mount ESB volume) and
      instance on which you want to build the EBS AMI is
      in the same region as you choose for the AMI. But don't worry:
      BoxGrinder will remind......
    </summary>
    <content type='html'>
      &lt;p&gt;I'm
      really happy to announce availability of BoxGrinder Build 0.6.0!
      This is major release fixing many bugs. More, we added some great
      feature I'm describing below and added some usability improvements
      too! So, let's dive into new BoxGrinder!&lt;/p&gt;
      
      &lt;h1&gt;EBS AMI support&lt;/h1&gt;
      
      &lt;p&gt;As I mentioned in
      &lt;a href=&quot;http://staging.boxgrinder.org/blog/ebs-ami-support-for-boxgrinder&quot;&gt;earlier post&lt;/a&gt; – we added
      support for building EBS-based AMI's on Amazon Web Services. The
      process is really easy – you just need bear in mind that you must
      &lt;strong&gt;execute the build on EC2&lt;/strong&gt; (we need to mount ESB volume) and
      instance on which you want to build the EBS AMI is
      &lt;strong&gt;in the same region as you choose for the AMI&lt;/strong&gt;. But don't worry:
      BoxGrinder will remind you about this if something is wrong :)&lt;/p&gt;
      
      &lt;p&gt;For
      more info about EBS plugin please refer to
      &lt;a href=&quot;http://community.jboss.org/docs/DOC-15921&quot;&gt;EBS plugin page&lt;/a&gt; on our
      wiki or as directly on
      &lt;a href=&quot;http://community.jboss.org/en/boxgrinder?view=discussions&quot;&gt;our forums&lt;/a&gt;.&lt;/p&gt;
      
      &lt;h1&gt;Cross-arch building is now supported&lt;/h1&gt;
      
      &lt;p&gt;From now you can build 32 bit appliances on 64 hosts. This is
      supported for all OSes. If you have problems with it, please file a
      &lt;a href=&quot;https://jira.jboss.org/secure/CreateIssue.jspa?pid=12310920&amp;amp;issuetype=1&quot;&gt;new ticket&lt;/a&gt;
      in our tracking system. To build 32 bit appliances on 64 bit host
      you need to use setarch command, for example:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;setarch i386 boxgrinder-build jeos.appl&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;That's all!&lt;/p&gt;
      
      &lt;h1&gt;Many bug fixes and usability improvements&lt;/h1&gt;
      
      &lt;p&gt;We fixed (&lt;strong&gt;with great help from our community!&lt;/strong&gt;) many bugs. Full
      (well, almost) list of fixed bugs you can find
      &lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD/fixforversion/12315176&quot;&gt;here&lt;/a&gt;.
      Let's have a look at the improvements:&lt;/p&gt;
      
      &lt;h2&gt;Meta appliance has now bigger disk&lt;/h2&gt;
      
      &lt;p&gt;We released a new version of
      &lt;a href=&quot;http://www.jboss.org/boxgrinder/downloads/build/meta-appliance.html&quot;&gt;meta appliance&lt;/a&gt;
      and yes it has a 10 GB root partition now! This means you don't
      have to create and mount a new disk to build appliances. Still, if
      you want to build AMI's – you need to have more free space. We
      encourage you to use meta appliance AMI to build AMI's: you get two
      things &quot;for free&quot;:&lt;/p&gt;
      
      &lt;ul&gt;
      &lt;li&gt;a big /mnt partition where you can build the AMI&lt;/li&gt;
      &lt;li&gt;lighting fast upload to S3.&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;h2&gt;Automatic Boxgrinder Build installation on meta appliance boot&lt;/h2&gt;
      
      &lt;p&gt;In meta appliance version 1.1+ we install on boot latest BoxGrinder
      Build. When the boot process finishes – you're ready to build your
      appliances! Of course boot process will be slower – meta appliance
      for slowest EC2 instance can boot 8 minutes. If you cannot log in
      to meta appliance, please see our
      &lt;a href=&quot;http://community.jboss.org/docs/DOC-14544&quot;&gt;FAQ&lt;/a&gt;.&lt;/p&gt;
      
      &lt;h2&gt;Plugin design improvements&lt;/h2&gt;
      
      &lt;p&gt;It's now easier to write plugins. We unified the interaction
      between BasePlugin class and your plugin. Take a look at
      &lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-26&quot;&gt;BGBUILD-26&lt;/a&gt;. If you're a
      plugin developer –
      &lt;strong&gt;don't miss our &lt;a href=&quot;https://community.jboss.org/docs/DOC-15555&quot;&gt;plugin tutorial&lt;/a&gt;&lt;/strong&gt;!&lt;/p&gt;
      
      &lt;p&gt;If you have any problems, please report it directly in our
      &lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD&quot;&gt;issue tracker&lt;/a&gt; or on our
      &lt;a href=&quot;http://community.jboss.org/en/boxgrinder?view=discussions&quot;&gt;forums&lt;/a&gt;!
      We appreciate your feedback! You can talk to us on IRC:
      irc.freenode.net, channel #boxgrinder.&lt;/p&gt;
      
      &lt;p&gt;Enjoy!&lt;/p&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2010/10/01/ebs-ami-support-for-boxgrinder/</id>
    <title>EBS AMI support for BoxGrinder</title>
    <updated>2010-10-01T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2010/10/01/ebs-ami-support-for-boxgrinder/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      There
      is one issue in BoxGrinder JIRA we have been asked since long time.
      This is BGBUILD-3:
      support for EBS-type AMI's. Yesterday I
      commited
      initial support for this. What does it mean for you? Simple –
      you can now build appliances using BoxGrinder and then deliver them as EBS AMI's to Amazon Web Services.
      
      It's here!
      
      This was implemented as a
      new delivery plugin.
      Be aware that currently only Fedora 13 is supported – we'll expand
      support for other platform in the near future.
      
      The plugin is not
      yet released, it'll be released along with BoxGrinder Build 0.6.0
      in the next weeks. If you want try it now – please
      download nightly artifacts from our......
    </summary>
    <content type='html'>
      &lt;p&gt;There
      is one issue in BoxGrinder JIRA we have been asked since long time.
      This is &lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-3&quot;&gt;BGBUILD-3&lt;/a&gt;:
      support for EBS-type AMI's. Yesterday I
      &lt;a href=&quot;http://github.com/stormgrind/boxgrinder-build-plugins/commit/dde86215635e63ba25a6cd2c241d631b66222b25&quot;&gt;commited&lt;/a&gt;
      initial support for this. What does it mean for you? Simple –
      &lt;strong&gt;you can now build appliances using BoxGrinder and then deliver them as EBS AMI's to Amazon Web Services.&lt;/strong&gt;&lt;/p&gt;
      
      &lt;h1&gt;It's here!&lt;/h1&gt;
      
      &lt;p&gt;This was implemented as a
      &lt;a href=&quot;http://community.jboss.org/docs/DOC-15921&quot;&gt;new delivery plugin&lt;/a&gt;.
      Be aware that currently only Fedora 13 is supported – we'll expand
      support for other platform in the near future.&lt;/p&gt;
      
      &lt;p&gt;The plugin is not
      yet released, it'll be released along with BoxGrinder Build 0.6.0
      in the next weeks. If you want try it now – please
      &lt;a href=&quot;http://ci.boxgrinder.org/project.html?projectId=project2&amp;amp;tab=projectOverview&amp;amp;guest=1&quot;&gt;download nightly artifacts from our CI&lt;/a&gt;.
      &lt;strong&gt;Make sure you install also new version of boxgrinder-core and boxgrinder-build&lt;/strong&gt;
      (also from CI) because the EBS plugin forced to make some changes
      in the core. To do this please download all required gems, put them
      in a directory and install them using this command:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;gem install *.gem&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;h1&gt;How to use it?&lt;/h1&gt;
      
      &lt;p&gt;It's just another delivery plugin. The only thing which is
      different is that
      &lt;strong&gt;you must execute the build on an EC2 instance&lt;/strong&gt;. This is really
      important. The reason is because we need to mount an EBS volume to
      the instance and we can do this only on EC2. But don't be afraid –
      we have
      &lt;a href=&quot;http://www.jboss.org/boxgrinder/downloads/build/meta-appliance.html&quot;&gt;meta appliance&lt;/a&gt;
      you can run on EC2 and use it to build your appliances.&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;boxgrinder-build you_definition.appl -p ec2 -d ebs    &amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;Of course make sure you created valid configuration
      file for this plugin as
      &lt;a href=&quot;http://community.jboss.org/docs/DOC-15921&quot;&gt;described here&lt;/a&gt; before
      you start.&lt;/p&gt;
      
      &lt;h1&gt;I need help!&lt;/h1&gt;
      
      &lt;p&gt;If you find bugs in that plugin, please
      &lt;a href=&quot;https://jira.jboss.org/secure/CreateIssue.jspa?pid=12310920&amp;amp;issuetype=1&quot;&gt;report them in our issue tracker&lt;/a&gt;.
      You can always ask us for help on our
      &lt;a href=&quot;http://community.jboss.org/en/boxgrinder?view=discussions&quot;&gt;forums&lt;/a&gt;
      or on
      our&lt;strong&gt;new IRC channel: &lt;a href=&quot;irc://irc.freenode.net/boxgrinder&quot;&gt;#boxgrinder&lt;/a&gt;&lt;/strong&gt;&lt;strong&gt;@ freenode.net&lt;/strong&gt;.&lt;/p&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2010/08/26/jboss-paas-arrives-and-boxgrinder-update/</id>
    <title>JBoss PaaS arrives and BoxGrinder update</title>
    <updated>2010-08-26T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2010/08/26/jboss-paas-arrives-and-boxgrinder-update/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      JBoss PaaS
      
      Yesterday Red Hat
      announced in a webcast
      a new PaaS solution based on JBoss and Red Hat products. You can
      read more about this on
      JBoss PaaS dedicated site.
      Red Hat PaaS press release
      contains valuable information too! We're very excited and encourage
      you to look closely to JBoss PaaS.
      
      
      
      BoxGrinder news
      
      New website!
      
      Since
      yesterday
      BoxGrinder has a new project page
      and
      community space!
      We're very proud to see our kid standing on its own legs.
      
      BoxGrinder Build 0.5.1 released
      
      With the new site we released also a new BoxGrinder version: 0.5.1.
      This is mostly a bugfix release including boxgrinder-core,
      boxgrinder-build and a few plugins. Here is the full list of bugs
      fixed in this release:
      
      
      [BGBUILD-40] - Augeas......
    </summary>
    <content type='html'>
      &lt;h1&gt;JBoss PaaS&lt;/h1&gt;
      
      &lt;p&gt;Yesterday &lt;a href=&quot;http://www.redhat.com/&quot;&gt;Red Hat&lt;/a&gt;
      &lt;a href=&quot;http://www-waa-akam.thomson-webcast.net/us/dispatching/?event_id=4823cc54f791257334ecc3038e901faf&amp;amp;portal_id=af9b227bf07c733390c2738ee0330646&quot;&gt;announced in a webcast&lt;/a&gt;
      a new PaaS solution based on JBoss and Red Hat products. You can
      read more about this on
      &lt;a href=&quot;http://www.jboss.com/solutions/PaaS/&quot;&gt;JBoss PaaS dedicated site&lt;/a&gt;.
      &lt;a href=&quot;http://www.redhat.com/about/news/prarchive/2010/PaaS.html&quot;&gt;Red Hat PaaS press release&lt;/a&gt;
      contains valuable information too! We're very excited and encourage
      you to look closely to JBoss PaaS.&lt;/p&gt;
      
      &lt;p&gt;&lt;img title=&quot;Red Hat PaaS&quot; src=&quot;http://staging.boxgrinder.org/images/rh-paas.png&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;
      
      &lt;h1&gt;BoxGrinder news&lt;/h1&gt;
      
      &lt;h2&gt;New website!&lt;/h2&gt;
      
      &lt;p&gt;&lt;img title=&quot;BoxGrinder&quot; src=&quot;http://staging.boxgrinder.org/blog/assets/boxgrinder_logo_200px.gif&quot; alt=&quot;image&quot; /&gt;Since
      yesterday
      &lt;a href=&quot;http://jboss.org/boxgrinder&quot;&gt;BoxGrinder has a new project page&lt;/a&gt;
      and
      &lt;a href=&quot;http://community.jboss.org/en/boxgrinder?view=overview&quot;&gt;community space&lt;/a&gt;!
      We're very proud to see our kid standing on its own legs.&lt;/p&gt;
      
      &lt;h2&gt;BoxGrinder Build 0.5.1 released&lt;/h2&gt;
      
      &lt;p&gt;With the new site we released also a new BoxGrinder version: 0.5.1.
      This is mostly a bugfix release including boxgrinder-core,
      boxgrinder-build and a few plugins. Here is the full list of bugs
      fixed in this release:&lt;/p&gt;
      
      &lt;ul&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-40&quot;&gt;BGBUILD-40&lt;/a&gt;] - Augeas kills guestfish after 'aug_init &quot;/&quot; 0'&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-43&quot;&gt;BGBUILD-43&lt;/a&gt;] -
      ec2-ami-tools is not usable on EC2 appliances&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-44&quot;&gt;BGBUILD-44&lt;/a&gt;] -
      ExecHelper should raise exception if execution fails&lt;/li&gt;
      &lt;li&gt;[&lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-45&quot;&gt;BGBUILD-45&lt;/a&gt;] -
      system-config-securitylevel-tui package is required on RHEL/CentOS
      5&lt;/li&gt;
      &lt;/ul&gt;
      
      
      &lt;p&gt;To update BoxGrinder to latest version run this command:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;gem update boxgrinder-core boxgrinder-build boxgrinder-build-rpm-based-os-plugin boxgrinder-build-fedora-os-plugin boxgrinder-build-rhel-os-plugin boxgrinder-build-centos-os-plugin boxgrinder-build-fedora-os-plugin boxgrinder-build-ec2-platform-plugin&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;A bit long, but
      should do the work. If you have questions, we're for you in our
      &lt;a href=&quot;http://community.jboss.org/en/boxgrinder?view=discussions&quot;&gt;new forums&lt;/a&gt;.&lt;/p&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2010/07/26/boxgrinder-build-developer-guide-how-to-write-a-plugin/</id>
    <title>BoxGrinder Build developer guide: how to write a plugin?</title>
    <updated>2010-07-26T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2010/07/26/boxgrinder-build-developer-guide-how-to-write-a-plugin/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      Wile
      releasing BoxGrinder Build 0.0.5
      I promised a developer guide with information on how to write own
      BoxGrinder plugin. I created a
      wiki page with the
      process explained in details.
      
      Let us know how helpful it was!
      ......
    </summary>
    <content type='html'>
      &lt;p&gt;Wile
      &lt;a href=&quot;http://staging.boxgrinder.org/blog/boxgrinder-build-0-5-0-release-with-fedora-13-on-ec2-support-and-stormfolio-update&quot;&gt;releasing BoxGrinder Build 0.0.5&lt;/a&gt;
      I promised a developer guide with information on how to write own
      BoxGrinder plugin. I created a
      &lt;a href=&quot;https://community.jboss.org/docs/DOC-15555&quot;&gt;wiki page&lt;/a&gt; with the
      process explained in details.&lt;/p&gt;
      
      &lt;p&gt;Let us know how helpful it was!&lt;/p&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2010/07/23/judcon-2010-boston-coolingtower-cirras-and-boxgrinder-videos/</id>
    <title>JUDCon 2010 Boston CoolingTower/CirrAS and BoxGrinder videos</title>
    <updated>2010-07-23T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2010/07/23/judcon-2010-boston-coolingtower-cirras-and-boxgrinder-videos/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      Recently we published slides
      from presentations Bob gave (thanks Bob!) at
      JUDCon 2010 in Boston.
      Now we have also videos thank to our video team! Enjoy!
      
       
      
      
      
      
      
      
      
      
      
       
      
      ......
    </summary>
    <content type='html'>
      &lt;p&gt;&lt;a href=&quot;http://staging.boxgrinder.org/blog/judcon-2010-boston-slides&quot;&gt;Recently we published slides&lt;/a&gt;
      from presentations Bob gave (thanks Bob!) at
      &lt;a href=&quot;http://www.jboss.org/events/JUDCon.html&quot;&gt;JUDCon&lt;/a&gt; 2010 in Boston.
      Now we have also videos thank to our video team! Enjoy!&lt;/p&gt;
      
      &lt;iframe src=&quot;http://player.vimeo.com/video/13489072&quot; frameborder=&quot;0&quot; height=&quot;300&quot; width=&quot;400&quot;&gt; &lt;/iframe&gt;
      
      
      
      
      &lt;br /&gt;
      
      
      
      
      &lt;iframe src=&quot;http://player.vimeo.com/video/13488207&quot; frameborder=&quot;0&quot; height=&quot;300&quot; width=&quot;400&quot;&gt; &lt;/iframe&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2010/07/21/boxgrinder-build-0-5-0-release-with-fedora-13-on-ec2-support-and-stormfolio-update/</id>
    <title>BoxGrinder Build 0.5.0 release with Fedora 13 on EC2 support and StormFolio update</title>
    <updated>2010-07-21T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2010/07/21/boxgrinder-build-0-5-0-release-with-fedora-13-on-ec2-support-and-stormfolio-update/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      BoxGrinder Build 0.5.0 released!
      
      I'm really happy to announce new BG release. Many people are waiting, so let's go into details!
      
      Fedora 13 support for EC2
      
      This was a big task. Thank to guys at Amazon and Fedora/Red Hat community we make it come true. Fedora 13 runs smoothly on EC2! This was possible because Amazon released new PVGrub kernel images. With that AKI's we can run our own (installed on AMI) kernel instead of forced by Amazon's. Goodbye old kernels!
      
      This opens new possibilities for Fedora on EC2, for example there is a plan for Fedora 14+ to have official AMI's on EC2.......
    </summary>
    <content type='html'>
      &lt;h1&gt;BoxGrinder Build 0.5.0 released!&lt;/h1&gt;
      
      &lt;p&gt;I'm really happy to announce new BG release. Many people are waiting, so let's go into details!&lt;/p&gt;
      
      &lt;h1&gt;Fedora 13 support for EC2&lt;/h1&gt;
      
      &lt;p&gt;This was a big task. Thank to guys at Amazon and Fedora/Red Hat community we make it come true. &lt;strong&gt;Fedora 13 runs smoothly on EC2!&lt;/strong&gt; This was possible because Amazon released new &lt;a href=&quot;http://thecloudmarket.com/search?search_term=pv_grub&quot;&gt;PVGrub kernel images&lt;/a&gt;. With that AKI's we can run our own (installed on AMI) kernel instead of forced by Amazon's. Goodbye old kernels!&lt;/p&gt;
      
      &lt;p&gt;This opens new possibilities for Fedora on EC2, for example there is a plan for Fedora 14+ to have official AMI's on EC2. You can see the &lt;a href=&quot;http://fedoraproject.org/wiki/Features/EC2&quot;&gt;feature page on Fedora wiki&lt;/a&gt;. Feel free also to join &lt;a href=&quot;https://admin.fedoraproject.org/mailman/listinfo/cloud&quot;&gt;Fedora Cloud list&lt;/a&gt; and say what you think!&lt;/p&gt;
      
      &lt;h1&gt;Continuous Integration and nightly builds&lt;/h1&gt;
      
      &lt;p&gt;We set up a Continuous Integration server for StormGrind projects (BG included!) &lt;a href=&quot;http://ci.boxgrinder.org/guestLogin.html?guest=1&quot;&gt;here&lt;/a&gt;. You can watch if we write stable code and download latest builds!&lt;/p&gt;
      
      &lt;p&gt;&lt;img src=&quot;http://staging.boxgrinder.org/images/screenshots/ci_artifact_downloads.png&quot; alt=&quot;Artifact downloads&quot; /&gt;&lt;/p&gt;
      
      &lt;h1&gt;Fresh appliances in StormFolio&lt;/h1&gt;
      
      &lt;p&gt;Yes, we know, you want to start NOW. We prepared new, fresh appliances, among others with Fedora 13 JEOS. It's ready to run on your favorite virtualization platform. We updated also GateIn appliance to latest version (3.1.0.FINAL).&lt;/p&gt;
      
      &lt;p&gt;Full list of appliances is available on StormFolio dowload page.&lt;/p&gt;
      
      &lt;h1&gt;External plugins&lt;/h1&gt;
      
      &lt;p&gt;We've done another major step in simplifying BoxGrinder. We removed plugins from our core repo and moved them to plugins repo. What's the big deal? From now we can release an update to a plugin (or a new plugin of course!) without pushing out new BG version. It'll speed up new features delivery and make you happy!&lt;/p&gt;
      
      &lt;p&gt;Every plugin, exactly like BoxGrinder itself, is released as a gem. For full list of released plugins consult this page.&lt;/p&gt;
      
      &lt;p&gt;How to use the new plugins you may ask? It's really simple, install boxgrinder-build gem&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;gem install boxgrinder-build&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;and install selected plugin&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;gem install boxgrinder-build-fedora-os-plugin&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;…and you're ready to build appliances based on Fedora OS.&lt;/p&gt;
      
      &lt;p&gt;In the near feature you can expect an article about writing new plugins, step-by-step, with examples. Watch the space!&lt;/p&gt;
      
      &lt;h1&gt;Thanks!&lt;/h1&gt;
      
      &lt;p&gt;Thank you for using BoxGrinder and our appliances. Now, go grab the hot stuff and let us know how it works! We really need your feedback. If you're new to BoxGrinder, start with our documentation and let us know how it goes!&lt;/p&gt;
      
      &lt;p&gt;BoxGrinder Build JIRA is always open for issues.
      /www.citytechinc.com/content/en/home.html) mobile application prepared for JBoss World / Red Hat Summit is based on CirrAS? Thanks CityTech! Read more on how it's made on &lt;a href=&quot;http://blogs.citytechinc.com/jeffbrown/?p=42&quot;&gt;    CityTech blog post&lt;/a&gt;.&lt;/p&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2010/06/24/judcon-2010-boston-slides/</id>
    <title>JUDCon 2010 Boston slides</title>
    <updated>2010-06-24T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2010/06/24/judcon-2010-boston-slides/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      It's a busy week for JBossians. We're all (well, almost) in Boston attending JUDCon and JBoss World/Red Hat Summit. StormGrind was represented by Bob at JUDCon.  We had two presentations: Cooling Tower/CirrAS and BoxGrinder. If you hadn't chance to attend JUDCon – we uploaded slides especially for you!
      
      
      
      
      
      
      
      
      
      P.S. Did you know that CityTech mobile application prepared for JBoss World / Red Hat Summit is based on CirrAS? Thanks CityTech! Read more on how it's made on     CityTech blog post.
      ......
    </summary>
    <content type='html'>
      &lt;p&gt;It's a busy week for JBossians. We're all (well, almost) in Boston attending JUDCon and &lt;a href=&quot;http://www.redhat.com/promo/summit/2010/&quot;&gt;JBoss World/Red Hat Summit&lt;/a&gt;. StormGrind was represented by Bob at &lt;a href=&quot;http://www.jboss.org/events/JUDCon.html&quot;&gt;JUDCon&lt;/a&gt;.  We had two presentations: Cooling Tower/CirrAS and BoxGrinder. If you hadn't chance to attend JUDCon – we uploaded slides especially for you!&lt;/p&gt;
      
      &lt;div id=&quot;__ss_4599735&quot; style=&quot;width:425px&quot;&gt;&lt;object id=&quot;__sse4599735&quot; height=&quot;355&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=coolingtower-100624013633-phpapp02&amp;stripped_title=judcon2010-boston-coolingtower-and-cirras&amp;userName=marekgoldmann&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot; /&gt;&lt;embed name=&quot;__sse4599735&quot; allowfullscreen=&quot;true&quot; src=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=coolingtower-100624013633-phpapp02&amp;stripped_title=judcon2010-boston-coolingtower-and-cirras&amp;userName=marekgoldmann&quot; allowscriptaccess=&quot;always&quot; type=&quot;application/x-shockwave-flash&quot; height=&quot;355&quot; width=&quot;425&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;
      
      
      
      
      &lt;div id=&quot;__ss_4599808&quot; style=&quot;width:425px&quot;&gt;&lt;object id=&quot;__sse4599808&quot; height=&quot;355&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=boxgrinder-100624014342-phpapp02&amp;stripped_title=judcon-2010-boston-boxgrinder&amp;userName=marekgoldmann&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot; /&gt;&lt;embed name=&quot;__sse4599808&quot; allowfullscreen=&quot;true&quot; src=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=boxgrinder-100624014342-phpapp02&amp;stripped_title=judcon-2010-boston-boxgrinder&amp;userName=marekgoldmann&quot; allowscriptaccess=&quot;always&quot; type=&quot;application/x-shockwave-flash&quot; height=&quot;355&quot; width=&quot;425&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;
      
      
      &lt;p&gt;P.S. Did you know that &lt;a href=&quot;http://www.citytechinc.com/content/en/home.html&quot;&gt;CityTech&lt;/a&gt; mobile application prepared for JBoss World / Red Hat Summit is based on CirrAS? Thanks CityTech! Read more on how it's made on &lt;a href=&quot;http://blogs.citytechinc.com/jeffbrown/?p=42&quot;&gt;    CityTech blog post&lt;/a&gt;.&lt;/p&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2010/06/18/boxgrinder-bugfix-release-0-4-1-and-judcon/</id>
    <title>BoxGrinder bugfix release: 0.4.1 and JUDCon</title>
    <updated>2010-06-18T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2010/06/18/boxgrinder-bugfix-release-0-4-1-and-judcon/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      We released today new BoxGrinder Build version that fixes BGBUILD-24. The problem was that SELinux set to enforced mode generated a kernel panic on EC2 and VMware for CentOS/RHEL images.
      
      To update to new version run:
      
      gem update boxgrinder-build
      
      
      JUDCon
      
      A friendly reminder: JUDCon is coming! We (well, Bob) will be at JUDcon in Boston in a few days (21 June). Catch Bob, buy him a beer and talk about the Cloud and StormGrind!
      ......
    </summary>
    <content type='html'>
      &lt;p&gt;We released today new BoxGrinder Build version that fixes &lt;a href=&quot;https://jira.jboss.org/browse/BGBUILD-24&quot;&gt;BGBUILD-24&lt;/a&gt;. The problem was that SELinux set to enforced mode generated a kernel panic on EC2 and VMware for CentOS/RHEL images.&lt;/p&gt;
      
      &lt;p&gt;To update to new version run:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;gem update boxgrinder-build&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;h1&gt;JUDCon&lt;/h1&gt;
      
      &lt;p&gt;A friendly reminder: &lt;a href=&quot;http://www.jboss.org/events/JUDCon.html&quot;&gt;JUDCon&lt;/a&gt; is coming! We (well, Bob) will be at JUDcon in Boston in a few days (21 June). Catch Bob, buy him a beer and talk about the Cloud and StormGrind!&lt;/p&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2010/06/09/boxgrinder-build-0-4-0-released/</id>
    <title>BoxGrinder Build 0.4.0 released!</title>
    <updated>2010-06-09T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2010/06/09/boxgrinder-build-0-4-0-released/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      I'm very excited to announce new BoxGrinder Build! Before I dive into technical details please let me explain some non-technical aspects. From this version we introduced a new versioning scheme. This will help us to play nice with RubyGems. It'll be "Linux kernel"-like versioning. I created a wiki page to explain it a bit more. If you have still questions, feel free to use our forums and ask.
      
      Announced 0.4.0 release is a stable version.
      
      Let me now highlight some important technical changes.
      
      New usage
      
      After some releases based on Rake we decided to move away from it. Don't understand us wrong - Rake......
    </summary>
    <content type='html'>
      &lt;p&gt;I'm very excited to announce new BoxGrinder Build! Before I dive into technical details please let me explain some non-technical aspects. From this version we introduced a new versioning scheme. This will help us to play nice with RubyGems. It'll be &quot;Linux kernel&quot;-like versioning. I created a wiki page to explain it a bit more. If you have still questions, feel free to use our forums and ask.&lt;/p&gt;
      
      &lt;p&gt;Announced &lt;strong&gt;0.4.0&lt;/strong&gt; release is a stable version.&lt;/p&gt;
      
      &lt;p&gt;Let me now highlight some important technical changes.&lt;/p&gt;
      
      &lt;h1&gt;New usage&lt;/h1&gt;
      
      &lt;p&gt;After some releases based on &lt;a href=&quot;http://rake.rubyforge.org/&quot;&gt;Rake&lt;/a&gt; we decided to move away from it. Don't understand us wrong - Rake is great when you have many dependencies to be satisfied. It's just not good enough to use it as a command line application. Now we build our command line interface upon &lt;a href=&quot;http://github.com/visionmedia/commander&quot;&gt;Commander&lt;/a&gt;.&lt;/p&gt;
      
      &lt;p&gt;What does it mean for you? You don't need to have &lt;code&gt;appliances/&lt;/code&gt; directory to put there your appliance definitions - appliance definition is now specified as a command line argument:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;boxgrinder-build your-definition.appl&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;If you have dependent definitions, just put them in the same directory where your-definition.appl file is located; BoxGrinder Build will find it. As a side effect for moving away from Rake we have &lt;strong&gt;increased the speed of building&lt;/strong&gt;. Earlier every appliance located under appliance/ directory was scanned, now only required appliance definitions are read.&lt;/p&gt;
      
      &lt;p&gt;The full usage instructions for new BoxGrinder Build are available &lt;a href=&quot;http://community.jboss.org/docs/DOC-15373&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
      
      &lt;h1&gt;New architecture&lt;/h1&gt;
      
      &lt;p&gt;BoxGrinder Build was rewritten to open the architecture for customization, aka plugins. We divided the task BoxGrinder is executing to three types of plugins:&lt;/p&gt;
      
      &lt;ol&gt;
      &lt;li&gt;&lt;strong&gt;operating system&lt;/strong&gt; -- this type will create the base image that can be deployed on KVM with a RAW disk image. It's a great base to start converting it to selected platform, example: &lt;a href=&quot;http://fedoraproject.org/&quot;&gt;Fedora&lt;/a&gt; or &lt;a href=&quot;http://www.redhat.com/rhel/&quot;&gt;RHEL&lt;/a&gt; plugin.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;platform&lt;/strong&gt; -- this plugin will convert the disk image from operating system plugin to a format used by selected platform, example: EC2, VMware. It also creates the metadata required to launch the image on selected platform.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;delivery&lt;/strong&gt; -- this plugin will deliver the image produced by operating system or platform plugin and deliver the image to selected location. For example we may want to upload an image to S3 bucket, or register it as AMI, or upload to a remote server using SFTP, or simply move the image to another folder on our build machine.&lt;/li&gt;
      &lt;/ol&gt;
      
      
      &lt;p&gt;Every plugin has its own types - to use a selected type you need to specify it in the command line. To build a base appliance (invoking only operating system plugin) execute:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;boxgrinder-build your-definition.appl&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;If you want to build it and convert to VMware format, use vmware platform type:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;boxgrinder-build your-definition.appl -p vmware&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;If you want to deliver this appliance to a sftp server, use sftp delivery type:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;boxgrinder-build your-definition.appl -p vmware -d sftp&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;Please note, that every delivery plugin has its own configuration file which needs to be adjusted. Consult the &lt;a href=&quot;http://community.jboss.org/docs/DOC-15214&quot;&gt;plugin list page&lt;/a&gt; where all plugins shipped with BoxGrinder Build are described.&lt;/p&gt;
      
      &lt;p&gt;Please bear in mind that platform plugins may or may not support all of the images built by operating system plugins. For example Fedora operating system plugin can build Fedora images from versions 11 to 13, but EC2 platform plugin supports only Fedora in version 11. The cause is that newer &lt;a href=&quot;https://fedoraproject.org/wiki/Features/FedoraOnEC2&quot;&gt;Fedora requires newer kernels to be uploaded to EC2&lt;/a&gt;.&lt;/p&gt;
      
      &lt;h1&gt;New operating systems supported: RHEL 5 and CentOS 5&lt;/h1&gt;
      
      &lt;p&gt;Yah, it's true - we have from now support for Red Hat Enterprise Linux 5 and CentOS 5. You can build appliances for your favorite operating system. And, yes, Fedora 13 is also supported! :)&lt;/p&gt;
      
      &lt;h1&gt;Installation and usage&lt;/h1&gt;
      
      &lt;p&gt;We build also a new 1.1 meta appliance for you. You need only install BoxGrinder and you're ready to go. See also quick start page!&lt;/p&gt;
      
      &lt;p&gt;If you have any questions or problems, please let us know! Happy building!&lt;/p&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2010/06/08/thoughts-after-jazoon-2010/</id>
    <title>Thoughts after Jazoon 2010</title>
    <updated>2010-06-08T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2010/06/08/thoughts-after-jazoon-2010/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      This year I had the chance
      to attend Jazoon 2010. In short - it was a
      great conference. Not only because of many good talks, but mostly
      because I had the met many great guys.
      
      First day
      
      On the first day I finally met
      Bela Ban. We talked about a few
      things which may improve clustering of
      JBoss EAP
      in the Cloud, so stay tuned!
      
      We saw also Dan Allen presenting CDI
      with RESTeasy. This was a nice wrap-up for the topic, really
      though-out examples, liked it!
      
      Heiko Braun presented two talks
      about GWT used in large scale applications. I'm not familiar with
      GWT, nor want to be for now, but the presentation showed us......
    </summary>
    <content type='html'>
      &lt;p&gt;This year I had the chance
      to attend &lt;a href=&quot;http://jazoon.com/&quot;&gt;Jazoon 2010&lt;/a&gt;. In short - it was a
      great conference. Not only because of many good talks, but mostly
      because I had the met many great guys.&lt;/p&gt;
      
      &lt;h1&gt;First day&lt;/h1&gt;
      
      &lt;p&gt;On the first day I finally met
      &lt;a href=&quot;http://belaban.blogspot.com/&quot;&gt;Bela Ban&lt;/a&gt;. We talked about a few
      things which may improve clustering of
      &lt;a href=&quot;http://www.jboss.com/products/platforms/application/&quot;&gt;JBoss EAP&lt;/a&gt;
      in the Cloud, so stay tuned!&lt;/p&gt;
      
      &lt;p&gt;We saw also Dan Allen presenting CDI
      with RESTeasy. This was a nice wrap-up for the topic, really
      though-out examples, liked it!&lt;/p&gt;
      
      &lt;p&gt;&lt;a href=&quot;http://errai-blog.blogspot.com/&quot;&gt;Heiko Braun&lt;/a&gt; presented two talks
      about GWT used in large scale applications. I'm not familiar with
      GWT, nor want to be for now, but the presentation showed us more
      general solution: if you have large application - use event-based
      solutions.&lt;/p&gt;
      
      &lt;p&gt;The new Servlet 3.0 specification was discussed by
      &lt;a href=&quot;http://www.java.net/blogs/mode/&quot;&gt;Rajiv Mordani&lt;/a&gt; - servlet spec
      leader. What can I say? Finally we have annotations, web-fragments
      and asynchronous processing. Presentation was really good, enjoyed
      it.&lt;/p&gt;
      
      &lt;p&gt;After the talks there was a networking event - a party at the
      cinema :) If you couldn't make it to be there, you lost a great
      event. Excellent way to meet new people with a great wine in one
      hand and tasty sandwich in second one.&lt;/p&gt;
      
      &lt;h1&gt;Second day&lt;/h1&gt;
      
      &lt;p&gt;The second day I began with hanging with
      &lt;a href=&quot;http://jeanderuelle.blogspot.com/&quot;&gt;Jean Deruelle&lt;/a&gt;. Consolidating
      &lt;a href=&quot;http://www.jboss.org/stormgrind/projects/cirras.html&quot;&gt;our effort&lt;/a&gt;
      with Jean's &lt;a href=&quot;http://www.mobicents.org/&quot;&gt;telco stuff&lt;/a&gt; and
      &lt;a href=&quot;http://pilhuhn.blogspot.com/&quot;&gt;Heiko Rupp's&lt;/a&gt;
      &lt;a href=&quot;http://www.rhq-project.org/display/RHQ/Home&quot;&gt;monitoring and managing software&lt;/a&gt;
      will be a huge thing for the Cloud. Cannot wait to make it happen!&lt;/p&gt;
      
      &lt;p&gt;I saw also a presentation from
      &lt;a href=&quot;http://twitter.com/jedgarsilva&quot;&gt;Edgar A Silva&lt;/a&gt; about integrating
      &lt;a href=&quot;http://www.jboss.org/jbossesb&quot;&gt;JBoss ESB&lt;/a&gt; and
      &lt;a href=&quot;http://camel.apache.org/&quot;&gt;Apache Camel&lt;/a&gt; with many great examples. 
      JBoss ESB has much potential and it's easy extendable, nice!&lt;/p&gt;
      
      &lt;p&gt;Presentation from Doug Tidwell, an IBM evangelist. This was funny
      (in positive sense). He presented meta-apis in which IBM is
      involved: libcloud and simplecloud. We have
      &lt;a href=&quot;http://code.google.com/p/jclouds/&quot;&gt;jclouds&lt;/a&gt; and
      &lt;a href=&quot;http://deltacloud.org/&quot;&gt;Deltacloud&lt;/a&gt;, this does a really good job
      for us too!&lt;/p&gt;
      
      &lt;p&gt;Then JBossians had some beers and good talks in the
      pretty Zurich. Was really nice.&lt;/p&gt;
      
      &lt;h1&gt;Third day&lt;/h1&gt;
      
      &lt;p&gt;I began my third Jazoon day with
      &lt;a href=&quot;http://www.java.net/blogs/arungupta&quot;&gt;Arun Gupta's&lt;/a&gt; presentation
      about Glassfish and the Cloud. I was really curious what is the
      Oracle's proposition &lt;em&gt;right now&lt;/em&gt; for the topic as I'm directly
      involved in this. What can I say? Glassfish deployment in the Cloud
      is much harder compared to JBoss using
      &lt;a href=&quot;http://www.jboss.org/stormgrind/projects/cirras.html&quot;&gt;CirrAS&lt;/a&gt;.
      Really, this is not the way to go if you need to configure
      everything after you launch the instances. In that case there is
      really no difference between standard and Cloud deployment. In my
      opinion if you're leveraging the Cloud, this kind of stuff
      (clustering, load balancer configuration) should be automatically
      done. Of course using Elastra or RightScale will hide the
      complexity, as it was shown on the presentation. [caption id=&quot;&quot;
      align=&quot;alignright&quot; width=&quot;240&quot; caption=&quot;Lunch at
      Jazoon&quot;]&lt;a href=&quot;http://www.flickr.com/photos/goldmann/4668261283/&quot; title=&quot;IMAG0073 by Marek Goldmann, on Flickr&quot;&gt;&lt;img src=&quot;http://staging.boxgrinder.org/blog/assets/4668261283_5daf5d7bae_m.jpg&quot; alt=&quot;image&quot; /&gt;&lt;/a&gt;[/caption]&lt;/p&gt;
      
      &lt;p&gt;I really waited for &lt;a href=&quot;http://jeanderuelle.blogspot.com/&quot;&gt;Jean's&lt;/a&gt;
      presentation about &lt;a href=&quot;http://www.mobicents.org/&quot;&gt;Mobicents&lt;/a&gt;. It was
      great - after general introduction to VOIP we had chance to hear
      what the Mobicents project can offer us. And it's more than
      calling! Small example of integrating a call machine with an online
      store to inform the customer about the order and delivery was
      really nice.&lt;/p&gt;
      
      &lt;h1&gt;End...&lt;/h1&gt;
      
      &lt;p&gt;After three days full of presentations, talks and beers the
      conference was ended. I hope I have the chance to be there next
      year.&lt;/p&gt;
      
      &lt;p&gt;P.S. Oh, and the food was just perfect!&lt;/p&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2010/03/31/boxgrinder-build-1-0-0-beta2-and-new-stormfolio-appliances-gatein-3-0-0-final-and-fedora-11-jeos/</id>
    <title>BoxGrinder Build 1.0.0.Beta2 and new StormFolio appliances: GateIn 3.0.0.FINAL and Fedora 11 JEOS</title>
    <updated>2010-03-31T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2010/03/31/boxgrinder-build-1-0-0-beta2-and-new-stormfolio-appliances-gatein-3-0-0-final-and-fedora-11-jeos/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      I'm happy to announce availability of new BoxGrinder Build version. 1.0.0.Beta2 is a bugfix release. We focused us on easy delivering of BoxGrinder Build too. From now we use RubyGems to deliver BoxGrinder Build releases -- there is no need to grab sources. For always up to date versions go to BoxGrinder Build RubyGem page. We added Fedora 12 support to BoxGrinder too, now you can build also Fedora 12 images.
      
      If you're using Fedora (11 or 12) you can also add BoxGrinder repo to your setup and run:
      
      yum install rubygem-boxgrinder-build
      
      
      to install BoxGrinder Build.
      
      With new BoxGrinder Build version we released brand......
    </summary>
    <content type='html'>
      &lt;p&gt;I'm happy to announce availability of new &lt;a href=&quot;http://staging.boxgrinder.org/build&quot;&gt;BoxGrinder Build&lt;/a&gt; version. 1.0.0.Beta2 is a bugfix release. We focused us on easy delivering of BoxGrinder Build too. From now we use RubyGems to deliver BoxGrinder Build releases -- there is no need to grab sources. For always up to date versions go to BoxGrinder Build RubyGem page. We added Fedora 12 support to BoxGrinder too, now you can build also Fedora 12 images.&lt;/p&gt;
      
      &lt;p&gt;If you're using Fedora (11 or 12) you can also add BoxGrinder repo to your setup and run:&lt;/p&gt;
      
      &lt;pre&gt;&lt;code&gt;yum install rubygem-boxgrinder-build&amp;#x000A;&lt;/code&gt;&lt;/pre&gt;
      
      &lt;p&gt;to install BoxGrinder Build.&lt;/p&gt;
      
      &lt;p&gt;With new BoxGrinder Build version we released brand new &lt;strong&gt;meta appliance&lt;/strong&gt; which is ready to build your images. You can grab it here.&lt;/p&gt;
      
      &lt;p&gt;BoxGrinder Build &lt;a href=&quot;http://staging.boxgrinder.org/documentation/build&quot;&gt;documentation&lt;/a&gt; was updated. Especially we added a &lt;a href=&quot;http://staging.boxgrinder.org/documentation/build/quick_start&quot;&gt;Quick Start&lt;/a&gt; page so you can start building your images as quickly as possible.&lt;/p&gt;
      
      &lt;h1&gt;New StormFolio appliances&lt;/h1&gt;
      
      &lt;p&gt;Two weeks ago GateIn team released final version of GeteIn 3.0.0. GateIn is a portal project from JBoss and eXo. We provide now appliances ready to run &lt;strong&gt;GateIn 3.0.0.FINAL&lt;/strong&gt; on your favorite virtual environment as well on EC2!&lt;/p&gt;
      
      &lt;p&gt;We feel there is strong demand for appliances easy to customize. Therefore we provide now a &lt;strong&gt;JEOS version of Fedora&lt;/strong&gt;. It's Fedora 11 based, we're working to make a really good Fedora 12 image (news soon!). You can run a JEOS appliance and install necessary software. This way you can quick start with development or production environment without CD jugging.&lt;/p&gt;
      
      &lt;p&gt;All appliances are &lt;strong&gt;ready to use&lt;/strong&gt;, grab them from StormFolio download page!&lt;/p&gt;
      
      &lt;h1&gt;Future&lt;/h1&gt;
      
      &lt;p&gt;Now we want to work on BoxGrinder REST and deliver first Beta in the near future. Keep an eye on this blog and &lt;a href=&quot;http://twitter.com/boxgrinder&quot;&gt;Twitter&lt;/a&gt;.&lt;/p&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2010/03/19/the-cloud-computing-continuum/</id>
    <title>The Cloud Computing Continuum</title>
    <updated>2010-03-19T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2010/03/19/the-cloud-computing-continuum/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      Bob McWhirter
      presented a keynote titled The Cloud Computing Continuum at
      TheServerSide Java Symposium
      which took place in Las Vegas this week. You can read the abstract
      here.
      We're happy to share the slides, enjoy!
      
      
      
      ......
    </summary>
    <content type='html'>
      &lt;p&gt;&lt;a href=&quot;http://javasymposium.techtarget.com/html/speakers.html#BMcWhirter&quot;&gt;Bob McWhirter&lt;/a&gt;
      presented a keynote titled &lt;em&gt;The Cloud Computing Continuum&lt;/em&gt; at
      &lt;a href=&quot;http://javasymposium.techtarget.com&quot;&gt;TheServerSide Java Symposium&lt;/a&gt;
      which took place in Las Vegas this week. You can read the abstract
      &lt;a href=&quot;http://javasymposium.techtarget.com/html/sessions.html#BMcWhirterKeynote&quot;&gt;here&lt;/a&gt;.
      We're happy to share the slides, enjoy!&lt;/p&gt;
      
      &lt;div id=&quot;__ss_3462477&quot; style=&quot;width:425px&quot;&gt;&lt;object id=&quot;__sse3462477&quot; height=&quot;355&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=pm220bmcwhirterthecloudcomputingcontinuumfinal-100317210526-phpapp02&amp;rel=0&amp;stripped_title=the-cloud-computing-continuum-final&amp;userName=javasymposium&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot; /&gt;&lt;embed name=&quot;__sse3462477&quot; allowfullscreen=&quot;true&quot; src=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=pm220bmcwhirterthecloudcomputingcontinuumfinal-100317210526-phpapp02&amp;rel=0&amp;stripped_title=the-cloud-computing-continuum-final&amp;userName=javasymposium&quot; allowscriptaccess=&quot;always&quot; type=&quot;application/x-shockwave-flash&quot; height=&quot;355&quot; width=&quot;425&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2010/03/06/boxgrinder-logo/</id>
    <title>BoxGrinder logo</title>
    <updated>2010-03-06T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2010/03/06/boxgrinder-logo/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      BoxGrinder project deserves a great logo, no doubt. We asked our design master to create one. And here is the final version:
      
      
      
      Many thanks to James Cobb for his hard work on that!
      
      P.S. Watch the monkey :)
      ......
    </summary>
    <content type='html'>
      &lt;p&gt;&lt;a href=&quot;http://staging.boxgrinder.org/&quot;&gt;BoxGrinder&lt;/a&gt; project deserves a great logo, no doubt. We asked our design master to create one. And here is the final version:&lt;/p&gt;
      
      &lt;p&gt;&lt;img src=&quot;http://staging.boxgrinder.org/images/boxgrinder_logo_450px.gif&quot; alt=&quot;BoxGrinder logo&quot; /&gt;&lt;/p&gt;
      
      &lt;p&gt;Many thanks to James Cobb for his hard work on that!&lt;/p&gt;
      
      &lt;p&gt;P.S. Watch the monkey :)&lt;/p&gt;
    </content>
  </entry>
  <entry>
    <id>http://staging.boxgrinder.org/blog/2010/02/24/cirras-1-0-0-beta2/</id>
    <title>CirrAS 1.0.0.Beta2</title>
    <updated>2010-02-24T00:00:00Z</updated>
    <link href='http://staging.boxgrinder.org/blog/2010/02/24/cirras-1-0-0-beta2/' rel='alternate' type='text/html' />
    <author>
      <name>Marek Goldmann</name>
    </author>
    <summary>
      I'm pleased to
      announce availability of CirrAS 1.0.0.Beta2. This release includes
      several bug fixes and a bunch of new (or updated) technologies. You
      can find in
      CirrAS JIRA list of
      closed tickets.
      
      RHQ
      
      
      
      RHQ
      is the platform used for JBoss products (but not only!) management
      and monitoring. With Beta2 we're using latest RHQ 3.0.0.B03
      version. Release notes for RHQ 3.0.0.B03 can be found
      here.
      
      Beginning with CirrAS 1.0.0Beta2 you have now a working monitoring
      and managing suite. On management appliance we have deployed RHQ
      server. You can reach it on port 7080. Default username and
      password for RHQ Server is rhqadmin/rhqadmin. Every node in
      the cluster comes also with a preinstalled RHQ Agent.
      
      How it works?
      
      
      On management......
    </summary>
    <content type='html'>
      &lt;p&gt;I'm pleased to
      announce availability of CirrAS 1.0.0.Beta2. This release includes
      several bug fixes and a bunch of new (or updated) technologies. You
      can find in
      &lt;a href=&quot;https://jira.jboss.org/jira/browse/CIRRAS&quot;&gt;CirrAS JIRA&lt;/a&gt; list of
      &lt;a href=&quot;https://jira.jboss.org/jira/browse/CIRRAS/fixforversion/12314209&quot;&gt;closed tickets&lt;/a&gt;.&lt;/p&gt;
      
      &lt;h1&gt;RHQ&lt;/h1&gt;
      
      &lt;p&gt;&lt;img title=&quot;RHQ&quot; src=&quot;http://staging.boxgrinder.org/images/rhq_logo.png&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;
      
      &lt;p&gt;&lt;a href=&quot;http://www.rhq-project.org/display/RHQ/Home&quot;&gt;RHQ&lt;/a&gt;
      is the platform used for JBoss products (but not only!) management
      and monitoring. With Beta2 we're using latest RHQ 3.0.0.B03
      version. Release notes for RHQ 3.0.0.B03 can be found
      &lt;a href=&quot;http://www.rhq-project.org/display/RHQ/Release+Notes+3.0.0.B03&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
      
      &lt;p&gt;Beginning with CirrAS 1.0.0Beta2 you have now a working monitoring
      and managing suite. On management appliance we have deployed RHQ
      server. You can reach it on port &lt;strong&gt;7080&lt;/strong&gt;. Default username and
      password for RHQ Server is &lt;strong&gt;rhqadmin&lt;/strong&gt;/&lt;strong&gt;rhqadmin&lt;/strong&gt;. Every node in
      the cluster comes also with a preinstalled RHQ Agent.&lt;/p&gt;
      
      &lt;h2&gt;How it works?&lt;/h2&gt;
      
      &lt;ol&gt;
      &lt;li&gt;On management appliance RHQ server is started and reconfigured
      for your environment,&lt;/li&gt;
      &lt;li&gt;RHQ agent on every node is reconfigured so it will know where
      RHQ server is located.&lt;/li&gt;
      &lt;li&gt;On every node RHQ agent starts and connects to RHQ server.&lt;/li&gt;
      &lt;li&gt;Every discovered service by RHQ agent is submitted to RHQ
      server.&lt;/li&gt;
      &lt;li&gt;Discovered services are hold in Auto-discovery queue.&lt;/li&gt;
      &lt;li&gt;A script is importing every discovered Apache HTTPD server and
      JBoss AS into RHQ inventory.&lt;/li&gt;
      &lt;/ol&gt;
      
      
      &lt;p&gt;Above steps are executed fully &lt;strong&gt;transparently&lt;/strong&gt; to end user. End
      user only needs to wait a bit and use that stuff!&lt;/p&gt;
      
      &lt;p&gt;&lt;a href=&quot;http://staging.boxgrinder.org/blog/assets/rhq.png&quot;&gt;&lt;img title=&quot;JBoss AS 6 M2 monitoring in RHQ&quot; src=&quot;http://staging.boxgrinder.org/images/screenshots/rhq.png&quot; alt=&quot;image&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
      
      &lt;h1&gt;JBoss AS 6 Milestone 2&lt;/h1&gt;
      
      &lt;p&gt;On 16 Feb 2010 &lt;a href=&quot;http://www.jboss.org/jbossas&quot;&gt;JBoss AS&lt;/a&gt;team
      &lt;a href=&quot;http://bstansberry.wordpress.com/2010/02/16/jboss-application-server-6-0-0-m2-is-out/&quot;&gt;released&lt;/a&gt;
      new milestone version of  JBoss AS 6. This release adds support for
      &lt;a href=&quot;http://jcp.org/en/jsr/detail?id=317&quot;&gt;JPA2&lt;/a&gt; and
      &lt;a href=&quot;http://jcp.org/en/jsr/detail?id=315&quot;&gt;Servlet 3.0&lt;/a&gt;. You can now use
      those technologies in CirrAS! New version of
      &lt;a href=&quot;http://jboss.org/jbossmc&quot;&gt;JBoss Microcontainer&lt;/a&gt; is also included.&lt;/p&gt;
      
      &lt;p&gt;Full release notes for JBoss AS Milestone 2 are available
      &lt;a href=&quot;http://community.jboss.org/docs/DOC-14791&quot;&gt;here&lt;/a&gt;. Don't forget to
      check out new great-looking
      &lt;a href=&quot;http://www.jboss.org/jbossas&quot;&gt;JBoss AS project site&lt;/a&gt;!&lt;/p&gt;
      
      &lt;h1&gt;S3_PING&lt;/h1&gt;
      
      &lt;p&gt;We have a great news for Amazon EC2 users. In EC2 environment
      CirrAS &lt;strong&gt;doesn't require&lt;/strong&gt; from now GossipRouter. Because on EC2 we
      don't have multicast available (which would greatly simplify
      cluster formation) we were forced to introduce
      &lt;a href=&quot;http://community.jboss.org/docs/DOC-10890&quot;&gt;GossipRouter&lt;/a&gt; - a
      service running on front-end appliance whose task was to coordinate
      back-end nodes. After a new cloud protocol
      &lt;a href=&quot;https://jira.jboss.org/jira/browse/JGRP-1022&quot;&gt;S3_PING&lt;/a&gt; was added
      to JGroups - we could remove the unnecessary GossipRouter service
      on EC2.&lt;/p&gt;
      
      &lt;p&gt;With that change you need add bucket name to encoded
      credentials when you're starting management appliance. We updated
      our &lt;a href=&quot;http://community.jboss.org/docs/DOC-14388&quot;&gt;wiki page&lt;/a&gt; to cover
      that.&lt;/p&gt;
      
      &lt;h1&gt;Fedora 12&lt;/h1&gt;
      
      &lt;p&gt;In this Beta we're using &lt;a href=&quot;http://fedoraproject.org/&quot;&gt;Fedora&lt;/a&gt; 12 as
      our platform. Fedora 12 is the latest stable available version.
      Release notes can be found
      &lt;a href=&quot;http://docs.fedoraproject.org/release-notes/f12/en-US/html/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
      
      &lt;h1&gt;Downloads and help&lt;/h1&gt;
      
      &lt;p&gt;All appliances are available for immediately
      &lt;strong&gt;&lt;a href=&quot;http://www.jboss.org/stormgrind/downloads/cirras/1-0-0-Beta2.html&quot;&gt;download&lt;/a&gt;&lt;/strong&gt;
      (AMI list included). If you need help we're always for you on our
      &lt;a href=&quot;http://community.jboss.org/en/stormgrind?view=discussions&quot;&gt;forums&lt;/a&gt;
      or in our IRC channel:
      &lt;a href=&quot;irc://irc.freenode.net/stormgrind&quot;&gt;#stormgrind&lt;/a&gt;.&lt;/p&gt;
    </content>
  </entry>
</feed>

