BoxGrinder – FOSDEM 2012

1,865 views
1,185 views

Published on

Marek Goldmann's BoxGrinder talk at FOSDEM 2012.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,865
On SlideShare
0
From Embeds
0
Number of Embeds
77
Actions
Shares
0
Downloads
13
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

BoxGrinder – FOSDEM 2012

  1. Who’s Marek? • • JBoss Developer • Lead of • JBoss AS in Fedora • Part of • Electronic music loverFOSDEM 2012
  2. JBoss AS in Fedora JBoss AS7 : Building JBoss AS 7 for Fedora Carlo de Wolf 2pm This room!FOSDEM 2012
  3. Agenda • Some background and terminology • BoxGrinder • Appliance definition files • Architecture overview • Build process • Writing a plugin • Small demoFOSDEM 2012
  4. Some terminologyFOSDEM 2012
  5. Appliance is a preconfigured disk image (virtual machine) with operating system and all required applications to do specific jobFOSDEM 2012
  6. Appliance examples with tasks • Database • Storing data • Front-end • Load balancing • Back-end • Actual serversFOSDEM 2012
  7. Bake vs. Fry Bake: Produce a complete virtual machine offline, before first use. Fry: Produce a complete virtual machine by booting a basic VM and then applying configuration.FOSDEM 2012
  8. Bake! We think baking is The Right Way, especially for developers simply looking for reliable platforms.FOSDEM 2012
  9. Bake, then fry If you bake an image you can fry it then later too! Baked image can be your start point.FOSDEM 2012
  10. is a family of tools to grind out appliances for various platformsFOSDEM 2012
  11. FOSDEM 2012
  12. Current status stable slow development planningFOSDEM 2012
  13. Repo Repo Repo EC2 Appliance BoxGrinder VMware Definition KVMFOSDEM 2012
  14. Closer look at appliance definition fileFOSDEM 2012
  15. Appliance definition, huh? • Plain text file – YAML format • Very easy to understand, modify • Inheritance (mixins) • More and more powerfulFOSDEM 2012
  16. Appliance example name: back-end version: 1 release: 1 summary: back-end appliance with JBoss AS 6 hardware: memory: 512 partitions: "/": size: 2 appliances: - fedora-base packages: - jboss-as6 - jboss-as6-cloud-profiles - java-1.6.0-openjdk ...FOSDEM 2012
  17. General information should match the filename: back-end.appl name: back-end version: 1 release: 1 summary: back-end appliance with JBoss AS 6FOSDEM 2012
  18. Hardware hardware: 512MB memory: 512 partitions: 2GB "/": size: 2FOSDEM 2012
  19. Appliance Mix-ins Mixing in fedora-base.appl appliances: - fedora-baseFOSDEM 2012
  20. back-end.appl name: back-end version: 1 release: 1 summary: back-end appliance with JBoss AS 6 hardware: memory: 512 partitions: "/": size: 2 appliances: - fedora-base packages: - jboss-as6 - jboss-as6-cloud-profiles - java-1.6.0-openjdk ...FOSDEM 2012
  21. fedora-base.appl name: fedora-base summary: Basic Fedora OS os: name: fedora version: 14 hardware: memory: 256 partitions: "/": size: 1 packages: - @core - openssh-server - openssh-clients - wgetFOSDEM 2012
  22. Appliance Mix-ins back-end.appl fedora-base.appl overrides hardware: hardware: memory: 512 memory: 256 partitions: partitions: "/": "/": size: 2 size: 1FOSDEM 2012
  23. Appliance content packages: - jboss-as6 - jboss-as6-cloud-profiles - java-1.6.0-openjdkFOSDEM 2012
  24. Appliance content packages: - jboss-as6 - jboss-as6-cloud-profiles - java-1.6.0-openjdk Plus everything from fedora-base.applFOSDEM 2012
  25. There is a lot more! • Additional sections • repos • ephemeral repos • files • post • What should be done after you build you appliance • Different commands for different platform • Using libguestfs • Learn more! http://boxgrinder.org/tutorials/appliance-FOSDEM 2012 definition/
  26. BoxGrinder Build architectureFOSDEM 2012
  27. Plugins SFTP Simple Build Convert EC2 Deliver RAW CloudFront Definition VMware AMI Operating system Platform DeliveryFOSDEM 2012
  28. Plugins SFTP Simple Build Convert EC2 Deliver RAW CloudFront Definition VMware AMI Operating system Platform Delivery Write your own plugins, it’s easy! http://boxgrinder.org/tutorials/how-to-write-a-plugin-for-boxgrinder- build/FOSDEM 2012
  29. FOSDEM 2012
  30. Plugin skeleton require boxgrinder-build/plugins/base-plugin class YourPlugin < BoxGrinder::BasePlugin plugin :type => :platform, :name => :mycloud, :full_name => "MyCloud" def execute # PLACE YOUR CODE HERE end endFOSDEM 2012
  31. How to install BoxGrinder BuildFOSDEM 2012
  32. FOSDEM 2012
  33. BoxGrinder Build installation yum install rubygem-boxgrinder-buildFOSDEM 2012
  34. Meta appliance • A preconfigured appliance to build other appliances using BoxGrinder • Easy to jump in • Available for different platforms: Xen, KVM, EC2, VMware • Best way to build EC2 appliances • http://boxgrinder.org/download/boxgrinder-build-meta- appliance/FOSDEM 2012
  35. Demo: build a simple applianceFOSDEM 2012
  36. convert and deliver Demo: build a simple applianceFOSDEM 2012
  37. Step 1: create base image Plugins SFTP Simple Build Convert EC2 Deliver RAW CloudFront Definition VMware AMI boxgrinder-build f14-jeos.applFOSDEM 2012
  38. Step 2: convert it to VMware type Plugins SFTP Simple Build Convert EC2 Deliver RAW CloudFront Definition VMware AMI boxgrinder-build f14-jeos.appl -p vmware -p ec2 ...FOSDEM 2012
  39. Step 3: deliver it to a SFTP server Plugins SFTP Simple Build Convert EC2 Deliver RAW CloudFront Definition VMware AMIboxgrinder-build f14-jeos.appl -p vmware -d sftp -d ebs -d s3 FOSDEM 2012 ...
  40. Of course you can run the command just once with same result!boxgrinder-build f14-jeos.appl -p vmware -d sftp FOSDEM 2012
  41. What’s hot?FOSDEM 2012
  42. BoxGrinder Build features • Supported OSes: Fedora (14-16), CentOS (5-6), Scientific Linux (5-6), RHEL (5-6) • Supported platforms: EC2 (S3-based and EBS- based too!), KVM, VMware, VirtualBox, VirtualPC • Many delivery options: local, SFTP, S3 or CloudFront as tarred image, AMI, OpenStack, libvirtFOSDEM 2012
  43. BoxGrinder Build features • Direct injection of files • Cross-arch builds: producing i386 images on x86_64 hosts • Caching downloaded resources (RPM’s) • Pretty fast – from .appl to registered AMI: 15 minutes (on EC2, using meta-appliance)FOSDEM 2012
  44. Notes • If you’re building AMI’s – do it on EC2 – this will safe your time (uploading to S3 from your local machine isn’t fun...) • Building EBS-based AMI’s requires to run BoxGrinder on EC2FOSDEM 2012
  45. Questions?http://github.com/boxgrinder/ # Codehttp://boxgrinder.org/ # Home pagehttp://boxgrinder.org/blog/ # Blog#boxgrinder # IRC @boxgrinder @marekgoldmann @marcsavy

×