Difference between revisions of "VagrantUp"

From Funtoo Linux
Jump to: navigation, search
m (type-o)
Line 3: Line 3:
 
== Intro ==
 
== Intro ==
  
As an alternative to the [[Funtoo_Linux_Installation]], you can get started quickly with Funtoo as a virtual machine.  An open source tool called [https://github.com/jedi4ever/veewee VeeWee] automates the creation of '''/www.virtualbox.org/ VirtualBox''' virtual machines just like Funtoo's [[Metro]] creates the latest stage3 tarballs of a Linux machine.  So in effect, a virtual machine can be created from source using all open source tools and run in an open source Virtual Machine Manager (VMM).  Once created, the VeeWee virtual machines can be automated with another open source tool [http://vagrantup.com/ Vagrant], which can create/start/stop/delete machines as you wish.  Once you have all the tools setup its really quit addictive experimenting with different configurations and setups in a very time efficient manner.
+
As an alternative to the [[Funtoo Linux Installation]], you can get started quickly with Funtoo as a virtual machine.  An open source tool called [https://github.com/jedi4ever/veewee VeeWee] automates the creation of '''/www.virtualbox.org/ VirtualBox''' virtual machines just like Funtoo's [[Metro]] creates the latest stage3 tarballs of a Linux machine.  So in effect, a virtual machine can be created from source using all open source tools and run in an open source Virtual Machine Manager (VMM).  Once created, the VeeWee virtual machines can be automated with another open source tool [http://vagrantup.com/ Vagrant], which can create/start/stop/delete machines as you wish.  Once you have all the tools setup its really quit addictive experimenting with different configurations and setups in a very time efficient manner.
  
 
The Funtoo project will be experimenting with virtual machines as a delivery mechanism to users.  It may go nowhere, or become an artifact released after stage3 tarballs are created depending on feedback.
 
The Funtoo project will be experimenting with virtual machines as a delivery mechanism to users.  It may go nowhere, or become an artifact released after stage3 tarballs are created depending on feedback.

Revision as of 21:12, 31 December 2011

Contents

Funtoo Virtual Machine Quickstart

Intro

As an alternative to the Funtoo Linux Installation, you can get started quickly with Funtoo as a virtual machine. An open source tool called VeeWee automates the creation of /www.virtualbox.org/ VirtualBox virtual machines just like Funtoo's Metro creates the latest stage3 tarballs of a Linux machine. So in effect, a virtual machine can be created from source using all open source tools and run in an open source Virtual Machine Manager (VMM). Once created, the VeeWee virtual machines can be automated with another open source tool Vagrant, which can create/start/stop/delete machines as you wish. Once you have all the tools setup its really quit addictive experimenting with different configurations and setups in a very time efficient manner.

The Funtoo project will be experimenting with virtual machines as a delivery mechanism to users. It may go nowhere, or become an artifact released after stage3 tarballs are created depending on feedback.

Quick Start

You will need to install VirtualBox, Ruby and Gems to get going. Recommend considering /beginrescueend.com/rvm/install/ Ruby Version Manager instead of portage which will install all your Ruby needs into /opt/local/rvm or your home directory depending on if you are running as root or as a regular user. We will be posting machines on the Funtoo mirrors. Pick a virtual machine off a nearby mirror. The first VM is created from a funtoo stable stage 3 tarball http://ftp.osuosl.org/pub/funtoo/funtoo-stable/vagrant. Put the URL of the machine you would like to experiment with into these easy commands.

$ gem install vagrant
$ vagrant box add base URL
$ vagrant init
$ vagrant up
$ vagrant ssh

DevOps ToolChain

The amount of tools needed is a bit large so a quick summary is given below. The first few are required to get started, but you quickly end up looking at Puppet, Chef and other tools if the number of VMs get large. Puppet and Chef aren't needed to get started, but are listed because VeeWee generated virtual machines normally have them preinstalled to push applications into freshly created virtual machines. The /groups.google.com/group/devops-toolchain DevOps ToolChain email list is a good place to get ideas on distributed systems processes, automation and tooling as the toolchain implementation can get quites complicated depending on your goals.

  • Metro Tool used to build from source just enough Linux to create a Linux Funtoo OS
  • www.virtualbox.org/ VirtualBox An open source Virtual Machine Manager (VMM) developed by Sun/Oracle which has several open source DevOps tools created around it for distributed Virtual Machine (VM) automation.
  • VeeWee Tool used to automate the booting and execution of installation CDROM/ISO images. No need to watch Anaconda run to create Fedora boxes! VeeWee, while a separate project, is a subcommand of Vagrant. The Funtoo creation is currently on a fork, but a github merge request has already been place. Source for the first Funtoo VeeWee recipe.
  • Vagrant A tool which automated create/start/stop/delete operations of VirtualBox VMs. VeeWee is needed for creating custom machine types, but there are lots of /vagrantbox.es/ pre-created machine types in existence including Gentoo. The Funtoo VeeWee scripts were derived from the Gentoo scripts.
  • /puppetlabs.com/puppet/ Puppet is one of two distributed configuration management tools that are pre-installed by convention on VeeWee generated virtual machines. There are enterprise and open source versions of /puppetlabs.com/puppet/compare/ Puppet. Your Funtoo VirtualBox will have the open source Puppet installed by the /beginrescueend.com/rvm/install/ Ruby Version Manager (not portage) as Gems and Portage fight each other (like CPAN and portage) and its best for now to keep these things separated. The open source version of Puppet is typically distributed as a /rubygems.org/gems/puppet Ruby Gem.
  • www.opscode.com/chef/ Chef is the second distributed configuration management tool that is pre-installed by convention on a VeeWee generated Funtoo virtual machine. Chef also has open source and enterprise versions. Your Funtoo VirtualBox will have the open source Chef installed by the /beginrescueend.com/rvm/install/ Ruby Version Manager (not portage) as Ruby and Portage fight eachother and its best for now to keep these things separated. The open source Chef is typically distributed as a /rubygems.org/gems/chef Ruby Gem.

VM ideas

While the virtual machine was created with veewee for VirtualBox, there is no reason to restrict yourself to the VirtualBox virtual machine manager. The ".box" file is a simple tarball. In the tarball is a "box-disk1.vmdk" file which is a virtual machine disk image that is useable to the VirtualBox VMM. Untaring the disk image into another VMM's virtual machine is certainly a doable thing.

Also, the vagrant and veewee upstream developers are looking into rewriting their code to work with other VMM implementions.

Personal tools
Namespaces

Variants
Actions
Categories
Toolbox
Stuff