Difference between pages "VagrantUp" and "User:Stagr.lee"

(Difference between pages)
(Quick Start)
 
 
Line 1: Line 1:
= Funtoo Virtual Machine Quickstart =
+
= Stagr.lee =
  
== 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 [http://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 quite addictive experimenting with different configurations and setups in a very time efficient manner.
+
On GitHub https://github.com/stagrlee
  
The Funtoo project will be experimenting with virtual machines as a delivery mechanism to users.
+
Blog at [[http://dev2ops.org dev2ops]]
 
+
== Quick Start ==
+
 
+
You will need to install VirtualBox, Ruby and Gems to get going.  Recommend considering [http://beginrescueend.com/rvm/install/ Ruby Version Manager] instead of portage which will install all your Ruby needs into <tt>/opt/local/rvm</tt> 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 virtual machines are created from upstream [http://ftp.osuosl.org/pub/funtoo/funtoo-current/vagrant/x86-64bit/ current] and [http://ftp.osuosl.org/pub/funtoo/funtoo-stable/vagrant stable] 64 bit stage 3 tarballs.  Put the URL of the machine (file ending in the '''.box''' extension) that you would like to experiment with into these easy commands.
+
 
+
<console>
+
# ##i## echo "app-emulation/virtualbox extensions" >> /etc/portage/package.use
+
# ##i## emerge vagrant
+
# ##i## modprobe vboxdrv; modprobe vboxnetadp; modprobe vboxnetflt
+
# ##i## vagrant box add funtoo http://ftp.osuosl.org/pub/funtoo/funtoo-current/vagrant/x86-64bit/vagrant-generic_64-funtoo-current-2012-01-26.box
+
# ##i## vagrant init
+
# ##i## vagrant up
+
# ##i## vagrant ssh
+
# ##i## sudo su -
+
</console>
+
 
+
== 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 [http://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
+
 
+
* [http://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.
+
 
+
* [http://github.com/jedi4ever/veewee 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 merged into the [https://github.com/jedi4ever/veewee/tree/master/templates/funtoo-latest-generic_64-stable VeeWee codebase], but not currently in a released GEM. (Remark: Niklaus Giger had some problems with the templates and developed some [https://github.com/jedi4ever/veewee/pull/621 fixes])
+
 
+
* [http://vagrantup.com/ 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 [http://vagrantbox.es/ pre-created machine types] in existence including Gentoo.  The Funtoo VeeWee scripts were derived from the Gentoo scripts.
+
 
+
* [http://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 [http://puppetlabs.com/puppet/compare/ Puppet].  Your Funtoo VirtualBox will have the open source Puppet installed by the [http://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 [http://rubygems.org/gems/puppet Ruby Gem].
+
 
+
* [http://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 [http://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 [http://rubygems.org/gems/chef Ruby Gem].
+
 
+
== Security ==
+
 
+
The virtual machine is shipped built ready to script, but also wide open for attack.  The root and vagrant account's password is '''vagrant''' and the vagrant account has sudo access.  Also, there is a private key in the vagrant account that is well known.  So don't put these boxes on the net without seriously hardening the machine's security or you will just be adding to the internet bot net problems.
+
 
+
== 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.
+
 
+
[[Category:DevOps]]
+
[[Category:Virtualization]]
+

Latest revision as of 23:16, December 31, 2011

Stagr.lee

On GitHub https://github.com/stagrlee

Blog at [dev2ops]