diff --git a/.bundle/config b/.bundle/config index 6c52d9a9..947c4035 100644 --- a/.bundle/config +++ b/.bundle/config @@ -1,2 +1,2 @@ ---- -BUNDLE_WITHOUT: kvm +--- +BUNDLE_WITHOUT: "kvm" diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..019b07c5 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +#ensures shell scripts aren't broken when checking out on Windows (see issue #805) +*.sh eol=lf diff --git a/.gitignore b/.gitignore index 91103bf4..6c2bd008 100644 --- a/.gitignore +++ b/.gitignore @@ -20,7 +20,5 @@ pkg/* virtualfloppy.vfd *.swp AutoPartition.app -.ruby-version -.rbenv-gemsets +.rvmrc .project -.ruby-version diff --git a/.ruby-gemset b/.ruby-gemset new file mode 100644 index 00000000..35948590 --- /dev/null +++ b/.ruby-gemset @@ -0,0 +1 @@ +veewee diff --git a/.ruby-version b/.ruby-version new file mode 100644 index 00000000..58f65ad5 --- /dev/null +++ b/.ruby-version @@ -0,0 +1 @@ +ruby-2.2.1 diff --git a/.rvmrc b/.rvmrc deleted file mode 100755 index 4aa1deed..00000000 --- a/.rvmrc +++ /dev/null @@ -1,6 +0,0 @@ -rvm use ruby-1.9.3@veewee --create -#rvm use ruby-1.8.7@veewee --create - -alias veewee="bundle exec veewee" -alias irb="bundle exec irb" -#alias vagrant="bundle exec vagrant" diff --git a/.travis.yml b/.travis.yml index 18d9cea7..817f6ea3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,12 @@ language: ruby rvm: - - 1.9.2 - - 1.9.2-p320 - 1.9.3 - 2.0 + - 2.1 +sudo: false +cache: bundler +before_script: + - rvm rubygems latest + - gem update bundler notifications: irc: "chat.freenode.net#veewee" diff --git a/Gemfile b/Gemfile index 40c025b1..b2250271 100644 --- a/Gemfile +++ b/Gemfile @@ -3,7 +3,7 @@ #Encoding.default_internal = Encoding::UTF_8 #end -source "http://rubygems.org" +source "https://rubygems.org" #gem "veewee", :path => "." #gem "fission", :path => '/Users/patrick/dev/fission' @@ -13,7 +13,7 @@ group :kvm do end group :windows do - gem "em-winrm", :git => 'https://github.com/hh/em-winrm.git', :ref => '31745601d3' + gem "em-winrm" gem "log4r" end diff --git a/doc/basics.md b/doc/basics.md index b5f86850..3bdd2860 100644 --- a/doc/basics.md +++ b/doc/basics.md @@ -14,8 +14,8 @@ Each template folder name follows a naming scheme to help you choosing the right For example, the template for a Ubuntu 12.10 server (i386) basebox looks like this: ubuntu-12.10-server-i386[-netboot] - ^ ^ ^ ^ - | | | +----- install flavor + ^ ^ ^ ^ + | | | +----- install flavor | | +----- architecture | +----- version +----- OS name @@ -62,6 +62,17 @@ Veewee provides templates for a lot of different operation systems. To see all t Templates have the same structure as definitions, but templates are used to generate definitions. Definitions are simply **your** customizable templates that you can modify as you see fit. +### Template sources + +Veewee will detect all gems with `veewee-templates` gemspec `metadata` pointing to templates directory: + +```ruby + spec.metadata = { + "veewee-templates" => "templates" + } +``` + +For example see [veewee.gemspec](../veewee.gemspec). ## Create a definition @@ -97,9 +108,9 @@ Or you can remove the folder under `definitions`: ## Manage ISO files -The distro ISOs (also called *disk images*) provide all files needed to install the OS. This file is essential for starting the installation process. +The distro ISOs (also called *disk images*) provide all files needed to install the OS. This file is essential for starting the installation process. -If you already have an `.iso` file for the desired distribution on your disk, put it inside the `iso/` directory and make sure `definition.rb` is referencing the correct file. +If you already have an `.iso` file for the desired distribution on your disk, put it inside the `iso/` directory and make sure `definition.rb` is referencing the correct file. If an expected ISO is not found in the `iso/` directory, Veewee will ask you to download the ISO file from the web. Depending on your internet connection fetching an ISO file can take a while. @@ -113,7 +124,7 @@ In order to build the defined box, execute this subcommand: The `build` subcommand can take the following optional flags: Flag Option | Description ---------------------------------|------------- +--------------------------------|------------- -f --force | overwrites if already exists -a --auto | automatically downloads the ISO without asking -n --nogui | builds in the background rather than opening a VM GUI and building in the GUI window @@ -133,7 +144,7 @@ The `build` subcommand will run the following routines behind the scenes: * Mount the ISO file `:iso_file` * Boot up the machine and wait for `:boot_time` * Send the keystrokes in `:boot_cmd_sequence` -* Start up a webserver on `:kickstart_port` to wait for a request from the `:kickstart_file` +* Start up a webserver on `:kickstart_port` to wait `:kickstart_timeout` for a request for the `:kickstart_file` IMPORTANT: Do NOT navigate to the file in your browser or the server will stop and the installer will not be able to find your preseed * Wait for ssh login to work with `:ssh_user` and `:ssh_password` * `sudo` execute the `:postinstall_files` @@ -198,7 +209,7 @@ Validation is highly recommended before requesting a fork pull on any modified t Finally let's export the box so it can be distributed or used by Vagrant: - $ bundle exec veewee vbox export 'myubuntubox' + $ bundle exec veewee vbox export 'myubuntubox' ## Up Next diff --git a/doc/build_hooks.md b/doc/build_hooks.md index 7a9d84dd..3f27626d 100644 --- a/doc/build_hooks.md +++ b/doc/build_hooks.md @@ -25,7 +25,7 @@ But if you want to copy arbitrary files to the guest you can do this in a hook.
 Veewee::Definition.declare({
-  hooks => {
+  :hooks => {
       :after_postinstall => Proc.new { definition.box.scp('/tmp/foo.txt', '/tmp/bar.txt') }
   }
 })
@@ -58,7 +58,7 @@ end
 myhooks = Hooks.new(veewee_definition)
 
 Veewee::Definition.declare({
-  hooks => {
+  :hooks => {
       :after_boot_sequence => Proc.new { myhooks.after_boot_sequence },
       :before_ssh => Proc.new { myhooks.before_ssh }
   }
diff --git a/doc/customize.md b/doc/customize.md
index aa8c4723..6bf05cd5 100644
--- a/doc/customize.md
+++ b/doc/customize.md
@@ -92,7 +92,7 @@ All other settings are used internally by Veewee, the virtualization provider, o
             'initrd=/install/initrd.gz -- '
         ],
         :kickstart_port => "7122",
-        :kickstart_timeout => "10000",
+        :kickstart_timeout => "60",
         :kickstart_file => "preseed.cfg",
         :ssh_login_timeout => "10000",
         :ssh_user => "vagrant",
@@ -128,7 +128,6 @@ Definition Option               | Default                 | Provider
 :boot_wait                      | uninitialised           | core
 :boot_cmd_sequence              | empty                   | core
 :kickstart_port                 | uninitialised           | core
-:kickstart_ip                   | uninitialised           | core
 :kickstart_timeout              | uninitialised           | core
 :kickstart_file                 | uninitialised           | core
 :ssh_login_timeout              | uninitialised           | kvm, parallels, virtualbox, vmfusion
@@ -192,6 +191,42 @@ Each provider _can_ take options that are specific the provider; more details wi
 
 This box will have `pae` and `ioapic` enabled with VirtualBox, and will use the `brlxc0` bridge with KVM (on libvirt).
 
+## Using Yaml for storing configuration
+
+You can store definitions in `*.yml` files, loading them is as easy as:
+
+    Veewee::Definition.declare_yaml(filename1, filename2 ...)
+
+For example given those 3 files:
+
+    .
+    ├── definitions
+    │   └── myubuntubox
+    │       ├── definition.rb
+    │       ├── definition.yml
+    │       ├── 64bit.yml
+    │       ├── 32bit.yml
+    │       └── ...
+
+And `definition.rb` with
+
+    Veewee::Definition.declare_yaml('definition.yml', '64bit.yml')
+
+Then veewee will read first `definition.yml` and `64bit.yml`, this way
+it is possible to mix multiple possible combinations of systems,
+versions, and architectures. All the configurations available in
+`declare` are also valid in `*yml` files.
+
+You can also mix options with file names like:
+
+    Veewee::Definition.declare_yaml(
+      {:cpu_count => '1'},
+      filename1,
+      {:ssh_user => 'vagrant'},
+      filename2,
+      ...
+    )
+
 
 ## Up Next
 
diff --git a/doc/installation.md b/doc/installation.md
index 0ad1f8ff..92c01e8f 100644
--- a/doc/installation.md
+++ b/doc/installation.md
@@ -1,6 +1,8 @@
 # Veewee Installation
 
 Before installing Veewee, please see the [Requirements](requirements.md) doc.
+Currently supported versions of ruby: `1.9.3` to `2.2.1`
+##### IMPORTANT: For best results, please use the latest version of Ruby.
 
 ## Install as a gem
 
@@ -33,7 +35,7 @@ Installing Veewee without a Ruby version manager is **NOT** recommended:
 
 With RVM already installed (see [Requirements](requirements.md)), ensure a ruby version that's supported by Veewee is available on your machine:
 
-    $ rvm install 1.9.2
+    $ rvm install ruby
 
 Clone the veewee project from source:
 
@@ -43,7 +45,7 @@ Clone the veewee project from source:
 
 Set the local gemset and ruby version within the current directory:
 
-    $ rvm use 1.9.2@veewee --create
+    $ rvm use ruby@veewee --create
 
 Run `bundle install` to install Gemfile dependencies for our local gemset:
 
@@ -55,7 +57,7 @@ Run `bundle install` to install Gemfile dependencies for our local gemset:
 
 With rbenv already installed (see [Requirements](requirements.md)), ensure a ruby version that's supported by Veewee is available on your machine:
 
-    $ rbenv install 1.9.2-p320
+    $ rbenv install 2.2.1
     $ rbenv rehash
 
 Clone the veewee project from source:
@@ -66,7 +68,7 @@ Clone the veewee project from source:
 
 Set the local ruby version within the current directory:
 
-    $ rbenv local 1.9.2-p320
+    $ rbenv local 2.2.1
     $ rbenv rehash
 
 Run `bundle install` to install Gemfile dependencies for our selected ruby version:
diff --git a/doc/requirements.md b/doc/requirements.md
index c9bbb091..36b7d058 100644
--- a/doc/requirements.md
+++ b/doc/requirements.md
@@ -43,12 +43,15 @@ On Windows, you will need to install:
 
 It is highly recommended that you use either `rvm` or `rbenv` to manage your ruby versions.
 
+Veewee currently supports Ruby version `1.9.3` to `2.2.1`
+IMPORTANT : For best results, please use the latest version of Ruby.
+
 
 ### Option 1: RVM
 
 [RVM](https://rvm.io/) is Veewee's prefered ruby version manager. 
 
-RVM will allow Veewee to install it's own [gemset](https://rvm.io/gemsets/basics/) and configure it's own ruby version - which keeps Veewee and it's dependancies completely separate from your other projects. Please see https://rvm.io/gemsets/basics/ for details if you are new to the concept of 'gemsets'.
+RVM will allow Veewee to install its own [gemset](https://rvm.io/gemsets/basics/) and configure its own ruby version - which keeps Veewee and its dependancies completely separate from your other projects. Please see https://rvm.io/gemsets/basics/ for details if you are new to the concept of 'gemsets'.
 
 
 ##### Installing RVM
diff --git a/lib/fission.rb b/lib/fission.rb
index 24a9acdb..9d48332d 100644
--- a/lib/fission.rb
+++ b/lib/fission.rb
@@ -5,12 +5,26 @@
 
 $:.unshift File.join(File.dirname(__FILE__), *%w[.. lib])
 
-#require 'fission/error'
+require 'fission/action/shell_executor'
+require 'fission/action/snapshot/creator'
+require 'fission/action/snapshot/deleter'
+require 'fission/action/snapshot/lister'
+require 'fission/action/snapshot/reverter'
+require 'fission/action/vm/cloner'
+require 'fission/action/vm/deleter'
+require 'fission/action/vm/lister'
+require 'fission/action/vm/starter'
+require 'fission/action/vm/stopper'
+require 'fission/action/vm/suspender'
 require 'fission/cli'
 require 'fission/command'
 require 'fission/command_helpers'
+require 'fission/command_line_parser'
 require 'fission/command/clone'
+require 'fission/command/delete'
+require 'fission/command/info'
 require 'fission/command/snapshot_create'
+require 'fission/command/snapshot_delete'
 require 'fission/command/snapshot_list'
 require 'fission/command/snapshot_revert'
 require 'fission/command/start'
@@ -27,6 +41,7 @@
 require 'fission/response'
 require 'fission/ui'
 require 'fission/vm'
+require 'fission/vm_configuration'
 require 'fission/version'
 
 module Fission
diff --git a/lib/fission/config.rb b/lib/fission/config.rb
index 096a720a..ef133ee9 100644
--- a/lib/fission/config.rb
+++ b/lib/fission/config.rb
@@ -24,23 +24,23 @@ def initialize
 
       fusion_version = :unknown
 
-      if File.exists?("/Library/Application Support/VMware Fusion/vmrun")
-        @attributes['vmrun_bin'] = '/Library/Application Support/VMware Fusion/vmrun'
-      end
-
-      if File.exists?("/Applications/VMware Fusion.app/Contents/Library/vmrun")  
-        @attributes['vmrun_bin'] = "/Applications/VMware Fusion.app/Contents/Library/vmrun"
-      end
+      @attributes['vmrun_bin'] = [
+        '/Library/Application Support/VMware Fusion/vmrun',
+        '/Applications/VMware Fusion.app/Contents/Library/vmrun',
+        '/usr/local/bin/vmrun'
+      ].find { |path| File.exists?(path) }
 
       if fusion_version == :unknown
       end
 
       @attributes['plist_file'] = File.expand_path('~/Library/Preferences/com.vmware.fusion.plist')
-      @attributes['gui_bin'] = File.expand_path('/Applications/VMware Fusion.app/Contents/MacOS/vmware')
+      @attributes['gui_bin'] = '/Applications/VMware Fusion.app/Contents/MacOS/vmware'
 
       load_from_file
 
+
       @attributes['vmrun_cmd'] = "#{@attributes['vmrun_bin'].gsub(' ', '\ ')} -T fusion"
+      @attributes['gui_bin'] = File.expand_path(@attributes['gui_bin'])
     end
 
     # Public: Helper method to access config atributes.  This is a shortcut for
diff --git a/lib/veewee/command/group_base.rb b/lib/veewee/command/group_base.rb
index 2911d1b4..a8095622 100644
--- a/lib/veewee/command/group_base.rb
+++ b/lib/veewee/command/group_base.rb
@@ -92,9 +92,9 @@ class GroupBase < Thor
       #
       def self.register(options = {})
         # self refers to the class object of the provider subclass
-        self.class_variable_set(:@@command, options[:command])
-        self.class_variable_set(:@@description, options[:description])
-        self.class_variable_set(:@@provider, options[:provider])
+        self.send(:class_variable_set, :@@command,     options[:command]    )
+        self.send(:class_variable_set, :@@description, options[:description])
+        self.send(:class_variable_set, :@@provider,    options[:provider]   )
         CLI.register(self, options[:command], options[:command], options[:description], options[:opts])
       end
 
diff --git a/lib/veewee/command/helpers.rb b/lib/veewee/command/helpers.rb
index 2d0ccdc9..2d5d20d8 100644
--- a/lib/veewee/command/helpers.rb
+++ b/lib/veewee/command/helpers.rb
@@ -6,8 +6,9 @@ module Helpers
       def initialize_environment(args, options, config)
         raise Errors::CLIMissingEnvironment if !config[:env]
         @env = config[:env]
+        @env.cwd = File.expand_path(@options[:cwd]) if @options[:cwd]
       end
 
      end
   end
-end
\ No newline at end of file
+end
diff --git a/lib/veewee/config/ostypes.yml b/lib/veewee/config/ostypes.yml
index 9a4e7292..6c0493f8 100644
--- a/lib/veewee/config/ostypes.yml
+++ b/lib/veewee/config/ostypes.yml
@@ -10,22 +10,22 @@ Windows7:
   :vbox: Windows7
   :parallels: win-7
 Windows8:
-  :fusion:
+  :fusion: windows8
   :kvm:
   :vbox: Windows8
   :parallels: win-8
 Windows8_64:
-  :fusion:
+  :fusion: windows8-64
   :kvm:
   :vbox: Windows8_64
   :parallels: win-8
 Windows81:
-  :fusion:
+  :fusion: windows8
   :kvm:
   :vbox: Windows81
   :parallels: win-8
 Windows81_64:
-  :fusion:
+  :fusion: windows8-64
   :kvm:
   :vbox: Windows81_64
   :parallels: win-8
@@ -348,22 +348,22 @@ NetBSD_64:
   :vbox: NetBSD_64
   :parallels: other
 ESXi5:
-  :fusion: vmkernel5 
+  :fusion: vmkernel5
   :kvm:
-  :vbox: 
-  :parallels: 
+  :vbox:
+  :parallels:
 Darwin_10_7:
   :fusion: darwin11
   :kvm:
-  :vbox:
+  :vbox: MacOS
   :parallels:
 Darwin_10_7_64:
   :fusion: darwin11-64
   :kvm:
-  :vbox:
+  :vbox: MacOS_64
   :parallels:
 Darwin_10_8_64:
   :fusion: darwin12-64
   :kvm:
-  :vbox:
+  :vbox: MacOS_64
   :parallels:
diff --git a/lib/veewee/definition.rb b/lib/veewee/definition.rb
index 3986b634..0b2272e1 100644
--- a/lib/veewee/definition.rb
+++ b/lib/veewee/definition.rb
@@ -1,3 +1,4 @@
+require 'yaml'
 require 'ostruct'
 require 'veewee/provider/core/helper/iso'
 
@@ -20,7 +21,7 @@ class Definition
 
     attr_accessor :boot_wait, :boot_cmd_sequence
 
-    attr_accessor :kickstart_port, :kickstart_ip, :kickstart_timeout, :kickstart_file
+    attr_accessor :kickstart_port, :kickstart_timeout, :kickstart_file
 
     attr_accessor :ssh_login_timeout, :ssh_user, :ssh_password, :ssh_key, :ssh_host_port, :ssh_guest_port
 
@@ -91,7 +92,7 @@ def initialize(name, path, env)
       #        :hostiocache => 'off' ,
       #        :os_type_id => 'Ubuntu',
       #        :boot_wait => "10", :boot_cmd_sequence => [ "boot"],
-      #        :kickstart_port => "7122", :kickstart_ip => "127.0.0.1", :kickstart_timeout => 10000,#
+      #        :kickstart_port => "7122", :kickstart_timeout => 60,#
       #        :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant",:ssh_key => "",
       @ssh_host_port = "2222" ; @ssh_guest_port = "22"
       #        :ssh_host_port => "2222", :ssh_guest_port => "22", :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
@@ -124,6 +125,18 @@ def declare(options)
 
     end
 
+    def declare_yaml(*files)
+      files.each do |file|
+        if Hash === file
+          env.logger.info("Reading hash options")
+        else
+          env.logger.info("Reading yaml file: #{file}")
+          file = YAML.load_file(file)
+        end
+        declare(file)
+      end
+    end
+
     # Class method to loading a definition
     def self.load(name, env)
 
diff --git a/lib/veewee/environment.rb b/lib/veewee/environment.rb
index 8059028f..cc376fc2 100644
--- a/lib/veewee/environment.rb
+++ b/lib/veewee/environment.rb
@@ -26,10 +26,10 @@ class Environment
     # - :validation_dir  : directory that contains a list of validation tests, that can be run after building a box
     # - :tmp_dir         : directory that will be used for creating temporary files, needs to be rewritable, default to $environment_dir/tmp
     attr_accessor :template_path
-    attr_accessor :definition_dir
-    attr_accessor :iso_dir
+    attr_writer   :definition_dir
+    attr_writer   :iso_dir
     attr_accessor :validation_dir
-    attr_accessor :tmp_dir
+    attr_writer   :tmp_dir
 
     # The {UI} Object to communicate with the outside world
     attr_writer :ui
@@ -66,11 +66,8 @@ def initialize(options = {})
       defaults = {
         :cwd => cwd,
         :veewee_filename => "Veeweefile",
-        :definition_dir => File.join(cwd, "definitions"),
-        :template_path => [File.expand_path(File.join(File.dirname(__FILE__), "..", "..", 'templates')), "templates"],
-        :iso_dir => File.join(cwd, "iso"),
+        :template_path => ["templates"],
         :validation_dir => File.join(File.expand_path(File.join(File.dirname(__FILE__), "..", "..")), "validation"),
-        :tmp_dir => File.join(cwd, "tmp")
       }
 
       options = defaults.merge(options)
@@ -107,6 +104,16 @@ def initialize(options = {})
       return self
     end
 
+    def definition_dir
+      @definition_dir ||= File.join(cwd, "definitions")
+    end
+    def iso_dir
+      @iso_dir ||= File.join(cwd, "iso")
+    end
+    def tmp_dir
+      tmp_dir ||= File.join(cwd, "tmp")
+    end
+
     def self.workdir
       ENV['VEEWEE_DIR'] || Dir.pwd
     end
diff --git a/lib/veewee/provider/core/box/build.rb b/lib/veewee/provider/core/box/build.rb
index 31125d43..a0dfc991 100644
--- a/lib/veewee/provider/core/box/build.rb
+++ b/lib/veewee/provider/core/box/build.rb
@@ -1,3 +1,5 @@
+require 'to_slug'
+
 module Veewee
   module Provider
     module Core
@@ -70,10 +72,12 @@ def kickstart(options)
           })
 
           # Type the boot sequence
+          t =
           Thread.new do
             self.console_type(boot_sequence)
             run_hook(:after_boot_sequence)
           end
+          t.abort_on_exception = true
 
           self.handle_kickstart(options)
         end
@@ -219,31 +223,30 @@ def build_info
         # It requires a definition to find all the necessary information
         def handle_kickstart(options)
 
-          # Handling the kickstart by web
-          kickstartfiles=definition.kickstart_file
+          case definition.kickstart_file
+          when Array  then kickstartfiles = definition.kickstart_file
+          when String then kickstartfiles = definition.kickstart_file.split
+          when nil    then kickstartfiles = []
+          else raise "Do not know how to handle kickstart_file: #{kickstart_file.inspect}"
+          end
 
-          if kickstartfiles.nil? || kickstartfiles.length == 0
+          if kickstartfiles.empty?
             env.ui.info "Skipping webserver as no kickstartfile was specified"
           else
-            env.ui.info "Starting a webserver #{definition.kickstart_ip}:#{definition.kickstart_port}\n"
-          end
-
-          # Check if the kickstart is an array or a single string
-          if kickstartfiles.is_a?(String)
-            # Let's turn it into an array
-            kickstartfiles=kickstartfiles.split
+            env.ui.info "Starting a webserver #{host_ip_as_seen_by_guest}:#{definition.kickstart_port}, check your firewall if nothing happens\n"
+            timeouts = Array(definition.kickstart_timeout).map(&:to_i)
           end
 
           # For each kickstart file spinup a webserver and wait for the file to be fetched
-          unless kickstartfiles.nil?
-            kickstartfiles.each do |kickfile|
-              wait_for_http_request(kickfile,{
+          kickstartfiles.each_with_index do |kickfile, index|
+            wait_for_http_request(
+              File.join(definition.path, kickfile),
+              kickfile.start_with?('/') ? kickfile : '/' + kickfile,
+              {
                 :port => definition.kickstart_port,
-                :host => definition.kickstart_ip,
-                :timeout => definition.kickstart_timeout,
-                :web_dir => definition.path
-              })
-            end
+                :timeout => timeouts.fetch(index, timeouts.last), # get the matching kickfile timeout or the last defined
+              }
+            )
           end
         end
 
@@ -254,6 +257,12 @@ def handle_postinstall(options)
           definition.postinstall_files.each do |postinstall_file|
             # Filenames of postinstall_files are relative to their definition
             filename=File.join(definition.path,postinstall_file)
+
+            if File.basename(postinstall_file).start_with?("_")
+              env.logger.info "Skipping copy of postinstallfile #{postinstall_file}"
+              next
+            end
+
             self.copy_to_box(filename,File.basename(filename))
             if not (definition.winrm_user && definition.winrm_password)
               self.exec("chmod +x \"#{File.basename(filename)}\"")
diff --git a/lib/veewee/provider/core/box/copy.rb b/lib/veewee/provider/core/box/copy.rb
index d09c440d..6b8595ec 100644
--- a/lib/veewee/provider/core/box/copy.rb
+++ b/lib/veewee/provider/core/box/copy.rb
@@ -5,8 +5,14 @@ module BoxCommand
 
         def copy_to_box(localfile,remotefile,options={})
           raise Veewee::Error,"Box is not running" unless self.running?
-          if definition.winrm_user && definition.winrm_password # prefer winrm 
+          if
+            definition.winrm_user && definition.winrm_password # prefer winrm
+          then
             self.wincp(localfile,remotefile,options)
+          elsif
+            definition.os_type_id =~ /^Windows/
+          then
+            raise "Trying to transfer #{localfile} to windows machine without 'winrm_user' and 'winrm_password' set in definition."
           else
             self.scp(localfile,remotefile,options)
           end
diff --git a/lib/veewee/provider/core/box/ssh.rb b/lib/veewee/provider/core/box/ssh.rb
index 98b222f1..61821dac 100644
--- a/lib/veewee/provider/core/box/ssh.rb
+++ b/lib/veewee/provider/core/box/ssh.rb
@@ -1,11 +1,12 @@
 require 'veewee/provider/core/helper/ssh'
 require 'shellwords'
+require 'pathname'
+
 module Veewee
   module Provider
     module  Core
       module BoxCommand
 
-
         def ssh(command=nil,options={})
 
           raise Veewee::Error,"Box is not running" unless self.running?
@@ -14,7 +15,7 @@ def ssh(command=nil,options={})
 
           if (options[:interactive]==true)
             unless host_ip.nil? || host_ip==""
-              ssh_command="ssh #{ssh_commandline_options(options)} #{host_ip} #{Shellwords.escape command}"
+              ssh_command="ssh #{ssh_commandline_options(options)} #{host_ip} #{Shellwords.escape(command) if command}"
 
               fg_exec(ssh_command,options)
 
@@ -23,7 +24,8 @@ def ssh(command=nil,options={})
             end
           else
             ssh_options={:user => definition.ssh_user,:password => definition.ssh_password, :port => definition.ssh_host_port}
-            ssh_execute(host_ip,command,ssh_options)
+            ssh_options[:keys] = ssh_key_to_a(definition.ssh_key) if definition.ssh_key
+            ssh_execute(host_ip, command, ssh_options)
           end
 
         end
@@ -37,13 +39,17 @@ def ssh_commandline_options(options)
             "-p #{ssh_options[:port]}",
             "-o UserKnownHostsFile=/dev/null",
             "-t -o StrictHostKeyChecking=no",
-            "-o IdentitiesOnly=yes",
             "-o VerifyHostKeyDNS=no"
           ]
-          if !(definition.ssh_key.nil? ||  definition.ssh_key.empty?)
-            # Filenames of SSH keys are relative to their definition
-            ssh_key = File.join(definition.path, definition.ssh_key)
-            command_options << "-i #{ssh_key}"
+          if definition.ssh_key
+            command_options << "-o IdentitiesOnly=yes"
+            ssh_keys = ssh_key_to_a(definition.ssh_key)
+            ssh_keys.each do |ssh_keys|
+              # Filenames of SSH keys are relative to their definition
+              ssh_key = Pathname.new(ssh_keys)
+              ssh_key = File.join(definition.path, ssh_key) if ssh_key.relative?
+              command_options << "-i #{ssh_key}"
+            end
           end
           commandline_options="#{command_options.join(" ")} ".strip
 
diff --git a/lib/veewee/provider/core/box/validate_tags.rb b/lib/veewee/provider/core/box/validate_tags.rb
index 9502620e..e81da294 100644
--- a/lib/veewee/provider/core/box/validate_tags.rb
+++ b/lib/veewee/provider/core/box/validate_tags.rb
@@ -103,6 +103,12 @@ def checks_linux
             :expected_string => 'root',
             :sudo => true
           },
+          { :description => 'Checking passwordless sudo',
+            :tags => [ 'virtualbox','kvm', 'parallels'],
+            :command => 'echo '' | sudo -S -l 2>/dev/null | grep NOPASSWD 1>/dev/null; echo $?',
+            :expected_string => '0',
+            :sudo => false
+          },
           { :description => 'Checking ruby',
             :tags => [ 'virtualbox','kvm', 'parallels','ruby'],
             :command => '. /etc/profile ;ruby --version 2> /dev/null 1> /dev/null;  echo $?',
diff --git a/lib/veewee/provider/core/box/vnc.rb b/lib/veewee/provider/core/box/vnc.rb
index b98a41cd..38c8ca56 100644
--- a/lib/veewee/provider/core/box/vnc.rb
+++ b/lib/veewee/provider/core/box/vnc.rb
@@ -12,26 +12,25 @@ module BoxCommand
       def vnc_type(sequence,host,display=20)
         counter=0
         env.logger.info "Opening VNC #{host} on display #{display}"
-        vnc=Net::VNC.open("#{host}:#{display}",{:wait => 0.001})
-        sequence.each { |s|
-          counter=counter+1
+        Net::VNC.open("#{host}:#{display}",{:wait => 0.001}) do |vnc|
+          sequence.each { |s|
+            counter=counter+1
 
-          ui.info "Typing:[#{counter}]: "+s
+            ui.info "Typing:[#{counter}]: "+s
 
-          keycodes=string_to_vnccode(s)
+            keycodes=string_to_vnccode(s)
 
-            keycodes.each do |keycode|
-              if keycode==:wait
-                sleep 1
-              else
-                send_vnc_keycode(vnc,keycode)
+              keycodes.each do |keycode|
+                if keycode==:wait
+                  sleep 1
+                else
+                  send_vnc_keycode(vnc,keycode)
+                end
               end
-            end
-        }
-        vnc.close
-        ui.info "Done typing."
-        ui.info ""
-
+          }
+          ui.info "Done typing."
+          ui.info ""
+        end
       end
 
       def send_vnc_keycode(vnc,keycode)
@@ -48,7 +47,7 @@ def send_vnc_keycode(vnc,keycode)
 
       def string_to_vnccode(thestring)
 
-	# https://github.com/aquasync/ruby-vnc/blob/master/data/keys.yaml
+  # https://github.com/aquasync/ruby-vnc/blob/master/data/keys.yaml
 
         special=Hash.new
         # Specific veewee
diff --git a/lib/veewee/provider/core/box/wincp.rb b/lib/veewee/provider/core/box/wincp.rb
index 6951b2fb..479fbc42 100644
--- a/lib/veewee/provider/core/box/wincp.rb
+++ b/lib/veewee/provider/core/box/wincp.rb
@@ -1,4 +1,6 @@
+require 'to_slug'
 require 'veewee/provider/core/helper/winrm'
+
 module Veewee
   module Provider
     module  Core
@@ -14,7 +16,6 @@ def wincp(localfile,remotefile,options={})
             end
           end
 
-          
           # Calculate an available kickstart port which we will use for wincp
           definition.kickstart_port = "7000" if definition.kickstart_port.nil?
           guessed_port=guess_free_port(definition.kickstart_port.to_i,7199).to_s
@@ -23,18 +24,23 @@ def wincp(localfile,remotefile,options={})
             definition.kickstart_port=guessed_port.to_s
           end
 
-          env.ui.warn "Spinning up a wait_for_http_request on http://#{host_ip_as_seen_by_guest}:#{definition.kickstart_port}#{localfile}"
-          webthread=allow_for_http_request(localfile,{
-              :port => definition.kickstart_port,
-              :host => definition.kickstart_ip,
-              :timeout => definition.kickstart_timeout,
-              :web_dir => '/'
-            })
-          
+          urlpath = localfile.to_slug
+          urlpath = urlpath.start_with?('/') ? urlpath : '/' + urlpath
+
           begin
             self.when_winrm_login_works(self.ip_address,winrm_options.merge(options)) do
+              env.ui.warn "Spinning up an allow_for_http_request on http://#{host_ip_as_seen_by_guest}:#{definition.kickstart_port}#{localfile} at URL #{urlpath}"
+              allow_for_http_request(
+                  localfile,
+                  urlpath,
+                  {
+                    :port => definition.kickstart_port,
+                    :timeout => 300,
+                  }
+              )
+
               env.ui.info "Going to try and copy #{localfile} to #{remotefile.inspect}"
-              self.exec("cmd.exe /C cscript %TEMP%\\wget.vbs /url:http://#{host_ip_as_seen_by_guest}:#{definition.kickstart_port}#{localfile} /path:#{remotefile}")
+              self.exec("cmd.exe /C cscript %TEMP%\\wget.vbs /url:http://#{host_ip_as_seen_by_guest}:#{definition.kickstart_port}#{urlpath} /path:#{remotefile}")
               # while true do
               #   sleep 0.1 # used to debug
               # end
diff --git a/lib/veewee/provider/core/box/winrm.rb b/lib/veewee/provider/core/box/winrm.rb
index 3385dabc..6748b908 100644
--- a/lib/veewee/provider/core/box/winrm.rb
+++ b/lib/veewee/provider/core/box/winrm.rb
@@ -31,27 +31,6 @@ def winrm(command=nil,options={})
 
         end
 
-        private
-        def winrm_options(options)
-
-          command_options = [
-            #"-q", #Suppress warning messages
-            #            "-T", #Pseudo-terminal will not be allocated because stdin is not a terminal.
-            "-p #{winrm_options[:port]}",
-            "-o UserKnownHostsFile=/dev/null",
-            "-t -o StrictHostKeyChecking=no",
-            "-o IdentitiesOnly=yes",
-            "-o VerifyHostKeyDNS=no"
-          ]
-          if !(definition.winrm_key.nil? ||  definition.winrm_key.length!="")
-            command_options << "-i #{definition.winrm_key}"
-          end
-          commandline_options="#{command_options.join(" ")} ".strip
-
-          user_option=definition.winrm_user.nil? ? "" : "-l #{definition.winrm_user}"
-
-          return "#{commandline_options} #{user_option}"
-        end
       end # Module
     end # Module
   end # Module
diff --git a/lib/veewee/provider/core/helper/iso.rb b/lib/veewee/provider/core/helper/iso.rb
index 003314dd..2cb05106 100644
--- a/lib/veewee/provider/core/helper/iso.rb
+++ b/lib/veewee/provider/core/helper/iso.rb
@@ -31,33 +31,38 @@ def download_progress(url,localfile)
             pbar = nil
             uri = URI.parse(url)
             uri.open(
-              :content_length_proc => lambda {|t|
-              if t && 0 < t
-                pbar = ProgressBar.new("Fetching file", t)
-                pbar.file_transfer_mode
-              end
-            },
+              :content_length_proc => lambda { |t|
+                if t && 0 < t
+                  pbar = ProgressBar.new("Fetching file", t)
+                  pbar.file_transfer_mode
+                end
+              },
               :progress_proc => lambda {|s|
-              pbar.set s if pbar
-            },
+                pbar.set s if pbar
+              },
               #consider proxy env vars only if host is not excluded
               :proxy => !no_proxy?(uri.host)
             ) { |src|
-              # We assume large 10K files, so this is tempfile object
-              env.logger.info "#{src.class}"
+              if
+                src.methods(&:to_sym).include?(:path)
+              then
+                # We assume large 10K files, so this is tempfile object
                 ui.info "Moving #{src.path} to #{localfile}"
                 # Force the close of the src stream to release handle before moving
                 # Not forcing the close may cause an issue on windows (Permission Denied)
                 src.close
                 FileUtils.mv(src.path,localfile)
-                #open(localfile,"wb") { |dst|
-                  #dst.write(src.read)
-                #}
+              else
+                open(localfile,"wb") { |dst|
+                  dst.write(src.read)
+                }
+              end
             }
           end
 
           #return true if host is excluded from proxy via no_proxy env var, false otherwise
           def no_proxy? host
+            return false if host.nil?
             @no_proxy ||= (ENV['NO_PROXY'] || ENV['no_proxy'] || 'localhost, 127.0.0.1').split(/\s*,\s*/)
             @no_proxy.each do |host_addr|
               return true if host.match(Regexp.quote(host_addr)+'$')
diff --git a/lib/veewee/provider/core/helper/scancode.rb b/lib/veewee/provider/core/helper/scancode.rb
index 1b65260c..0d14eaca 100644
--- a/lib/veewee/provider/core/helper/scancode.rb
+++ b/lib/veewee/provider/core/helper/scancode.rb
@@ -35,15 +35,16 @@ class Scancode
             end
           end
 
-          @@special_keys=Hash.new;
+          @@special_keys = Hash.new;
           @@special_keys[''] = '1c 9c';
           @@special_keys[''] = '0e 8e';
+          @@special_keys[''] = '0e 8e';
           @@special_keys[''] = '39 b9';
           @@special_keys[''] = '1c 9c'
           @@special_keys[''] = '01 81';
           @@special_keys[''] = '0f 8f';
           @@special_keys[''] = '1d 38 0e b8';
-          @@special_keys[''] = 'wait';
+          @@special_keys[''] = 'wait';
 
           @@special_keys[''] = '48 c8';
           @@special_keys[''] = '50 d0';
@@ -52,6 +53,7 @@ class Scancode
           @@special_keys[''] = '4f cf';
           @@special_keys[''] = '52 d2';
           @@special_keys[''] = '53 d3';
+          @@special_keys[''] = '53 d3';
           @@special_keys[''] = '4b cb';
           @@special_keys[''] = '4d cd';
           @@special_keys[''] = '47 c7';
@@ -69,13 +71,15 @@ def self.string_to_keycode(thestring)
 
             until thestring.length == 0
               nospecial=true;
-              @@special_keys.keys.each { |key|
-                if thestring.start_with?(key)
+              @@special_keys.each { |key, value|
+                if
+                  result = thestring.match(/^#{key}/i)
+                then
                   #take thestring
                   #check if it starts with a special key + pop special string
-                  keycodes=keycodes+@@special_keys[key]+' ';
-                  thestring=thestring.slice(key.length,thestring.length-key.length)
-                  nospecial=false;
+                  keycodes += value + result.captures.join(",") + ' '
+                  thestring = thestring.slice(result.to_s.length, thestring.length-result.to_s.length)
+                  nospecial = false;
                   break;
                 end
               }
diff --git a/lib/veewee/provider/core/helper/shell.rb b/lib/veewee/provider/core/helper/shell.rb
index 35b7d061..20bf6dcb 100644
--- a/lib/veewee/provider/core/helper/shell.rb
+++ b/lib/veewee/provider/core/helper/shell.rb
@@ -20,31 +20,36 @@ module Shell
           # http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/185404
           # This should work on windows too now
           # This will result in a ShellResult structure with stdout, stderr and status
-          def shell_exec(command,options = {:mute => true,:status => 0,:stderr => "&1"})
-            defaults={:mute => true, :status => 0}
-            options=defaults.merge(options)
-            result=ShellResult.new("","",-1)
+          def shell_exec(command, options = {})
+            defaults = { :mute => true, :status => 0, :stderr => "&1" }
+            options  = defaults.merge(options)
+            result   = ShellResult.new("","",-1)
             ui.info "Executing #{command}" unless options[:mute]
             env.logger.debug "Command: \"#{command}\""
             env.logger.debug "Output:"
             env.logger.debug "-------"
-            escaped_command=command
+            escaped_command = command
             stderr_redirect = options[:stderr]? options[:stderr] : "&1"
-            IO.popen("#{escaped_command}"+ " 2>#{stderr_redirect}") { |p|
-              p.each_line{ |l|
-                result.stdout+=l
-                ui.info(l,{:new_line => false})  unless options[:mute]
-                env.logger.debug(l.chomp)
-              }
-              result.status=Process.waitpid2(p.pid)[1].exitstatus
-              if result.status.to_i!=options[:status]
+            io_options = {}
+            io_options[:external_encoding] = options[:external_encoding] if options[:external_encoding]
+
+            IO.popen("#{escaped_command}"+ " 2>#{stderr_redirect}", io_options) do |pipe|
+              pipe.each_line do |line|
+                result.stdout += line
+                ui.info(line, :new_line => false)  unless options[:mute]
+                env.logger.debug(line.chomp)
+              end
+              result.status = Process.waitpid2(pipe.pid)[1].exitstatus
+              if
+                result.status.to_i != options[:status]
+              then
                 ui.error "Error: We executed a shell command and the exit status was not #{options[:status]}"
                 ui.error "- Command :#{command}."
                 ui.error "- Exitcode :#{result.status}."
                 ui.error "- Output   :\n#{result.stdout}"
                 raise Veewee::Error,"Wrong exit code for command #{command}"
               end
-            }
+            end
             return result
           end
 
diff --git a/lib/veewee/provider/core/helper/ssh.rb b/lib/veewee/provider/core/helper/ssh.rb
index 4d47573d..2f2b50b4 100644
--- a/lib/veewee/provider/core/helper/ssh.rb
+++ b/lib/veewee/provider/core/helper/ssh.rb
@@ -1,3 +1,7 @@
+require 'socket'
+require 'net/ssh'
+require 'net/scp'
+
 module Veewee
   module Provider
     module Core
@@ -15,211 +19,215 @@ def initialize(stdout,stderr,status)
           end
         end
 
-        module Ssh
-
-          require 'socket'
-
-          # nonblocking ssh connection check
-          def tcp_test_ssh(hostname, port, timeout = 2)                        
-            
-            addr = Socket.getaddrinfo(hostname, nil)
-            sockaddr = Socket.pack_sockaddr_in(port, addr[0][3])
-
-            Socket.new(Socket.const_get(addr[0][0]), Socket::SOCK_STREAM, 0).tap do |socket|
-              socket.setsockopt(Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1)
-              begin
-                socket.connect_nonblock(sockaddr)
-
-              rescue IO::WaitWritable
-                if IO.select(nil, [socket], nil, timeout)
-                  begin
-                    result = socket.connect_nonblock(sockaddr)
-                    if result == 0 
-                      socket.close
-                      return true
-                    end
-                  rescue Errno::EISCONN
-                    socket.close
-                    return true
-                  rescue
-                    socket.close
-                    return false
-                  end
-                else
-                  socket.close
-                  return false
-                end
-              end
+      end
+    end
+  end
+end
+
+module Veewee::Provider::Core::Helper::Ssh
+
+  def build_ssh_options
+    ssh_options={
+      :user => definition.ssh_user,
+      :port => 22,
+      :password => definition.ssh_password,
+      :timeout => definition.ssh_login_timeout.to_i
+    }
+    ssh_options[:keys] = ssh_key_to_a(definition.ssh_key) if definition.ssh_key
+    return ssh_options
+  end
+
+  def ssh_options
+    build_ssh_options
+  end
+
+  def ssh_key_to_a(ssh_key)
+    case ssh_key
+    when "" then []
+    else Array(ssh_key)
+    end
+  end
+
+  # nonblocking ssh connection check
+  def tcp_test_ssh(hostname, port, timeout = 2)
+
+    addr = Socket.getaddrinfo(hostname, nil)
+    sockaddr = Socket.pack_sockaddr_in(port, addr[0][3])
+
+    Socket.new(Socket.const_get(addr[0][0]), Socket::SOCK_STREAM, 0).tap do |socket|
+      socket.setsockopt(Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1)
+      begin
+        socket.connect_nonblock(sockaddr)
+
+      rescue IO::WaitWritable
+        if IO.select(nil, [socket], nil, timeout)
+          begin
+            result = socket.connect_nonblock(sockaddr)
+            if result == 0
+              socket.close
+              return true
             end
-            false
+          rescue Errno::EISCONN
+            socket.close
+            return true
+          rescue
+            socket.close
+            return false
           end
-
-          require 'net/ssh'
-          require 'net/scp'
-
-          def when_ssh_login_works(ip="127.0.0.1", options = {  } , &block)
-
-            defaults={ :port => '22', :timeout => 20000 }
-
-            options=defaults.merge(options)
-
-            timeout = options[:timeout]
-            timeout=ENV['VEEWEE_TIMEOUT'].to_i unless ENV['VEEWEE_TIMEOUT'].nil?
-
-            unless options[:mute]
-            ui.info  "Waiting for ssh login on #{ip} with user #{options[:user]} to sshd on port => #{options[:port]} to work, timeout=#{timeout} sec"
-            end
-
-            run_hook(:before_ssh)
-
-            begin
-              Timeout::timeout(timeout) do
-                connected=false
-                while !connected do
-                  begin
-                    env.ui.info ".",{:new_line => false , :prefix => false} unless options[:mute]
-                    if tcp_test_ssh(ip, options[:port])
-                      Net::SSH.start(ip, options[:user],
-                                     { :port => options[:port],
-                                       :password => options[:password],
-                                       :auth_methods => ['password','publickey','keyboard-interactive'],
-                                       :paranoid => false ,
-                                       :timeout => timeout }) do |ssh|
-
-                        ui.info "\n", {:prefix => false} unless options[:mute]
-                        block.call(ip);
-                        return true
-                      end
-                    else 
-                      sleep 5
-                    end
-                  rescue Net::SSH::Disconnect, Errno::ECONNREFUSED, Errno::EHOSTUNREACH, Errno::ECONNABORTED, Errno::ECONNRESET, Errno::ENETUNREACH, Errno::ETIMEDOUT
-                    sleep 5
-                  end
-                end
+        else
+          socket.close
+          return false
+        end
+      end
+    end
+    false
+  end
+
+  def when_ssh_login_works(ip="127.0.0.1", options = {  } , &block)
+    defaults={ :port => '22', :timeout => 20000 }
+    options=defaults.merge(options)
+
+    timeout = options[:timeout]
+    timeout = ENV['VEEWEE_TIMEOUT'].to_i unless ENV['VEEWEE_TIMEOUT'].nil?
+
+    unless options[:mute]
+      ui.info  "Waiting for ssh login on #{ip} with user #{options[:user]} to sshd on port => #{options[:port]} to work, timeout=#{timeout} sec"
+    end
+
+    run_hook(:before_ssh)
+
+    begin
+      Timeout::timeout(timeout) do
+        connected=false
+        while !connected do
+          begin
+            env.ui.info ".",{:new_line => false , :prefix => false} unless options[:mute]
+            if
+              tcp_test_ssh(ip, options[:port])
+            then
+              ssh_connection(ip, options, :timeout => timeout ) do |ssh|
+                ui.info "\n", {:prefix => false} unless options[:mute]
+                block.call(ip);
+                return true
               end
-            rescue IOError
-              ui.info "Received a disconnect; moving on"
+            else
               sleep 5
-            rescue Timeout::Error
-              raise Veewee::Error, "Ssh timeout #{timeout} sec has been reached."
             end
-            ui.info ""
-            return false
+          rescue Net::SSH::Disconnect, Errno::ECONNREFUSED, Errno::EHOSTUNREACH, Errno::ECONNABORTED, Errno::ECONNRESET, Errno::ENETUNREACH, Errno::ETIMEDOUT
+            sleep 5
           end
+        end
+      end
+    rescue IOError
+      ui.info "Received a disconnect; moving on"
+      sleep 5
+    rescue Timeout::Error
+      raise Veewee::Error, "Ssh timeout #{timeout} sec has been reached."
+    end
+    ui.info ""
+    return false
+  end
+
+  def ssh_transfer_file(host,filename,destination = '.' , options = {})
+
+    ssh_connection( host, options ) do |ssh|
+      ui.info "Transferring #{filename} to #{destination} "
+      ssh.scp.upload!( filename, destination ) do |ch, name, sent, total|
+        #   print "\r#{destination}: #{(sent.to_f * 100 / total.to_f).to_i}%"
+        env.ui.info ".",{:new_line => false , :prefix => false}
+      end
+    end
+    ui.info "", {:prefix => false}
+  end
+
+
+  def ssh_execute(host,command, options = { :progress => "on"} )
+    defaults= { :port => "22", :exitcode => "0", :user => "root"}
+    options=defaults.merge(options)
+    pid=""
+    stdin=command
+    stdout=""
+    stderr=""
+    status=-99999
+
+    unless options[:mute]
+      ui.info "Executing command: #{command}"
+    end
+
+    ssh_connection( host, options ) do |ssh|
+
+      # open a new channel and configure a minimal set of callbacks, then run
+      # the event loop until the channel finishes (closes)
+      channel = ssh.open_channel do |ch|
+
+        #request pty for sudo stuff and so
+        ch.request_pty do |ch, success|
+          raise "Error requesting pty" unless success
+        end
 
+        ch.exec "#{command}" do |ch, success|
+          raise "could not execute command" unless success
 
-          def ssh_transfer_file(host,filename,destination = '.' , options = {})
-
-            defaults={
-              :paranoid => false,
-              :auth_methods => ['password','publickey','keyboard-interactive']
-            }
-            options=defaults.merge(options)
-
-            Net::SSH.start( host,options[:user],options ) do |ssh|
-              ui.info "Transferring #{filename} to #{destination} "
-              ssh.scp.upload!( filename, destination ) do |ch, name, sent, total|
-                #   print "\r#{destination}: #{(sent.to_f * 100 / total.to_f).to_i}%"
-                env.ui.info ".",{:new_line => false , :prefix => false}
-              end
-            end
-            ui.info "", {:prefix => false}
+          # "on_data" is called when the process writes something to stdout
+          ch.on_data do |c, data|
+            stdout+=data
+            ui.info(data, :new_line => false) unless options[:mute]
           end
 
+          # "on_extended_data" is called when the process writes something to stderr
+          # NOTE: When requesting a pty (ch.request_pty), everything goes to stdout
+          ch.on_extended_data do |c, type, data|
+            stderr+=data
+            ui.info(data, :new_line => false) unless options[:mute]
+          end
 
-          def ssh_execute(host,command, options = { :progress => "on"} )
-            defaults= { :port => "22", :exitcode => "0", :user => "root"}
-            options=defaults.merge(options)
-            pid=""
-            stdin=command
-            stdout=""
-            stderr=""
-            status=-99999
-
-            unless options[:mute]
-              ui.info "Executing command: #{command}"
-            end
-
-            Net::SSH.start(host, options[:user], {
-                             :port => options[:port],
-                             :password => options[:password],
-                             :auth_methods => ['password','publickey','keyboard-interactive'],
-                             :paranoid => false }) do |ssh|
-
-              # open a new channel and configure a minimal set of callbacks, then run
-              # the event loop until the channel finishes (closes)
-              channel = ssh.open_channel do |ch|
-
-                #request pty for sudo stuff and so
-                ch.request_pty do |ch, success|
-                  raise "Error requesting pty" unless success
-                end
-
-                ch.exec "#{command}" do |ch, success|
-                  raise "could not execute command" unless success
-
-
-                  # "on_data" is called when the process writes something to stdout
-                  ch.on_data do |c, data|
-                    stdout+=data
-
-                    ui.info(data, :new_line => false) unless options[:mute]
-
-                  end
-
-                  # "on_extended_data" is called when the process writes something to stderr
-                  # NOTE: When requesting a pty (ch.request_pty), everything goes to stdout
-                  ch.on_extended_data do |c, type, data|
-                    stderr+=data
-
-                    ui.info(data, :new_line => false) unless options[:mute]
-
-                  end
-
-                  #exit code
-                  #http://groups.google.com/group/comp.lang.ruby/browse_thread/thread/a806b0f5dae4e1e2
-                  channel.on_request("exit-status") do |ch, data|
-                    exit_code = data.read_long
-                    status=exit_code
-                    if exit_code > 0
-                      ui.info "ERROR: exit code #{exit_code}" unless options[:mute]
-                    else
-                      #ui.info "Successfully executed"
-                    end
-                  end
-
-                  channel.on_request("exit-signal") do |ch, data|
-                    ui.info "SIGNAL: #{data.read_long}" unless options[:mute]
-                  end
-
-                  ch.on_close {
-                    #ui.info "done!"
-                  }
-                  #status=ch.exec "echo $?"
-                end
-              end
-              channel.wait
-            end
-
-
-            if (status.to_s != options[:exitcode] )
-              if (options[:exitcode]=="*")
-                #its a test so we don't need to worry
-              else
-                raise Veewee::Provider::Core::Helper::SshResult.new(stdout,stderr,status), "Exitcode was not what we expected"
-              end
-
+          #exit code
+          #http://groups.google.com/group/comp.lang.ruby/browse_thread/thread/a806b0f5dae4e1e2
+          channel.on_request("exit-status") do |ch, data|
+            exit_code = data.read_long
+            status=exit_code
+            if exit_code > 0
+              ui.info "ERROR: exit code #{exit_code}" unless options[:mute]
+            else
+              #ui.info "Successfully executed"
             end
-
-            return Veewee::Provider::Core::Helper::SshResult.new(stdout,stderr,status)
-
           end
 
+          channel.on_request("exit-signal") do |ch, data|
+            ui.info "SIGNAL: #{data.read_long}" unless options[:mute]
+          end
 
-
-        end #Class
-      end #Module
-    end #Module
-  end #Module
-end #Module
+          ch.on_close {
+            #ui.info "done!"
+          }
+          #status=ch.exec "echo $?"
+        end
+      end
+      channel.wait
+    end
+
+    if (status.to_s != options[:exitcode] )
+      if (options[:exitcode]=="*")
+        #its a test so we don't need to worry
+      else
+        raise Veewee::Provider::Core::Helper::SshResult.new(stdout,stderr,status), "Exitcode was not what we expected"
+      end
+
+    end
+
+    return Veewee::Provider::Core::Helper::SshResult.new(stdout,stderr,status)
+  end
+
+  def ssh_connection(host, options, defaults={}, &block)
+    options=defaults.merge(options)
+    options={
+      :auth_methods => %w[ password publickey keyboard-interactive ],
+      :paranoid => false
+    }.merge(options)
+    options=Hash[ options.select { |key, value| Net::SSH::VALID_OPTIONS.include?(key) } ]
+    Net::SSH.start( host, options[:user], options ) do |ssh|
+      yield ssh
+    end
+  end
+
+end
diff --git a/lib/veewee/provider/core/helper/web.rb b/lib/veewee/provider/core/helper/web.rb
index 1e8da85d..6ddd684a 100644
--- a/lib/veewee/provider/core/helper/web.rb
+++ b/lib/veewee/provider/core/helper/web.rb
@@ -2,81 +2,87 @@ module Veewee
   module Provider
     module Core
       module Helper
-        require 'webrick'
-        include WEBrick
-        module Servlet
 
+        require 'webrick'
 
-          class FileServlet < WEBrick::HTTPServlet::AbstractServlet
-
-            attr_reader :ui, :threaded
+        include WEBrick
 
-            def initialize(server,localfile,ui,threaded)
-              super(server)
-              @server=server
-              @localfile=localfile
-              @ui=ui
-              @threaded=threaded
+        module Web
+          def wait_for_http_request(filename, urlname, options) # thread with timeout
+            thread  = allow_for_http_request(filename, urlname, options)
+            timeout = options[:timeout] || 60
+            thread.join(timeout) or begin
+              thread.kill
+              raise "File #{filename.inspect} was not requested as #{urlname.inspect} in #{timeout} seconds, are you using firewall blocking connections to port: #{options[:port]}?"
             end
+          end
 
-            def do_GET(request,response)
-              response['Content-Type']='text/plain'
-              response.status = 200
-              content = File.open(@localfile, "r").read
-              response.body = case File.extname(@localfile)
-              when ".erb"
-                ui.info "Rendering and serving file #{@localfile}"
-                ERB.new(content).result(binding)
-              else
-                ui.info "Serving file #{@localfile}"
-                content
-              end
-              if not @threaded
-                ui.info "Shutting down for #{@localfile}"
-                @server.shutdown
-              end
+          def allow_for_http_request(filename, urlname, options) # start in new thread
+            thread = Thread.new do
+              server_for_http_request(filename, urlname, options)
             end
+            thread.abort_on_exception = true
+            trap("INT") { thread.kill; exit }
+            thread
           end
 
-        end
-        module Web
-
-          def wait_for_http_request(filename,options) # original blocking
-            s = server_for_http_request(filename,options)
-            s.start
-          end
+        private
 
-          def allow_for_http_request(filename,options) # start in new thread
-            s = server_for_http_request(filename,options.merge({:threaded => false}))
-            Thread.new { s.start }
+          def server_for_http_request(filename, urlname, options)
+            initialize_server(options[:port])
+            mount_file(filename, urlname)
+            @server.start
+          ensure
+            server_shutdown
           end
 
-          def server_for_http_request(filename,options={:timeout => 10, :web_dir => "", :port => 7125, :threaded => false})
+          def initialize_server(port)
             # Calculate the OS equivalent of /dev/null , on windows this is NUL:
             # http://www.ruby-forum.com/topic/115472
             fn = test(?e, '/dev/null') ? '/dev/null' : 'NUL:'
+            webrick_logger = WEBrick::Log.new(fn, WEBrick::Log::INFO)
 
-            webrick_logger=WEBrick::Log.new(fn, WEBrick::Log::INFO)
-
-            web_dir=options[:web_dir]
-            filename=filename
-            s= ::WEBrick::HTTPServer.new(
-              :Port => options[:port],
+            @server =
+            ::WEBrick::HTTPServer.new(
+              :Port => port,
               :Logger => webrick_logger,
-              :AccessLog => webrick_logger
+              :AccessLog => webrick_logger,
             )
-            mount_filename = filename.start_with?('/') ? filename : "/#{filename}"
-            env.logger.debug("mounting file #{mount_filename}")
-            s.mount("#{mount_filename}", Veewee::Provider::Core::Helper::Servlet::FileServlet,File.join(web_dir,filename),ui,options[:threaded])
-            trap("INT"){
-              s.shutdown
+          end
+
+          def mount_file(filename, urlname)
+            urlname = urlname[0..-5] if File.extname(urlname)  == ".erb"
+
+            @server.mount_proc(urlname) do |request, response|
+              ui.info "Serving content for #{urlname}"
+              response['Content-Type']='text/plain'
+              response.status = 200
+              response.body   = read_content(filename)
+              server_shutdown
+            end
+          end
+
+          def read_content(filename)
+            ui.info "Reading content #{filename}"
+            content = File.open(filename, "r").read
+            if File.extname(filename) == ".erb"
+              ui.info "Evaluating template #{filename}"
+              content = ::ERB.new(content).result(binding)
+            end
+            content
+          end
+
+          def server_shutdown
+            if @server
               ui.info "Stopping webserver"
-              exit
-            }
-            s
+              yield @server if block_given?
+              @server.shutdown
+              @server = nil
+            end
           end
 
         end #Class
+
       end #Module
     end #Module
   end #Module
diff --git a/lib/veewee/provider/core/helper/winrm.rb b/lib/veewee/provider/core/helper/winrm.rb
index e0874b11..fac8c859 100644
--- a/lib/veewee/provider/core/helper/winrm.rb
+++ b/lib/veewee/provider/core/helper/winrm.rb
@@ -22,6 +22,21 @@ module Winrm
           require 'em-winrm'
           require 'highline'
 
+          def build_winrm_options
+            {
+              :user => definition.winrm_user,
+              :pass => definition.winrm_password,
+              :port => definition.winrm_host_port,
+              :basic_auth_only => true,
+              :timeout => definition.winrm_login_timeout.to_i,
+              :operation_timeout => 600 # ten minutes
+            }
+          end
+
+          def winrm_options
+            build_winrm_options
+          end
+
           def winrm_up?(ip,options)
             begin
               if not @winrm_up
diff --git a/lib/veewee/provider/kvm/box.rb b/lib/veewee/provider/kvm/box.rb
index 6f9d5a85..eeca2b07 100644
--- a/lib/veewee/provider/kvm/box.rb
+++ b/lib/veewee/provider/kvm/box.rb
@@ -11,7 +11,6 @@
 require 'veewee/provider/kvm/box/export_vagrant'
 
 require 'veewee/provider/kvm/box/helper/ip'
-require 'veewee/provider/kvm/box/helper/ssh_options'
 require 'veewee/provider/kvm/box/helper/status'
 require 'veewee/provider/kvm/box/helper/console_type'
 
diff --git a/lib/veewee/provider/kvm/box/helper/ssh_options.rb b/lib/veewee/provider/kvm/box/helper/ssh_options.rb
deleted file mode 100644
index 7a7441eb..00000000
--- a/lib/veewee/provider/kvm/box/helper/ssh_options.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-module Veewee
-  module Provider
-    module Kvm
-      module BoxCommand
-
-        def ssh_options
-          ssh_options={
-            :user => definition.ssh_user,
-            :port => 22,
-            :password => definition.ssh_password,
-            :timeout => definition.ssh_login_timeout.to_i
-          }
-          return ssh_options
-        end
-
-      end # End Module
-    end # End Module
-  end # End Module
-end # End Module
diff --git a/lib/veewee/provider/kvm/box/up.rb b/lib/veewee/provider/kvm/box/up.rb
index becec082..b83eda7e 100644
--- a/lib/veewee/provider/kvm/box/up.rb
+++ b/lib/veewee/provider/kvm/box/up.rb
@@ -6,6 +6,11 @@ module BoxCommand
         def up(options={})
           matched_servers=@connection.servers.all(:name => name)
           matched_servers.first.start unless matched_servers.nil?
+        rescue Libvirt::Error => e
+          warn "
+Libvirt Error! Make sure your user has permissions to run anything.
+"
+          raise e
         end
 
       end # End Module
diff --git a/lib/veewee/provider/kvm/provider.rb b/lib/veewee/provider/kvm/provider.rb
index 9e7bdfef..b0d92860 100644
--- a/lib/veewee/provider/kvm/provider.rb
+++ b/lib/veewee/provider/kvm/provider.rb
@@ -46,7 +46,7 @@ def check_requirements
           conn.pools.any? or raise Veewee::Error, "You need at least one (active) storage pool defined in #{Fog.credentials[:libvirt_uri]}."
 
           env.logger.info "Checking availability of the arp utility"
-          shell_exec("arp").status.zero? or raise Veewee::Error, "Could not execute the arp command. This is required to find the IP address of the VM"
+          shell_exec("arp -an").status.zero? or raise Veewee::Error, "Could not execute the arp command. This is required to find the IP address of the VM"
 
         end
 
diff --git a/lib/veewee/provider/parallels/box.rb b/lib/veewee/provider/parallels/box.rb
index ea13d568..b55c4fb7 100644
--- a/lib/veewee/provider/parallels/box.rb
+++ b/lib/veewee/provider/parallels/box.rb
@@ -3,7 +3,6 @@
 
 require 'veewee/provider/parallels/box/helper/status'
 require 'veewee/provider/parallels/box/helper/ip'
-require 'veewee/provider/parallels/box/helper/ssh_options'
 require 'veewee/provider/parallels/box/helper/console_type'
 require 'veewee/provider/parallels/box/helper/buildinfo'
 
diff --git a/lib/veewee/provider/parallels/box/export.rb b/lib/veewee/provider/parallels/box/export.rb
index 71225dd5..4d00bc2e 100644
--- a/lib/veewee/provider/parallels/box/export.rb
+++ b/lib/veewee/provider/parallels/box/export.rb
@@ -175,7 +175,7 @@ def template_metadatafile
         def optimize_disk
           env.ui.info "Optimizing Disk"
           path_to_hdd = File.join read_settings.fetch("Home"), "harddisk.hdd"
-          optimize_command = "#{@prldisktool} compact --buildmap --hdd #{path_to_hdd}"
+          optimize_command = "#{@prldisktool} compact --hdd #{path_to_hdd}"
           shell_exec optimize_command
         end
       end #Module
diff --git a/lib/veewee/provider/parallels/box/helper/ssh_options.rb b/lib/veewee/provider/parallels/box/helper/ssh_options.rb
deleted file mode 100644
index dfe5cb37..00000000
--- a/lib/veewee/provider/parallels/box/helper/ssh_options.rb
+++ /dev/null
@@ -1,20 +0,0 @@
-module Veewee
-  module Provider
-    module Parallels
-      module BoxCommand
-
-        # Translate the definition ssh options to ssh options that can be passed to Net::Ssh calls
-        def ssh_options
-          ssh_options={
-            :user => definition.ssh_user,
-            :port => 22,
-            :password => definition.ssh_password,
-            :timeout => definition.ssh_login_timeout.to_i
-          }
-          return ssh_options
-        end
-
-      end
-    end
-  end
-end
diff --git a/lib/veewee/provider/virtualbox/box.rb b/lib/veewee/provider/virtualbox/box.rb
index cd4bdee0..e9f09bdc 100644
--- a/lib/veewee/provider/virtualbox/box.rb
+++ b/lib/veewee/provider/virtualbox/box.rb
@@ -28,34 +28,35 @@ module Veewee
   module Provider
     module Virtualbox
       class Box < Veewee::Provider::Core::Box
-
         include ::Veewee::Provider::Virtualbox::BoxCommand
 
-        def initialize(name,env)
+        def initialize(name, env)
           @vboxcmd = self.class.determine_vboxcmd
           super(name, env)
         end
 
         def self.windows_vboxcmd
           # based on Vagrant/plugins/providers/virtualbox/driver/base.rb
-          if OS.windows? && ENV.has_key?("VBOX_INSTALL_PATH")
-            ENV["VBOX_INSTALL_PATH"].split(File::PATH_SEPARATOR).each do |path|
-              vboxmanage = File.join(path,"VBoxManage.exe")
-              return "\"#{vboxmanage}\"" if File.file?(vboxmanage)
+          if OS.windows?
+            if ENV.key?('VBOX_INSTALL_PATH') ||
+               ENV.key?('VBOX_MSI_INSTALL_PATH')
+              path = ENV['VBOX_INSTALL_PATH'] || ENV['VBOX_MSI_INSTALL_PATH']
+              path.split(File::PATH_SEPARATOR).each do |single|
+                vboxmanage = File.join(single, 'VBoxManage.exe')
+                return "\"#{vboxmanage}\"" if File.file?(vboxmanage)
+              end
             end
           end
           nil
         end
 
         def self.default_vboxcmd
-          "VBoxManage"
+          'VBoxManage'
         end
 
         def self.determine_vboxcmd
           @command ||= windows_vboxcmd || default_vboxcmd
         end
-
-
       end # End Class
     end # End Module
   end # End Module
diff --git a/lib/veewee/provider/virtualbox/box/export_vagrant.rb b/lib/veewee/provider/virtualbox/box/export_vagrant.rb
index 65477d56..2bbd9200 100644
--- a/lib/veewee/provider/virtualbox/box/export_vagrant.rb
+++ b/lib/veewee/provider/virtualbox/box/export_vagrant.rb
@@ -110,7 +110,7 @@ def export_vagrant(options)
             end
 
             ui.info "Exporting the box"
-            command = "#{@vboxcmd} export \"#{name}\" --output #{File.join(tmp_dir,'box.ovf')}"
+            command = "#{@vboxcmd} export \"#{name}\" --output \"#{File.join(tmp_dir,'box.ovf')}\""
             env.logger.debug("Command: #{command}")
             shell_exec(command, {:mute => false})
 
diff --git a/lib/veewee/provider/virtualbox/box/helper/console_type.rb b/lib/veewee/provider/virtualbox/box/helper/console_type.rb
index 348791cc..1658f5fe 100644
--- a/lib/veewee/provider/virtualbox/box/helper/console_type.rb
+++ b/lib/veewee/provider/virtualbox/box/helper/console_type.rb
@@ -29,11 +29,11 @@ def send_virtualbox_sequence(sequence)
             # A workaround is to send the scancodes one-by-one.
             codes=""
             for keycode in keycodes.split(' ') do
-              unless keycode=="wait"
+              case keycode
+              when /^wait(\d*)$/ then sleep_guess($1)
+              else
                 send_keycode(keycode)
                 sleep 0.01
-              else
-                sleep 1
               end
             end
             #sleep after each sequence (needs to be param)
@@ -45,11 +45,19 @@ def send_virtualbox_sequence(sequence)
 
         end
 
+        def sleep_guess(str)
+          str = "1" if str == ""
+          sleep str.to_i
+        end
+
         def send_keycode(keycode)
           command= "#{@vboxcmd} controlvm \"#{name}\" keyboardputscancode #{keycode}"
           env.logger.debug "#{command}"
-          sshresult=shell_exec("#{command}",{:mute => true})
-          unless sshresult.stdout.index("E_ACCESSDENIED").nil?
+          sshresult = shell_exec("#{command}",{:mute => true})
+          env.logger.debug "\
+sshresult.stdout: #{sshresult.stdout.inspect},
+sshresult.stderr: #{sshresult.stderr.inspect}"
+          if sshresult.stdout.index("E_ACCESSDENIED")
             error= "There was an error typing the commands on the console"
             error+="Probably the VM did not get started."
             error+= ""
diff --git a/lib/veewee/provider/virtualbox/box/helper/ip.rb b/lib/veewee/provider/virtualbox/box/helper/ip.rb
index 3791a8bf..046f0382 100644
--- a/lib/veewee/provider/virtualbox/box/helper/ip.rb
+++ b/lib/veewee/provider/virtualbox/box/helper/ip.rb
@@ -5,7 +5,11 @@ module BoxCommand
 
         # http://www.virtualbox.org/manual/ch09.html#idp13716288
         def host_ip_as_seen_by_guest
-          "10.0.2.2"
+          # as per definition in virtualbox 
+          # we need to add 1 because vboxmanage starts counting from 1 for display,
+          # but counts from 0 when actually assigning the IP
+          host_ip = "10.0.#{self.natinterface.to_i + 1}.2"
+          return host_ip # "10.0.2.2"
         end
 
         # Get the IP address of the box
diff --git a/lib/veewee/provider/virtualbox/box/helper/ssh_options.rb b/lib/veewee/provider/virtualbox/box/helper/ssh_options.rb
index 8d05eedd..b6fa6ea5 100644
--- a/lib/veewee/provider/virtualbox/box/helper/ssh_options.rb
+++ b/lib/veewee/provider/virtualbox/box/helper/ssh_options.rb
@@ -4,22 +4,16 @@ module Virtualbox
       module BoxCommand
 
         def ssh_options
-          port=definition.ssh_host_port
-          if self.exists?
-            forward=self.forwarding("guestssh")
-            unless forward.nil?
-              port=forward[:host_port]
+          build_ssh_options.tap do |options|
+            port = definition.ssh_host_port
+            if self.exists?
+              forward=self.forwarding("guestssh")
+              unless forward.nil?
+                port=forward[:host_port]
+              end
             end
+            options[:port] = port
           end
-
-          ssh_options={
-            :user => definition.ssh_user,
-            :port => port,
-            :password => definition.ssh_password,
-            :timeout => definition.ssh_login_timeout.to_i
-          }
-          return ssh_options
-
         end
 
       end
diff --git a/lib/veewee/provider/virtualbox/box/helper/winrm_options.rb b/lib/veewee/provider/virtualbox/box/helper/winrm_options.rb
index 3abcc4c3..0be6f8ee 100644
--- a/lib/veewee/provider/virtualbox/box/helper/winrm_options.rb
+++ b/lib/veewee/provider/virtualbox/box/helper/winrm_options.rb
@@ -4,25 +4,16 @@ module Virtualbox
       module BoxCommand
 
         def winrm_options
-          port=definition.winrm_host_port
-          if self.exists?
-            forward=self.forwarding("guestwinrm")
-            unless forward.nil?
-              port=forward[:host_port]
+          build_winrm_options.tap do |options|
+            port=definition.winrm_host_port
+            if self.exists?
+              forward=self.forwarding("guestwinrm")
+              unless forward.nil?
+                port=forward[:host_port]
+              end
             end
+            options[:port] = port
           end
-
-          winrm_options={
-            :user => definition.winrm_user,
-            :pass => definition.winrm_password,
-            :port => port,
-#            :port => (port.to_i+1).to_s, # debug, by running charles with a reverse proxy
-            :basic_auth_only => true,
-            :timeout => definition.winrm_login_timeout.to_i,
-            :operation_timeout => 600 # ten minutes
-          }
-          return winrm_options
-
         end
 
       end
diff --git a/lib/veewee/provider/vmfusion/box.rb b/lib/veewee/provider/vmfusion/box.rb
index 44cb955a..a3739b0f 100644
--- a/lib/veewee/provider/vmfusion/box.rb
+++ b/lib/veewee/provider/vmfusion/box.rb
@@ -4,8 +4,6 @@
 
 require 'veewee/provider/vmfusion/box/helper/status'
 require 'veewee/provider/vmfusion/box/helper/ip'
-require 'veewee/provider/vmfusion/box/helper/ssh_options'
-require 'veewee/provider/vmfusion/box/helper/winrm_options'
 require 'veewee/provider/vmfusion/box/helper/vnc'
 require 'veewee/provider/vmfusion/box/helper/console_type'
 require 'veewee/provider/vmfusion/box/helper/buildinfo'
diff --git a/lib/veewee/provider/vmfusion/box/helper/ip.rb b/lib/veewee/provider/vmfusion/box/helper/ip.rb
index 365f0b46..cb60a55f 100644
--- a/lib/veewee/provider/vmfusion/box/helper/ip.rb
+++ b/lib/veewee/provider/vmfusion/box/helper/ip.rb
@@ -27,7 +27,7 @@ def ip_address
           # Use alternate method to retrieve the IP address using vmrun readVariable
           
           ip_address = shell_exec("#{vmrun_cmd.shellescape} readVariable \"#{vmx_file_path}\" guestVar ip", { :mute => true}).stdout.strip
-          return ip_address unless ip_address.empty?
+          return ip_address unless ip_address.empty? || ip_address == 'unknown'
         
           unless mac_address.nil?
             lease = Fission::Lease.find_by_mac_address(mac_address).data
diff --git a/lib/veewee/provider/vmfusion/box/helper/ssh_options.rb b/lib/veewee/provider/vmfusion/box/helper/ssh_options.rb
deleted file mode 100644
index 28e10473..00000000
--- a/lib/veewee/provider/vmfusion/box/helper/ssh_options.rb
+++ /dev/null
@@ -1,20 +0,0 @@
-module Veewee
-  module Provider
-    module Vmfusion
-      module BoxCommand
-
-        # Translate the definition ssh options to ssh options that can be passed to Net::Ssh calls
-        def ssh_options
-          ssh_options={
-            :user => definition.ssh_user,
-            :port => 22,
-            :password => definition.ssh_password,
-            :timeout => definition.ssh_login_timeout.to_i
-          }
-          return ssh_options
-        end
-
-      end
-    end
-  end
-end
diff --git a/lib/veewee/provider/vmfusion/box/helper/winrm_options.rb b/lib/veewee/provider/vmfusion/box/helper/winrm_options.rb
deleted file mode 100644
index 109b23ec..00000000
--- a/lib/veewee/provider/vmfusion/box/helper/winrm_options.rb
+++ /dev/null
@@ -1,21 +0,0 @@
-module Veewee
-  module Provider
-    module Vmfusion
-      module BoxCommand
-
-        def winrm_options
-          winrm_options={
-            :user => definition.winrm_user,
-            :pass => definition.winrm_password,
-            :port => definition.winrm_host_port,
-            :basic_auth_only => true,
-            :timeout => definition.winrm_login_timeout.to_i,
-            :operation_timeout => 600 # ten minutes
-          }
-          return winrm_options
-        end
-
-      end
-    end
-  end
-end
diff --git a/lib/veewee/provider/vmfusion/provider.rb b/lib/veewee/provider/vmfusion/provider.rb
index bbfc199e..3dc685d3 100644
--- a/lib/veewee/provider/vmfusion/provider.rb
+++ b/lib/veewee/provider/vmfusion/provider.rb
@@ -10,11 +10,10 @@ class Provider < Veewee::Provider::Core::Provider
         def check_requirements
           require 'fission'
 
-          if File.exists?("/Library/Application Support/VMware Fusion/vmrun")
-            ::Fission.config.attributes["vmrun_bin"] = "/Library/Application Support/VMware Fusion/vmrun"
-          elsif File.exists?("/Applications/VMware Fusion.app/Contents/Library/vmrun")
-            ::Fission.config.attributes["vmrun_bin"] = "/Applications/VMware Fusion.app/Contents/Library/vmrun"
-          elsif
+          if
+            ::Fission.config.attributes["vmrun_bin"].nil? ||
+            !File.exists?(::Fission.config.attributes["vmrun_bin"])
+          then
             raise Veewee::Error,"Could not find vmrun at standard locations. Probably you don't have Vmware fusion installed"
           end
           env.logger.info("Found fusion version: #{fusion_version}")
@@ -22,12 +21,12 @@ def check_requirements
 
         def fusion_version
           # We ask the system profiler for all installed software
-          shell_results = shell_exec("system_profiler SPApplicationsDataType")
+          shell_results = shell_exec("system_profiler SPApplicationsDataType", :external_encoding => Encoding::UTF_8)
 
           env.logger.info("Checking version by querying the system_profiler")
           env.logger.debug(shell_results.stdout)
 
-          if (shell_results.stdout == "")
+          if shell_results.stdout == ""
             ui.warn "Could not detect the exact version of vmware. assuming 5.1"
             version = "5.1"
           else
diff --git a/lib/veewee/templates.rb b/lib/veewee/templates.rb
index d104c389..be47293a 100644
--- a/lib/veewee/templates.rb
+++ b/lib/veewee/templates.rb
@@ -1,3 +1,5 @@
+require "gem-content"
+
 module Veewee
   class Templates
 
@@ -53,6 +55,7 @@ def each(&block)
     # Traverses path to see which exist or not
     # and checks if available
     def valid_paths(paths)
+      paths = GemContent.get_gem_paths("veewee-templates")
       valid_paths = paths.collect { |path|
         if File.exists?(path) && File.directory?(path)
           env.logger.info "Path #{path} exists"
diff --git a/lib/veewee/version.rb b/lib/veewee/version.rb
index ae36a25f..fe942880 100644
--- a/lib/veewee/version.rb
+++ b/lib/veewee/version.rb
@@ -4,5 +4,5 @@ module Veewee
 
 # Only set the version constant if it wasn't set before
 unless defined?(Veewee::VERSION)
-  ::Veewee::VERSION="0.3.12"
+  ::Veewee::VERSION="0.5.0.alpha4"
 end
diff --git a/templates/.ubuntu/base.sh b/templates/.ubuntu/base.sh
index ed9aa3bb..02ade858 100644
--- a/templates/.ubuntu/base.sh
+++ b/templates/.ubuntu/base.sh
@@ -1,3 +1,5 @@
+#!/bin/bash
+
 if [ -f .veewee_params ]
 then
   . .veewee_params
diff --git a/templates/.ubuntu/chef.sh b/templates/.ubuntu/chef.sh
index cd119586..75f5faf4 100644
--- a/templates/.ubuntu/chef.sh
+++ b/templates/.ubuntu/chef.sh
@@ -1,3 +1,5 @@
+#!/bin/bash
+
 if [ -f .veewee_params ]
 then
   . .veewee_params
diff --git a/templates/.ubuntu/cleanup.sh b/templates/.ubuntu/cleanup.sh
index 4779c1e4..c32b0760 100644
--- a/templates/.ubuntu/cleanup.sh
+++ b/templates/.ubuntu/cleanup.sh
@@ -1,3 +1,10 @@
+#!/bin/bash
+
+if [ -f .veewee_params ]
+then
+  . .veewee_params
+fi
+
 # Remove items used for building, since they aren't needed anymore
 echo "removing unnessary packages"
 apt-get -y remove linux-headers-$(uname -r) build-essential
diff --git a/templates/.ubuntu/puppet.sh b/templates/.ubuntu/puppet.sh
index 94ea6af9..7cc9a8ec 100644
--- a/templates/.ubuntu/puppet.sh
+++ b/templates/.ubuntu/puppet.sh
@@ -1,3 +1,5 @@
+#!/bin/bash
+
 if [ -f .veewee_params ]
 then
   . .veewee_params
diff --git a/templates/.ubuntu/ruby.sh b/templates/.ubuntu/ruby.sh
index c1dc046b..f25c7a3c 100644
--- a/templates/.ubuntu/ruby.sh
+++ b/templates/.ubuntu/ruby.sh
@@ -1,3 +1,5 @@
+#!/bin/bash
+
 if [ -f .veewee_params ]
 then
   . .veewee_params
diff --git a/templates/.ubuntu/vagrant.sh b/templates/.ubuntu/vagrant.sh
index 69cbd36d..24795688 100644
--- a/templates/.ubuntu/vagrant.sh
+++ b/templates/.ubuntu/vagrant.sh
@@ -1,3 +1,5 @@
+#!/bin/bash
+
 if [ -f .veewee_params ]
 then
   . .veewee_params
diff --git a/templates/.ubuntu/virtualbox.sh b/templates/.ubuntu/virtualbox.sh
index b63013f9..f094b5c5 100644
--- a/templates/.ubuntu/virtualbox.sh
+++ b/templates/.ubuntu/virtualbox.sh
@@ -1,3 +1,5 @@
+#!/bin/bash
+
 if [ -f .veewee_params ]
 then
   . .veewee_params
diff --git a/templates/.ubuntu/zerodisk.sh b/templates/.ubuntu/zerodisk.sh
index 90381469..46e84c70 100644
--- a/templates/.ubuntu/zerodisk.sh
+++ b/templates/.ubuntu/zerodisk.sh
@@ -1,3 +1,5 @@
+#!/bin/bash
+
 if [ -f .veewee_params ]
 then
   . .veewee_params
diff --git a/templates/CentOS-4.8-i386/definition.rb b/templates/CentOS-4.8-i386/definition.rb
index 10653b09..02daf1d9 100644
--- a/templates/CentOS-4.8-i386/definition.rb
+++ b/templates/CentOS-4.8-i386/definition.rb
@@ -5,7 +5,7 @@
   :iso_file => "CentOS-4.8-i386-bin-DVD.iso", :iso_src => "", :iso_md5 => "", :iso_download_timeout => 1000,
   :iso_download_instructions => "This iso is no more available, for instructions see http://vault.centos.org/4.8/isos/i386/",
   :boot_wait => "10", :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg' ],
-  :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
+  :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
diff --git a/templates/CentOS-5.10-i386-netboot/ks.cfg b/templates/CentOS-5.10-i386-netboot/ks.cfg
deleted file mode 100755
index e5d4ee09..00000000
--- a/templates/CentOS-5.10-i386-netboot/ks.cfg
+++ /dev/null
@@ -1,27 +0,0 @@
-install
-url --url=http://mirrors.kernel.org/centos/5.10/os/i386/
-lang en_US.UTF-8
-langsupport --default=en_US.UTF-8 en_US.UTF-8
-keyboard us
-text
-skipx
-zerombr
-network --device eth0 --bootproto dhcp
-rootpw vagrant
-firewall --enabled --trust eth0 --ssh
-selinux --disabled
-authconfig --enableshadow --enablemd5
-timezone America/New_York
-bootloader --location=mbr
-clearpart --all --initlabel
-autopart
-reboot
-
-%packages
-@ core
-%post
-/usr/sbin/groupadd vagrant
-/usr/sbin/useradd vagrant -g vagrant -G wheel
-echo "vagrant"|passwd --stdin vagrant
-echo "vagrant        ALL=(ALL)       NOPASSWD: ALL" >> /etc/sudoers
-%end
diff --git a/templates/CentOS-5.10-i386-netboot/ruby.sh b/templates/CentOS-5.10-i386-netboot/ruby.sh
deleted file mode 100755
index 6158728d..00000000
--- a/templates/CentOS-5.10-i386-netboot/ruby.sh
+++ /dev/null
@@ -1,41 +0,0 @@
-# Install Ruby from sources
-
-# add epel repo for Ruby compile time dependencies
-cat > /etc/yum.repos.d/epel.repo << EOM
-[epel]
-name=epel
-baseurl=http://download.fedoraproject.org/pub/epel/5/\$basearch
-enabled=1
-gpgcheck=0
-includepkgs=libffi*
-EOM
-
-# Install required library packages
-yum install -y gdbm-devel libffi-devel ncurses-devel
-
-# Install LibYAML (prerequisite for Ruby)
-YAML_VERSION=0.1.4
-wget http://pyyaml.org/download/libyaml/yaml-$YAML_VERSION.tar.gz
-tar xzvf yaml-$YAML_VERSION.tar.gz
-cd yaml-$YAML_VERSION
-./configure --prefix=/opt
-make && make install
-cd ..
-rm -rf yaml-$YAML_VERSION
-rm -f yaml-$YAML_VERSION.tar.gz
-
-# Install Ruby
-RUBY_VERSION=1.9.3-p484
-wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-$RUBY_VERSION.tar.gz
-tar xvzf ruby-$RUBY_VERSION.tar.gz
-cd ruby-$RUBY_VERSION
-# Fix: BSD compatibility arguments not supported by the installed version of sed
-sed -i "s/sed -E/sed -e/" configure
-./configure --prefix=/opt/ruby --disable-install-doc --with-opt-dir=/opt
-make && make install
-cd ..
-rm -rf ruby-$RUBY_VERSION
-rm -f ruby-$RUBY_VERSION.tar.gz
-
-# remove epel repo
-rm -rf /etc/yum.repos.d/epel.repo
\ No newline at end of file
diff --git a/templates/CentOS-5.10-i386/base.sh b/templates/CentOS-5.10-i386/base.sh
deleted file mode 100755
index acd9c1cd..00000000
--- a/templates/CentOS-5.10-i386/base.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-# Base install
-
-sed -i "s/^.*requiretty/#Defaults requiretty/" /etc/sudoers
-sed -i "s/^\(.*env_keep = \"\)/\1PATH /" /etc/sudoers
-
-yum -y install gcc make gcc-c++ kernel-devel-`uname -r` zlib-devel openssl-devel readline-devel sqlite-devel perl wget dkms bzip2
-
-yum -y erase gtk2 libX11 hicolor-icon-theme freetype bitstream-vera-fonts
diff --git a/templates/CentOS-5.10-i386/cleanup.sh b/templates/CentOS-5.10-i386/cleanup.sh
deleted file mode 100755
index 8b3c3670..00000000
--- a/templates/CentOS-5.10-i386/cleanup.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-# Clean up
-
-yum -y clean all
-rm -rf /etc/yum.repos.d/puppetlabs.repo
-rm -rf VBoxGuestAdditions_*.iso
-
-# Remove mac address from network configuration
-sed -i /HWADDR/d /etc/sysconfig/network-scripts/ifcfg-eth0
-
-# Remove DHCP leases
-rm /var/lib/dhclient/*.leases
\ No newline at end of file
diff --git a/templates/CentOS-5.10-i386/definition.rb b/templates/CentOS-5.10-i386/definition.rb
deleted file mode 100755
index 96847d21..00000000
--- a/templates/CentOS-5.10-i386/definition.rb
+++ /dev/null
@@ -1,42 +0,0 @@
-Veewee::Session.declare({
-  :cpu_count => '1',
-  :memory_size=> '384',
-  :disk_size => '10140',
-  :disk_format => 'VDI',
-  :hostiocache => 'on',
-  :virtualbox => {
-    :vm_options => [
-      "pae" => "on",
-      "ioapic" => "on",
-    ],
-  },
-  :os_type_id => 'RedHat',
-  :iso_file => "CentOS-5.10-i386-bin-DVD-1of2.iso",
-  :iso_src => "http://mirrors.kernel.org/centos/5.10/isos/i386/CentOS-5.10-i386-bin-DVD-1of2.iso",
-  :iso_md5 => "ec0acc2a4f6a813ea85bf1e36acb03f0",
-  :iso_download_timeout => 1000,
-  :boot_wait => "10",
-  :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg' ],
-  :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
-  :kickstart_file => "ks.cfg",
-  :ssh_login_timeout => "10000",
-  :ssh_user => "vagrant",
-  :ssh_password => "vagrant",
-  :ssh_key => "",
-  :ssh_host_port => "7222",
-  :ssh_guest_port => "22",
-  :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
-  :shutdown_cmd => "/sbin/halt -h -p",
-  :postinstall_files => [
-    "base.sh",
-    "ruby.sh",
-    "chef.sh",
-    "puppet.sh",
-    "vagrant.sh",
-    "virtualbox.sh",
-    "cleanup.sh",
-    "zerodisk.sh"
-  ],
-  :postinstall_timeout => 10000
-})
diff --git a/templates/CentOS-5.10-i386/ks.cfg b/templates/CentOS-5.10-i386/ks.cfg
deleted file mode 100755
index 5df289a7..00000000
--- a/templates/CentOS-5.10-i386/ks.cfg
+++ /dev/null
@@ -1,27 +0,0 @@
-install
-cdrom
-lang en_US.UTF-8
-langsupport --default=en_US.UTF-8 en_US.UTF-8
-keyboard us
-text
-skipx
-zerombr
-network --device eth0 --bootproto dhcp
-rootpw vagrant
-firewall --enabled --trust eth0 --ssh
-selinux --disabled
-authconfig --enableshadow --enablemd5
-timezone America/New_York
-bootloader --location=mbr
-clearpart --all --initlabel
-autopart
-reboot
-
-%packages
-@ core
-%post
-/usr/sbin/groupadd vagrant
-/usr/sbin/useradd vagrant -g vagrant -G wheel
-echo "vagrant"|passwd --stdin vagrant
-echo "vagrant        ALL=(ALL)       NOPASSWD: ALL" >> /etc/sudoers
-%end
diff --git a/templates/CentOS-5.10-i386/puppet.sh b/templates/CentOS-5.10-i386/puppet.sh
deleted file mode 100755
index d1e42973..00000000
--- a/templates/CentOS-5.10-i386/puppet.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-# Install Puppet
-
-cat > /etc/yum.repos.d/puppetlabs.repo << EOM
-[puppetlabs-dependencies]
-name=puppetlabdsdependencies
-baseurl=http://yum.puppetlabs.com/el/5/dependencies/\$basearch
-enabled=1
-gpgcheck=0
-
-[puppetlabs]
-name=puppetlabs
-baseurl=http://yum.puppetlabs.com/el/5/products/\$basearch
-enabled=1
-gpgcheck=0
-EOM
-
-yum -y install puppet facter ruby-shadow
diff --git a/templates/CentOS-5.10-i386/ruby.sh b/templates/CentOS-5.10-i386/ruby.sh
deleted file mode 100755
index 6158728d..00000000
--- a/templates/CentOS-5.10-i386/ruby.sh
+++ /dev/null
@@ -1,41 +0,0 @@
-# Install Ruby from sources
-
-# add epel repo for Ruby compile time dependencies
-cat > /etc/yum.repos.d/epel.repo << EOM
-[epel]
-name=epel
-baseurl=http://download.fedoraproject.org/pub/epel/5/\$basearch
-enabled=1
-gpgcheck=0
-includepkgs=libffi*
-EOM
-
-# Install required library packages
-yum install -y gdbm-devel libffi-devel ncurses-devel
-
-# Install LibYAML (prerequisite for Ruby)
-YAML_VERSION=0.1.4
-wget http://pyyaml.org/download/libyaml/yaml-$YAML_VERSION.tar.gz
-tar xzvf yaml-$YAML_VERSION.tar.gz
-cd yaml-$YAML_VERSION
-./configure --prefix=/opt
-make && make install
-cd ..
-rm -rf yaml-$YAML_VERSION
-rm -f yaml-$YAML_VERSION.tar.gz
-
-# Install Ruby
-RUBY_VERSION=1.9.3-p484
-wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-$RUBY_VERSION.tar.gz
-tar xvzf ruby-$RUBY_VERSION.tar.gz
-cd ruby-$RUBY_VERSION
-# Fix: BSD compatibility arguments not supported by the installed version of sed
-sed -i "s/sed -E/sed -e/" configure
-./configure --prefix=/opt/ruby --disable-install-doc --with-opt-dir=/opt
-make && make install
-cd ..
-rm -rf ruby-$RUBY_VERSION
-rm -f ruby-$RUBY_VERSION.tar.gz
-
-# remove epel repo
-rm -rf /etc/yum.repos.d/epel.repo
\ No newline at end of file
diff --git a/templates/CentOS-5.10-i386/vagrant.sh b/templates/CentOS-5.10-i386/vagrant.sh
deleted file mode 100755
index 1183befc..00000000
--- a/templates/CentOS-5.10-i386/vagrant.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-# Vagrant configuration
-
-date > /etc/vagrant_box_build_time
-
-# Installing vagrant keys
-mkdir -pm 700 /home/vagrant/.ssh
-wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O /home/vagrant/.ssh/authorized_keys
-chmod 0600 /home/vagrant/.ssh/authorized_keys
-chown -R vagrant /home/vagrant/.ssh
diff --git a/templates/CentOS-5.10-i386/virtualbox.sh b/templates/CentOS-5.10-i386/virtualbox.sh
deleted file mode 100755
index bf64c760..00000000
--- a/templates/CentOS-5.10-i386/virtualbox.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-# Installing VirtualBox Guest Additions
-
-VBOX_VERSION=$(cat /home/vagrant/.vbox_version)
-cd /tmp
-mount -o loop /home/vagrant/VBoxGuestAdditions_$VBOX_VERSION.iso /mnt
-sh /mnt/VBoxLinuxAdditions.run
-umount /mnt
-rm -rf /home/vagrant/VBoxGuestAdditions_*.iso
-
diff --git a/templates/CentOS-5.10-x86_64-netboot/base.sh b/templates/CentOS-5.10-x86_64-netboot/base.sh
deleted file mode 100755
index acd9c1cd..00000000
--- a/templates/CentOS-5.10-x86_64-netboot/base.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-# Base install
-
-sed -i "s/^.*requiretty/#Defaults requiretty/" /etc/sudoers
-sed -i "s/^\(.*env_keep = \"\)/\1PATH /" /etc/sudoers
-
-yum -y install gcc make gcc-c++ kernel-devel-`uname -r` zlib-devel openssl-devel readline-devel sqlite-devel perl wget dkms bzip2
-
-yum -y erase gtk2 libX11 hicolor-icon-theme freetype bitstream-vera-fonts
diff --git a/templates/CentOS-5.10-x86_64-netboot/chef.sh b/templates/CentOS-5.10-x86_64-netboot/chef.sh
deleted file mode 100755
index 9ea4fb83..00000000
--- a/templates/CentOS-5.10-x86_64-netboot/chef.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-# Install Chef
-
-curl -L https://www.opscode.com/chef/install.sh | sudo bash
diff --git a/templates/CentOS-5.10-x86_64-netboot/cleanup.sh b/templates/CentOS-5.10-x86_64-netboot/cleanup.sh
deleted file mode 100755
index 8b3c3670..00000000
--- a/templates/CentOS-5.10-x86_64-netboot/cleanup.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-# Clean up
-
-yum -y clean all
-rm -rf /etc/yum.repos.d/puppetlabs.repo
-rm -rf VBoxGuestAdditions_*.iso
-
-# Remove mac address from network configuration
-sed -i /HWADDR/d /etc/sysconfig/network-scripts/ifcfg-eth0
-
-# Remove DHCP leases
-rm /var/lib/dhclient/*.leases
\ No newline at end of file
diff --git a/templates/CentOS-5.10-x86_64-netboot/definition.rb b/templates/CentOS-5.10-x86_64-netboot/definition.rb
deleted file mode 100755
index fa619f52..00000000
--- a/templates/CentOS-5.10-x86_64-netboot/definition.rb
+++ /dev/null
@@ -1,42 +0,0 @@
-Veewee::Session.declare({
-  :cpu_count => '1',
-  :memory_size=> '384',
-  :disk_size => '10140',
-  :disk_format => 'VDI',
-  :hostiocache => 'on',
-  :virtualbox => {
-    :vm_options => [
-      "pae" => "on",
-      "ioapic" => "on",
-    ],
-  },
-  :os_type_id => 'RedHat_64',
-  :iso_file => "CentOS-5.10-x86_64-netinstall.iso",
-  :iso_src => "http://mirrors.kernel.org/centos/5.10/isos/x86_64/CentOS-5.10-x86_64-netinstall.iso",
-  :iso_md5 => "e09e44f04f0a4b97b04935e0ba88833f",
-  :iso_download_timeout => 1000,
-  :boot_wait => "10",
-  :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg' ],
-  :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
-  :kickstart_file => "ks.cfg",
-  :ssh_login_timeout => "10000",
-  :ssh_user => "vagrant",
-  :ssh_password => "vagrant",
-  :ssh_key => "",
-  :ssh_host_port => "7222",
-  :ssh_guest_port => "22",
-  :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
-  :shutdown_cmd => "/sbin/halt -h -p",
-  :postinstall_files => [
-    "base.sh",
-    "ruby.sh",
-    "chef.sh",
-    "puppet.sh",
-    "vagrant.sh",
-    "virtualbox.sh",
-    "cleanup.sh",
-    "zerodisk.sh"
-  ],
-  :postinstall_timeout => 10000
-})
diff --git a/templates/CentOS-5.10-x86_64-netboot/puppet.sh b/templates/CentOS-5.10-x86_64-netboot/puppet.sh
deleted file mode 100755
index d1e42973..00000000
--- a/templates/CentOS-5.10-x86_64-netboot/puppet.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-# Install Puppet
-
-cat > /etc/yum.repos.d/puppetlabs.repo << EOM
-[puppetlabs-dependencies]
-name=puppetlabdsdependencies
-baseurl=http://yum.puppetlabs.com/el/5/dependencies/\$basearch
-enabled=1
-gpgcheck=0
-
-[puppetlabs]
-name=puppetlabs
-baseurl=http://yum.puppetlabs.com/el/5/products/\$basearch
-enabled=1
-gpgcheck=0
-EOM
-
-yum -y install puppet facter ruby-shadow
diff --git a/templates/CentOS-5.10-x86_64-netboot/vagrant.sh b/templates/CentOS-5.10-x86_64-netboot/vagrant.sh
deleted file mode 100755
index 1183befc..00000000
--- a/templates/CentOS-5.10-x86_64-netboot/vagrant.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-# Vagrant configuration
-
-date > /etc/vagrant_box_build_time
-
-# Installing vagrant keys
-mkdir -pm 700 /home/vagrant/.ssh
-wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O /home/vagrant/.ssh/authorized_keys
-chmod 0600 /home/vagrant/.ssh/authorized_keys
-chown -R vagrant /home/vagrant/.ssh
diff --git a/templates/CentOS-5.10-x86_64-netboot/virtualbox.sh b/templates/CentOS-5.10-x86_64-netboot/virtualbox.sh
deleted file mode 100755
index bf64c760..00000000
--- a/templates/CentOS-5.10-x86_64-netboot/virtualbox.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-# Installing VirtualBox Guest Additions
-
-VBOX_VERSION=$(cat /home/vagrant/.vbox_version)
-cd /tmp
-mount -o loop /home/vagrant/VBoxGuestAdditions_$VBOX_VERSION.iso /mnt
-sh /mnt/VBoxLinuxAdditions.run
-umount /mnt
-rm -rf /home/vagrant/VBoxGuestAdditions_*.iso
-
diff --git a/templates/CentOS-5.10-x86_64/base.sh b/templates/CentOS-5.10-x86_64/base.sh
deleted file mode 100755
index acd9c1cd..00000000
--- a/templates/CentOS-5.10-x86_64/base.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-# Base install
-
-sed -i "s/^.*requiretty/#Defaults requiretty/" /etc/sudoers
-sed -i "s/^\(.*env_keep = \"\)/\1PATH /" /etc/sudoers
-
-yum -y install gcc make gcc-c++ kernel-devel-`uname -r` zlib-devel openssl-devel readline-devel sqlite-devel perl wget dkms bzip2
-
-yum -y erase gtk2 libX11 hicolor-icon-theme freetype bitstream-vera-fonts
diff --git a/templates/CentOS-5.10-x86_64/chef.sh b/templates/CentOS-5.10-x86_64/chef.sh
deleted file mode 100755
index 9ea4fb83..00000000
--- a/templates/CentOS-5.10-x86_64/chef.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-# Install Chef
-
-curl -L https://www.opscode.com/chef/install.sh | sudo bash
diff --git a/templates/CentOS-5.10-x86_64/cleanup.sh b/templates/CentOS-5.10-x86_64/cleanup.sh
deleted file mode 100755
index 8b3c3670..00000000
--- a/templates/CentOS-5.10-x86_64/cleanup.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-# Clean up
-
-yum -y clean all
-rm -rf /etc/yum.repos.d/puppetlabs.repo
-rm -rf VBoxGuestAdditions_*.iso
-
-# Remove mac address from network configuration
-sed -i /HWADDR/d /etc/sysconfig/network-scripts/ifcfg-eth0
-
-# Remove DHCP leases
-rm /var/lib/dhclient/*.leases
\ No newline at end of file
diff --git a/templates/CentOS-5.10-x86_64/definition.rb b/templates/CentOS-5.10-x86_64/definition.rb
deleted file mode 100755
index c35bfb30..00000000
--- a/templates/CentOS-5.10-x86_64/definition.rb
+++ /dev/null
@@ -1,42 +0,0 @@
-Veewee::Session.declare({
-  :cpu_count => '1',
-  :memory_size=> '384',
-  :disk_size => '10140',
-  :disk_format => 'VDI',
-  :hostiocache => 'on',
-  :virtualbox => {
-    :vm_options => [
-      "pae" => "on",
-      "ioapic" => "on",
-    ],
-  },
-  :os_type_id => 'RedHat_64',
-  :iso_file => "CentOS-5.10-x86_64-bin-DVD-1of2.iso",
-  :iso_src => "http://mirrors.kernel.org/centos/5.10/isos/x86_64/CentOS-5.10-x86_64-bin-DVD-1of2.iso",
-  :iso_md5 => "715f7355074c00530cd6ee1d9f43cc3f",
-  :iso_download_timeout => 1000,
-  :boot_wait => "10",
-  :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg' ],
-  :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
-  :kickstart_file => "ks.cfg",
-  :ssh_login_timeout => "10000",
-  :ssh_user => "vagrant",
-  :ssh_password => "vagrant",
-  :ssh_key => "",
-  :ssh_host_port => "7222",
-  :ssh_guest_port => "22",
-  :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
-  :shutdown_cmd => "/sbin/halt -h -p",
-  :postinstall_files => [
-    "base.sh",
-    "ruby.sh",
-    "chef.sh",
-    "puppet.sh",
-    "vagrant.sh",
-    "virtualbox.sh",
-    "cleanup.sh",
-    "zerodisk.sh"
-  ],
-  :postinstall_timeout => 10000
-})
diff --git a/templates/CentOS-5.10-x86_64/ks.cfg b/templates/CentOS-5.10-x86_64/ks.cfg
deleted file mode 100755
index 5df289a7..00000000
--- a/templates/CentOS-5.10-x86_64/ks.cfg
+++ /dev/null
@@ -1,27 +0,0 @@
-install
-cdrom
-lang en_US.UTF-8
-langsupport --default=en_US.UTF-8 en_US.UTF-8
-keyboard us
-text
-skipx
-zerombr
-network --device eth0 --bootproto dhcp
-rootpw vagrant
-firewall --enabled --trust eth0 --ssh
-selinux --disabled
-authconfig --enableshadow --enablemd5
-timezone America/New_York
-bootloader --location=mbr
-clearpart --all --initlabel
-autopart
-reboot
-
-%packages
-@ core
-%post
-/usr/sbin/groupadd vagrant
-/usr/sbin/useradd vagrant -g vagrant -G wheel
-echo "vagrant"|passwd --stdin vagrant
-echo "vagrant        ALL=(ALL)       NOPASSWD: ALL" >> /etc/sudoers
-%end
diff --git a/templates/CentOS-5.10-x86_64/puppet.sh b/templates/CentOS-5.10-x86_64/puppet.sh
deleted file mode 100755
index d1e42973..00000000
--- a/templates/CentOS-5.10-x86_64/puppet.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-# Install Puppet
-
-cat > /etc/yum.repos.d/puppetlabs.repo << EOM
-[puppetlabs-dependencies]
-name=puppetlabdsdependencies
-baseurl=http://yum.puppetlabs.com/el/5/dependencies/\$basearch
-enabled=1
-gpgcheck=0
-
-[puppetlabs]
-name=puppetlabs
-baseurl=http://yum.puppetlabs.com/el/5/products/\$basearch
-enabled=1
-gpgcheck=0
-EOM
-
-yum -y install puppet facter ruby-shadow
diff --git a/templates/CentOS-5.10-x86_64/ruby.sh b/templates/CentOS-5.10-x86_64/ruby.sh
deleted file mode 100755
index 6158728d..00000000
--- a/templates/CentOS-5.10-x86_64/ruby.sh
+++ /dev/null
@@ -1,41 +0,0 @@
-# Install Ruby from sources
-
-# add epel repo for Ruby compile time dependencies
-cat > /etc/yum.repos.d/epel.repo << EOM
-[epel]
-name=epel
-baseurl=http://download.fedoraproject.org/pub/epel/5/\$basearch
-enabled=1
-gpgcheck=0
-includepkgs=libffi*
-EOM
-
-# Install required library packages
-yum install -y gdbm-devel libffi-devel ncurses-devel
-
-# Install LibYAML (prerequisite for Ruby)
-YAML_VERSION=0.1.4
-wget http://pyyaml.org/download/libyaml/yaml-$YAML_VERSION.tar.gz
-tar xzvf yaml-$YAML_VERSION.tar.gz
-cd yaml-$YAML_VERSION
-./configure --prefix=/opt
-make && make install
-cd ..
-rm -rf yaml-$YAML_VERSION
-rm -f yaml-$YAML_VERSION.tar.gz
-
-# Install Ruby
-RUBY_VERSION=1.9.3-p484
-wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-$RUBY_VERSION.tar.gz
-tar xvzf ruby-$RUBY_VERSION.tar.gz
-cd ruby-$RUBY_VERSION
-# Fix: BSD compatibility arguments not supported by the installed version of sed
-sed -i "s/sed -E/sed -e/" configure
-./configure --prefix=/opt/ruby --disable-install-doc --with-opt-dir=/opt
-make && make install
-cd ..
-rm -rf ruby-$RUBY_VERSION
-rm -f ruby-$RUBY_VERSION.tar.gz
-
-# remove epel repo
-rm -rf /etc/yum.repos.d/epel.repo
\ No newline at end of file
diff --git a/templates/CentOS-5.10-x86_64/vagrant.sh b/templates/CentOS-5.10-x86_64/vagrant.sh
deleted file mode 100755
index 1183befc..00000000
--- a/templates/CentOS-5.10-x86_64/vagrant.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-# Vagrant configuration
-
-date > /etc/vagrant_box_build_time
-
-# Installing vagrant keys
-mkdir -pm 700 /home/vagrant/.ssh
-wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O /home/vagrant/.ssh/authorized_keys
-chmod 0600 /home/vagrant/.ssh/authorized_keys
-chown -R vagrant /home/vagrant/.ssh
diff --git a/templates/CentOS-5.10-x86_64/virtualbox.sh b/templates/CentOS-5.10-x86_64/virtualbox.sh
deleted file mode 100755
index bf64c760..00000000
--- a/templates/CentOS-5.10-x86_64/virtualbox.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-# Installing VirtualBox Guest Additions
-
-VBOX_VERSION=$(cat /home/vagrant/.vbox_version)
-cd /tmp
-mount -o loop /home/vagrant/VBoxGuestAdditions_$VBOX_VERSION.iso /mnt
-sh /mnt/VBoxLinuxAdditions.run
-umount /mnt
-rm -rf /home/vagrant/VBoxGuestAdditions_*.iso
-
diff --git a/templates/CentOS-5.10-i386-netboot/base.sh b/templates/CentOS-5.10/base.sh
similarity index 100%
rename from templates/CentOS-5.10-i386-netboot/base.sh
rename to templates/CentOS-5.10/base.sh
diff --git a/templates/CentOS-5.10/centos_32_dvd.yml b/templates/CentOS-5.10/centos_32_dvd.yml
new file mode 100644
index 00000000..4a23f125
--- /dev/null
+++ b/templates/CentOS-5.10/centos_32_dvd.yml
@@ -0,0 +1,6 @@
+---
+:os_type_id: 'RedHat'
+:iso_file: "CentOS-5.10-i386-bin-DVD-1of2.iso"
+:iso_src: "http://mirror.symnds.com/distributions/CentOS-vault/5.10/isos/i386/CentOS-5.10-i386-bin-DVD-1of2.iso"
+--- for EU use: :iso_src: "http://mirror.nsc.liu.se/centos-store/5.10/isos/i386/CentOS-5.10-i386-bin-DVD-1of2.iso"
+:iso_md5: "ec0acc2a4f6a813ea85bf1e36acb03f0"
diff --git a/templates/CentOS-5.10/centos_32_net.yml b/templates/CentOS-5.10/centos_32_net.yml
new file mode 100644
index 00000000..c7e7f3e9
--- /dev/null
+++ b/templates/CentOS-5.10/centos_32_net.yml
@@ -0,0 +1,6 @@
+---
+:os_type_id: 'RedHat'
+:iso_file: "CentOS-5.10-i386-netinstall.iso"
+:iso_src: "http://mirror.symnds.com/distributions/CentOS-vault/5.10/isos/i386/CentOS-5.10-i386-netinstall.iso"
+--- for EU use: :iso_src: "http://mirror.nsc.liu.se/centos-store/5.10/isos/i386/CentOS-5.10-i386-netinstall.iso"
+:iso_md5: "8d19b12cb5f65a4b5c2bc61a98abf80c"
diff --git a/templates/CentOS-5.10/centos_64_dvd.yml b/templates/CentOS-5.10/centos_64_dvd.yml
new file mode 100644
index 00000000..ac0566d5
--- /dev/null
+++ b/templates/CentOS-5.10/centos_64_dvd.yml
@@ -0,0 +1,6 @@
+---
+:os_type_id: 'RedHat_64'
+:iso_file: "CentOS-5.10-x86_64-bin-DVD-1of2.iso"
+:iso_src: "http://mirror.symnds.com/distributions/CentOS-vault/5.10/isos/x86_64/CentOS-5.10-x86_64-bin-DVD-1of2.iso"
+--- for EU use: :iso_src: "http://mirror.nsc.liu.se/centos-store/5.10/isos/x86_64/CentOS-5.10-x86_64-bin-DVD-1of2.iso"
+:iso_md5: "715f7355074c00530cd6ee1d9f43cc3f"
diff --git a/templates/CentOS-5.10/centos_64_net.yml b/templates/CentOS-5.10/centos_64_net.yml
new file mode 100644
index 00000000..c75d8176
--- /dev/null
+++ b/templates/CentOS-5.10/centos_64_net.yml
@@ -0,0 +1,6 @@
+---
+:os_type_id: 'RedHat_64'
+:iso_file: "CentOS-5.10-x86_64-netinstall.iso"
+:iso_src: "http://mirror.symnds.com/distributions/CentOS-vault/5.10/isos/x86_64/CentOS-5.10-x86_64-netinstall.iso"
+--- for EU use: :iso_src: "http://mirror.nsc.liu.se/centos-store/5.10/isos/x86_64/CentOS-5.10-x86_64-netinstall.iso"
+:iso_md5: "e09e44f04f0a4b97b04935e0ba88833f"
diff --git a/templates/CentOS-5.10-i386-netboot/chef.sh b/templates/CentOS-5.10/chef.sh
similarity index 100%
rename from templates/CentOS-5.10-i386-netboot/chef.sh
rename to templates/CentOS-5.10/chef.sh
diff --git a/templates/CentOS-5.10-i386-netboot/cleanup.sh b/templates/CentOS-5.10/cleanup.sh
similarity index 88%
rename from templates/CentOS-5.10-i386-netboot/cleanup.sh
rename to templates/CentOS-5.10/cleanup.sh
index 8b3c3670..4373031b 100755
--- a/templates/CentOS-5.10-i386-netboot/cleanup.sh
+++ b/templates/CentOS-5.10/cleanup.sh
@@ -8,4 +8,4 @@ rm -rf VBoxGuestAdditions_*.iso
 sed -i /HWADDR/d /etc/sysconfig/network-scripts/ifcfg-eth0
 
 # Remove DHCP leases
-rm /var/lib/dhclient/*.leases
\ No newline at end of file
+rm /var/lib/dhclient/*.leases
diff --git a/templates/CentOS-5.10/definition.rb b/templates/CentOS-5.10/definition.rb
new file mode 100755
index 00000000..70eab37c
--- /dev/null
+++ b/templates/CentOS-5.10/definition.rb
@@ -0,0 +1,5 @@
+#
+# change centos_64_dvd to one of configurations in *.yml in this directory
+# use the yml files to configure
+#
+Veewee::Definition.declare_yaml('definition.yml', "centos_64_dvd.yml")
diff --git a/templates/CentOS-5.10/definition.yml b/templates/CentOS-5.10/definition.yml
new file mode 100644
index 00000000..4c166854
--- /dev/null
+++ b/templates/CentOS-5.10/definition.yml
@@ -0,0 +1,35 @@
+---
+:cpu_count: '1'
+:memory_size: '384'
+:disk_size: '10140'
+:disk_format: 'VDI'
+:hostiocache: 'on'
+:virtualbox:
+  :vm_options:
+    "pae": "on"
+    "ioapic": "on"
+:iso_download_timeout: 1000
+:boot_wait: "10"
+:boot_cmd_sequence:
+  - 'linux text ks=http://%IP%:%PORT%/ks.cfg'
+:kickstart_port: "7122"
+:kickstart_timeout: 300
+:kickstart_file: "ks.cfg.erb"
+:ssh_login_timeout: "10000"
+:ssh_user: "vagrant"
+:ssh_password: "vagrant"
+:ssh_key: ""
+:ssh_host_port: "7222"
+:ssh_guest_port: "22"
+:sudo_cmd: "echo '%p'|sudo -S sh '%f'"
+:shutdown_cmd: "/sbin/halt -h -p"
+:postinstall_files:
+  - "base.sh"
+  - "ruby.sh"
+  - "chef.sh"
+  - "puppet.sh"
+  - "vagrant.sh"
+  - "virtualbox.sh"
+  - "cleanup.sh"
+  - "zerodisk.sh"
+:postinstall_timeout: 10000
diff --git a/templates/CentOS-5.10-x86_64-netboot/ks.cfg b/templates/CentOS-5.10/ks.cfg.erb
similarity index 78%
rename from templates/CentOS-5.10-x86_64-netboot/ks.cfg
rename to templates/CentOS-5.10/ks.cfg.erb
index aba2bb5d..aafbf021 100755
--- a/templates/CentOS-5.10-x86_64-netboot/ks.cfg
+++ b/templates/CentOS-5.10/ks.cfg.erb
@@ -1,5 +1,11 @@
 install
+<% if definition.iso_file =~ /DVD/ %>
+cdrom
+<% elsif definition.os_type_id == "RedHat" %>
+url --url=http://mirrors.kernel.org/centos/5.10/os/i386/
+<% else %>
 url --url=http://mirrors.kernel.org/centos/5.10/os/x86_64/
+<% end %>
 lang en_US.UTF-8
 langsupport --default=en_US.UTF-8 en_US.UTF-8
 keyboard us
diff --git a/templates/CentOS-5.10-i386-netboot/puppet.sh b/templates/CentOS-5.10/puppet.sh
similarity index 100%
rename from templates/CentOS-5.10-i386-netboot/puppet.sh
rename to templates/CentOS-5.10/puppet.sh
diff --git a/templates/CentOS-5.10-x86_64-netboot/ruby.sh b/templates/CentOS-5.10/ruby.sh
similarity index 96%
rename from templates/CentOS-5.10-x86_64-netboot/ruby.sh
rename to templates/CentOS-5.10/ruby.sh
index 6158728d..d34fedcc 100755
--- a/templates/CentOS-5.10-x86_64-netboot/ruby.sh
+++ b/templates/CentOS-5.10/ruby.sh
@@ -38,4 +38,4 @@ rm -rf ruby-$RUBY_VERSION
 rm -f ruby-$RUBY_VERSION.tar.gz
 
 # remove epel repo
-rm -rf /etc/yum.repos.d/epel.repo
\ No newline at end of file
+rm -rf /etc/yum.repos.d/epel.repo
diff --git a/templates/CentOS-5.10-i386-netboot/vagrant.sh b/templates/CentOS-5.10/vagrant.sh
similarity index 100%
rename from templates/CentOS-5.10-i386-netboot/vagrant.sh
rename to templates/CentOS-5.10/vagrant.sh
diff --git a/templates/CentOS-5.10-i386-netboot/virtualbox.sh b/templates/CentOS-5.10/virtualbox.sh
similarity index 100%
rename from templates/CentOS-5.10-i386-netboot/virtualbox.sh
rename to templates/CentOS-5.10/virtualbox.sh
diff --git a/templates/CentOS-5.10-i386-netboot/zerodisk.sh b/templates/CentOS-5.10/zerodisk.sh
similarity index 100%
rename from templates/CentOS-5.10-i386-netboot/zerodisk.sh
rename to templates/CentOS-5.10/zerodisk.sh
diff --git a/templates/CentOS-5.5-i386-netboot/definition.rb b/templates/CentOS-5.5-i386-netboot/definition.rb
index 12b53871..e53c70ec 100644
--- a/templates/CentOS-5.5-i386-netboot/definition.rb
+++ b/templates/CentOS-5.5-i386-netboot/definition.rb
@@ -7,7 +7,7 @@
   :iso_md5 => "0172883a3039772165db073693debae5",
   :iso_download_timeout => 1000,
   :boot_wait => "10", :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg' ],
-  :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
+  :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "600", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
diff --git a/templates/CentOS-5.5-x86_64-netboot/definition.rb b/templates/CentOS-5.5-x86_64-netboot/definition.rb
index 3c73e7e5..86f3e512 100644
--- a/templates/CentOS-5.5-x86_64-netboot/definition.rb
+++ b/templates/CentOS-5.5-x86_64-netboot/definition.rb
@@ -7,7 +7,7 @@
   :iso_md5 => "560a964657c92508ae110a35cb963632",
   :iso_download_timeout => 1000,
   :boot_wait => "10", :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg' ],
-  :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
+  :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "600", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
diff --git a/templates/CentOS-5.6-i386-netboot/definition.rb b/templates/CentOS-5.6-i386-netboot/definition.rb
index 656bc095..10a5cfe6 100644
--- a/templates/CentOS-5.6-i386-netboot/definition.rb
+++ b/templates/CentOS-5.6-i386-netboot/definition.rb
@@ -7,7 +7,7 @@
   :iso_md5 => "a710105f7f9fe3516f08f6f8514ed2b0",
   :iso_download_timeout => 1000,
   :boot_wait => "10", :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg' ],
-  :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
+  :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
diff --git a/templates/CentOS-5.6-i386/definition.rb b/templates/CentOS-5.6-i386/definition.rb
index ea86c0d4..3af7c7e9 100644
--- a/templates/CentOS-5.6-i386/definition.rb
+++ b/templates/CentOS-5.6-i386/definition.rb
@@ -8,7 +8,7 @@
   :boot_wait => "10", :boot_cmd_sequence => [
     'linux text ks=http://%IP%:%PORT%/ks.cfg'
   ],
-  :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
+  :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
diff --git a/templates/CentOS-5.6-i386/ks.cfg b/templates/CentOS-5.6-i386/ks.cfg
index 65bd2faa..519c1b10 100644
--- a/templates/CentOS-5.6-i386/ks.cfg
+++ b/templates/CentOS-5.6-i386/ks.cfg
@@ -42,4 +42,4 @@ lvm2
 /usr/sbin/groupadd vagrant
 /usr/sbin/useradd vagrant -g vagrant -G wheel
 echo "vagrant"|passwd --stdin vagrant
-echo "vagrant        ALL=(ALL)       NOPASSWD: ALL" >> /etc/sudoers
\ No newline at end of file
+echo "vagrant        ALL=(ALL)       NOPASSWD: ALL" >> /etc/sudoers
diff --git a/templates/CentOS-5.6-x86_64-netboot-packages/definition.rb b/templates/CentOS-5.6-x86_64-netboot-packages/definition.rb
index 81f6ddf6..6ef7f391 100644
--- a/templates/CentOS-5.6-x86_64-netboot-packages/definition.rb
+++ b/templates/CentOS-5.6-x86_64-netboot-packages/definition.rb
@@ -7,7 +7,7 @@
   :iso_md5 => "02cf3a5e32aaa5eed27af775ad292beb",
   :iso_download_timeout => 1000,
   :boot_wait => "10", :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg' ],
-  :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
+  :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
diff --git a/templates/CentOS-5.6-x86_64-netboot/definition.rb b/templates/CentOS-5.6-x86_64-netboot/definition.rb
index 81f6ddf6..6ef7f391 100644
--- a/templates/CentOS-5.6-x86_64-netboot/definition.rb
+++ b/templates/CentOS-5.6-x86_64-netboot/definition.rb
@@ -7,7 +7,7 @@
   :iso_md5 => "02cf3a5e32aaa5eed27af775ad292beb",
   :iso_download_timeout => 1000,
   :boot_wait => "10", :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg' ],
-  :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
+  :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
diff --git a/templates/CentOS-5.7-i386-netboot/definition.rb b/templates/CentOS-5.7-i386-netboot/definition.rb
index 9afe4ee4..86f0fa85 100644
--- a/templates/CentOS-5.7-i386-netboot/definition.rb
+++ b/templates/CentOS-5.7-i386-netboot/definition.rb
@@ -7,7 +7,7 @@
   :iso_md5 => "11222d9134cdfc101f6f91fe544254c9",
   :iso_download_timeout => 1000,
   :boot_wait => "10", :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg' ],
-  :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
+  :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
diff --git a/templates/CentOS-5.7-i386-netboot/ks.cfg b/templates/CentOS-5.7-i386-netboot/ks.cfg
index 3717f892..26f674ef 100644
--- a/templates/CentOS-5.7-i386-netboot/ks.cfg
+++ b/templates/CentOS-5.7-i386-netboot/ks.cfg
@@ -44,4 +44,4 @@ kernel-headers
 /usr/sbin/groupadd vagrant
 /usr/sbin/useradd vagrant -g vagrant -G wheel
 echo "vagrant"|passwd --stdin vagrant
-echo "vagrant        ALL=(ALL)       NOPASSWD: ALL" >> /etc/sudoers
\ No newline at end of file
+echo "vagrant        ALL=(ALL)       NOPASSWD: ALL" >> /etc/sudoers
diff --git a/templates/CentOS-5.7-x86_64-netboot/definition.rb b/templates/CentOS-5.7-x86_64-netboot/definition.rb
index 3f920b88..d0c2f350 100644
--- a/templates/CentOS-5.7-x86_64-netboot/definition.rb
+++ b/templates/CentOS-5.7-x86_64-netboot/definition.rb
@@ -7,7 +7,7 @@
   :iso_md5 => "5db3d49ba7a2c56810822914fadc1edf",
   :iso_download_timeout => 1000,
   :boot_wait => "10", :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg' ],
-  :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
+  :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
diff --git a/templates/CentOS-5.8-i386-netboot/definition.rb b/templates/CentOS-5.8-i386-netboot/definition.rb
index cf747b00..a881b06b 100644
--- a/templates/CentOS-5.8-i386-netboot/definition.rb
+++ b/templates/CentOS-5.8-i386-netboot/definition.rb
@@ -7,7 +7,7 @@
   :iso_md5 => "3812865e426b55fde9a9931990e4a16c",
   :iso_download_timeout => 1000,
   :boot_wait => "10", :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg' ],
-  :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
+  :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
diff --git a/templates/CentOS-5.8-i386-netboot/ks.cfg b/templates/CentOS-5.8-i386-netboot/ks.cfg
index 45f579d5..861ff23d 100644
--- a/templates/CentOS-5.8-i386-netboot/ks.cfg
+++ b/templates/CentOS-5.8-i386-netboot/ks.cfg
@@ -44,4 +44,4 @@ kernel-headers
 /usr/sbin/groupadd vagrant
 /usr/sbin/useradd vagrant -g vagrant -G wheel
 echo "vagrant"|passwd --stdin vagrant
-echo "vagrant        ALL=(ALL)       NOPASSWD: ALL" >> /etc/sudoers
\ No newline at end of file
+echo "vagrant        ALL=(ALL)       NOPASSWD: ALL" >> /etc/sudoers
diff --git a/templates/CentOS-5.8-i386/definition.rb b/templates/CentOS-5.8-i386/definition.rb
index d768ea38..2cd2b9a3 100644
--- a/templates/CentOS-5.8-i386/definition.rb
+++ b/templates/CentOS-5.8-i386/definition.rb
@@ -7,7 +7,7 @@
   :iso_md5 => "0fdd45c43b5d8fb9e05f4255c5855f9c",
   :iso_download_timeout => 10000,
   :boot_wait => "10", :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg' ],
-  :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
+  :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
diff --git a/templates/CentOS-5.8-i386/ks.cfg b/templates/CentOS-5.8-i386/ks.cfg
index 270bd444..57a1c499 100644
--- a/templates/CentOS-5.8-i386/ks.cfg
+++ b/templates/CentOS-5.8-i386/ks.cfg
@@ -44,4 +44,4 @@ kernel-headers
 /usr/sbin/groupadd vagrant
 /usr/sbin/useradd vagrant -g vagrant -G wheel
 echo "vagrant"|passwd --stdin vagrant
-echo "vagrant        ALL=(ALL)       NOPASSWD: ALL" >> /etc/sudoers
\ No newline at end of file
+echo "vagrant        ALL=(ALL)       NOPASSWD: ALL" >> /etc/sudoers
diff --git a/templates/CentOS-5.8-x86_64-netboot/definition.rb b/templates/CentOS-5.8-x86_64-netboot/definition.rb
index b59fdb4c..a89c8ce5 100644
--- a/templates/CentOS-5.8-x86_64-netboot/definition.rb
+++ b/templates/CentOS-5.8-x86_64-netboot/definition.rb
@@ -7,7 +7,7 @@
   :iso_md5 => "6425035e9adee4b8653a85f59877ac5b",
   :iso_download_timeout => 1000,
   :boot_wait => "10", :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg' ],
-  :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
+  :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
diff --git a/templates/CentOS-5.8-x86_64-reallyminimal/definition.rb b/templates/CentOS-5.8-x86_64-reallyminimal/definition.rb
index ab616ef2..d570c5b6 100644
--- a/templates/CentOS-5.8-x86_64-reallyminimal/definition.rb
+++ b/templates/CentOS-5.8-x86_64-reallyminimal/definition.rb
@@ -12,7 +12,7 @@
   :boot_wait => "10",
   :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg' ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/CentOS-5.8-x86_64/definition.rb b/templates/CentOS-5.8-x86_64/definition.rb
index 7c25ac09..aed649c8 100644
--- a/templates/CentOS-5.8-x86_64/definition.rb
+++ b/templates/CentOS-5.8-x86_64/definition.rb
@@ -7,7 +7,7 @@
   :iso_md5 => "8a3bf0030f192022943f83fe6b2cf373",
   :iso_download_timeout => 10000,
   :boot_wait => "10", :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg' ],
-  :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
+  :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
diff --git a/templates/CentOS-5.9-i386-netboot/cleanup.sh b/templates/CentOS-5.9-i386-netboot/cleanup.sh
index 8b3c3670..4373031b 100644
--- a/templates/CentOS-5.9-i386-netboot/cleanup.sh
+++ b/templates/CentOS-5.9-i386-netboot/cleanup.sh
@@ -8,4 +8,4 @@ rm -rf VBoxGuestAdditions_*.iso
 sed -i /HWADDR/d /etc/sysconfig/network-scripts/ifcfg-eth0
 
 # Remove DHCP leases
-rm /var/lib/dhclient/*.leases
\ No newline at end of file
+rm /var/lib/dhclient/*.leases
diff --git a/templates/CentOS-5.9-i386-netboot/definition.rb b/templates/CentOS-5.9-i386-netboot/definition.rb
index 0ac6eef5..127e0c2b 100644
--- a/templates/CentOS-5.9-i386-netboot/definition.rb
+++ b/templates/CentOS-5.9-i386-netboot/definition.rb
@@ -18,7 +18,7 @@
   :boot_wait => "10",
   :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg' ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/CentOS-5.9-i386-netboot/ruby.sh b/templates/CentOS-5.9-i386-netboot/ruby.sh
index 6158728d..d34fedcc 100644
--- a/templates/CentOS-5.9-i386-netboot/ruby.sh
+++ b/templates/CentOS-5.9-i386-netboot/ruby.sh
@@ -38,4 +38,4 @@ rm -rf ruby-$RUBY_VERSION
 rm -f ruby-$RUBY_VERSION.tar.gz
 
 # remove epel repo
-rm -rf /etc/yum.repos.d/epel.repo
\ No newline at end of file
+rm -rf /etc/yum.repos.d/epel.repo
diff --git a/templates/CentOS-5.9-i386/cleanup.sh b/templates/CentOS-5.9-i386/cleanup.sh
index 8b3c3670..4373031b 100644
--- a/templates/CentOS-5.9-i386/cleanup.sh
+++ b/templates/CentOS-5.9-i386/cleanup.sh
@@ -8,4 +8,4 @@ rm -rf VBoxGuestAdditions_*.iso
 sed -i /HWADDR/d /etc/sysconfig/network-scripts/ifcfg-eth0
 
 # Remove DHCP leases
-rm /var/lib/dhclient/*.leases
\ No newline at end of file
+rm /var/lib/dhclient/*.leases
diff --git a/templates/CentOS-5.9-i386/definition.rb b/templates/CentOS-5.9-i386/definition.rb
index ae721328..359c668f 100644
--- a/templates/CentOS-5.9-i386/definition.rb
+++ b/templates/CentOS-5.9-i386/definition.rb
@@ -18,7 +18,7 @@
   :boot_wait => "10",
   :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg' ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/CentOS-5.9-i386/ruby.sh b/templates/CentOS-5.9-i386/ruby.sh
index 6158728d..d34fedcc 100644
--- a/templates/CentOS-5.9-i386/ruby.sh
+++ b/templates/CentOS-5.9-i386/ruby.sh
@@ -38,4 +38,4 @@ rm -rf ruby-$RUBY_VERSION
 rm -f ruby-$RUBY_VERSION.tar.gz
 
 # remove epel repo
-rm -rf /etc/yum.repos.d/epel.repo
\ No newline at end of file
+rm -rf /etc/yum.repos.d/epel.repo
diff --git a/templates/CentOS-5.9-x86_64-netboot/cleanup.sh b/templates/CentOS-5.9-x86_64-netboot/cleanup.sh
index 8b3c3670..4373031b 100644
--- a/templates/CentOS-5.9-x86_64-netboot/cleanup.sh
+++ b/templates/CentOS-5.9-x86_64-netboot/cleanup.sh
@@ -8,4 +8,4 @@ rm -rf VBoxGuestAdditions_*.iso
 sed -i /HWADDR/d /etc/sysconfig/network-scripts/ifcfg-eth0
 
 # Remove DHCP leases
-rm /var/lib/dhclient/*.leases
\ No newline at end of file
+rm /var/lib/dhclient/*.leases
diff --git a/templates/CentOS-5.9-x86_64-netboot/definition.rb b/templates/CentOS-5.9-x86_64-netboot/definition.rb
index b5f65a5d..274d0d31 100644
--- a/templates/CentOS-5.9-x86_64-netboot/definition.rb
+++ b/templates/CentOS-5.9-x86_64-netboot/definition.rb
@@ -18,7 +18,7 @@
   :boot_wait => "10",
   :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg' ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/CentOS-5.9-x86_64-netboot/ruby.sh b/templates/CentOS-5.9-x86_64-netboot/ruby.sh
index 6158728d..d34fedcc 100644
--- a/templates/CentOS-5.9-x86_64-netboot/ruby.sh
+++ b/templates/CentOS-5.9-x86_64-netboot/ruby.sh
@@ -38,4 +38,4 @@ rm -rf ruby-$RUBY_VERSION
 rm -f ruby-$RUBY_VERSION.tar.gz
 
 # remove epel repo
-rm -rf /etc/yum.repos.d/epel.repo
\ No newline at end of file
+rm -rf /etc/yum.repos.d/epel.repo
diff --git a/templates/CentOS-5.9-x86_64/cleanup.sh b/templates/CentOS-5.9-x86_64/cleanup.sh
index 8b3c3670..4373031b 100644
--- a/templates/CentOS-5.9-x86_64/cleanup.sh
+++ b/templates/CentOS-5.9-x86_64/cleanup.sh
@@ -8,4 +8,4 @@ rm -rf VBoxGuestAdditions_*.iso
 sed -i /HWADDR/d /etc/sysconfig/network-scripts/ifcfg-eth0
 
 # Remove DHCP leases
-rm /var/lib/dhclient/*.leases
\ No newline at end of file
+rm /var/lib/dhclient/*.leases
diff --git a/templates/CentOS-5.9-x86_64/definition.rb b/templates/CentOS-5.9-x86_64/definition.rb
index 2deee749..e56e0e7c 100644
--- a/templates/CentOS-5.9-x86_64/definition.rb
+++ b/templates/CentOS-5.9-x86_64/definition.rb
@@ -18,7 +18,7 @@
   :boot_wait => "10",
   :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg' ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/CentOS-5.9-x86_64/ruby.sh b/templates/CentOS-5.9-x86_64/ruby.sh
index 6158728d..d34fedcc 100644
--- a/templates/CentOS-5.9-x86_64/ruby.sh
+++ b/templates/CentOS-5.9-x86_64/ruby.sh
@@ -38,4 +38,4 @@ rm -rf ruby-$RUBY_VERSION
 rm -f ruby-$RUBY_VERSION.tar.gz
 
 # remove epel repo
-rm -rf /etc/yum.repos.d/epel.repo
\ No newline at end of file
+rm -rf /etc/yum.repos.d/epel.repo
diff --git a/templates/CentOS-6.0-i386-netboot/chef.sh b/templates/CentOS-6.0-i386-netboot/chef.sh
index 754ea6d5..0e2cfea5 100644
--- a/templates/CentOS-6.0-i386-netboot/chef.sh
+++ b/templates/CentOS-6.0-i386-netboot/chef.sh
@@ -1,3 +1,4 @@
 # Install Chef
+gem install --no-ri --no-rdoc mime-types -v '1.16'
 gem install --no-ri --no-rdoc chef
 
diff --git a/templates/CentOS-6.0-i386-netboot/definition.rb b/templates/CentOS-6.0-i386-netboot/definition.rb
index 13803bf1..433cd54a 100644
--- a/templates/CentOS-6.0-i386-netboot/definition.rb
+++ b/templates/CentOS-6.0-i386-netboot/definition.rb
@@ -14,7 +14,7 @@
     ' text ks=http://%IP%:%PORT%/ks.cfg'
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "veewee",
diff --git a/templates/CentOS-6.0-i386/chef.sh b/templates/CentOS-6.0-i386/chef.sh
index 754ea6d5..0e2cfea5 100644
--- a/templates/CentOS-6.0-i386/chef.sh
+++ b/templates/CentOS-6.0-i386/chef.sh
@@ -1,3 +1,4 @@
 # Install Chef
+gem install --no-ri --no-rdoc mime-types -v '1.16'
 gem install --no-ri --no-rdoc chef
 
diff --git a/templates/CentOS-6.0-i386/definition.rb b/templates/CentOS-6.0-i386/definition.rb
index 2fbbc021..07e67654 100644
--- a/templates/CentOS-6.0-i386/definition.rb
+++ b/templates/CentOS-6.0-i386/definition.rb
@@ -14,7 +14,7 @@
     ' text ks=http://%IP%:%PORT%/ks.cfg'
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "veewee",
diff --git a/templates/CentOS-6.0-x86_64-minimal/chef.sh b/templates/CentOS-6.0-x86_64-minimal/chef.sh
index 754ea6d5..0e2cfea5 100644
--- a/templates/CentOS-6.0-x86_64-minimal/chef.sh
+++ b/templates/CentOS-6.0-x86_64-minimal/chef.sh
@@ -1,3 +1,4 @@
 # Install Chef
+gem install --no-ri --no-rdoc mime-types -v '1.16'
 gem install --no-ri --no-rdoc chef
 
diff --git a/templates/CentOS-6.0-x86_64-minimal/definition.rb b/templates/CentOS-6.0-x86_64-minimal/definition.rb
index 805a9ce4..83543d0e 100644
--- a/templates/CentOS-6.0-x86_64-minimal/definition.rb
+++ b/templates/CentOS-6.0-x86_64-minimal/definition.rb
@@ -14,7 +14,7 @@
     ' text ks=http://%IP%:%PORT%/ks.cfg'
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "veewee",
diff --git a/templates/CentOS-6.0-x86_64-netboot/chef.sh b/templates/CentOS-6.0-x86_64-netboot/chef.sh
index 754ea6d5..0e2cfea5 100644
--- a/templates/CentOS-6.0-x86_64-netboot/chef.sh
+++ b/templates/CentOS-6.0-x86_64-netboot/chef.sh
@@ -1,3 +1,4 @@
 # Install Chef
+gem install --no-ri --no-rdoc mime-types -v '1.16'
 gem install --no-ri --no-rdoc chef
 
diff --git a/templates/CentOS-6.0-x86_64-netboot/definition.rb b/templates/CentOS-6.0-x86_64-netboot/definition.rb
index e4b111e8..ba45fc9b 100644
--- a/templates/CentOS-6.0-x86_64-netboot/definition.rb
+++ b/templates/CentOS-6.0-x86_64-netboot/definition.rb
@@ -14,7 +14,7 @@
     ' text ks=http://%IP%:%PORT%/ks.cfg'
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "veewee",
diff --git a/templates/CentOS-6.0-x86_64/chef.sh b/templates/CentOS-6.0-x86_64/chef.sh
index 754ea6d5..0e2cfea5 100644
--- a/templates/CentOS-6.0-x86_64/chef.sh
+++ b/templates/CentOS-6.0-x86_64/chef.sh
@@ -1,3 +1,4 @@
 # Install Chef
+gem install --no-ri --no-rdoc mime-types -v '1.16'
 gem install --no-ri --no-rdoc chef
 
diff --git a/templates/CentOS-6.0-x86_64/definition.rb b/templates/CentOS-6.0-x86_64/definition.rb
index a03d46eb..58ce851b 100644
--- a/templates/CentOS-6.0-x86_64/definition.rb
+++ b/templates/CentOS-6.0-x86_64/definition.rb
@@ -14,7 +14,7 @@
     ' text ks=http://%IP%:%PORT%/ks.cfg'
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "veewee",
diff --git a/templates/CentOS-6.1-x86_64-minimal/chef.sh b/templates/CentOS-6.1-x86_64-minimal/chef.sh
index 754ea6d5..0e2cfea5 100644
--- a/templates/CentOS-6.1-x86_64-minimal/chef.sh
+++ b/templates/CentOS-6.1-x86_64-minimal/chef.sh
@@ -1,3 +1,4 @@
 # Install Chef
+gem install --no-ri --no-rdoc mime-types -v '1.16'
 gem install --no-ri --no-rdoc chef
 
diff --git a/templates/CentOS-6.1-x86_64-minimal/definition.rb b/templates/CentOS-6.1-x86_64-minimal/definition.rb
index c0902a43..27b45e19 100644
--- a/templates/CentOS-6.1-x86_64-minimal/definition.rb
+++ b/templates/CentOS-6.1-x86_64-minimal/definition.rb
@@ -14,7 +14,7 @@
     ' text ks=http://%IP%:%PORT%/ks.cfg'
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "veewee",
diff --git a/templates/CentOS-6.1-x86_64-netboot/chef.sh b/templates/CentOS-6.1-x86_64-netboot/chef.sh
index 754ea6d5..0e2cfea5 100644
--- a/templates/CentOS-6.1-x86_64-netboot/chef.sh
+++ b/templates/CentOS-6.1-x86_64-netboot/chef.sh
@@ -1,3 +1,4 @@
 # Install Chef
+gem install --no-ri --no-rdoc mime-types -v '1.16'
 gem install --no-ri --no-rdoc chef
 
diff --git a/templates/CentOS-6.1-x86_64-netboot/definition.rb b/templates/CentOS-6.1-x86_64-netboot/definition.rb
index 53d9a381..f26024fe 100644
--- a/templates/CentOS-6.1-x86_64-netboot/definition.rb
+++ b/templates/CentOS-6.1-x86_64-netboot/definition.rb
@@ -14,7 +14,7 @@
     ' text ks=http://%IP%:%PORT%/ks.cfg'
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "veewee",
diff --git a/templates/CentOS-6.2-i386-minimal/definition.rb b/templates/CentOS-6.2-i386-minimal/definition.rb
index 124cfcda..5d9f32e1 100644
--- a/templates/CentOS-6.2-i386-minimal/definition.rb
+++ b/templates/CentOS-6.2-i386-minimal/definition.rb
@@ -14,7 +14,7 @@
     ' text ks=http://%IP%:%PORT%/ks.cfg'
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "veewee",
diff --git a/templates/CentOS-6.2-x86_64-minimal/definition.rb b/templates/CentOS-6.2-x86_64-minimal/definition.rb
index 48708e13..f458bf12 100644
--- a/templates/CentOS-6.2-x86_64-minimal/definition.rb
+++ b/templates/CentOS-6.2-x86_64-minimal/definition.rb
@@ -14,7 +14,7 @@
     ' text ks=http://%IP%:%PORT%/ks.cfg'
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "veewee",
diff --git a/templates/CentOS-6.2-x86_64-netboot/definition.rb b/templates/CentOS-6.2-x86_64-netboot/definition.rb
index 6655a45e..a2c2168e 100644
--- a/templates/CentOS-6.2-x86_64-netboot/definition.rb
+++ b/templates/CentOS-6.2-x86_64-netboot/definition.rb
@@ -14,7 +14,7 @@
     ' text ks=http://%IP%:%PORT%/ks.cfg'
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "veewee",
diff --git a/templates/CentOS-6.3-i386-minimal/chef.sh b/templates/CentOS-6.3-i386-minimal/chef.sh
index 754ea6d5..0e2cfea5 100644
--- a/templates/CentOS-6.3-i386-minimal/chef.sh
+++ b/templates/CentOS-6.3-i386-minimal/chef.sh
@@ -1,3 +1,4 @@
 # Install Chef
+gem install --no-ri --no-rdoc mime-types -v '1.16'
 gem install --no-ri --no-rdoc chef
 
diff --git a/templates/CentOS-6.3-i386-minimal/definition.rb b/templates/CentOS-6.3-i386-minimal/definition.rb
index bdc1baa0..c6b1df07 100644
--- a/templates/CentOS-6.3-i386-minimal/definition.rb
+++ b/templates/CentOS-6.3-i386-minimal/definition.rb
@@ -14,7 +14,7 @@
                                   ]
                           },
   :iso_file => "CentOS-6.3-i386-minimal.iso",
-  :iso_src => "http://www.mirrorservice.org/sites/mirror.centos.org/6.3/isos/i386/CentOS-6.3-i386-minimal.iso",
+  :iso_src => "http://mirror.symnds.com/distributions/CentOS-vault/6.3/isos/i386/CentOS-6.3-i386-minimal.iso",
   :iso_md5 => "081ce8ba3e9f761a35d47f1c345562c1",
   :iso_download_timeout => 1000,
   :boot_wait => "10",
@@ -22,7 +22,7 @@
     ' text ks=http://%IP%:%PORT%/ks.cfg'
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/CentOS-6.3-x86_64-minimal/chef.sh b/templates/CentOS-6.3-x86_64-minimal/chef.sh
index 754ea6d5..0e2cfea5 100644
--- a/templates/CentOS-6.3-x86_64-minimal/chef.sh
+++ b/templates/CentOS-6.3-x86_64-minimal/chef.sh
@@ -1,3 +1,4 @@
 # Install Chef
+gem install --no-ri --no-rdoc mime-types -v '1.16'
 gem install --no-ri --no-rdoc chef
 
diff --git a/templates/CentOS-6.3-x86_64-minimal/definition.rb b/templates/CentOS-6.3-x86_64-minimal/definition.rb
index 8ff400e8..908591d3 100644
--- a/templates/CentOS-6.3-x86_64-minimal/definition.rb
+++ b/templates/CentOS-6.3-x86_64-minimal/definition.rb
@@ -6,7 +6,7 @@
   :hostiocache => 'off',
   :os_type_id => 'RedHat6_64',
   :iso_file => "CentOS-6.3-x86_64-minimal.iso",
-  :iso_src => "http://www.mirrorservice.org/sites/mirror.centos.org/6.3/isos/x86_64/CentOS-6.3-x86_64-minimal.iso",
+  :iso_src => "http://mirror.symnds.com/distributions/CentOS-vault/6.3/isos/x86_64/CentOS-6.3-x86_64-minimal.iso",
   :iso_md5 => "087713752fa88c03a5e8471c661ad1a2",
   :iso_download_timeout => 1000,
   :boot_wait => "10",
@@ -14,7 +14,7 @@
     ' text ks=http://%IP%:%PORT%/ks.cfg'
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "veewee",
diff --git a/templates/CentOS-6.3-x86_64-netboot/chef.sh b/templates/CentOS-6.3-x86_64-netboot/chef.sh
index 754ea6d5..0e2cfea5 100644
--- a/templates/CentOS-6.3-x86_64-netboot/chef.sh
+++ b/templates/CentOS-6.3-x86_64-netboot/chef.sh
@@ -1,3 +1,4 @@
 # Install Chef
+gem install --no-ri --no-rdoc mime-types -v '1.16'
 gem install --no-ri --no-rdoc chef
 
diff --git a/templates/CentOS-6.3-x86_64-netboot/definition.rb b/templates/CentOS-6.3-x86_64-netboot/definition.rb
index fca587b0..84ddae00 100644
--- a/templates/CentOS-6.3-x86_64-netboot/definition.rb
+++ b/templates/CentOS-6.3-x86_64-netboot/definition.rb
@@ -6,7 +6,7 @@
   :hostiocache => 'off',
   :os_type_id => 'RedHat6_64',
   :iso_file => "CentOS-6.3-x86_64-netinstall.iso",
-  :iso_src => "http://www.mirrorservice.org/sites/mirror.centos.org/6.3/isos/x86_64/CentOS-6.3-x86_64-netinstall.iso",
+  :iso_src => "http://mirror.symnds.com/distributions/CentOS-vault/6.3/isos/x86_64/CentOS-6.3-x86_64-netinstall.iso",
   :iso_md5 => "690138908de516b6e5d7d180d085c3f3",
   :iso_download_timeout => 1000,
   :boot_wait => "15",
@@ -14,7 +14,7 @@
     ' text ks=http://%IP%:%PORT%/ks.cfg'
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "veewee",
diff --git a/templates/CentOS-6.3-x86_64-reallyminimal/definition.rb b/templates/CentOS-6.3-x86_64-reallyminimal/definition.rb
index f5523fc7..38746e6d 100644
--- a/templates/CentOS-6.3-x86_64-reallyminimal/definition.rb
+++ b/templates/CentOS-6.3-x86_64-reallyminimal/definition.rb
@@ -6,13 +6,13 @@
   :hostiocache => 'off',
   :os_type_id => 'RedHat6_64',
   :iso_file => "CentOS-6.3-x86_64-minimal.iso",
-  :iso_src => "http://www.mirrorservice.org/sites/mirror.centos.org/6.3/isos/x86_64/CentOS-6.3-x86_64-minimal.iso",
+  :iso_src => "http://mirror.symnds.com/distributions/CentOS-vault/6.3/isos/x86_64/CentOS-6.3-x86_64-minimal.iso",
   :iso_md5 => "087713752fa88c03a5e8471c661ad1a2",
   :iso_download_timeout => 10000,
   :boot_wait => "10",
   :boot_cmd_sequence => [ ' text ks=http://%IP%:%PORT%/ks.cfg' ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/CentOS-6.4-i386-minimal/chef.sh b/templates/CentOS-6.4-i386-minimal/chef.sh
index cf2ddee0..0e2cfea5 100644
--- a/templates/CentOS-6.4-i386-minimal/chef.sh
+++ b/templates/CentOS-6.4-i386-minimal/chef.sh
@@ -1,2 +1,4 @@
 # Install Chef
-curl -L https://www.opscode.com/chef/install.sh | bash
+gem install --no-ri --no-rdoc mime-types -v '1.16'
+gem install --no-ri --no-rdoc chef
+
diff --git a/templates/CentOS-6.4-i386-minimal/definition.rb b/templates/CentOS-6.4-i386-minimal/definition.rb
index 71cf1c41..63e31f60 100644
--- a/templates/CentOS-6.4-i386-minimal/definition.rb
+++ b/templates/CentOS-6.4-i386-minimal/definition.rb
@@ -6,7 +6,7 @@
   :hostiocache => 'off',
   :os_type_id => 'RedHat',
   :iso_file => "CentOS-6.4-i386-minimal.iso",
-  :iso_src => "http://yum.singlehop.com/CentOS/6.4/isos/i386/CentOS-6.4-i386-minimal.iso",
+  :iso_src => "http://mirror.symnds.com/distributions/CentOS-vault/6.4/isos/i386/CentOS-6.4-i386-minimal.iso",
   :iso_md5 => "6b5c727fa76fcce7c9ab6213ad3df75a",
   :iso_download_timeout => 1000,
   :boot_wait => "10",
@@ -14,7 +14,7 @@
     ' text ks=http://%IP%:%PORT%/ks.cfg'
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "veewee",
diff --git a/templates/CentOS-6.4-i386-netboot/chef.sh b/templates/CentOS-6.4-i386-netboot/chef.sh
index 754ea6d5..0e2cfea5 100644
--- a/templates/CentOS-6.4-i386-netboot/chef.sh
+++ b/templates/CentOS-6.4-i386-netboot/chef.sh
@@ -1,3 +1,4 @@
 # Install Chef
+gem install --no-ri --no-rdoc mime-types -v '1.16'
 gem install --no-ri --no-rdoc chef
 
diff --git a/templates/CentOS-6.4-i386-netboot/definition.rb b/templates/CentOS-6.4-i386-netboot/definition.rb
index 3eb92ee3..d86f8ba9 100644
--- a/templates/CentOS-6.4-i386-netboot/definition.rb
+++ b/templates/CentOS-6.4-i386-netboot/definition.rb
@@ -6,7 +6,7 @@
   :hostiocache => 'off',
   :os_type_id => 'RedHat',
   :iso_file => "CentOS-6.4-i386-netinstall.iso",
-  :iso_src => "http://www.mirrorservice.org/sites/mirror.centos.org/6.4/isos/i386/CentOS-6.4-i386-netinstall.iso",
+  :iso_src => "http://mirror.symnds.com/distributions/CentOS-vault/6.4/isos/i386/CentOS-6.4-i386-netinstall.iso",
   :iso_md5 => "7cde1479be934ad8463a35f2a3a48a2b",
   :iso_download_timeout => 1000,
   :boot_wait => "15",
@@ -14,7 +14,7 @@
     ' text ks=http://%IP%:%PORT%/ks.cfg'
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "veewee",
diff --git a/templates/CentOS-6.4-i386-netboot/ks.cfg b/templates/CentOS-6.4-i386-netboot/ks.cfg
index 0207d855..5e2f72de 100644
--- a/templates/CentOS-6.4-i386-netboot/ks.cfg
+++ b/templates/CentOS-6.4-i386-netboot/ks.cfg
@@ -1,5 +1,5 @@
 install
-url --url=http://www.mirrorservice.org/sites/mirror.centos.org/6.4/os/i386/
+url --url=http://mirror.symnds.com/distributions/CentOS-vault/6.4/os/i386/
 lang en_US.UTF-8
 keyboard us
 network --bootproto=dhcp
diff --git a/templates/CentOS-6.4-x86_64-minimal/chef.sh b/templates/CentOS-6.4-x86_64-minimal/chef.sh
index cf2ddee0..0e2cfea5 100644
--- a/templates/CentOS-6.4-x86_64-minimal/chef.sh
+++ b/templates/CentOS-6.4-x86_64-minimal/chef.sh
@@ -1,2 +1,4 @@
 # Install Chef
-curl -L https://www.opscode.com/chef/install.sh | bash
+gem install --no-ri --no-rdoc mime-types -v '1.16'
+gem install --no-ri --no-rdoc chef
+
diff --git a/templates/CentOS-6.4-x86_64-minimal/definition.rb b/templates/CentOS-6.4-x86_64-minimal/definition.rb
index 047c57b3..ca0eae08 100644
--- a/templates/CentOS-6.4-x86_64-minimal/definition.rb
+++ b/templates/CentOS-6.4-x86_64-minimal/definition.rb
@@ -6,7 +6,7 @@
   :hostiocache => 'off',
   :os_type_id => 'RedHat6_64',
   :iso_file => "CentOS-6.4-x86_64-minimal.iso",
-  :iso_src => "http://yum.singlehop.com/CentOS/6.4/isos/x86_64/CentOS-6.4-x86_64-minimal.iso",
+  :iso_src => "http://mirror.symnds.com/distributions/CentOS-vault/6.4/isos/x86_64/CentOS-6.4-x86_64-minimal.iso",
   :iso_md5 => "4a5fa01c81cc300f4729136e28ebe600",
   :iso_download_timeout => 1000,
   :boot_wait => "10",
@@ -14,7 +14,7 @@
     ' text ks=http://%IP%:%PORT%/ks.cfg'
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "veewee",
diff --git a/templates/CentOS-6.4-x86_64-netboot/chef.sh b/templates/CentOS-6.4-x86_64-netboot/chef.sh
index 754ea6d5..0e2cfea5 100644
--- a/templates/CentOS-6.4-x86_64-netboot/chef.sh
+++ b/templates/CentOS-6.4-x86_64-netboot/chef.sh
@@ -1,3 +1,4 @@
 # Install Chef
+gem install --no-ri --no-rdoc mime-types -v '1.16'
 gem install --no-ri --no-rdoc chef
 
diff --git a/templates/CentOS-6.4-x86_64-netboot/definition.rb b/templates/CentOS-6.4-x86_64-netboot/definition.rb
index 329782aa..a7841db1 100644
--- a/templates/CentOS-6.4-x86_64-netboot/definition.rb
+++ b/templates/CentOS-6.4-x86_64-netboot/definition.rb
@@ -6,7 +6,7 @@
   :hostiocache => 'off',
   :os_type_id => 'RedHat6_64',
   :iso_file => "CentOS-6.4-x86_64-netinstall.iso",
-  :iso_src => "http://www.mirrorservice.org/sites/mirror.centos.org/6.4/isos/x86_64/CentOS-6.4-x86_64-netinstall.iso",
+  :iso_src => "http://mirror.symnds.com/distributions/CentOS-vault/6.4/isos/x86_64/CentOS-6.4-x86_64-netinstall.iso",
   :iso_md5 => "bb9af2aea1344597e11070abe6b1fcd3",
   :iso_download_timeout => 1000,
   :boot_wait => "15",
@@ -14,7 +14,7 @@
     ' text ks=http://%IP%:%PORT%/ks.cfg'
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "veewee",
diff --git a/templates/CentOS-6.4-x86_64-netboot/ks.cfg b/templates/CentOS-6.4-x86_64-netboot/ks.cfg
index 82550351..9f6baa4d 100644
--- a/templates/CentOS-6.4-x86_64-netboot/ks.cfg
+++ b/templates/CentOS-6.4-x86_64-netboot/ks.cfg
@@ -1,5 +1,5 @@
 install
-url --url=http://www.mirrorservice.org/sites/mirror.centos.org/6.4/os/x86_64/
+url --url=http://mirror.symnds.com/distributions/CentOS-vault/6.4/os/x86_64/
 lang en_US.UTF-8
 keyboard us
 network --bootproto=dhcp
diff --git a/templates/CentOS-6.5-i386-minimal/base.sh b/templates/CentOS-6.5-i386-minimal/base.sh
deleted file mode 100644
index 2e0a793a..00000000
--- a/templates/CentOS-6.5-i386-minimal/base.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-# Base install
-
-sed -i "s/^.*requiretty/#Defaults requiretty/" /etc/sudoers
-
-cat > /etc/yum.repos.d/epel.repo << EOM
-[epel]
-name=epel
-baseurl=http://download.fedoraproject.org/pub/epel/6/\$basearch
-enabled=1
-gpgcheck=0
-EOM
-
-yum -y install gcc make gcc-c++ kernel-devel-`uname -r` zlib-devel openssl-devel readline-devel sqlite-devel perl wget dkms nfs-utils
-
-# Make ssh faster by not waiting on DNS
-echo "UseDNS no" >> /etc/ssh/sshd_config
diff --git a/templates/CentOS-6.5-i386-minimal/chef.sh b/templates/CentOS-6.5-i386-minimal/chef.sh
deleted file mode 100644
index cf2ddee0..00000000
--- a/templates/CentOS-6.5-i386-minimal/chef.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-# Install Chef
-curl -L https://www.opscode.com/chef/install.sh | bash
diff --git a/templates/CentOS-6.5-i386-minimal/definition.rb b/templates/CentOS-6.5-i386-minimal/definition.rb
deleted file mode 100644
index 8cb79790..00000000
--- a/templates/CentOS-6.5-i386-minimal/definition.rb
+++ /dev/null
@@ -1,38 +0,0 @@
-Veewee::Session.declare({
-  :cpu_count => '1',
-  :memory_size=> '480',
-  :disk_size => '10140',
-  :disk_format => 'VDI',
-  :hostiocache => 'off',
-  :os_type_id => 'RedHat',
-  :iso_file => "CentOS-6.5-i386-minimal.iso",
-  :iso_src => "http://yum.singlehop.com/CentOS/6.5/isos/i386/CentOS-6.5-i386-minimal.iso",
-  :iso_md5 => "a4f27ab51d0d2c9d36b68c56b39f752b",
-  :iso_download_timeout => 1000,
-  :boot_wait => "10",
-  :boot_cmd_sequence => [
-    ' text ks=http://%IP%:%PORT%/ks.cfg'
-  ],
-  :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
-  :kickstart_file => "ks.cfg",
-  :ssh_login_timeout => "10000",
-  :ssh_user => "veewee",
-  :ssh_password => "veewee",
-  :ssh_key => "",
-  :ssh_host_port => "7222",
-  :ssh_guest_port => "22",
-  :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
-  :shutdown_cmd => "/sbin/halt -h -p",
-  :postinstall_files => [
-    "base.sh",
-    "chef.sh",
-    "puppet.sh",
-    "vagrant.sh",
-    #"vmfusion.sh",
-    "virtualbox.sh",
-    "cleanup.sh",
-    "zerodisk.sh"
-  ],
-  :postinstall_timeout => 10000
-})
diff --git a/templates/CentOS-6.5-i386-netboot/base.sh b/templates/CentOS-6.5-i386-netboot/base.sh
deleted file mode 100644
index c1c1a84e..00000000
--- a/templates/CentOS-6.5-i386-netboot/base.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-# Base install
-
-sed -i "s/^.*requiretty/#Defaults requiretty/" /etc/sudoers
-
-cat > /etc/yum.repos.d/epel.repo << EOM
-[epel]
-name=epel
-baseurl=https://download.fedoraproject.org/pub/epel/6/\$basearch
-enabled=1
-gpgcheck=0
-EOM
-
-yum -y install gcc make gcc-c++ kernel-devel-`uname -r` zlib-devel openssl-devel readline-devel sqlite-devel perl wget dkms
-
-# Make ssh faster by not waiting on DNS
-echo "UseDNS no" >> /etc/ssh/sshd_config
diff --git a/templates/CentOS-6.5-i386-netboot/cfengine.sh b/templates/CentOS-6.5-i386-netboot/cfengine.sh
deleted file mode 100755
index cebb4dc4..00000000
--- a/templates/CentOS-6.5-i386-netboot/cfengine.sh
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/bash
-
-# Lets not install untrusted packages to manage our infrastructure
-Trusted_GPG_Fingerprint="EF49F970C3D4AEF5E557FB6D8D5A7684F97E94BE"
-GPGURL="http://cfengine.com/pub/gpg.key"
-GPGKEY="/tmp/cfengine_gpg.key"
-YUMREPO="http://cfengine.com/pub/yum"
-
-
-
-function main
-{
-    configure_repo
-    retrieve_GPGKEY
-    validate_GPGKEY
-    install_GPGKEY
-    install_cfengine
-}
-
-function configure_repo
-{
-    # Install Yum Client Repository Definition
-    cat > /etc/yum.repos.d/cfengine.repo << EOM && return 0 || return 1
-[cfengine]
-name=cfengine
-baseurl=$YUMREPO
-enabled=1
-gpgcheck=1
-EOM
-}
-
-function retrieve_GPGKEY
-{
-    # Retrieve, validate, and install GPGKEY
-    curl --silent --output $GPGKEY $GPGURL
-    Found_GPG_Fingerprint=$(gpg --quiet --with-fingerprint $GPGKEY | grep fingerprint | cut -d "=" -f2 | sed 's/ //g')
-}
-
-function validate_GPGKEY
-{
-    if [ "$Found_GPG_Fingerprint" = "$Trusted_GPG_Fingerprint" ]; then
-        echo "Trusting Retrieved Key: $GPGURL"
-        return 0
-    else
-        return 1
-    fi
-}
-
-function install_GPGKEY
-{
-    # We want to avoid possibly importing keys unnecissarily if they are already installed
-    keyid=$(echo $(gpg --throw-keyids < $GPGKEY) | cut --characters=11-18 | tr [A-Z] [a-z])
-    if ! rpm -q gpg-pubkey-$keyid > /dev/null 2>&1 ; then
-        echo "Installing GPG public key with ID $keyid from $GPGKEY..."
-        rpm --import $GPGKEY && return 0 || return 1
-    else 
-        # Found key already installed
-        return 0
-    fi
-}
-
-function install_cfengine
-{
-    yum -y install cfengine-community && return 0 || return 1
-}
-
-main
-
-
diff --git a/templates/CentOS-6.5-i386-netboot/definition.rb b/templates/CentOS-6.5-i386-netboot/definition.rb
deleted file mode 100644
index 4d926efb..00000000
--- a/templates/CentOS-6.5-i386-netboot/definition.rb
+++ /dev/null
@@ -1,40 +0,0 @@
-Veewee::Session.declare({
-  :cpu_count => '1',
-  :memory_size=> '480',
-  :disk_size => '10140',
-  :disk_format => 'VDI',
-  :hostiocache => 'off',
-  :os_type_id => 'RedHat',
-  :iso_file => "CentOS-6.5-i386-netinstall.iso",
-  :iso_src => "http://yum.singlehop.com/CentOS/6.5/isos/i386/CentOS-6.5-i386-netinstall.iso",
-  :iso_md5 => "427309de36d518db9f72fc14d5d257df",
-  :iso_download_timeout => 1000,
-  :boot_wait => "15",
-  :boot_cmd_sequence => [
-    ' text ks=http://%IP%:%PORT%/ks.cfg'
-  ],
-  :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
-  :kickstart_file => "ks.cfg",
-  :ssh_login_timeout => "10000",
-  :ssh_user => "veewee",
-  :ssh_password => "veewee",
-  :ssh_key => "",
-  :ssh_host_port => "7222",
-  :ssh_guest_port => "22",
-  :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
-  :shutdown_cmd => "/sbin/halt -h -p",
-  :postinstall_files => [
-    "base.sh",
-    "ruby.sh",
-    "chef.sh",
-    "puppet.sh",
-    "vagrant.sh",
-    "virtualbox.sh",
-    #"kvm.sh",
-    #"vmfusion.sh",
-    "cleanup.sh",
-    "zerodisk.sh"
-  ],
-  :postinstall_timeout => 10000
-})
diff --git a/templates/CentOS-6.5-i386-netboot/puppet.sh b/templates/CentOS-6.5-i386-netboot/puppet.sh
deleted file mode 100644
index c17308ed..00000000
--- a/templates/CentOS-6.5-i386-netboot/puppet.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-# Install Puppet
-
-cat > /etc/yum.repos.d/puppetlabs.repo << EOM
-[puppetlabs-dependencies]
-name=puppetlabdsdependencies
-baseurl=http://yum.puppetlabs.com/el/6/dependencies/\$basearch
-enabled=1
-gpgcheck=0
-
-[puppetlabs]
-name=puppetlabs
-baseurl=http://yum.puppetlabs.com/el/6/products/\$basearch
-enabled=1
-gpgcheck=0
-EOM
-
-yum -y install puppet facter ruby-shadow
-
diff --git a/templates/CentOS-6.5-x86_64-minimal/cleanup.sh b/templates/CentOS-6.5-x86_64-minimal/cleanup.sh
deleted file mode 100644
index 929e13f5..00000000
--- a/templates/CentOS-6.5-x86_64-minimal/cleanup.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-yum -y erase gtk2 libX11 hicolor-icon-theme avahi freetype bitstream-vera-fonts
-yum -y clean all
-rm -rf /etc/yum.repos.d/{puppetlabs,epel}.repo
-rm -rf VBoxGuestAdditions_*.iso
-
-# Remove traces of mac address from network configuration
-sed -i /HWADDR/d /etc/sysconfig/network-scripts/ifcfg-eth0
-rm /etc/udev/rules.d/70-persistent-net.rules
diff --git a/templates/CentOS-6.5-x86_64-minimal/ks.cfg b/templates/CentOS-6.5-x86_64-minimal/ks.cfg
deleted file mode 100644
index 1607c81c..00000000
--- a/templates/CentOS-6.5-x86_64-minimal/ks.cfg
+++ /dev/null
@@ -1,36 +0,0 @@
-install
-cdrom
-lang en_US.UTF-8
-keyboard us
-network --bootproto=dhcp
-rootpw --iscrypted $1$damlkd,f$UC/u5pUts5QiU3ow.CSso/
-firewall --enabled --service=ssh
-authconfig --enableshadow --passalgo=sha512
-selinux --disabled
-timezone UTC
-bootloader --location=mbr
-
-text
-skipx
-zerombr
-
-clearpart --all --initlabel
-autopart
-
-auth  --useshadow  --enablemd5
-firstboot --disabled
-reboot
-
-%packages --nobase
-@core
-%end
-
-%post
-/usr/bin/yum -y install sudo
-/usr/sbin/groupadd veewee
-/usr/sbin/useradd veewee -g veewee -G wheel
-echo "veewee"|passwd --stdin veewee
-echo "veewee        ALL=(ALL)       NOPASSWD: ALL" >> /etc/sudoers.d/veewee
-chmod 0440 /etc/sudoers.d/veewee
-%end
-
diff --git a/templates/CentOS-6.5-x86_64-minimal/puppet.sh b/templates/CentOS-6.5-x86_64-minimal/puppet.sh
deleted file mode 100644
index c17308ed..00000000
--- a/templates/CentOS-6.5-x86_64-minimal/puppet.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-# Install Puppet
-
-cat > /etc/yum.repos.d/puppetlabs.repo << EOM
-[puppetlabs-dependencies]
-name=puppetlabdsdependencies
-baseurl=http://yum.puppetlabs.com/el/6/dependencies/\$basearch
-enabled=1
-gpgcheck=0
-
-[puppetlabs]
-name=puppetlabs
-baseurl=http://yum.puppetlabs.com/el/6/products/\$basearch
-enabled=1
-gpgcheck=0
-EOM
-
-yum -y install puppet facter ruby-shadow
-
diff --git a/templates/CentOS-6.5-x86_64-netboot/base.sh b/templates/CentOS-6.5-x86_64-netboot/base.sh
deleted file mode 100644
index 2e0a793a..00000000
--- a/templates/CentOS-6.5-x86_64-netboot/base.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-# Base install
-
-sed -i "s/^.*requiretty/#Defaults requiretty/" /etc/sudoers
-
-cat > /etc/yum.repos.d/epel.repo << EOM
-[epel]
-name=epel
-baseurl=http://download.fedoraproject.org/pub/epel/6/\$basearch
-enabled=1
-gpgcheck=0
-EOM
-
-yum -y install gcc make gcc-c++ kernel-devel-`uname -r` zlib-devel openssl-devel readline-devel sqlite-devel perl wget dkms nfs-utils
-
-# Make ssh faster by not waiting on DNS
-echo "UseDNS no" >> /etc/ssh/sshd_config
diff --git a/templates/CentOS-6.5-x86_64-netboot/cleanup.sh b/templates/CentOS-6.5-x86_64-netboot/cleanup.sh
deleted file mode 100644
index 929e13f5..00000000
--- a/templates/CentOS-6.5-x86_64-netboot/cleanup.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-yum -y erase gtk2 libX11 hicolor-icon-theme avahi freetype bitstream-vera-fonts
-yum -y clean all
-rm -rf /etc/yum.repos.d/{puppetlabs,epel}.repo
-rm -rf VBoxGuestAdditions_*.iso
-
-# Remove traces of mac address from network configuration
-sed -i /HWADDR/d /etc/sysconfig/network-scripts/ifcfg-eth0
-rm /etc/udev/rules.d/70-persistent-net.rules
diff --git a/templates/CentOS-6.5-x86_64-netboot/puppet.sh b/templates/CentOS-6.5-x86_64-netboot/puppet.sh
deleted file mode 100644
index c17308ed..00000000
--- a/templates/CentOS-6.5-x86_64-netboot/puppet.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-# Install Puppet
-
-cat > /etc/yum.repos.d/puppetlabs.repo << EOM
-[puppetlabs-dependencies]
-name=puppetlabdsdependencies
-baseurl=http://yum.puppetlabs.com/el/6/dependencies/\$basearch
-enabled=1
-gpgcheck=0
-
-[puppetlabs]
-name=puppetlabs
-baseurl=http://yum.puppetlabs.com/el/6/products/\$basearch
-enabled=1
-gpgcheck=0
-EOM
-
-yum -y install puppet facter ruby-shadow
-
diff --git a/templates/CentOS-6.5-x86_64-netboot/virtualbox.sh b/templates/CentOS-6.5-x86_64-netboot/virtualbox.sh
deleted file mode 100644
index 46658dc0..00000000
--- a/templates/CentOS-6.5-x86_64-netboot/virtualbox.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-# Installing the virtualbox guest additions
-VBOX_VERSION=$(cat /home/veewee/.vbox_version)
-cd /tmp
-mount -o loop /home/veewee/VBoxGuestAdditions_$VBOX_VERSION.iso /mnt
-sh /mnt/VBoxLinuxAdditions.run
-umount /mnt
-rm -rf /home/veewee/VBoxGuestAdditions_*.iso
-
diff --git a/templates/CentOS-6.5-x86_64-minimal/base.sh b/templates/CentOS-6.5/base.sh
similarity index 85%
rename from templates/CentOS-6.5-x86_64-minimal/base.sh
rename to templates/CentOS-6.5/base.sh
index 2e0a793a..0af907ba 100644
--- a/templates/CentOS-6.5-x86_64-minimal/base.sh
+++ b/templates/CentOS-6.5/base.sh
@@ -5,7 +5,7 @@ sed -i "s/^.*requiretty/#Defaults requiretty/" /etc/sudoers
 cat > /etc/yum.repos.d/epel.repo << EOM
 [epel]
 name=epel
-baseurl=http://download.fedoraproject.org/pub/epel/6/\$basearch
+baseurl=https://download.fedoraproject.org/pub/epel/6/\$basearch
 enabled=1
 gpgcheck=0
 EOM
diff --git a/templates/CentOS-6.5/centos_32_minimal.yml b/templates/CentOS-6.5/centos_32_minimal.yml
new file mode 100644
index 00000000..04337d9a
--- /dev/null
+++ b/templates/CentOS-6.5/centos_32_minimal.yml
@@ -0,0 +1,4 @@
+:os_type_id: 'RedHat'
+:iso_file: "CentOS-6.5-i386-minimal.iso"
+:iso_src: "http://yum.singlehop.com/CentOS/6.5/isos/i386/CentOS-6.5-i386-minimal.iso"
+:iso_md5: "a4f27ab51d0d2c9d36b68c56b39f752b"
diff --git a/templates/CentOS-6.5/centos_32_netboot.yml b/templates/CentOS-6.5/centos_32_netboot.yml
new file mode 100644
index 00000000..d30137e8
--- /dev/null
+++ b/templates/CentOS-6.5/centos_32_netboot.yml
@@ -0,0 +1,5 @@
+---
+:os_type_id: 'RedHat'
+:iso_file: "CentOS-6.5-i386-netinstall.iso"
+:iso_src: "http://yum.singlehop.com/CentOS/6.5/isos/i386/CentOS-6.5-i386-netinstall.iso"
+:iso_md5: "427309de36d518db9f72fc14d5d257df"
diff --git a/templates/CentOS-6.5/centos_64_minimal.yml b/templates/CentOS-6.5/centos_64_minimal.yml
new file mode 100644
index 00000000..d90228b3
--- /dev/null
+++ b/templates/CentOS-6.5/centos_64_minimal.yml
@@ -0,0 +1,5 @@
+---
+:os_type_id: 'RedHat6_64'
+:iso_file: "CentOS-6.5-x86_64-minimal.iso"
+:iso_src: "http://yum.singlehop.com/CentOS/6.5/isos/x86_64/CentOS-6.5-x86_64-minimal.iso"
+:iso_md5: "0d9dc37b5dd4befa1c440d2174e88a87"
diff --git a/templates/CentOS-6.5/centos_64_netboot.yml b/templates/CentOS-6.5/centos_64_netboot.yml
new file mode 100644
index 00000000..f13d6811
--- /dev/null
+++ b/templates/CentOS-6.5/centos_64_netboot.yml
@@ -0,0 +1,5 @@
+---
+:os_type_id => 'RedHat6_64',
+:iso_file => "CentOS-6.5-x86_64-netinstall.iso",
+:iso_src => "http://yum.singlehop.com/CentOS/6.5/isos/x86_64/CentOS-6.5-x86_64-netinstall.iso",
+:iso_md5 => "939fd1d87c11ffe7795324438b85adfb",
diff --git a/templates/CentOS-6.5-i386-netboot/chef.sh b/templates/CentOS-6.5/chef.sh
similarity index 50%
rename from templates/CentOS-6.5-i386-netboot/chef.sh
rename to templates/CentOS-6.5/chef.sh
index 754ea6d5..0e2cfea5 100644
--- a/templates/CentOS-6.5-i386-netboot/chef.sh
+++ b/templates/CentOS-6.5/chef.sh
@@ -1,3 +1,4 @@
 # Install Chef
+gem install --no-ri --no-rdoc mime-types -v '1.16'
 gem install --no-ri --no-rdoc chef
 
diff --git a/templates/CentOS-6.5-i386-minimal/cleanup.sh b/templates/CentOS-6.5/cleanup.sh
similarity index 100%
rename from templates/CentOS-6.5-i386-minimal/cleanup.sh
rename to templates/CentOS-6.5/cleanup.sh
diff --git a/templates/CentOS-6.5/definition.rb b/templates/CentOS-6.5/definition.rb
new file mode 100644
index 00000000..8aa73b3d
--- /dev/null
+++ b/templates/CentOS-6.5/definition.rb
@@ -0,0 +1,5 @@
+#
+# change centos_64_dvd to one of configurations in *.yml in this directory
+# use the yml files to configure
+#
+Veewee::Definition.declare_yaml('definition.yml', "centos_64_minimal.yml")
diff --git a/templates/CentOS-6.5/definition.yml b/templates/CentOS-6.5/definition.yml
new file mode 100644
index 00000000..4edc4599
--- /dev/null
+++ b/templates/CentOS-6.5/definition.yml
@@ -0,0 +1,32 @@
+---
+:cpu_count: '1'
+:memory_size: '480'
+:disk_size: '10140'
+:disk_format: 'VDI'
+:hostiocache: 'off'
+:iso_download_timeout: 1000
+:boot_wait: "15"
+:boot_cmd_sequence:
+  - ' text ks=http://%IP%:%PORT%/ks.cfg'
+:kickstart_port: "7122"
+:kickstart_timeout: 300
+:kickstart_file: "ks.cfg.erb"
+:ssh_login_timeout: "10000"
+:ssh_user: "veewee"
+:ssh_password: "veewee"
+:ssh_key: ""
+:ssh_host_port: "7222"
+:ssh_guest_port: "22"
+:sudo_cmd: "echo '%p'|sudo -S sh '%f'"
+:shutdown_cmd: "/sbin/halt -h -p"
+:postinstall_files:
+  - "base.sh"
+  - "ruby.sh"
+  - "chef.sh"
+  - "puppet.sh"
+  - "vagrant.sh"
+  - "virtualbox.sh"
+  - "_vmfusion.sh"
+  - "cleanup.sh"
+  - "zerodisk.sh"
+:postinstall_timeout: 10000
diff --git a/templates/CentOS-6.5-x86_64-netboot/ks.cfg b/templates/CentOS-6.5/ks.cfg.erb
similarity index 71%
rename from templates/CentOS-6.5-x86_64-netboot/ks.cfg
rename to templates/CentOS-6.5/ks.cfg.erb
index fd740ab0..634255d7 100644
--- a/templates/CentOS-6.5-x86_64-netboot/ks.cfg
+++ b/templates/CentOS-6.5/ks.cfg.erb
@@ -1,5 +1,12 @@
 install
-url --url=http://www.mirrorservice.org/sites/mirror.centos.org/6.5/os/x86_64/
+cdrom
+<% if definition.iso_file =~ /minimal/ %>
+cdrom
+<% elsif definition.os_type_id == "RedHat" %>
+url --url=http://mirror.symnds.com/distributions/CentOS-vault/6.5/os/i386/
+<% else %>
+url --url=http://mirror.symnds.com/distributions/CentOS-vault/6.5/os/x86_64/
+<% end %>
 lang en_US.UTF-8
 keyboard us
 network --bootproto=dhcp
@@ -35,4 +42,3 @@ echo "veewee"|passwd --stdin veewee
 echo "veewee        ALL=(ALL)       NOPASSWD: ALL" >> /etc/sudoers.d/veewee
 chmod 0440 /etc/sudoers.d/veewee
 %end
-
diff --git a/templates/CentOS-6.5-i386-minimal/puppet.sh b/templates/CentOS-6.5/puppet.sh
similarity index 100%
rename from templates/CentOS-6.5-i386-minimal/puppet.sh
rename to templates/CentOS-6.5/puppet.sh
diff --git a/templates/CentOS-6.5-i386-netboot/ruby.sh b/templates/CentOS-6.5/ruby.sh
similarity index 100%
rename from templates/CentOS-6.5-i386-netboot/ruby.sh
rename to templates/CentOS-6.5/ruby.sh
diff --git a/templates/CentOS-6.5-i386-minimal/vagrant.sh b/templates/CentOS-6.5/vagrant.sh
similarity index 100%
rename from templates/CentOS-6.5-i386-minimal/vagrant.sh
rename to templates/CentOS-6.5/vagrant.sh
diff --git a/templates/CentOS-6.5-i386-minimal/virtualbox.sh b/templates/CentOS-6.5/virtualbox.sh
similarity index 100%
rename from templates/CentOS-6.5-i386-minimal/virtualbox.sh
rename to templates/CentOS-6.5/virtualbox.sh
diff --git a/templates/CentOS-6.5-i386-minimal/vmfusion.sh b/templates/CentOS-6.5/vmfusion.sh
similarity index 100%
rename from templates/CentOS-6.5-i386-minimal/vmfusion.sh
rename to templates/CentOS-6.5/vmfusion.sh
diff --git a/templates/CentOS-6.5-i386-minimal/zerodisk.sh b/templates/CentOS-6.5/zerodisk.sh
similarity index 100%
rename from templates/CentOS-6.5-i386-minimal/zerodisk.sh
rename to templates/CentOS-6.5/zerodisk.sh
diff --git a/templates/CentOS-7.0-1406-x86_64-netinstall/base.sh b/templates/CentOS-7.0-1406-x86_64-netinstall/base.sh
index b351ac5a..adf25d44 100644
--- a/templates/CentOS-7.0-1406-x86_64-netinstall/base.sh
+++ b/templates/CentOS-7.0-1406-x86_64-netinstall/base.sh
@@ -10,7 +10,7 @@ enabled=1
 gpgcheck=0
 EOM
 
-yum -y install gcc make gcc-c++ kernel-devel-`uname -r` zlib-devel openssl-devel readline-devel sqlite-devel perl wget dkms nfs-utils
+yum -y install gcc make gcc-c++ kernel-devel-`uname -r` zlib-devel openssl-devel readline-devel sqlite-devel perl wget dkms nfs-utils bzip2
 
 # Make ssh faster by not waiting on DNS
 echo "UseDNS no" >> /etc/ssh/sshd_config
diff --git a/templates/CentOS-7.0-1406-x86_64-netinstall/definition.rb b/templates/CentOS-7.0-1406-x86_64-netinstall/definition.rb
index 20386141..68ec95ba 100644
--- a/templates/CentOS-7.0-1406-x86_64-netinstall/definition.rb
+++ b/templates/CentOS-7.0-1406-x86_64-netinstall/definition.rb
@@ -14,7 +14,7 @@
     ' text ks=http://%IP%:%PORT%/ks.cfg'
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "veewee",
diff --git a/templates/CentOS-7.0-1406-x86_64-netinstall/ks.cfg b/templates/CentOS-7.0-1406-x86_64-netinstall/ks.cfg
index 71f52e61..3b0b0c89 100644
--- a/templates/CentOS-7.0-1406-x86_64-netinstall/ks.cfg
+++ b/templates/CentOS-7.0-1406-x86_64-netinstall/ks.cfg
@@ -23,6 +23,7 @@ reboot
 
 %packages --nobase
 @core
+bzip2
 openssh-clients
 openssh-server
 %end
diff --git a/templates/Debian-5.0.10-amd64-netboot/base.sh b/templates/Debian-5.0.10-amd64-netboot/base.sh
index 6a6d4810..4346fd7f 100644
--- a/templates/Debian-5.0.10-amd64-netboot/base.sh
+++ b/templates/Debian-5.0.10-amd64-netboot/base.sh
@@ -6,7 +6,7 @@ apt-get clean
 
 #Setting up sudo
 cp /etc/sudoers /etc/sudoers.orig
-sed -i -e 's/vagrant ALL=(ALL) ALL/vagrant ALL=NOPASSWD:ALL/g' /etc/sudoers
+sed -i -e 's/vagrant ALL=(ALL) ALL/vagrant ALL=(ALL) NOPASSWD: ALL/g' /etc/sudoers
 
 # Tweak sshd to prevent DNS resolution (speed up logins)
 echo 'UseDNS no' >> /etc/ssh/sshd_config
diff --git a/templates/Debian-5.0.10-amd64-netboot/definition.rb b/templates/Debian-5.0.10-amd64-netboot/definition.rb
index d208c465..da4e55e8 100644
--- a/templates/Debian-5.0.10-amd64-netboot/definition.rb
+++ b/templates/Debian-5.0.10-amd64-netboot/definition.rb
@@ -24,7 +24,7 @@
     ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/Debian-5.0.10-amd64-netboot/vagrant.sh b/templates/Debian-5.0.10-amd64-netboot/vagrant.sh
index 28b97a25..994adb18 100644
--- a/templates/Debian-5.0.10-amd64-netboot/vagrant.sh
+++ b/templates/Debian-5.0.10-amd64-netboot/vagrant.sh
@@ -4,7 +4,7 @@ date > /etc/vagrant_box_build_time
 
 #Setting up sudo
 cp /etc/sudoers /etc/sudoers.orig
-sed -i -e 's/vagrant ALL=(ALL) ALL/vagrant ALL=NOPASSWD:ALL/g' /etc/sudoers
+sed -i -e 's/vagrant ALL=(ALL) ALL/vagrant ALL=(ALL) NOPASSWD: ALL/g' /etc/sudoers
 
 #Installing vagrant keys
 mkdir /home/vagrant/.ssh
diff --git a/templates/Debian-5.0.10-i386-netboot/base.sh b/templates/Debian-5.0.10-i386-netboot/base.sh
index 6a6d4810..4346fd7f 100644
--- a/templates/Debian-5.0.10-i386-netboot/base.sh
+++ b/templates/Debian-5.0.10-i386-netboot/base.sh
@@ -6,7 +6,7 @@ apt-get clean
 
 #Setting up sudo
 cp /etc/sudoers /etc/sudoers.orig
-sed -i -e 's/vagrant ALL=(ALL) ALL/vagrant ALL=NOPASSWD:ALL/g' /etc/sudoers
+sed -i -e 's/vagrant ALL=(ALL) ALL/vagrant ALL=(ALL) NOPASSWD: ALL/g' /etc/sudoers
 
 # Tweak sshd to prevent DNS resolution (speed up logins)
 echo 'UseDNS no' >> /etc/ssh/sshd_config
diff --git a/templates/Debian-5.0.10-i386-netboot/definition.rb b/templates/Debian-5.0.10-i386-netboot/definition.rb
index 734bc036..9dfa2cc2 100644
--- a/templates/Debian-5.0.10-i386-netboot/definition.rb
+++ b/templates/Debian-5.0.10-i386-netboot/definition.rb
@@ -24,7 +24,7 @@
     ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/Debian-5.0.10-i386-netboot/vagrant.sh b/templates/Debian-5.0.10-i386-netboot/vagrant.sh
index 28b97a25..994adb18 100644
--- a/templates/Debian-5.0.10-i386-netboot/vagrant.sh
+++ b/templates/Debian-5.0.10-i386-netboot/vagrant.sh
@@ -4,7 +4,7 @@ date > /etc/vagrant_box_build_time
 
 #Setting up sudo
 cp /etc/sudoers /etc/sudoers.orig
-sed -i -e 's/vagrant ALL=(ALL) ALL/vagrant ALL=NOPASSWD:ALL/g' /etc/sudoers
+sed -i -e 's/vagrant ALL=(ALL) ALL/vagrant ALL=(ALL) NOPASSWD: ALL/g' /etc/sudoers
 
 #Installing vagrant keys
 mkdir /home/vagrant/.ssh
diff --git a/templates/Debian-5.0.8-amd64-netboot/base.sh b/templates/Debian-5.0.8-amd64-netboot/base.sh
index 6a6d4810..4346fd7f 100644
--- a/templates/Debian-5.0.8-amd64-netboot/base.sh
+++ b/templates/Debian-5.0.8-amd64-netboot/base.sh
@@ -6,7 +6,7 @@ apt-get clean
 
 #Setting up sudo
 cp /etc/sudoers /etc/sudoers.orig
-sed -i -e 's/vagrant ALL=(ALL) ALL/vagrant ALL=NOPASSWD:ALL/g' /etc/sudoers
+sed -i -e 's/vagrant ALL=(ALL) ALL/vagrant ALL=(ALL) NOPASSWD: ALL/g' /etc/sudoers
 
 # Tweak sshd to prevent DNS resolution (speed up logins)
 echo 'UseDNS no' >> /etc/ssh/sshd_config
diff --git a/templates/Debian-5.0.8-amd64-netboot/definition.rb b/templates/Debian-5.0.8-amd64-netboot/definition.rb
index d89889aa..6acbb783 100644
--- a/templates/Debian-5.0.8-amd64-netboot/definition.rb
+++ b/templates/Debian-5.0.8-amd64-netboot/definition.rb
@@ -24,7 +24,7 @@
     ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/Debian-5.0.8-amd64-netboot/vagrant.sh b/templates/Debian-5.0.8-amd64-netboot/vagrant.sh
index 28b97a25..994adb18 100644
--- a/templates/Debian-5.0.8-amd64-netboot/vagrant.sh
+++ b/templates/Debian-5.0.8-amd64-netboot/vagrant.sh
@@ -4,7 +4,7 @@ date > /etc/vagrant_box_build_time
 
 #Setting up sudo
 cp /etc/sudoers /etc/sudoers.orig
-sed -i -e 's/vagrant ALL=(ALL) ALL/vagrant ALL=NOPASSWD:ALL/g' /etc/sudoers
+sed -i -e 's/vagrant ALL=(ALL) ALL/vagrant ALL=(ALL) NOPASSWD: ALL/g' /etc/sudoers
 
 #Installing vagrant keys
 mkdir /home/vagrant/.ssh
diff --git a/templates/Debian-5.0.8-i386-netboot/base.sh b/templates/Debian-5.0.8-i386-netboot/base.sh
index 6a6d4810..4346fd7f 100644
--- a/templates/Debian-5.0.8-i386-netboot/base.sh
+++ b/templates/Debian-5.0.8-i386-netboot/base.sh
@@ -6,7 +6,7 @@ apt-get clean
 
 #Setting up sudo
 cp /etc/sudoers /etc/sudoers.orig
-sed -i -e 's/vagrant ALL=(ALL) ALL/vagrant ALL=NOPASSWD:ALL/g' /etc/sudoers
+sed -i -e 's/vagrant ALL=(ALL) ALL/vagrant ALL=(ALL) NOPASSWD: ALL/g' /etc/sudoers
 
 # Tweak sshd to prevent DNS resolution (speed up logins)
 echo 'UseDNS no' >> /etc/ssh/sshd_config
diff --git a/templates/Debian-5.0.8-i386-netboot/definition.rb b/templates/Debian-5.0.8-i386-netboot/definition.rb
index 103b0f98..38fc68c3 100644
--- a/templates/Debian-5.0.8-i386-netboot/definition.rb
+++ b/templates/Debian-5.0.8-i386-netboot/definition.rb
@@ -24,7 +24,7 @@
     ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/Debian-5.0.8-i386-netboot/vagrant.sh b/templates/Debian-5.0.8-i386-netboot/vagrant.sh
index 28b97a25..994adb18 100644
--- a/templates/Debian-5.0.8-i386-netboot/vagrant.sh
+++ b/templates/Debian-5.0.8-i386-netboot/vagrant.sh
@@ -4,7 +4,7 @@ date > /etc/vagrant_box_build_time
 
 #Setting up sudo
 cp /etc/sudoers /etc/sudoers.orig
-sed -i -e 's/vagrant ALL=(ALL) ALL/vagrant ALL=NOPASSWD:ALL/g' /etc/sudoers
+sed -i -e 's/vagrant ALL=(ALL) ALL/vagrant ALL=(ALL) NOPASSWD: ALL/g' /etc/sudoers
 
 #Installing vagrant keys
 mkdir /home/vagrant/.ssh
diff --git a/templates/Debian-6.0.10-amd64-netboot/base.sh b/templates/Debian-6.0.10-amd64-netboot/base.sh
new file mode 100644
index 00000000..f1ca1bd1
--- /dev/null
+++ b/templates/Debian-6.0.10-amd64-netboot/base.sh
@@ -0,0 +1,27 @@
+# Update the box
+apt-get -y update
+apt-get -y install linux-headers-$(uname -r) build-essential
+apt-get -y install zlib1g-dev libssl-dev libreadline5-dev
+apt-get -y install curl unzip
+apt-get clean
+
+# Set up sudo
+cp /etc/sudoers /etc/sudoers.orig
+sed -i -e 's/%sudo ALL=(ALL) ALL/%sudo ALL=NOPASSWD:ALL/g' /etc/sudoers
+
+# Tweak sshd to prevent DNS resolution (speed up logins)
+echo 'UseDNS no' >> /etc/ssh/sshd_config
+
+# Remove 5s grub timeout to speed up booting
+echo < /etc/default/grub
+# If you change this file, run 'update-grub' afterwards to update
+# /boot/grub/grub.cfg.
+
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=0
+GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
+GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+GRUB_CMDLINE_LINUX="debian-installer=en_US"
+EOF
+
+update-grub
diff --git a/templates/Debian-7.1.0-i386-netboot/chef.sh b/templates/Debian-6.0.10-amd64-netboot/chef.sh
similarity index 100%
rename from templates/Debian-7.1.0-i386-netboot/chef.sh
rename to templates/Debian-6.0.10-amd64-netboot/chef.sh
diff --git a/templates/Debian-7.1.0-amd64-netboot/cleanup-virtualbox.sh b/templates/Debian-6.0.10-amd64-netboot/cleanup-virtualbox.sh
similarity index 100%
rename from templates/Debian-7.1.0-amd64-netboot/cleanup-virtualbox.sh
rename to templates/Debian-6.0.10-amd64-netboot/cleanup-virtualbox.sh
diff --git a/templates/Debian-7.1.0-i386-netboot/cleanup.sh b/templates/Debian-6.0.10-amd64-netboot/cleanup.sh
similarity index 100%
rename from templates/Debian-7.1.0-i386-netboot/cleanup.sh
rename to templates/Debian-6.0.10-amd64-netboot/cleanup.sh
diff --git a/templates/Debian-6.0.10-amd64-netboot/definition.rb b/templates/Debian-6.0.10-amd64-netboot/definition.rb
new file mode 100644
index 00000000..05fec500
--- /dev/null
+++ b/templates/Debian-6.0.10-amd64-netboot/definition.rb
@@ -0,0 +1,50 @@
+Veewee::Definition.declare({
+  :cpu_count => '1',
+  :memory_size=> '256',
+  :disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off',
+  :os_type_id => 'Debian_64',
+  :iso_file => "debian-6.0.10-amd64-netinst.iso",
+  :iso_src => "http://cdimage.debian.org/cdimage/archive/6.0.10/amd64/iso-cd/debian-6.0.10-amd64-netinst.iso",
+  :iso_md5 => "7f82d341561035f65933da43f94d5b52",
+  :iso_download_timeout => "1000",
+  :boot_wait => "10", :boot_cmd_sequence => [
+    '',
+    'install ',
+    'preseed/url=http://%IP%:%PORT%/preseed.cfg ',
+    'debian-installer=en_US ',
+    'auto ',
+    'locale=en_US ',
+    'kbd-chooser/method=us ',
+    'netcfg/get_hostname=%NAME% ',
+    'netcfg/get_domain=vagrantup.com ',
+    'fb=false ',
+    'debconf/frontend=noninteractive ',
+    'console-setup/ask_detect=false ',
+    'console-keymaps-at/keymap=us ',
+    ''
+  ],
+  :kickstart_port => "7122",
+  :kickstart_timeout => "300",
+  :kickstart_file => "preseed.cfg",
+  :ssh_login_timeout => "10000",
+  :ssh_user => "vagrant",
+  :ssh_password => "vagrant",
+  :ssh_key => "",
+  :ssh_host_port => "7222",
+  :ssh_guest_port => "22",
+  :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
+  :shutdown_cmd => "halt -p",
+  :postinstall_files => [
+    "base.sh",
+    "vagrant.sh",
+    "virtualbox.sh",
+    #"vmfusion.sh",
+    "ruby.sh",
+    "puppet.sh",
+    "chef.sh",
+    "cleanup-virtualbox.sh",
+    "cleanup.sh",
+    "zerodisk.sh"
+  ],
+  :postinstall_timeout => "10000"
+})
diff --git a/templates/Debian-6.0.10-amd64-netboot/preseed.cfg b/templates/Debian-6.0.10-amd64-netboot/preseed.cfg
new file mode 100644
index 00000000..812da6ce
--- /dev/null
+++ b/templates/Debian-6.0.10-amd64-netboot/preseed.cfg
@@ -0,0 +1,315 @@
+#### Contents of the preconfiguration file (for squeeze)
+### Localization
+# Locale sets language and country.
+d-i debian-installer/locale string en_US
+
+# Keyboard selection.
+#d-i console-tools/archs select at
+d-i console-keymaps-at/keymap select us
+# Example for a different keyboard architecture
+#d-i console-keymaps-usb/keymap select mac-usb-us
+
+### Network configuration
+# netcfg will choose an interface that has link if possible. This makes it
+# skip displaying a list if there is more than one interface.
+d-i netcfg/choose_interface select auto
+
+# To pick a particular interface instead:
+#d-i netcfg/choose_interface select eth1
+
+# If you have a slow dhcp server and the installer times out waiting for
+# it, this might be useful.
+#d-i netcfg/dhcp_timeout string 60
+
+# If you prefer to configure the network manually, uncomment this line and
+# the static network configuration below.
+#d-i netcfg/disable_dhcp boolean true
+
+# If you want the preconfiguration file to work on systems both with and
+# without a dhcp server, uncomment these lines and the static network
+# configuration below.
+#d-i netcfg/dhcp_failed note
+#d-i netcfg/dhcp_options select Configure network manually
+
+# Static network configuration.
+#d-i netcfg/get_nameservers string 192.168.1.1
+#d-i netcfg/get_ipaddress string 192.168.1.42
+#d-i netcfg/get_netmask string 255.255.255.0
+#d-i netcfg/get_gateway string 192.168.1.1
+#d-i netcfg/confirm_static boolean true
+
+# Any hostname and domain names assigned from dhcp take precedence over
+# values set here. However, setting the values still prevents the questions
+# from being shown, even if values come from dhcp.
+#d-i netcfg/get_hostname string vagrant
+d-i netcfg/get_domain string vagrantup.com
+
+# Disable that annoying WEP key dialog.
+d-i netcfg/wireless_wep string
+# The wacky dhcp hostname that some ISPs use as a password of sorts.
+#d-i netcfg/dhcp_hostname string radish
+
+# If non-free firmware is needed for the network or other hardware, you can
+# configure the installer to always try to load it, without prompting. Or
+# change to false to disable asking.
+#d-i hw-detect/load_firmware boolean true
+
+### Network console
+# Use the following settings if you wish to make use of the network-console
+# component for remote installation over SSH. This only makes sense if you
+# intend to perform the remainder of the installation manually.
+#d-i anna/choose_modules string network-console
+#d-i network-console/password password r00tme
+#d-i network-console/password-again password r00tme
+
+### Mirror settings
+# If you select ftp, the mirror/country string does not need to be set.
+#d-i mirror/protocol string ftp
+d-i mirror/country string manual
+d-i mirror/http/hostname string http.us.debian.org
+d-i mirror/http/directory string /debian
+d-i mirror/http/proxy string
+
+# Suite to install.
+#d-i mirror/suite string testing
+# Suite to use for loading installer components (optional).
+#d-i mirror/udeb/suite string testing
+
+### Clock and time zone setup
+# Controls whether or not the hardware clock is set to UTC.
+d-i clock-setup/utc boolean true
+
+# You may set this to any valid setting for $TZ; see the contents of
+# /usr/share/zoneinfo/ for valid values.
+d-i time/zone string UTC
+
+# Controls whether to use NTP to set the clock during the install
+d-i clock-setup/ntp boolean true
+# NTP server to use. The default is almost always fine here.
+#d-i clock-setup/ntp-server string ntp.example.com
+
+### Partitioning
+# If the system has free space you can choose to only partition that space.
+#d-i partman-auto/init_automatically_partition select biggest_free
+
+# Alternatively, you can specify a disk to partition. The device name must
+# be given in traditional non-devfs format.
+# Note: A disk must be specified, unless the system has only one disk.
+# For example, to use the first SCSI/SATA hard disk:
+#d-i partman-auto/disk string /dev/sda
+# In addition, you'll need to specify the method to use.
+# The presently available methods are: "regular", "lvm" and "crypto"
+d-i partman-auto/method string lvm
+
+# If one of the disks that are going to be automatically partitioned
+# contains an old LVM configuration, the user will normally receive a
+# warning. This can be preseeded away...
+d-i partman-lvm/device_remove_lvm boolean true
+# The same applies to pre-existing software RAID array:
+d-i partman-md/device_remove_md boolean true
+
+# And the same goes for the confirmation to write the lvm partitions.
+d-i partman-lvm/confirm boolean true
+d-i partman-lvm/confirm_nooverwrite boolean true
+
+
+d-i partman/choose_partition select finish
+d-i partman-auto-lvm/guided_size string max
+
+# You can choose one of the three predefined partitioning recipes:
+# - atomic: all files in one partition
+# - home:   separate /home partition
+# - multi:  separate /home, /usr, /var, and /tmp partitions
+d-i partman-auto/choose_recipe select atomic
+d-i partman/default_filesystem string ext3
+
+# Or provide a recipe of your own...
+# The recipe format is documented in the file devel/partman-auto-recipe.txt.
+# If you have a way to get a recipe file into the d-i environment, you can
+# just point at it.
+#d-i partman-auto/expert_recipe_file string /hd-media/recipe
+
+# If not, you can put an entire recipe into the preconfiguration file in one
+# (logical) line. This example creates a small /boot partition, suitable
+# swap, and uses the rest of the space for the root partition:
+#d-i partman-auto/expert_recipe string                         \
+#      boot-root ::                                            \
+#              40 50 100 ext3                                  \
+#                      $primary{ } $bootable{ }                \
+#                      method{ format } format{ }              \
+#                      use_filesystem{ } filesystem{ ext3 }    \
+#                      mountpoint{ /boot }                     \
+#              .                                               \
+#              500 10000 1000000000 ext3                       \
+#                      method{ format } format{ }              \
+#                      use_filesystem{ } filesystem{ ext3 }    \
+#                      mountpoint{ / }                         \
+#              .                                               \
+#              64 512 300% linux-swap                          \
+#                      method{ swap } format{ }                \
+#              .
+
+#The preseed line that "selects finish" needs to be in a certain order in your preseed, the example-preseed does not follow this.
+#http://ubuntuforums.org/archive/index.php/t-1504045.html
+
+# This makes partman automatically partition without confirmation, provided
+# that you told it what to do using one of the methods above.
+d-i partman/confirm_write_new_label boolean true
+d-i partman/confirm boolean true
+d-i partman/confirm_nooverwrite boolean true
+
+
+### Base system installation
+# Select the initramfs generator used to generate the initrd for 2.6 kernels.
+#d-i base-installer/kernel/linux/initramfs-generators string yaird
+
+# The kernel image (meta) package to be installed; "none" can be used if no
+# kernel is to be installed.
+#d-i base-installer/kernel/image string linux-image-2.6-486
+
+### Account setup
+# Skip creation of a root account (normal user account will be able to
+# use sudo).
+d-i passwd/root-login boolean false
+# Alternatively, to skip creation of a normal user account.
+#d-i passwd/make-user boolean false
+
+# Root password, either in clear text
+d-i passwd/root-password password vagrant
+d-i passwd/root-password-again password vagrant
+# or encrypted using an MD5 hash.
+#d-i passwd/root-password-crypted password [MD5 hash]
+
+# To create a normal user account.
+d-i passwd/user-fullname string Vagrant User
+d-i passwd/username string vagrant
+# Normal user's password, either in clear text
+d-i passwd/user-password password vagrant
+d-i passwd/user-password-again password vagrant
+# or encrypted using an MD5 hash.
+#d-i passwd/user-password-crypted password [MD5 hash]
+# Create the first user with the specified UID instead of the default.
+#d-i passwd/user-uid string 1010
+d-i user-setup/encrypt-home boolean false
+d-i user-setup/allow-password-weak boolean true
+
+# The user account will be added to some standard initial groups. To
+# override that, use this.
+d-i passwd/user-default-groups string audio cdrom video admin
+
+### Apt setup
+# You can choose to install non-free and contrib software.
+#d-i apt-setup/non-free boolean true
+#d-i apt-setup/contrib boolean true
+# Uncomment this if you don't want to use a network mirror.
+#d-i apt-setup/use_mirror boolean false
+# Select which update services to use; define the mirrors to be used.
+# Values shown below are the normal defaults.
+#d-i apt-setup/services-select multiselect security, volatile
+#d-i apt-setup/security_host string security.debian.org
+#d-i apt-setup/volatile_host string volatile.debian.org
+
+
+# By default the installer requires that repositories be authenticated
+# using a known gpg key. This setting can be used to disable that
+# authentication. Warning: Insecure, not recommended.
+#d-i debian-installer/allow_unauthenticated string true
+
+### Package selection
+tasksel tasksel/first multiselect standard
+# If the desktop task is selected, install the kde and xfce desktops
+# instead of the default gnome desktop.
+#tasksel tasksel/desktop multiselect kde, xfce
+
+# Individual additional packages to install
+d-i pkgsel/include string openssh-server ntp acpid sudo bzip2 rsync
+
+# Whether to upgrade packages after debootstrap.
+# Allowed values: none, safe-upgrade, full-upgrade
+d-i pkgsel/upgrade select none
+
+# Some versions of the installer can report back on what software you have
+# installed, and what software you use. The default is not to report back,
+# but sending reports helps the project determine what software is most
+# popular and include it on CDs.
+popularity-contest popularity-contest/participate boolean false
+
+### Boot loader installation
+# Grub is the default boot loader (for x86). If you want lilo installed
+# instead, uncomment this:
+#d-i grub-installer/skip boolean true
+# To also skip installing lilo, and install no bootloader, uncomment this
+# too:
+#d-i lilo-installer/skip boolean true
+
+# This is fairly safe to set, it makes grub install automatically to the MBR
+# if no other operating system is detected on the machine.
+d-i grub-installer/only_debian boolean true
+
+# This one makes grub-installer install to the MBR if it also finds some other
+# OS, which is less safe as it might not be able to boot that other OS.
+d-i grub-installer/with_other_os boolean true
+
+# Alternatively, if you want to install to a location other than the mbr,
+# uncomment and edit these lines:
+#d-i grub-installer/only_debian boolean false
+#d-i grub-installer/with_other_os boolean false
+#d-i grub-installer/bootdev  string (hd0,0)
+# To install grub to multiple disks:
+#d-i grub-installer/bootdev  string (hd0,0) (hd1,0) (hd2,0)
+
+# Optional password for grub, either in clear text
+#d-i grub-installer/password password r00tme
+#d-i grub-installer/password-again password r00tme
+# or encrypted using an MD5 hash, see grub-md5-crypt(8).
+#d-i grub-installer/password-crypted password [MD5 hash]
+
+### Finishing up the installation
+# During installations from serial console, the regular virtual consoles
+# (VT1-VT6) are normally disabled in /etc/inittab. Uncomment the next
+# line to prevent this.
+#d-i finish-install/keep-consoles boolean true
+
+# Avoid that last message about the install being complete.
+d-i finish-install/reboot_in_progress note
+
+# This will prevent the installer from ejecting the CD during the reboot,
+# which is useful in some situations.
+#d-i cdrom-detect/eject boolean false
+
+# This is how to make the installer shutdown when finished, but not
+# reboot into the installed system.
+#d-i debian-installer/exit/halt boolean true
+# This will power off the machine instead of just halting it.
+#d-i debian-installer/exit/poweroff boolean true
+
+### Preseeding other packages
+# Depending on what software you choose to install, or if things go wrong
+# during the installation process, it's possible that other questions may
+# be asked. You can preseed those too, of course. To get a list of every
+# possible question that could be asked during an install, do an
+# installation, and then run these commands:
+#   debconf-get-selections --installer > file
+#   debconf-get-selections >> file
+
+
+#### Advanced options
+### Running custom commands during the installation
+# d-i preseeding is inherently not secure. Nothing in the installer checks
+# for attempts at buffer overflows or other exploits of the values of a
+# preconfiguration file like this one. Only use preconfiguration files from
+# trusted locations! To drive that home, and because it's generally useful,
+# here's a way to run any shell command you'd like inside the installer,
+# automatically.
+
+# This first command is run as early as possible, just after
+# preseeding is read.
+# Prevent packaged version of VirtualBox Guest Additions being installed:
+d-i preseed/early_command string sed -i \
+  '/in-target/idiscover(){/sbin/discover|grep -v VirtualBox;}' \
+  /usr/lib/pre-pkgsel.d/20install-hwpackages
+
+# This command is run just before the install finishes, but when there is
+# still a usable /target directory. You can chroot to /target and use it
+# directly, or use the apt-install and in-target commands to easily install
+# packages and run commands in the target system.
diff --git a/templates/Debian-6.0.10-amd64-netboot/puppet.sh b/templates/Debian-6.0.10-amd64-netboot/puppet.sh
new file mode 100644
index 00000000..06ca041d
--- /dev/null
+++ b/templates/Debian-6.0.10-amd64-netboot/puppet.sh
@@ -0,0 +1,7 @@
+# Prepare puppetlabs repo
+wget http://apt.puppetlabs.com/puppetlabs-release-squeeze.deb
+dpkg -i puppetlabs-release-squeeze.deb
+apt-get update
+
+# Install puppet/facter
+apt-get install -y puppet facter
diff --git a/templates/Debian-6.0.10-amd64-netboot/ruby.sh b/templates/Debian-6.0.10-amd64-netboot/ruby.sh
new file mode 100644
index 00000000..08d443a9
--- /dev/null
+++ b/templates/Debian-6.0.10-amd64-netboot/ruby.sh
@@ -0,0 +1,10 @@
+# Install Ruby from packages
+apt-get -y install ruby ruby-dev libruby1.8 ri
+
+# Install Rubygems from source
+rg_ver=1.6.2
+curl -o /tmp/rubygems-${rg_ver}.zip \
+  "http://production.cf.rubygems.org/rubygems/rubygems-${rg_ver}.zip"
+(cd /tmp && unzip rubygems-${rg_ver}.zip && \
+  cd rubygems-${rg_ver} && ruby setup.rb --no-format-executable)
+rm -rf /tmp/rubygems-${rg_ver} /tmp/rubygems-${rg_ver}.zip
diff --git a/templates/Debian-7.6.0-i386-netboot/vagrant.sh b/templates/Debian-6.0.10-amd64-netboot/vagrant.sh
similarity index 99%
rename from templates/Debian-7.6.0-i386-netboot/vagrant.sh
rename to templates/Debian-6.0.10-amd64-netboot/vagrant.sh
index ee2bad4e..34e383cc 100644
--- a/templates/Debian-7.6.0-i386-netboot/vagrant.sh
+++ b/templates/Debian-6.0.10-amd64-netboot/vagrant.sh
@@ -21,3 +21,5 @@ echo 'Welcome to your Vagrant-built virtual machine.' > /var/run/motd
 
 # Install NFS client
 apt-get -y install nfs-common
+
+
diff --git a/templates/Debian-6.0.10-amd64-netboot/virtualbox.sh b/templates/Debian-6.0.10-amd64-netboot/virtualbox.sh
new file mode 100644
index 00000000..158084c5
--- /dev/null
+++ b/templates/Debian-6.0.10-amd64-netboot/virtualbox.sh
@@ -0,0 +1,18 @@
+if test -f .vbox_version ; then
+
+  # Without libdbus virtualbox would not start automatically after compile
+  apt-get -y install --no-install-recommends libdbus-1-3
+
+  # The netboot installs the VirtualBox support (old) so we have to remove it
+  /etc/init.d/virtualbox-ose-guest-utils stop
+  rmmod vboxguest
+  aptitude -y purge virtualbox-ose-guest-x11 virtualbox-ose-guest-dkms virtualbox-ose-guest-utils
+  aptitude -y install dkms
+
+  # Install the VirtualBox guest additions
+  VBOX_VERSION=$(cat /home/vagrant/.vbox_version)
+  VBOX_ISO=VBoxGuestAdditions_$VBOX_VERSION.iso
+  mount -o loop $VBOX_ISO /mnt
+  yes|sh /mnt/VBoxLinuxAdditions.run
+  umount /mnt
+fi
diff --git a/templates/Debian-7.1.0-amd64-netboot/vmfusion.sh b/templates/Debian-6.0.10-amd64-netboot/vmfusion.sh
similarity index 100%
rename from templates/Debian-7.1.0-amd64-netboot/vmfusion.sh
rename to templates/Debian-6.0.10-amd64-netboot/vmfusion.sh
diff --git a/templates/CentOS-6.5-i386-netboot/zerodisk.sh b/templates/Debian-6.0.10-amd64-netboot/zerodisk.sh
similarity index 100%
rename from templates/CentOS-6.5-i386-netboot/zerodisk.sh
rename to templates/Debian-6.0.10-amd64-netboot/zerodisk.sh
diff --git a/templates/Debian-6.0.10-i386-netboot/base.sh b/templates/Debian-6.0.10-i386-netboot/base.sh
new file mode 100644
index 00000000..f1ca1bd1
--- /dev/null
+++ b/templates/Debian-6.0.10-i386-netboot/base.sh
@@ -0,0 +1,27 @@
+# Update the box
+apt-get -y update
+apt-get -y install linux-headers-$(uname -r) build-essential
+apt-get -y install zlib1g-dev libssl-dev libreadline5-dev
+apt-get -y install curl unzip
+apt-get clean
+
+# Set up sudo
+cp /etc/sudoers /etc/sudoers.orig
+sed -i -e 's/%sudo ALL=(ALL) ALL/%sudo ALL=NOPASSWD:ALL/g' /etc/sudoers
+
+# Tweak sshd to prevent DNS resolution (speed up logins)
+echo 'UseDNS no' >> /etc/ssh/sshd_config
+
+# Remove 5s grub timeout to speed up booting
+echo < /etc/default/grub
+# If you change this file, run 'update-grub' afterwards to update
+# /boot/grub/grub.cfg.
+
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=0
+GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
+GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+GRUB_CMDLINE_LINUX="debian-installer=en_US"
+EOF
+
+update-grub
diff --git a/templates/Debian-7.2.0-i386-netboot/chef.sh b/templates/Debian-6.0.10-i386-netboot/chef.sh
similarity index 100%
rename from templates/Debian-7.2.0-i386-netboot/chef.sh
rename to templates/Debian-6.0.10-i386-netboot/chef.sh
diff --git a/templates/Debian-7.1.0-i386-netboot/cleanup-virtualbox.sh b/templates/Debian-6.0.10-i386-netboot/cleanup-virtualbox.sh
similarity index 100%
rename from templates/Debian-7.1.0-i386-netboot/cleanup-virtualbox.sh
rename to templates/Debian-6.0.10-i386-netboot/cleanup-virtualbox.sh
diff --git a/templates/Debian-7.2.0-i386-netboot/cleanup.sh b/templates/Debian-6.0.10-i386-netboot/cleanup.sh
similarity index 100%
rename from templates/Debian-7.2.0-i386-netboot/cleanup.sh
rename to templates/Debian-6.0.10-i386-netboot/cleanup.sh
diff --git a/templates/Debian-6.0.10-i386-netboot/definition.rb b/templates/Debian-6.0.10-i386-netboot/definition.rb
new file mode 100644
index 00000000..ab866234
--- /dev/null
+++ b/templates/Debian-6.0.10-i386-netboot/definition.rb
@@ -0,0 +1,50 @@
+Veewee::Definition.declare({
+  :cpu_count => '1',
+  :memory_size=> '256',
+  :disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off',
+  :os_type_id => 'Debian_64',
+  :iso_file => "debian-6.0.10-i386-netinst.iso",
+  :iso_src => "http://cdimage.debian.org/cdimage/archive/6.0.10/i386/iso-cd/debian-6.0.10-i386-netinst.iso",
+  :iso_md5 => "574fad7c19d6522b2892c79781e3457a",
+  :iso_download_timeout => "1000",
+  :boot_wait => "10", :boot_cmd_sequence => [
+    '',
+    'install ',
+    'preseed/url=http://%IP%:%PORT%/preseed.cfg ',
+    'debian-installer=en_US ',
+    'auto ',
+    'locale=en_US ',
+    'kbd-chooser/method=us ',
+    'netcfg/get_hostname=%NAME% ',
+    'netcfg/get_domain=vagrantup.com ',
+    'fb=false ',
+    'debconf/frontend=noninteractive ',
+    'console-setup/ask_detect=false ',
+    'console-keymaps-at/keymap=us ',
+    ''
+  ],
+  :kickstart_port => "7122",
+  :kickstart_timeout => "300",
+  :kickstart_file => "preseed.cfg",
+  :ssh_login_timeout => "10000",
+  :ssh_user => "vagrant",
+  :ssh_password => "vagrant",
+  :ssh_key => "",
+  :ssh_host_port => "7222",
+  :ssh_guest_port => "22",
+  :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
+  :shutdown_cmd => "halt -p",
+  :postinstall_files => [
+    "base.sh",
+    "vagrant.sh",
+    "virtualbox.sh",
+    #"vmfusion.sh",
+    "ruby.sh",
+    "puppet.sh",
+    "chef.sh",
+    "cleanup-virtualbox.sh",
+    "cleanup.sh",
+    "zerodisk.sh"
+  ],
+  :postinstall_timeout => "10000"
+})
diff --git a/templates/Debian-6.0.10-i386-netboot/preseed.cfg b/templates/Debian-6.0.10-i386-netboot/preseed.cfg
new file mode 100644
index 00000000..812da6ce
--- /dev/null
+++ b/templates/Debian-6.0.10-i386-netboot/preseed.cfg
@@ -0,0 +1,315 @@
+#### Contents of the preconfiguration file (for squeeze)
+### Localization
+# Locale sets language and country.
+d-i debian-installer/locale string en_US
+
+# Keyboard selection.
+#d-i console-tools/archs select at
+d-i console-keymaps-at/keymap select us
+# Example for a different keyboard architecture
+#d-i console-keymaps-usb/keymap select mac-usb-us
+
+### Network configuration
+# netcfg will choose an interface that has link if possible. This makes it
+# skip displaying a list if there is more than one interface.
+d-i netcfg/choose_interface select auto
+
+# To pick a particular interface instead:
+#d-i netcfg/choose_interface select eth1
+
+# If you have a slow dhcp server and the installer times out waiting for
+# it, this might be useful.
+#d-i netcfg/dhcp_timeout string 60
+
+# If you prefer to configure the network manually, uncomment this line and
+# the static network configuration below.
+#d-i netcfg/disable_dhcp boolean true
+
+# If you want the preconfiguration file to work on systems both with and
+# without a dhcp server, uncomment these lines and the static network
+# configuration below.
+#d-i netcfg/dhcp_failed note
+#d-i netcfg/dhcp_options select Configure network manually
+
+# Static network configuration.
+#d-i netcfg/get_nameservers string 192.168.1.1
+#d-i netcfg/get_ipaddress string 192.168.1.42
+#d-i netcfg/get_netmask string 255.255.255.0
+#d-i netcfg/get_gateway string 192.168.1.1
+#d-i netcfg/confirm_static boolean true
+
+# Any hostname and domain names assigned from dhcp take precedence over
+# values set here. However, setting the values still prevents the questions
+# from being shown, even if values come from dhcp.
+#d-i netcfg/get_hostname string vagrant
+d-i netcfg/get_domain string vagrantup.com
+
+# Disable that annoying WEP key dialog.
+d-i netcfg/wireless_wep string
+# The wacky dhcp hostname that some ISPs use as a password of sorts.
+#d-i netcfg/dhcp_hostname string radish
+
+# If non-free firmware is needed for the network or other hardware, you can
+# configure the installer to always try to load it, without prompting. Or
+# change to false to disable asking.
+#d-i hw-detect/load_firmware boolean true
+
+### Network console
+# Use the following settings if you wish to make use of the network-console
+# component for remote installation over SSH. This only makes sense if you
+# intend to perform the remainder of the installation manually.
+#d-i anna/choose_modules string network-console
+#d-i network-console/password password r00tme
+#d-i network-console/password-again password r00tme
+
+### Mirror settings
+# If you select ftp, the mirror/country string does not need to be set.
+#d-i mirror/protocol string ftp
+d-i mirror/country string manual
+d-i mirror/http/hostname string http.us.debian.org
+d-i mirror/http/directory string /debian
+d-i mirror/http/proxy string
+
+# Suite to install.
+#d-i mirror/suite string testing
+# Suite to use for loading installer components (optional).
+#d-i mirror/udeb/suite string testing
+
+### Clock and time zone setup
+# Controls whether or not the hardware clock is set to UTC.
+d-i clock-setup/utc boolean true
+
+# You may set this to any valid setting for $TZ; see the contents of
+# /usr/share/zoneinfo/ for valid values.
+d-i time/zone string UTC
+
+# Controls whether to use NTP to set the clock during the install
+d-i clock-setup/ntp boolean true
+# NTP server to use. The default is almost always fine here.
+#d-i clock-setup/ntp-server string ntp.example.com
+
+### Partitioning
+# If the system has free space you can choose to only partition that space.
+#d-i partman-auto/init_automatically_partition select biggest_free
+
+# Alternatively, you can specify a disk to partition. The device name must
+# be given in traditional non-devfs format.
+# Note: A disk must be specified, unless the system has only one disk.
+# For example, to use the first SCSI/SATA hard disk:
+#d-i partman-auto/disk string /dev/sda
+# In addition, you'll need to specify the method to use.
+# The presently available methods are: "regular", "lvm" and "crypto"
+d-i partman-auto/method string lvm
+
+# If one of the disks that are going to be automatically partitioned
+# contains an old LVM configuration, the user will normally receive a
+# warning. This can be preseeded away...
+d-i partman-lvm/device_remove_lvm boolean true
+# The same applies to pre-existing software RAID array:
+d-i partman-md/device_remove_md boolean true
+
+# And the same goes for the confirmation to write the lvm partitions.
+d-i partman-lvm/confirm boolean true
+d-i partman-lvm/confirm_nooverwrite boolean true
+
+
+d-i partman/choose_partition select finish
+d-i partman-auto-lvm/guided_size string max
+
+# You can choose one of the three predefined partitioning recipes:
+# - atomic: all files in one partition
+# - home:   separate /home partition
+# - multi:  separate /home, /usr, /var, and /tmp partitions
+d-i partman-auto/choose_recipe select atomic
+d-i partman/default_filesystem string ext3
+
+# Or provide a recipe of your own...
+# The recipe format is documented in the file devel/partman-auto-recipe.txt.
+# If you have a way to get a recipe file into the d-i environment, you can
+# just point at it.
+#d-i partman-auto/expert_recipe_file string /hd-media/recipe
+
+# If not, you can put an entire recipe into the preconfiguration file in one
+# (logical) line. This example creates a small /boot partition, suitable
+# swap, and uses the rest of the space for the root partition:
+#d-i partman-auto/expert_recipe string                         \
+#      boot-root ::                                            \
+#              40 50 100 ext3                                  \
+#                      $primary{ } $bootable{ }                \
+#                      method{ format } format{ }              \
+#                      use_filesystem{ } filesystem{ ext3 }    \
+#                      mountpoint{ /boot }                     \
+#              .                                               \
+#              500 10000 1000000000 ext3                       \
+#                      method{ format } format{ }              \
+#                      use_filesystem{ } filesystem{ ext3 }    \
+#                      mountpoint{ / }                         \
+#              .                                               \
+#              64 512 300% linux-swap                          \
+#                      method{ swap } format{ }                \
+#              .
+
+#The preseed line that "selects finish" needs to be in a certain order in your preseed, the example-preseed does not follow this.
+#http://ubuntuforums.org/archive/index.php/t-1504045.html
+
+# This makes partman automatically partition without confirmation, provided
+# that you told it what to do using one of the methods above.
+d-i partman/confirm_write_new_label boolean true
+d-i partman/confirm boolean true
+d-i partman/confirm_nooverwrite boolean true
+
+
+### Base system installation
+# Select the initramfs generator used to generate the initrd for 2.6 kernels.
+#d-i base-installer/kernel/linux/initramfs-generators string yaird
+
+# The kernel image (meta) package to be installed; "none" can be used if no
+# kernel is to be installed.
+#d-i base-installer/kernel/image string linux-image-2.6-486
+
+### Account setup
+# Skip creation of a root account (normal user account will be able to
+# use sudo).
+d-i passwd/root-login boolean false
+# Alternatively, to skip creation of a normal user account.
+#d-i passwd/make-user boolean false
+
+# Root password, either in clear text
+d-i passwd/root-password password vagrant
+d-i passwd/root-password-again password vagrant
+# or encrypted using an MD5 hash.
+#d-i passwd/root-password-crypted password [MD5 hash]
+
+# To create a normal user account.
+d-i passwd/user-fullname string Vagrant User
+d-i passwd/username string vagrant
+# Normal user's password, either in clear text
+d-i passwd/user-password password vagrant
+d-i passwd/user-password-again password vagrant
+# or encrypted using an MD5 hash.
+#d-i passwd/user-password-crypted password [MD5 hash]
+# Create the first user with the specified UID instead of the default.
+#d-i passwd/user-uid string 1010
+d-i user-setup/encrypt-home boolean false
+d-i user-setup/allow-password-weak boolean true
+
+# The user account will be added to some standard initial groups. To
+# override that, use this.
+d-i passwd/user-default-groups string audio cdrom video admin
+
+### Apt setup
+# You can choose to install non-free and contrib software.
+#d-i apt-setup/non-free boolean true
+#d-i apt-setup/contrib boolean true
+# Uncomment this if you don't want to use a network mirror.
+#d-i apt-setup/use_mirror boolean false
+# Select which update services to use; define the mirrors to be used.
+# Values shown below are the normal defaults.
+#d-i apt-setup/services-select multiselect security, volatile
+#d-i apt-setup/security_host string security.debian.org
+#d-i apt-setup/volatile_host string volatile.debian.org
+
+
+# By default the installer requires that repositories be authenticated
+# using a known gpg key. This setting can be used to disable that
+# authentication. Warning: Insecure, not recommended.
+#d-i debian-installer/allow_unauthenticated string true
+
+### Package selection
+tasksel tasksel/first multiselect standard
+# If the desktop task is selected, install the kde and xfce desktops
+# instead of the default gnome desktop.
+#tasksel tasksel/desktop multiselect kde, xfce
+
+# Individual additional packages to install
+d-i pkgsel/include string openssh-server ntp acpid sudo bzip2 rsync
+
+# Whether to upgrade packages after debootstrap.
+# Allowed values: none, safe-upgrade, full-upgrade
+d-i pkgsel/upgrade select none
+
+# Some versions of the installer can report back on what software you have
+# installed, and what software you use. The default is not to report back,
+# but sending reports helps the project determine what software is most
+# popular and include it on CDs.
+popularity-contest popularity-contest/participate boolean false
+
+### Boot loader installation
+# Grub is the default boot loader (for x86). If you want lilo installed
+# instead, uncomment this:
+#d-i grub-installer/skip boolean true
+# To also skip installing lilo, and install no bootloader, uncomment this
+# too:
+#d-i lilo-installer/skip boolean true
+
+# This is fairly safe to set, it makes grub install automatically to the MBR
+# if no other operating system is detected on the machine.
+d-i grub-installer/only_debian boolean true
+
+# This one makes grub-installer install to the MBR if it also finds some other
+# OS, which is less safe as it might not be able to boot that other OS.
+d-i grub-installer/with_other_os boolean true
+
+# Alternatively, if you want to install to a location other than the mbr,
+# uncomment and edit these lines:
+#d-i grub-installer/only_debian boolean false
+#d-i grub-installer/with_other_os boolean false
+#d-i grub-installer/bootdev  string (hd0,0)
+# To install grub to multiple disks:
+#d-i grub-installer/bootdev  string (hd0,0) (hd1,0) (hd2,0)
+
+# Optional password for grub, either in clear text
+#d-i grub-installer/password password r00tme
+#d-i grub-installer/password-again password r00tme
+# or encrypted using an MD5 hash, see grub-md5-crypt(8).
+#d-i grub-installer/password-crypted password [MD5 hash]
+
+### Finishing up the installation
+# During installations from serial console, the regular virtual consoles
+# (VT1-VT6) are normally disabled in /etc/inittab. Uncomment the next
+# line to prevent this.
+#d-i finish-install/keep-consoles boolean true
+
+# Avoid that last message about the install being complete.
+d-i finish-install/reboot_in_progress note
+
+# This will prevent the installer from ejecting the CD during the reboot,
+# which is useful in some situations.
+#d-i cdrom-detect/eject boolean false
+
+# This is how to make the installer shutdown when finished, but not
+# reboot into the installed system.
+#d-i debian-installer/exit/halt boolean true
+# This will power off the machine instead of just halting it.
+#d-i debian-installer/exit/poweroff boolean true
+
+### Preseeding other packages
+# Depending on what software you choose to install, or if things go wrong
+# during the installation process, it's possible that other questions may
+# be asked. You can preseed those too, of course. To get a list of every
+# possible question that could be asked during an install, do an
+# installation, and then run these commands:
+#   debconf-get-selections --installer > file
+#   debconf-get-selections >> file
+
+
+#### Advanced options
+### Running custom commands during the installation
+# d-i preseeding is inherently not secure. Nothing in the installer checks
+# for attempts at buffer overflows or other exploits of the values of a
+# preconfiguration file like this one. Only use preconfiguration files from
+# trusted locations! To drive that home, and because it's generally useful,
+# here's a way to run any shell command you'd like inside the installer,
+# automatically.
+
+# This first command is run as early as possible, just after
+# preseeding is read.
+# Prevent packaged version of VirtualBox Guest Additions being installed:
+d-i preseed/early_command string sed -i \
+  '/in-target/idiscover(){/sbin/discover|grep -v VirtualBox;}' \
+  /usr/lib/pre-pkgsel.d/20install-hwpackages
+
+# This command is run just before the install finishes, but when there is
+# still a usable /target directory. You can chroot to /target and use it
+# directly, or use the apt-install and in-target commands to easily install
+# packages and run commands in the target system.
diff --git a/templates/Debian-6.0.10-i386-netboot/puppet.sh b/templates/Debian-6.0.10-i386-netboot/puppet.sh
new file mode 100644
index 00000000..06ca041d
--- /dev/null
+++ b/templates/Debian-6.0.10-i386-netboot/puppet.sh
@@ -0,0 +1,7 @@
+# Prepare puppetlabs repo
+wget http://apt.puppetlabs.com/puppetlabs-release-squeeze.deb
+dpkg -i puppetlabs-release-squeeze.deb
+apt-get update
+
+# Install puppet/facter
+apt-get install -y puppet facter
diff --git a/templates/Debian-6.0.10-i386-netboot/ruby.sh b/templates/Debian-6.0.10-i386-netboot/ruby.sh
new file mode 100644
index 00000000..08d443a9
--- /dev/null
+++ b/templates/Debian-6.0.10-i386-netboot/ruby.sh
@@ -0,0 +1,10 @@
+# Install Ruby from packages
+apt-get -y install ruby ruby-dev libruby1.8 ri
+
+# Install Rubygems from source
+rg_ver=1.6.2
+curl -o /tmp/rubygems-${rg_ver}.zip \
+  "http://production.cf.rubygems.org/rubygems/rubygems-${rg_ver}.zip"
+(cd /tmp && unzip rubygems-${rg_ver}.zip && \
+  cd rubygems-${rg_ver} && ruby setup.rb --no-format-executable)
+rm -rf /tmp/rubygems-${rg_ver} /tmp/rubygems-${rg_ver}.zip
diff --git a/templates/Debian-6.0.10-i386-netboot/vagrant.sh b/templates/Debian-6.0.10-i386-netboot/vagrant.sh
new file mode 100644
index 00000000..34e383cc
--- /dev/null
+++ b/templates/Debian-6.0.10-i386-netboot/vagrant.sh
@@ -0,0 +1,25 @@
+# Set up Vagrant.
+
+date > /etc/vagrant_box_build_time
+
+# Add groups puppet and chef
+groupadd puppet
+groupadd chef
+
+# Create the user vagrant with password vagrant
+useradd -G sudo -p $(perl -e'print crypt("vagrant", "vagrant")') -m -s /bin/bash -N vagrant
+
+# Install vagrant keys
+mkdir -pm 700 /home/vagrant/.ssh
+curl -Lo /home/vagrant/.ssh/authorized_keys \
+  'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub'
+chmod 0600 /home/vagrant/.ssh/authorized_keys
+chown -R vagrant:vagrant /home/vagrant/.ssh
+
+# Customize the message of the day
+echo 'Welcome to your Vagrant-built virtual machine.' > /var/run/motd
+
+# Install NFS client
+apt-get -y install nfs-common
+
+
diff --git a/templates/Debian-6.0.10-i386-netboot/virtualbox.sh b/templates/Debian-6.0.10-i386-netboot/virtualbox.sh
new file mode 100644
index 00000000..158084c5
--- /dev/null
+++ b/templates/Debian-6.0.10-i386-netboot/virtualbox.sh
@@ -0,0 +1,18 @@
+if test -f .vbox_version ; then
+
+  # Without libdbus virtualbox would not start automatically after compile
+  apt-get -y install --no-install-recommends libdbus-1-3
+
+  # The netboot installs the VirtualBox support (old) so we have to remove it
+  /etc/init.d/virtualbox-ose-guest-utils stop
+  rmmod vboxguest
+  aptitude -y purge virtualbox-ose-guest-x11 virtualbox-ose-guest-dkms virtualbox-ose-guest-utils
+  aptitude -y install dkms
+
+  # Install the VirtualBox guest additions
+  VBOX_VERSION=$(cat /home/vagrant/.vbox_version)
+  VBOX_ISO=VBoxGuestAdditions_$VBOX_VERSION.iso
+  mount -o loop $VBOX_ISO /mnt
+  yes|sh /mnt/VBoxLinuxAdditions.run
+  umount /mnt
+fi
diff --git a/templates/Debian-7.1.0-i386-netboot/vmfusion.sh b/templates/Debian-6.0.10-i386-netboot/vmfusion.sh
similarity index 100%
rename from templates/Debian-7.1.0-i386-netboot/vmfusion.sh
rename to templates/Debian-6.0.10-i386-netboot/vmfusion.sh
diff --git a/templates/CentOS-6.5-x86_64-minimal/zerodisk.sh b/templates/Debian-6.0.10-i386-netboot/zerodisk.sh
similarity index 100%
rename from templates/CentOS-6.5-x86_64-minimal/zerodisk.sh
rename to templates/Debian-6.0.10-i386-netboot/zerodisk.sh
diff --git a/templates/Debian-6.0.3-amd64-netboot/definition.rb b/templates/Debian-6.0.3-amd64-netboot/definition.rb
index 7f569de3..efe36093 100644
--- a/templates/Debian-6.0.3-amd64-netboot/definition.rb
+++ b/templates/Debian-6.0.3-amd64-netboot/definition.rb
@@ -26,7 +26,7 @@
     ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/Debian-6.0.3-i386-netboot/definition.rb b/templates/Debian-6.0.3-i386-netboot/definition.rb
index 7bfba687..54d1f6c0 100644
--- a/templates/Debian-6.0.3-i386-netboot/definition.rb
+++ b/templates/Debian-6.0.3-i386-netboot/definition.rb
@@ -28,7 +28,7 @@
      ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/Debian-6.0.4-amd64-netboot/definition.rb b/templates/Debian-6.0.4-amd64-netboot/definition.rb
index 7ec2a29c..c0916692 100644
--- a/templates/Debian-6.0.4-amd64-netboot/definition.rb
+++ b/templates/Debian-6.0.4-amd64-netboot/definition.rb
@@ -26,7 +26,7 @@
     ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/Debian-6.0.4-i386-netboot/definition.rb b/templates/Debian-6.0.4-i386-netboot/definition.rb
index 238fedc5..6e3ff6a7 100644
--- a/templates/Debian-6.0.4-i386-netboot/definition.rb
+++ b/templates/Debian-6.0.4-i386-netboot/definition.rb
@@ -28,7 +28,7 @@
      ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/Debian-6.0.5-amd64-netboot/definition.rb b/templates/Debian-6.0.5-amd64-netboot/definition.rb
index 1ef5bae9..fb06ac44 100644
--- a/templates/Debian-6.0.5-amd64-netboot/definition.rb
+++ b/templates/Debian-6.0.5-amd64-netboot/definition.rb
@@ -26,7 +26,7 @@
     ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/Debian-6.0.5-i386-netboot/definition.rb b/templates/Debian-6.0.5-i386-netboot/definition.rb
index 02fce429..3b4dc3c2 100644
--- a/templates/Debian-6.0.5-i386-netboot/definition.rb
+++ b/templates/Debian-6.0.5-i386-netboot/definition.rb
@@ -28,7 +28,7 @@
      ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/Debian-6.0.6-amd64-netboot/base.sh b/templates/Debian-6.0.6-amd64-netboot/base.sh
index 048b7a09..0c531048 100644
--- a/templates/Debian-6.0.6-amd64-netboot/base.sh
+++ b/templates/Debian-6.0.6-amd64-netboot/base.sh
@@ -7,7 +7,7 @@ apt-get clean
 
 # Set up sudo
 ( cat <<'EOP'
-%vagrant ALL=NOPASSWD:ALL
+%vagrant ALL=(ALL) NOPASSWD: ALL
 EOP
 ) > /tmp/vagrant
 chmod 0440 /tmp/vagrant
diff --git a/templates/Debian-6.0.6-amd64-netboot/definition.rb b/templates/Debian-6.0.6-amd64-netboot/definition.rb
index 27b478b8..de06896f 100644
--- a/templates/Debian-6.0.6-amd64-netboot/definition.rb
+++ b/templates/Debian-6.0.6-amd64-netboot/definition.rb
@@ -26,7 +26,7 @@
     ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/Debian-6.0.6-i386-netboot/definition.rb b/templates/Debian-6.0.6-i386-netboot/definition.rb
index 447fd163..250e2019 100644
--- a/templates/Debian-6.0.6-i386-netboot/definition.rb
+++ b/templates/Debian-6.0.6-i386-netboot/definition.rb
@@ -34,7 +34,7 @@
      ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/Debian-6.0.7-amd64-netboot/definition.rb b/templates/Debian-6.0.7-amd64-netboot/definition.rb
index b6766201..1f865a3b 100644
--- a/templates/Debian-6.0.7-amd64-netboot/definition.rb
+++ b/templates/Debian-6.0.7-amd64-netboot/definition.rb
@@ -26,7 +26,7 @@
     ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/Debian-6.0.7-i386-netboot/definition.rb b/templates/Debian-6.0.7-i386-netboot/definition.rb
index ad5d780d..6176a0a3 100644
--- a/templates/Debian-6.0.7-i386-netboot/definition.rb
+++ b/templates/Debian-6.0.7-i386-netboot/definition.rb
@@ -34,7 +34,7 @@
      ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/Debian-6.0.8-amd64-netboot/definition.rb b/templates/Debian-6.0.8-amd64-netboot/definition.rb
index 853aa3ee..4d3c13f4 100644
--- a/templates/Debian-6.0.8-amd64-netboot/definition.rb
+++ b/templates/Debian-6.0.8-amd64-netboot/definition.rb
@@ -24,7 +24,7 @@
     ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/Debian-6.0.8-i386-netboot/definition.rb b/templates/Debian-6.0.8-i386-netboot/definition.rb
index d7c26272..1bc6d819 100644
--- a/templates/Debian-6.0.8-i386-netboot/definition.rb
+++ b/templates/Debian-6.0.8-i386-netboot/definition.rb
@@ -32,7 +32,7 @@
      ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/Debian-6.0.9-amd64-netboot/definition.rb b/templates/Debian-6.0.9-amd64-netboot/definition.rb
index 2565f73f..db08f907 100644
--- a/templates/Debian-6.0.9-amd64-netboot/definition.rb
+++ b/templates/Debian-6.0.9-amd64-netboot/definition.rb
@@ -24,7 +24,7 @@
     ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/Debian-6.0.9-i386-netboot/definition.rb b/templates/Debian-6.0.9-i386-netboot/definition.rb
index 95418860..52a9b16f 100644
--- a/templates/Debian-6.0.9-i386-netboot/definition.rb
+++ b/templates/Debian-6.0.9-i386-netboot/definition.rb
@@ -24,7 +24,7 @@
     ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/Debian-7.0-amd64-netboot/base.sh b/templates/Debian-7.0-amd64-netboot/base.sh
index 351daed9..aec65ad2 100644
--- a/templates/Debian-7.0-amd64-netboot/base.sh
+++ b/templates/Debian-7.0-amd64-netboot/base.sh
@@ -1,11 +1,12 @@
 # Update the box
+export DEBIAN_FRONTEND=noninteractive
 apt-get -y update
 apt-get -y install linux-headers-$(uname -r) build-essential
 apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev
 apt-get -y install curl unzip
 
 # Set up sudo
-echo 'vagrant ALL=NOPASSWD:ALL' > /etc/sudoers.d/vagrant
+echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant
 
 # Tweak sshd to prevent DNS resolution (speed up logins)
 echo 'UseDNS no' >> /etc/ssh/sshd_config
diff --git a/templates/Debian-7.0-amd64-netboot/definition.rb b/templates/Debian-7.0-amd64-netboot/definition.rb
index 44fee194..2744adca 100644
--- a/templates/Debian-7.0-amd64-netboot/definition.rb
+++ b/templates/Debian-7.0-amd64-netboot/definition.rb
@@ -6,9 +6,7 @@
   :disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off',
   :os_type_id => 'Debian_64',
   :iso_file => "debian-7.0.0-amd64-netinst.iso",
-  :iso_src => "",
-  :iso_download_instructions => "- You need to download this manually as the ISO is no longer directly downloadable.\n"+
-    "Visit http://cdimage.debian.org/cdimage/archive/7.0.0/amd64/ and download it via torrent or jigdo",
+  :iso_src => "http://mirror.i3d.net/pub/debian-cd/7.0.0/amd64/iso-cd/debian-7.0.0-amd64-netinst.iso",
   :iso_md5 => "6a55096340b5b1b7d335d5b559e13ea0",
   :iso_download_timeout => "1000",
   :boot_wait => "10", :boot_cmd_sequence => [
@@ -29,7 +27,7 @@
      ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
@@ -47,6 +45,7 @@
     "ruby.sh",
     "puppet.sh",
     "chef.sh",
+    "systemd.sh",
     "cleanup-virtualbox.sh",
     "cleanup.sh",
     "zerodisk.sh"
diff --git a/templates/Debian-7.0-amd64-netboot/systemd.sh b/templates/Debian-7.0-amd64-netboot/systemd.sh
new file mode 100644
index 00000000..2ac09634
--- /dev/null
+++ b/templates/Debian-7.0-amd64-netboot/systemd.sh
@@ -0,0 +1,22 @@
+if [ -f .veewee_params ]
+then
+  . .veewee_params
+fi
+
+# Default to not installing systemd
+if [ "$USE_SYSTEMD" = yes ]; then
+  apt-get install -y systemd
+
+  cat > /etc/default/grub << EOF
+# If you change this file, run 'update-grub' afterwards to update
+# /boot/grub/grub.cfg.
+
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=0
+GRUB_DISTRIBUTOR=Debian
+GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+GRUB_CMDLINE_LINUX="init=/lib/systemd/systemd debian-installer=en_US"
+EOF
+
+  update-grub
+fi
diff --git a/templates/Debian-7.0-i386-netboot/base.sh b/templates/Debian-7.0-i386-netboot/base.sh
index a5489f5a..07f877f7 100644
--- a/templates/Debian-7.0-i386-netboot/base.sh
+++ b/templates/Debian-7.0-i386-netboot/base.sh
@@ -1,4 +1,5 @@
 # Update the box
+export DEBIAN_FRONTEND=noninteractive
 apt-get -y update
 apt-get -y install linux-headers-$(uname -r) build-essential
 apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev
@@ -6,7 +7,7 @@ apt-get -y install curl unzip
 apt-get clean
 
 # Set up sudo
-echo 'vagrant ALL=NOPASSWD:ALL' > /etc/sudoers.d/vagrant
+echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant
 
 # Tweak sshd to prevent DNS resolution (speed up logins)
 echo 'UseDNS no' >> /etc/ssh/sshd_config
diff --git a/templates/Debian-7.0-i386-netboot/definition.rb b/templates/Debian-7.0-i386-netboot/definition.rb
index e897e4e7..bbcd9cb9 100644
--- a/templates/Debian-7.0-i386-netboot/definition.rb
+++ b/templates/Debian-7.0-i386-netboot/definition.rb
@@ -7,9 +7,7 @@
   :disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off',
   :os_type_id => 'Debian',
   :iso_file => "debian-7.0.0-i386-netinst.iso",
-  :iso_src => "",
-  :iso_download_instructions => "- You need to download this manually as the ISO is no longer directly downloadable.\n"+
-    "Visit http://cdimage.debian.org/cdimage/archive/7.0.0/i386/ and download it via torrent or jigdo",
+  :iso_src => "http://mirror.i3d.net/pub/debian-cd/7.0.0/i386/iso-cd/debian-7.0.0-i386-netinst.iso",
   :iso_md5 => "a6b93666a5393334accb7ac4ee28d949",
   :iso_download_timeout => "1000",
   :boot_wait => "10", :boot_cmd_sequence => [
@@ -30,7 +28,7 @@
      ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
@@ -48,6 +46,7 @@
     "ruby.sh",
     "puppet.sh",
     "chef.sh",
+    "systemd.sh",
     "cleanup-virtualbox.sh",
     "cleanup.sh",
     "zerodisk.sh"
diff --git a/templates/Debian-7.0-i386-netboot/systemd.sh b/templates/Debian-7.0-i386-netboot/systemd.sh
new file mode 100644
index 00000000..2ac09634
--- /dev/null
+++ b/templates/Debian-7.0-i386-netboot/systemd.sh
@@ -0,0 +1,22 @@
+if [ -f .veewee_params ]
+then
+  . .veewee_params
+fi
+
+# Default to not installing systemd
+if [ "$USE_SYSTEMD" = yes ]; then
+  apt-get install -y systemd
+
+  cat > /etc/default/grub << EOF
+# If you change this file, run 'update-grub' afterwards to update
+# /boot/grub/grub.cfg.
+
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=0
+GRUB_DISTRIBUTOR=Debian
+GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+GRUB_CMDLINE_LINUX="init=/lib/systemd/systemd debian-installer=en_US"
+EOF
+
+  update-grub
+fi
diff --git a/templates/Debian-7.1-amd64-netboot/base.sh b/templates/Debian-7.1-amd64-netboot/base.sh
new file mode 100644
index 00000000..aec65ad2
--- /dev/null
+++ b/templates/Debian-7.1-amd64-netboot/base.sh
@@ -0,0 +1,26 @@
+# Update the box
+export DEBIAN_FRONTEND=noninteractive
+apt-get -y update
+apt-get -y install linux-headers-$(uname -r) build-essential
+apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev
+apt-get -y install curl unzip
+
+# Set up sudo
+echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant
+
+# Tweak sshd to prevent DNS resolution (speed up logins)
+echo 'UseDNS no' >> /etc/ssh/sshd_config
+
+# Remove 5s grub timeout to speed up booting
+cat < /etc/default/grub
+# If you change this file, run 'update-grub' afterwards to update
+# /boot/grub/grub.cfg.
+
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=0
+GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
+GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+GRUB_CMDLINE_LINUX="debian-installer=en_US"
+EOF
+
+update-grub
diff --git a/templates/Debian-7.1.0-amd64-netboot/chef.sh b/templates/Debian-7.1-amd64-netboot/chef.sh
similarity index 100%
rename from templates/Debian-7.1.0-amd64-netboot/chef.sh
rename to templates/Debian-7.1-amd64-netboot/chef.sh
diff --git a/templates/Debian-7.2.0-amd64-netboot/cleanup-virtualbox.sh b/templates/Debian-7.1-amd64-netboot/cleanup-virtualbox.sh
similarity index 100%
rename from templates/Debian-7.2.0-amd64-netboot/cleanup-virtualbox.sh
rename to templates/Debian-7.1-amd64-netboot/cleanup-virtualbox.sh
diff --git a/templates/Debian-7.1.0-amd64-netboot/cleanup.sh b/templates/Debian-7.1-amd64-netboot/cleanup.sh
similarity index 100%
rename from templates/Debian-7.1.0-amd64-netboot/cleanup.sh
rename to templates/Debian-7.1-amd64-netboot/cleanup.sh
diff --git a/templates/Debian-7.1.0-amd64-netboot/definition.rb b/templates/Debian-7.1-amd64-netboot/definition.rb
similarity index 83%
rename from templates/Debian-7.1.0-amd64-netboot/definition.rb
rename to templates/Debian-7.1-amd64-netboot/definition.rb
index 30346f26..2da39157 100644
--- a/templates/Debian-7.1.0-amd64-netboot/definition.rb
+++ b/templates/Debian-7.1-amd64-netboot/definition.rb
@@ -6,9 +6,7 @@
   :disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off',
   :os_type_id => 'Debian_64',
   :iso_file => "debian-7.1.0-amd64-netinst.iso",
-  :iso_src => "",
-  :iso_download_instructions => "- You need to download this manually as the ISO is no longer directly downloadable.\n"+
-    "Visit http://cdimage.debian.org/cdimage/archive/7.1.0/amd64/ and download it via torrent or jigdo",
+  :iso_src => "http://mirror.i3d.net/pub/debian-cd/7.1.0/amd64/iso-cd/debian-7.1.0-amd64-netinst.iso",
   :iso_md5 => "80f498a1f9daa76bc911ae13692e4495",
   :iso_download_timeout => "1000",
   :boot_wait => "10", :boot_cmd_sequence => [
@@ -29,7 +27,7 @@
      ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
@@ -47,6 +45,7 @@
     "ruby.sh",
     "puppet.sh",
     "chef.sh",
+    "systemd.sh",
     "cleanup-virtualbox.sh",
     "cleanup.sh",
     "zerodisk.sh"
diff --git a/templates/Debian-7.1.0-amd64-netboot/preseed.cfg b/templates/Debian-7.1-amd64-netboot/preseed.cfg
similarity index 100%
rename from templates/Debian-7.1.0-amd64-netboot/preseed.cfg
rename to templates/Debian-7.1-amd64-netboot/preseed.cfg
diff --git a/templates/Debian-7.1.0-amd64-netboot/puppet.sh b/templates/Debian-7.1-amd64-netboot/puppet.sh
similarity index 100%
rename from templates/Debian-7.1.0-amd64-netboot/puppet.sh
rename to templates/Debian-7.1-amd64-netboot/puppet.sh
diff --git a/templates/Debian-7.1.0-amd64-netboot/ruby.sh b/templates/Debian-7.1-amd64-netboot/ruby.sh
similarity index 100%
rename from templates/Debian-7.1.0-amd64-netboot/ruby.sh
rename to templates/Debian-7.1-amd64-netboot/ruby.sh
diff --git a/templates/Debian-7.1-amd64-netboot/systemd.sh b/templates/Debian-7.1-amd64-netboot/systemd.sh
new file mode 100644
index 00000000..2ac09634
--- /dev/null
+++ b/templates/Debian-7.1-amd64-netboot/systemd.sh
@@ -0,0 +1,22 @@
+if [ -f .veewee_params ]
+then
+  . .veewee_params
+fi
+
+# Default to not installing systemd
+if [ "$USE_SYSTEMD" = yes ]; then
+  apt-get install -y systemd
+
+  cat > /etc/default/grub << EOF
+# If you change this file, run 'update-grub' afterwards to update
+# /boot/grub/grub.cfg.
+
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=0
+GRUB_DISTRIBUTOR=Debian
+GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+GRUB_CMDLINE_LINUX="init=/lib/systemd/systemd debian-installer=en_US"
+EOF
+
+  update-grub
+fi
diff --git a/templates/Debian-7.1.0-amd64-netboot/vagrant.sh b/templates/Debian-7.1-amd64-netboot/vagrant.sh
similarity index 100%
rename from templates/Debian-7.1.0-amd64-netboot/vagrant.sh
rename to templates/Debian-7.1-amd64-netboot/vagrant.sh
diff --git a/templates/Debian-7.1.0-amd64-netboot/virtualbox.sh b/templates/Debian-7.1-amd64-netboot/virtualbox.sh
similarity index 100%
rename from templates/Debian-7.1.0-amd64-netboot/virtualbox.sh
rename to templates/Debian-7.1-amd64-netboot/virtualbox.sh
diff --git a/templates/CentOS-6.5-i386-netboot/vmfusion.sh b/templates/Debian-7.1-amd64-netboot/vmfusion.sh
similarity index 50%
rename from templates/CentOS-6.5-i386-netboot/vmfusion.sh
rename to templates/Debian-7.1-amd64-netboot/vmfusion.sh
index 3bd2e1b2..d654a02c 100644
--- a/templates/CentOS-6.5-i386-netboot/vmfusion.sh
+++ b/templates/Debian-7.1-amd64-netboot/vmfusion.sh
@@ -1,10 +1,7 @@
-# vmware-vmblock-fuse requires libfuse.so
-yum -y install fuse-libs
-
 cd /tmp
 mkdir -p /mnt/cdrom
-mount -o loop /home/veewee/linux.iso /mnt/cdrom
+mount -o loop /home/vagrant/linux.iso /mnt/cdrom
 tar zxf /mnt/cdrom/VMwareTools-*.tar.gz -C /tmp/
 /tmp/vmware-tools-distrib/vmware-install.pl -d
+rm /home/vagrant/linux.iso
 umount /mnt/cdrom
-rm /home/veewee/linux.iso
diff --git a/templates/CentOS-6.5-x86_64-netboot/zerodisk.sh b/templates/Debian-7.1-amd64-netboot/zerodisk.sh
similarity index 100%
rename from templates/CentOS-6.5-x86_64-netboot/zerodisk.sh
rename to templates/Debian-7.1-amd64-netboot/zerodisk.sh
diff --git a/templates/Debian-7.4.0-i386-netboot/base.sh b/templates/Debian-7.1-i386-netboot/base.sh
similarity index 86%
rename from templates/Debian-7.4.0-i386-netboot/base.sh
rename to templates/Debian-7.1-i386-netboot/base.sh
index a5489f5a..07f877f7 100644
--- a/templates/Debian-7.4.0-i386-netboot/base.sh
+++ b/templates/Debian-7.1-i386-netboot/base.sh
@@ -1,4 +1,5 @@
 # Update the box
+export DEBIAN_FRONTEND=noninteractive
 apt-get -y update
 apt-get -y install linux-headers-$(uname -r) build-essential
 apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev
@@ -6,7 +7,7 @@ apt-get -y install curl unzip
 apt-get clean
 
 # Set up sudo
-echo 'vagrant ALL=NOPASSWD:ALL' > /etc/sudoers.d/vagrant
+echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant
 
 # Tweak sshd to prevent DNS resolution (speed up logins)
 echo 'UseDNS no' >> /etc/ssh/sshd_config
diff --git a/templates/Debian-7.3.0-i386-netboot/chef.sh b/templates/Debian-7.1-i386-netboot/chef.sh
similarity index 100%
rename from templates/Debian-7.3.0-i386-netboot/chef.sh
rename to templates/Debian-7.1-i386-netboot/chef.sh
diff --git a/templates/Debian-7.2.0-i386-netboot/cleanup-virtualbox.sh b/templates/Debian-7.1-i386-netboot/cleanup-virtualbox.sh
similarity index 100%
rename from templates/Debian-7.2.0-i386-netboot/cleanup-virtualbox.sh
rename to templates/Debian-7.1-i386-netboot/cleanup-virtualbox.sh
diff --git a/templates/Debian-7.3.0-i386-netboot/cleanup.sh b/templates/Debian-7.1-i386-netboot/cleanup.sh
similarity index 100%
rename from templates/Debian-7.3.0-i386-netboot/cleanup.sh
rename to templates/Debian-7.1-i386-netboot/cleanup.sh
diff --git a/templates/Debian-7.1.0-i386-netboot/definition.rb b/templates/Debian-7.1-i386-netboot/definition.rb
similarity index 83%
rename from templates/Debian-7.1.0-i386-netboot/definition.rb
rename to templates/Debian-7.1-i386-netboot/definition.rb
index 0eb76a80..e54c4743 100644
--- a/templates/Debian-7.1.0-i386-netboot/definition.rb
+++ b/templates/Debian-7.1-i386-netboot/definition.rb
@@ -4,9 +4,7 @@
   :disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off',
   :os_type_id => 'Debian',
   :iso_file => "debian-7.1.0-i386-netinst.iso",
-  :iso_src => "",
-  :iso_download_instructions => "- You need to download this manually as the ISO is no longer directly downloadable.\n"+
-    "Visit http://cdimage.debian.org/cdimage/archive/7.1.0/i386/ and download it via torrent or jigdo",
+  :iso_src => "http://mirror.i3d.net/pub/debian-cd/7.1.0/i386/iso-cd/debian-7.1.0-i386-netinst.iso",
   :iso_md5 => "a70efb67ca061175eabe7c5dc04ab323",
   :iso_download_timeout => "1000",
   :boot_wait => "10", :boot_cmd_sequence => [
@@ -27,7 +25,7 @@
      ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
@@ -45,6 +43,7 @@
     "ruby.sh",
     "puppet.sh",
     "chef.sh",
+    "systemd.sh",
     "cleanup-virtualbox.sh",
     "cleanup.sh",
     "zerodisk.sh"
diff --git a/templates/Debian-7.1.0-i386-netboot/preseed.cfg b/templates/Debian-7.1-i386-netboot/preseed.cfg
similarity index 100%
rename from templates/Debian-7.1.0-i386-netboot/preseed.cfg
rename to templates/Debian-7.1-i386-netboot/preseed.cfg
diff --git a/templates/Debian-7.1.0-i386-netboot/puppet.sh b/templates/Debian-7.1-i386-netboot/puppet.sh
similarity index 100%
rename from templates/Debian-7.1.0-i386-netboot/puppet.sh
rename to templates/Debian-7.1-i386-netboot/puppet.sh
diff --git a/templates/Debian-7.1.0-i386-netboot/ruby.sh b/templates/Debian-7.1-i386-netboot/ruby.sh
similarity index 100%
rename from templates/Debian-7.1.0-i386-netboot/ruby.sh
rename to templates/Debian-7.1-i386-netboot/ruby.sh
diff --git a/templates/Debian-7.1-i386-netboot/systemd.sh b/templates/Debian-7.1-i386-netboot/systemd.sh
new file mode 100644
index 00000000..2ac09634
--- /dev/null
+++ b/templates/Debian-7.1-i386-netboot/systemd.sh
@@ -0,0 +1,22 @@
+if [ -f .veewee_params ]
+then
+  . .veewee_params
+fi
+
+# Default to not installing systemd
+if [ "$USE_SYSTEMD" = yes ]; then
+  apt-get install -y systemd
+
+  cat > /etc/default/grub << EOF
+# If you change this file, run 'update-grub' afterwards to update
+# /boot/grub/grub.cfg.
+
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=0
+GRUB_DISTRIBUTOR=Debian
+GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+GRUB_CMDLINE_LINUX="init=/lib/systemd/systemd debian-installer=en_US"
+EOF
+
+  update-grub
+fi
diff --git a/templates/Debian-7.1.0-i386-netboot/vagrant.sh b/templates/Debian-7.1-i386-netboot/vagrant.sh
similarity index 100%
rename from templates/Debian-7.1.0-i386-netboot/vagrant.sh
rename to templates/Debian-7.1-i386-netboot/vagrant.sh
diff --git a/templates/Debian-7.1.0-i386-netboot/virtualbox.sh b/templates/Debian-7.1-i386-netboot/virtualbox.sh
similarity index 100%
rename from templates/Debian-7.1.0-i386-netboot/virtualbox.sh
rename to templates/Debian-7.1-i386-netboot/virtualbox.sh
diff --git a/templates/CentOS-6.5-x86_64-minimal/vmfusion.sh b/templates/Debian-7.1-i386-netboot/vmfusion.sh
similarity index 50%
rename from templates/CentOS-6.5-x86_64-minimal/vmfusion.sh
rename to templates/Debian-7.1-i386-netboot/vmfusion.sh
index 3bd2e1b2..d654a02c 100644
--- a/templates/CentOS-6.5-x86_64-minimal/vmfusion.sh
+++ b/templates/Debian-7.1-i386-netboot/vmfusion.sh
@@ -1,10 +1,7 @@
-# vmware-vmblock-fuse requires libfuse.so
-yum -y install fuse-libs
-
 cd /tmp
 mkdir -p /mnt/cdrom
-mount -o loop /home/veewee/linux.iso /mnt/cdrom
+mount -o loop /home/vagrant/linux.iso /mnt/cdrom
 tar zxf /mnt/cdrom/VMwareTools-*.tar.gz -C /tmp/
 /tmp/vmware-tools-distrib/vmware-install.pl -d
+rm /home/vagrant/linux.iso
 umount /mnt/cdrom
-rm /home/veewee/linux.iso
diff --git a/templates/Debian-7.1.0-amd64-netboot/zerodisk.sh b/templates/Debian-7.1-i386-netboot/zerodisk.sh
similarity index 100%
rename from templates/Debian-7.1.0-amd64-netboot/zerodisk.sh
rename to templates/Debian-7.1-i386-netboot/zerodisk.sh
diff --git a/templates/Debian-7.2-amd64-netboot/base.sh b/templates/Debian-7.2-amd64-netboot/base.sh
new file mode 100644
index 00000000..aec65ad2
--- /dev/null
+++ b/templates/Debian-7.2-amd64-netboot/base.sh
@@ -0,0 +1,26 @@
+# Update the box
+export DEBIAN_FRONTEND=noninteractive
+apt-get -y update
+apt-get -y install linux-headers-$(uname -r) build-essential
+apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev
+apt-get -y install curl unzip
+
+# Set up sudo
+echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant
+
+# Tweak sshd to prevent DNS resolution (speed up logins)
+echo 'UseDNS no' >> /etc/ssh/sshd_config
+
+# Remove 5s grub timeout to speed up booting
+cat < /etc/default/grub
+# If you change this file, run 'update-grub' afterwards to update
+# /boot/grub/grub.cfg.
+
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=0
+GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
+GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+GRUB_CMDLINE_LINUX="debian-installer=en_US"
+EOF
+
+update-grub
diff --git a/templates/Debian-7.2.0-amd64-netboot/chef.sh b/templates/Debian-7.2-amd64-netboot/chef.sh
similarity index 100%
rename from templates/Debian-7.2.0-amd64-netboot/chef.sh
rename to templates/Debian-7.2-amd64-netboot/chef.sh
diff --git a/templates/Debian-7.3.0-amd64-netboot/cleanup-virtualbox.sh b/templates/Debian-7.2-amd64-netboot/cleanup-virtualbox.sh
similarity index 100%
rename from templates/Debian-7.3.0-amd64-netboot/cleanup-virtualbox.sh
rename to templates/Debian-7.2-amd64-netboot/cleanup-virtualbox.sh
diff --git a/templates/Debian-7.2.0-amd64-netboot/cleanup.sh b/templates/Debian-7.2-amd64-netboot/cleanup.sh
similarity index 100%
rename from templates/Debian-7.2.0-amd64-netboot/cleanup.sh
rename to templates/Debian-7.2-amd64-netboot/cleanup.sh
diff --git a/templates/Debian-7.2.0-amd64-netboot/definition.rb b/templates/Debian-7.2-amd64-netboot/definition.rb
similarity index 83%
rename from templates/Debian-7.2.0-amd64-netboot/definition.rb
rename to templates/Debian-7.2-amd64-netboot/definition.rb
index 3d9b313e..a832d73c 100644
--- a/templates/Debian-7.2.0-amd64-netboot/definition.rb
+++ b/templates/Debian-7.2-amd64-netboot/definition.rb
@@ -6,9 +6,7 @@
   :disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off',
   :os_type_id => 'Debian_64',
   :iso_file => "debian-7.2.0-amd64-netinst.iso",
-  :iso_src => "",
-  :iso_download_instructions => "- You need to download this manually as the ISO is no longer directly downloadable.\n"+
-    "Visit http://cdimage.debian.org/cdimage/archive/7.2.0/amd64/ and download it via torrent or jigdo",
+  :iso_src => "http://mirror.i3d.net/pub/debian-cd/7.2.0/amd64/iso-cd/debian-7.2.0-amd64-netinst.iso",
   :iso_md5 => "b86774fe4de88be6378ba3d71b8029bd",
   :iso_download_timeout => "1000",
   :boot_wait => "10", :boot_cmd_sequence => [
@@ -29,7 +27,7 @@
      ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
@@ -47,6 +45,7 @@
     "ruby.sh",
     "puppet.sh",
     "chef.sh",
+    "systemd.sh",
     "cleanup-virtualbox.sh",
     "cleanup.sh",
     "zerodisk.sh"
diff --git a/templates/Debian-7.2.0-amd64-netboot/preseed.cfg b/templates/Debian-7.2-amd64-netboot/preseed.cfg
similarity index 100%
rename from templates/Debian-7.2.0-amd64-netboot/preseed.cfg
rename to templates/Debian-7.2-amd64-netboot/preseed.cfg
diff --git a/templates/Debian-7.2.0-amd64-netboot/puppet.sh b/templates/Debian-7.2-amd64-netboot/puppet.sh
similarity index 100%
rename from templates/Debian-7.2.0-amd64-netboot/puppet.sh
rename to templates/Debian-7.2-amd64-netboot/puppet.sh
diff --git a/templates/Debian-7.2.0-amd64-netboot/ruby.sh b/templates/Debian-7.2-amd64-netboot/ruby.sh
similarity index 100%
rename from templates/Debian-7.2.0-amd64-netboot/ruby.sh
rename to templates/Debian-7.2-amd64-netboot/ruby.sh
diff --git a/templates/Debian-7.2-amd64-netboot/systemd.sh b/templates/Debian-7.2-amd64-netboot/systemd.sh
new file mode 100644
index 00000000..2ac09634
--- /dev/null
+++ b/templates/Debian-7.2-amd64-netboot/systemd.sh
@@ -0,0 +1,22 @@
+if [ -f .veewee_params ]
+then
+  . .veewee_params
+fi
+
+# Default to not installing systemd
+if [ "$USE_SYSTEMD" = yes ]; then
+  apt-get install -y systemd
+
+  cat > /etc/default/grub << EOF
+# If you change this file, run 'update-grub' afterwards to update
+# /boot/grub/grub.cfg.
+
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=0
+GRUB_DISTRIBUTOR=Debian
+GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+GRUB_CMDLINE_LINUX="init=/lib/systemd/systemd debian-installer=en_US"
+EOF
+
+  update-grub
+fi
diff --git a/templates/Debian-7.2-amd64-netboot/vagrant.sh b/templates/Debian-7.2-amd64-netboot/vagrant.sh
new file mode 100644
index 00000000..822c40ac
--- /dev/null
+++ b/templates/Debian-7.2-amd64-netboot/vagrant.sh
@@ -0,0 +1,22 @@
+# Set up Vagrant.
+
+date > /etc/vagrant_box_build_time
+
+# Create the user vagrant with password vagrant
+useradd -G sudo -p $(perl -e'print crypt("vagrant", "vagrant")') -m -s /bin/bash -N vagrant
+
+# Install vagrant keys
+mkdir -pm 700 /home/vagrant/.ssh
+curl -fLo /home/vagrant/.ssh/authorized_keys \
+  'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' ||
+  exit $?
+chmod 0600 /home/vagrant/.ssh/authorized_keys
+chown -R vagrant:vagrant /home/vagrant/.ssh
+
+# Customize the message of the day
+echo 'Welcome to your Vagrant-built virtual machine.' > /var/run/motd
+
+# Install NFS client
+apt-get -y install nfs-common
+
+
diff --git a/templates/Debian-7.2.0-amd64-netboot/virtualbox.sh b/templates/Debian-7.2-amd64-netboot/virtualbox.sh
similarity index 100%
rename from templates/Debian-7.2.0-amd64-netboot/virtualbox.sh
rename to templates/Debian-7.2-amd64-netboot/virtualbox.sh
diff --git a/templates/Debian-7.2.0-amd64-netboot/vmfusion.sh b/templates/Debian-7.2-amd64-netboot/vmfusion.sh
similarity index 100%
rename from templates/Debian-7.2.0-amd64-netboot/vmfusion.sh
rename to templates/Debian-7.2-amd64-netboot/vmfusion.sh
diff --git a/templates/Debian-7.1.0-i386-netboot/zerodisk.sh b/templates/Debian-7.2-amd64-netboot/zerodisk.sh
similarity index 100%
rename from templates/Debian-7.1.0-i386-netboot/zerodisk.sh
rename to templates/Debian-7.2-amd64-netboot/zerodisk.sh
diff --git a/templates/Debian-7.2.0-i386-netboot/base.sh b/templates/Debian-7.2-i386-netboot/base.sh
similarity index 86%
rename from templates/Debian-7.2.0-i386-netboot/base.sh
rename to templates/Debian-7.2-i386-netboot/base.sh
index a5489f5a..07f877f7 100644
--- a/templates/Debian-7.2.0-i386-netboot/base.sh
+++ b/templates/Debian-7.2-i386-netboot/base.sh
@@ -1,4 +1,5 @@
 # Update the box
+export DEBIAN_FRONTEND=noninteractive
 apt-get -y update
 apt-get -y install linux-headers-$(uname -r) build-essential
 apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev
@@ -6,7 +7,7 @@ apt-get -y install curl unzip
 apt-get clean
 
 # Set up sudo
-echo 'vagrant ALL=NOPASSWD:ALL' > /etc/sudoers.d/vagrant
+echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant
 
 # Tweak sshd to prevent DNS resolution (speed up logins)
 echo 'UseDNS no' >> /etc/ssh/sshd_config
diff --git a/templates/Debian-7.4.0-i386-netboot/chef.sh b/templates/Debian-7.2-i386-netboot/chef.sh
similarity index 100%
rename from templates/Debian-7.4.0-i386-netboot/chef.sh
rename to templates/Debian-7.2-i386-netboot/chef.sh
diff --git a/templates/Debian-7.3.0-i386-netboot/cleanup-virtualbox.sh b/templates/Debian-7.2-i386-netboot/cleanup-virtualbox.sh
similarity index 100%
rename from templates/Debian-7.3.0-i386-netboot/cleanup-virtualbox.sh
rename to templates/Debian-7.2-i386-netboot/cleanup-virtualbox.sh
diff --git a/templates/Debian-7.4.0-i386-netboot/cleanup.sh b/templates/Debian-7.2-i386-netboot/cleanup.sh
similarity index 100%
rename from templates/Debian-7.4.0-i386-netboot/cleanup.sh
rename to templates/Debian-7.2-i386-netboot/cleanup.sh
diff --git a/templates/Debian-7.2.0-i386-netboot/definition.rb b/templates/Debian-7.2-i386-netboot/definition.rb
similarity index 83%
rename from templates/Debian-7.2.0-i386-netboot/definition.rb
rename to templates/Debian-7.2-i386-netboot/definition.rb
index fcbd2aa6..bd0578db 100644
--- a/templates/Debian-7.2.0-i386-netboot/definition.rb
+++ b/templates/Debian-7.2-i386-netboot/definition.rb
@@ -4,9 +4,7 @@
   :disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off',
   :os_type_id => 'Debian',
   :iso_file => "debian-7.2.0-i386-netinst.iso",
-  :iso_src => "",
-  :iso_download_instructions => "- You need to download this manually as the ISO is no longer directly downloadable.\n"+
-    "Visit http://cdimage.debian.org/cdimage/archive/7.2.0/i386/ and download it via torrent or jigdo",
+  :iso_src => "http://mirror.i3d.net/pub/debian-cd/7.2.0/i386/iso-cd/debian-7.2.0-i386-netinst.iso",
   :iso_md5 => "564282a81b5aef7015501e497fc63d81",
   :iso_download_timeout => "1000",
   :boot_wait => "10", :boot_cmd_sequence => [
@@ -27,7 +25,7 @@
      ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
@@ -45,6 +43,7 @@
     "ruby.sh",
     "puppet.sh",
     "chef.sh",
+    "systemd.sh",
     "cleanup-virtualbox.sh",
     "cleanup.sh",
     "zerodisk.sh"
diff --git a/templates/Debian-7.2.0-i386-netboot/preseed.cfg b/templates/Debian-7.2-i386-netboot/preseed.cfg
similarity index 100%
rename from templates/Debian-7.2.0-i386-netboot/preseed.cfg
rename to templates/Debian-7.2-i386-netboot/preseed.cfg
diff --git a/templates/Debian-7.2.0-i386-netboot/puppet.sh b/templates/Debian-7.2-i386-netboot/puppet.sh
similarity index 100%
rename from templates/Debian-7.2.0-i386-netboot/puppet.sh
rename to templates/Debian-7.2-i386-netboot/puppet.sh
diff --git a/templates/Debian-7.2.0-i386-netboot/ruby.sh b/templates/Debian-7.2-i386-netboot/ruby.sh
similarity index 100%
rename from templates/Debian-7.2.0-i386-netboot/ruby.sh
rename to templates/Debian-7.2-i386-netboot/ruby.sh
diff --git a/templates/Debian-7.2-i386-netboot/systemd.sh b/templates/Debian-7.2-i386-netboot/systemd.sh
new file mode 100644
index 00000000..2ac09634
--- /dev/null
+++ b/templates/Debian-7.2-i386-netboot/systemd.sh
@@ -0,0 +1,22 @@
+if [ -f .veewee_params ]
+then
+  . .veewee_params
+fi
+
+# Default to not installing systemd
+if [ "$USE_SYSTEMD" = yes ]; then
+  apt-get install -y systemd
+
+  cat > /etc/default/grub << EOF
+# If you change this file, run 'update-grub' afterwards to update
+# /boot/grub/grub.cfg.
+
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=0
+GRUB_DISTRIBUTOR=Debian
+GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+GRUB_CMDLINE_LINUX="init=/lib/systemd/systemd debian-installer=en_US"
+EOF
+
+  update-grub
+fi
diff --git a/templates/Debian-7.2-i386-netboot/vagrant.sh b/templates/Debian-7.2-i386-netboot/vagrant.sh
new file mode 100644
index 00000000..36c9a18a
--- /dev/null
+++ b/templates/Debian-7.2-i386-netboot/vagrant.sh
@@ -0,0 +1,24 @@
+# Set up Vagrant.
+
+date > /etc/vagrant_box_build_time
+
+# Add groups puppet and chef
+groupadd puppet
+groupadd chef
+
+# Create the user vagrant with password vagrant
+useradd -G sudo -p $(perl -e'print crypt("vagrant", "vagrant")') -m -s /bin/bash -N vagrant
+
+# Install vagrant keys
+mkdir -pm 700 /home/vagrant/.ssh
+curl -fLo /home/vagrant/.ssh/authorized_keys \
+  'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' ||
+  exit $?
+chmod 0600 /home/vagrant/.ssh/authorized_keys
+chown -R vagrant:vagrant /home/vagrant/.ssh
+
+# Customize the message of the day
+echo 'Welcome to your Vagrant-built virtual machine.' > /var/run/motd
+
+# Install NFS client
+apt-get -y install nfs-common
diff --git a/templates/Debian-7.2.0-i386-netboot/virtualbox.sh b/templates/Debian-7.2-i386-netboot/virtualbox.sh
similarity index 100%
rename from templates/Debian-7.2.0-i386-netboot/virtualbox.sh
rename to templates/Debian-7.2-i386-netboot/virtualbox.sh
diff --git a/templates/Debian-7.2.0-i386-netboot/vmfusion.sh b/templates/Debian-7.2-i386-netboot/vmfusion.sh
similarity index 100%
rename from templates/Debian-7.2.0-i386-netboot/vmfusion.sh
rename to templates/Debian-7.2-i386-netboot/vmfusion.sh
diff --git a/templates/Debian-7.2.0-amd64-netboot/zerodisk.sh b/templates/Debian-7.2-i386-netboot/zerodisk.sh
similarity index 100%
rename from templates/Debian-7.2.0-amd64-netboot/zerodisk.sh
rename to templates/Debian-7.2-i386-netboot/zerodisk.sh
diff --git a/templates/Debian-7.3-amd64-netboot/base.sh b/templates/Debian-7.3-amd64-netboot/base.sh
new file mode 100644
index 00000000..aec65ad2
--- /dev/null
+++ b/templates/Debian-7.3-amd64-netboot/base.sh
@@ -0,0 +1,26 @@
+# Update the box
+export DEBIAN_FRONTEND=noninteractive
+apt-get -y update
+apt-get -y install linux-headers-$(uname -r) build-essential
+apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev
+apt-get -y install curl unzip
+
+# Set up sudo
+echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant
+
+# Tweak sshd to prevent DNS resolution (speed up logins)
+echo 'UseDNS no' >> /etc/ssh/sshd_config
+
+# Remove 5s grub timeout to speed up booting
+cat < /etc/default/grub
+# If you change this file, run 'update-grub' afterwards to update
+# /boot/grub/grub.cfg.
+
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=0
+GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
+GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+GRUB_CMDLINE_LINUX="debian-installer=en_US"
+EOF
+
+update-grub
diff --git a/templates/Debian-7.3.0-amd64-netboot/chef.sh b/templates/Debian-7.3-amd64-netboot/chef.sh
similarity index 100%
rename from templates/Debian-7.3.0-amd64-netboot/chef.sh
rename to templates/Debian-7.3-amd64-netboot/chef.sh
diff --git a/templates/Debian-7.3-amd64-netboot/cleanup-virtualbox.sh b/templates/Debian-7.3-amd64-netboot/cleanup-virtualbox.sh
new file mode 100644
index 00000000..ccc6d5a6
--- /dev/null
+++ b/templates/Debian-7.3-amd64-netboot/cleanup-virtualbox.sh
@@ -0,0 +1,4 @@
+# Cleanup Virtualbox
+VBOX_VERSION=$(cat .vbox_version)
+VBOX_ISO=VBoxGuestAdditions_$VBOX_VERSION.iso
+rm $VBOX_ISO
diff --git a/templates/Debian-7.3.0-amd64-netboot/cleanup.sh b/templates/Debian-7.3-amd64-netboot/cleanup.sh
similarity index 100%
rename from templates/Debian-7.3.0-amd64-netboot/cleanup.sh
rename to templates/Debian-7.3-amd64-netboot/cleanup.sh
diff --git a/templates/Debian-7.3.0-amd64-netboot/definition.rb b/templates/Debian-7.3-amd64-netboot/definition.rb
similarity index 83%
rename from templates/Debian-7.3.0-amd64-netboot/definition.rb
rename to templates/Debian-7.3-amd64-netboot/definition.rb
index 483fbb2b..199ac2bd 100644
--- a/templates/Debian-7.3.0-amd64-netboot/definition.rb
+++ b/templates/Debian-7.3-amd64-netboot/definition.rb
@@ -6,9 +6,7 @@
   :disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off',
   :os_type_id => 'Debian_64',
   :iso_file => "debian-7.3.0-amd64-netinst.iso",
-  :iso_src => "",
-  :iso_download_instructions => "- You need to download this manually as the ISO is no longer directly downloadable.\n"+
-    "Visit http://cdimage.debian.org/cdimage/archive/7.3.0/amd64/ and download it via torrent or jigdo",
+  :iso_src => "http://mirror.i3d.net/pub/debian-cd/7.3.0/amd64/iso-cd/debian-7.3.0-amd64-netinst.iso",
   :iso_md5 => "72473e8a5e65b61acc7efde90d9f71d1",
   :iso_download_timeout => "1000",
   :boot_wait => "10", :boot_cmd_sequence => [
@@ -29,7 +27,7 @@
      ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
@@ -47,6 +45,7 @@
     "ruby.sh",
     "puppet.sh",
     "chef.sh",
+    "systemd.sh",
     "cleanup-virtualbox.sh",
     "cleanup.sh",
     "zerodisk.sh"
diff --git a/templates/Debian-7.3.0-amd64-netboot/preseed.cfg b/templates/Debian-7.3-amd64-netboot/preseed.cfg
similarity index 100%
rename from templates/Debian-7.3.0-amd64-netboot/preseed.cfg
rename to templates/Debian-7.3-amd64-netboot/preseed.cfg
diff --git a/templates/Debian-7.3.0-amd64-netboot/puppet.sh b/templates/Debian-7.3-amd64-netboot/puppet.sh
similarity index 100%
rename from templates/Debian-7.3.0-amd64-netboot/puppet.sh
rename to templates/Debian-7.3-amd64-netboot/puppet.sh
diff --git a/templates/Debian-7.3.0-amd64-netboot/ruby.sh b/templates/Debian-7.3-amd64-netboot/ruby.sh
similarity index 100%
rename from templates/Debian-7.3.0-amd64-netboot/ruby.sh
rename to templates/Debian-7.3-amd64-netboot/ruby.sh
diff --git a/templates/Debian-7.3-amd64-netboot/systemd.sh b/templates/Debian-7.3-amd64-netboot/systemd.sh
new file mode 100644
index 00000000..2ac09634
--- /dev/null
+++ b/templates/Debian-7.3-amd64-netboot/systemd.sh
@@ -0,0 +1,22 @@
+if [ -f .veewee_params ]
+then
+  . .veewee_params
+fi
+
+# Default to not installing systemd
+if [ "$USE_SYSTEMD" = yes ]; then
+  apt-get install -y systemd
+
+  cat > /etc/default/grub << EOF
+# If you change this file, run 'update-grub' afterwards to update
+# /boot/grub/grub.cfg.
+
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=0
+GRUB_DISTRIBUTOR=Debian
+GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+GRUB_CMDLINE_LINUX="init=/lib/systemd/systemd debian-installer=en_US"
+EOF
+
+  update-grub
+fi
diff --git a/templates/Debian-7.2.0-amd64-netboot/vagrant.sh b/templates/Debian-7.3-amd64-netboot/vagrant.sh
similarity index 100%
rename from templates/Debian-7.2.0-amd64-netboot/vagrant.sh
rename to templates/Debian-7.3-amd64-netboot/vagrant.sh
diff --git a/templates/Debian-7.3.0-amd64-netboot/virtualbox.sh b/templates/Debian-7.3-amd64-netboot/virtualbox.sh
similarity index 100%
rename from templates/Debian-7.3.0-amd64-netboot/virtualbox.sh
rename to templates/Debian-7.3-amd64-netboot/virtualbox.sh
diff --git a/templates/Debian-7.3.0-amd64-netboot/vmfusion.sh b/templates/Debian-7.3-amd64-netboot/vmfusion.sh
similarity index 100%
rename from templates/Debian-7.3.0-amd64-netboot/vmfusion.sh
rename to templates/Debian-7.3-amd64-netboot/vmfusion.sh
diff --git a/templates/Debian-7.2.0-i386-netboot/zerodisk.sh b/templates/Debian-7.3-amd64-netboot/zerodisk.sh
similarity index 100%
rename from templates/Debian-7.2.0-i386-netboot/zerodisk.sh
rename to templates/Debian-7.3-amd64-netboot/zerodisk.sh
diff --git a/templates/Debian-7.3-i386-netboot/base.sh b/templates/Debian-7.3-i386-netboot/base.sh
new file mode 100644
index 00000000..07f877f7
--- /dev/null
+++ b/templates/Debian-7.3-i386-netboot/base.sh
@@ -0,0 +1,27 @@
+# Update the box
+export DEBIAN_FRONTEND=noninteractive
+apt-get -y update
+apt-get -y install linux-headers-$(uname -r) build-essential
+apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev
+apt-get -y install curl unzip
+apt-get clean
+
+# Set up sudo
+echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant
+
+# Tweak sshd to prevent DNS resolution (speed up logins)
+echo 'UseDNS no' >> /etc/ssh/sshd_config
+
+# Remove 5s grub timeout to speed up booting
+cat < /etc/default/grub
+# If you change this file, run 'update-grub' afterwards to update
+# /boot/grub/grub.cfg.
+
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=0
+GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
+GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+GRUB_CMDLINE_LINUX="debian-installer=en_US"
+EOF
+
+update-grub
diff --git a/templates/Debian-7.5.0-i386-netboot/chef.sh b/templates/Debian-7.3-i386-netboot/chef.sh
similarity index 100%
rename from templates/Debian-7.5.0-i386-netboot/chef.sh
rename to templates/Debian-7.3-i386-netboot/chef.sh
diff --git a/templates/Debian-7.3-i386-netboot/cleanup-virtualbox.sh b/templates/Debian-7.3-i386-netboot/cleanup-virtualbox.sh
new file mode 100644
index 00000000..ccc6d5a6
--- /dev/null
+++ b/templates/Debian-7.3-i386-netboot/cleanup-virtualbox.sh
@@ -0,0 +1,4 @@
+# Cleanup Virtualbox
+VBOX_VERSION=$(cat .vbox_version)
+VBOX_ISO=VBoxGuestAdditions_$VBOX_VERSION.iso
+rm $VBOX_ISO
diff --git a/templates/Debian-7.5.0-i386-netboot/cleanup.sh b/templates/Debian-7.3-i386-netboot/cleanup.sh
similarity index 100%
rename from templates/Debian-7.5.0-i386-netboot/cleanup.sh
rename to templates/Debian-7.3-i386-netboot/cleanup.sh
diff --git a/templates/Debian-7.3.0-i386-netboot/definition.rb b/templates/Debian-7.3-i386-netboot/definition.rb
similarity index 83%
rename from templates/Debian-7.3.0-i386-netboot/definition.rb
rename to templates/Debian-7.3-i386-netboot/definition.rb
index 41069862..d48bb597 100644
--- a/templates/Debian-7.3.0-i386-netboot/definition.rb
+++ b/templates/Debian-7.3-i386-netboot/definition.rb
@@ -4,9 +4,7 @@
   :disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off',
   :os_type_id => 'Debian',
   :iso_file => "debian-7.3.0-i386-netinst.iso",
-  :iso_src => "",
-  :iso_download_instructions => "- You need to download this manually as the ISO is no longer directly downloadable.\n"+
-    "Visit http://cdimage.debian.org/cdimage/archive/7.3.0/i386/ and download it via torrent or jigdo",
+  :iso_src => "http://mirror.i3d.net/pub/debian-cd/7.3.0/i386/iso-cd/debian-7.3.0-i386-netinst.iso",
   :iso_md5 => "04c58f30744e64a0459caf7d7cace479",
   :iso_download_timeout => "1000",
   :boot_wait => "10", :boot_cmd_sequence => [
@@ -27,7 +25,7 @@
      ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
@@ -45,6 +43,7 @@
     "ruby.sh",
     "puppet.sh",
     "chef.sh",
+    "systemd.sh",
     "cleanup-virtualbox.sh",
     "cleanup.sh",
     "zerodisk.sh"
diff --git a/templates/Debian-7.3.0-i386-netboot/preseed.cfg b/templates/Debian-7.3-i386-netboot/preseed.cfg
similarity index 100%
rename from templates/Debian-7.3.0-i386-netboot/preseed.cfg
rename to templates/Debian-7.3-i386-netboot/preseed.cfg
diff --git a/templates/Debian-7.3.0-i386-netboot/puppet.sh b/templates/Debian-7.3-i386-netboot/puppet.sh
similarity index 100%
rename from templates/Debian-7.3.0-i386-netboot/puppet.sh
rename to templates/Debian-7.3-i386-netboot/puppet.sh
diff --git a/templates/Debian-7.3.0-i386-netboot/ruby.sh b/templates/Debian-7.3-i386-netboot/ruby.sh
similarity index 100%
rename from templates/Debian-7.3.0-i386-netboot/ruby.sh
rename to templates/Debian-7.3-i386-netboot/ruby.sh
diff --git a/templates/Debian-7.3-i386-netboot/systemd.sh b/templates/Debian-7.3-i386-netboot/systemd.sh
new file mode 100644
index 00000000..2ac09634
--- /dev/null
+++ b/templates/Debian-7.3-i386-netboot/systemd.sh
@@ -0,0 +1,22 @@
+if [ -f .veewee_params ]
+then
+  . .veewee_params
+fi
+
+# Default to not installing systemd
+if [ "$USE_SYSTEMD" = yes ]; then
+  apt-get install -y systemd
+
+  cat > /etc/default/grub << EOF
+# If you change this file, run 'update-grub' afterwards to update
+# /boot/grub/grub.cfg.
+
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=0
+GRUB_DISTRIBUTOR=Debian
+GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+GRUB_CMDLINE_LINUX="init=/lib/systemd/systemd debian-installer=en_US"
+EOF
+
+  update-grub
+fi
diff --git a/templates/Debian-7.2.0-i386-netboot/vagrant.sh b/templates/Debian-7.3-i386-netboot/vagrant.sh
similarity index 100%
rename from templates/Debian-7.2.0-i386-netboot/vagrant.sh
rename to templates/Debian-7.3-i386-netboot/vagrant.sh
diff --git a/templates/Debian-7.3.0-i386-netboot/virtualbox.sh b/templates/Debian-7.3-i386-netboot/virtualbox.sh
similarity index 100%
rename from templates/Debian-7.3.0-i386-netboot/virtualbox.sh
rename to templates/Debian-7.3-i386-netboot/virtualbox.sh
diff --git a/templates/Debian-7.3.0-i386-netboot/vmfusion.sh b/templates/Debian-7.3-i386-netboot/vmfusion.sh
similarity index 100%
rename from templates/Debian-7.3.0-i386-netboot/vmfusion.sh
rename to templates/Debian-7.3-i386-netboot/vmfusion.sh
diff --git a/templates/Debian-7.3.0-amd64-netboot/zerodisk.sh b/templates/Debian-7.3-i386-netboot/zerodisk.sh
similarity index 100%
rename from templates/Debian-7.3.0-amd64-netboot/zerodisk.sh
rename to templates/Debian-7.3-i386-netboot/zerodisk.sh
diff --git a/templates/Debian-7.4-amd64-netboot/base.sh b/templates/Debian-7.4-amd64-netboot/base.sh
new file mode 100644
index 00000000..aec65ad2
--- /dev/null
+++ b/templates/Debian-7.4-amd64-netboot/base.sh
@@ -0,0 +1,26 @@
+# Update the box
+export DEBIAN_FRONTEND=noninteractive
+apt-get -y update
+apt-get -y install linux-headers-$(uname -r) build-essential
+apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev
+apt-get -y install curl unzip
+
+# Set up sudo
+echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant
+
+# Tweak sshd to prevent DNS resolution (speed up logins)
+echo 'UseDNS no' >> /etc/ssh/sshd_config
+
+# Remove 5s grub timeout to speed up booting
+cat < /etc/default/grub
+# If you change this file, run 'update-grub' afterwards to update
+# /boot/grub/grub.cfg.
+
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=0
+GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
+GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+GRUB_CMDLINE_LINUX="debian-installer=en_US"
+EOF
+
+update-grub
diff --git a/templates/Debian-7.4.0-amd64-netboot/chef.sh b/templates/Debian-7.4-amd64-netboot/chef.sh
similarity index 100%
rename from templates/Debian-7.4.0-amd64-netboot/chef.sh
rename to templates/Debian-7.4-amd64-netboot/chef.sh
diff --git a/templates/Debian-7.4.0-amd64-netboot/cleanup.sh b/templates/Debian-7.4-amd64-netboot/cleanup.sh
similarity index 100%
rename from templates/Debian-7.4.0-amd64-netboot/cleanup.sh
rename to templates/Debian-7.4-amd64-netboot/cleanup.sh
diff --git a/templates/Debian-7.4.0-amd64-netboot/definition.rb b/templates/Debian-7.4-amd64-netboot/definition.rb
similarity index 83%
rename from templates/Debian-7.4.0-amd64-netboot/definition.rb
rename to templates/Debian-7.4-amd64-netboot/definition.rb
index b59458d9..bc0f3856 100644
--- a/templates/Debian-7.4.0-amd64-netboot/definition.rb
+++ b/templates/Debian-7.4-amd64-netboot/definition.rb
@@ -6,9 +6,7 @@
   :disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off',
   :os_type_id => 'Debian_64',
   :iso_file => "debian-7.4.0-amd64-netinst.iso",
-  :iso_src => "",
-  :iso_download_instructions => "- You need to download this manually as the ISO is no longer directly downloadable.\n"+
-    "Visit http://cdimage.debian.org/cdimage/archive/7.4.0/amd64/ and download it via torrent or jigdo",
+  :iso_src => "http://mirror.i3d.net/pub/debian-cd/7.4.0/amd64/iso-cd/debian-7.4.0-amd64-netinst.iso",
   :iso_md5 => "e7e9433973f082a297793c3c5010b2c5",
   :iso_download_timeout => "1000",
   :boot_wait => "10", :boot_cmd_sequence => [
@@ -29,7 +27,7 @@
      ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
@@ -47,6 +45,7 @@
     "ruby.sh",
     "puppet.sh",
     "chef.sh",
+    "systemd.sh",
     "cleanup.sh",
     "zerodisk.sh"
   ],
diff --git a/templates/Debian-7.4.0-amd64-netboot/preseed.cfg b/templates/Debian-7.4-amd64-netboot/preseed.cfg
similarity index 100%
rename from templates/Debian-7.4.0-amd64-netboot/preseed.cfg
rename to templates/Debian-7.4-amd64-netboot/preseed.cfg
diff --git a/templates/Debian-7.4.0-amd64-netboot/puppet.sh b/templates/Debian-7.4-amd64-netboot/puppet.sh
similarity index 100%
rename from templates/Debian-7.4.0-amd64-netboot/puppet.sh
rename to templates/Debian-7.4-amd64-netboot/puppet.sh
diff --git a/templates/Debian-7.4.0-amd64-netboot/ruby.sh b/templates/Debian-7.4-amd64-netboot/ruby.sh
similarity index 100%
rename from templates/Debian-7.4.0-amd64-netboot/ruby.sh
rename to templates/Debian-7.4-amd64-netboot/ruby.sh
diff --git a/templates/Debian-7.4-amd64-netboot/systemd.sh b/templates/Debian-7.4-amd64-netboot/systemd.sh
new file mode 100644
index 00000000..2ac09634
--- /dev/null
+++ b/templates/Debian-7.4-amd64-netboot/systemd.sh
@@ -0,0 +1,22 @@
+if [ -f .veewee_params ]
+then
+  . .veewee_params
+fi
+
+# Default to not installing systemd
+if [ "$USE_SYSTEMD" = yes ]; then
+  apt-get install -y systemd
+
+  cat > /etc/default/grub << EOF
+# If you change this file, run 'update-grub' afterwards to update
+# /boot/grub/grub.cfg.
+
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=0
+GRUB_DISTRIBUTOR=Debian
+GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+GRUB_CMDLINE_LINUX="init=/lib/systemd/systemd debian-installer=en_US"
+EOF
+
+  update-grub
+fi
diff --git a/templates/Debian-7.3.0-amd64-netboot/vagrant.sh b/templates/Debian-7.4-amd64-netboot/vagrant.sh
similarity index 100%
rename from templates/Debian-7.3.0-amd64-netboot/vagrant.sh
rename to templates/Debian-7.4-amd64-netboot/vagrant.sh
diff --git a/templates/Debian-7.4.0-amd64-netboot/virtualbox.sh b/templates/Debian-7.4-amd64-netboot/virtualbox.sh
similarity index 100%
rename from templates/Debian-7.4.0-amd64-netboot/virtualbox.sh
rename to templates/Debian-7.4-amd64-netboot/virtualbox.sh
diff --git a/templates/Debian-7.4.0-amd64-netboot/vmfusion.sh b/templates/Debian-7.4-amd64-netboot/vmfusion.sh
similarity index 100%
rename from templates/Debian-7.4.0-amd64-netboot/vmfusion.sh
rename to templates/Debian-7.4-amd64-netboot/vmfusion.sh
diff --git a/templates/Debian-7.3.0-i386-netboot/zerodisk.sh b/templates/Debian-7.4-amd64-netboot/zerodisk.sh
similarity index 100%
rename from templates/Debian-7.3.0-i386-netboot/zerodisk.sh
rename to templates/Debian-7.4-amd64-netboot/zerodisk.sh
diff --git a/templates/Debian-7.4-i386-netboot/base.sh b/templates/Debian-7.4-i386-netboot/base.sh
new file mode 100644
index 00000000..07f877f7
--- /dev/null
+++ b/templates/Debian-7.4-i386-netboot/base.sh
@@ -0,0 +1,27 @@
+# Update the box
+export DEBIAN_FRONTEND=noninteractive
+apt-get -y update
+apt-get -y install linux-headers-$(uname -r) build-essential
+apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev
+apt-get -y install curl unzip
+apt-get clean
+
+# Set up sudo
+echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant
+
+# Tweak sshd to prevent DNS resolution (speed up logins)
+echo 'UseDNS no' >> /etc/ssh/sshd_config
+
+# Remove 5s grub timeout to speed up booting
+cat < /etc/default/grub
+# If you change this file, run 'update-grub' afterwards to update
+# /boot/grub/grub.cfg.
+
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=0
+GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
+GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+GRUB_CMDLINE_LINUX="debian-installer=en_US"
+EOF
+
+update-grub
diff --git a/templates/Debian-7.6.0-i386-netboot/chef.sh b/templates/Debian-7.4-i386-netboot/chef.sh
similarity index 100%
rename from templates/Debian-7.6.0-i386-netboot/chef.sh
rename to templates/Debian-7.4-i386-netboot/chef.sh
diff --git a/templates/Debian-7.6.0-i386-netboot/cleanup.sh b/templates/Debian-7.4-i386-netboot/cleanup.sh
similarity index 100%
rename from templates/Debian-7.6.0-i386-netboot/cleanup.sh
rename to templates/Debian-7.4-i386-netboot/cleanup.sh
diff --git a/templates/Debian-7.4.0-i386-netboot/definition.rb b/templates/Debian-7.4-i386-netboot/definition.rb
similarity index 82%
rename from templates/Debian-7.4.0-i386-netboot/definition.rb
rename to templates/Debian-7.4-i386-netboot/definition.rb
index 84b99718..4a814b66 100644
--- a/templates/Debian-7.4.0-i386-netboot/definition.rb
+++ b/templates/Debian-7.4-i386-netboot/definition.rb
@@ -4,9 +4,7 @@
   :disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off',
   :os_type_id => 'Debian',
   :iso_file => "debian-7.4.0-i386-netinst.iso",
-  :iso_src => "",
-  :iso_download_instructions => "- You need to download this manually as the ISO is no longer directly downloadable.\n"+
-    "Visit http://cdimage.debian.org/cdimage/archive/7.4.0/i386/ and download it via torrent or jigdo",
+  :iso_src => "http://mirror.i3d.net/pub/debian-cd/7.4.0/i386/iso-cd/debian-7.4.0-i386-netinst.iso",
   :iso_md5 => "7339b668a81b417ac023d73739dc6a03",
   :iso_download_timeout => "1000",
   :boot_wait => "10", :boot_cmd_sequence => [
@@ -27,7 +25,7 @@
      ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
@@ -45,6 +43,7 @@
     "ruby.sh",
     "puppet.sh",
     "chef.sh",
+    "systemd.sh",
     "cleanup.sh",
     "zerodisk.sh"
   ],
diff --git a/templates/Debian-7.4.0-i386-netboot/preseed.cfg b/templates/Debian-7.4-i386-netboot/preseed.cfg
similarity index 100%
rename from templates/Debian-7.4.0-i386-netboot/preseed.cfg
rename to templates/Debian-7.4-i386-netboot/preseed.cfg
diff --git a/templates/Debian-7.4.0-i386-netboot/puppet.sh b/templates/Debian-7.4-i386-netboot/puppet.sh
similarity index 100%
rename from templates/Debian-7.4.0-i386-netboot/puppet.sh
rename to templates/Debian-7.4-i386-netboot/puppet.sh
diff --git a/templates/Debian-7.4.0-i386-netboot/ruby.sh b/templates/Debian-7.4-i386-netboot/ruby.sh
similarity index 100%
rename from templates/Debian-7.4.0-i386-netboot/ruby.sh
rename to templates/Debian-7.4-i386-netboot/ruby.sh
diff --git a/templates/Debian-7.4-i386-netboot/systemd.sh b/templates/Debian-7.4-i386-netboot/systemd.sh
new file mode 100644
index 00000000..2ac09634
--- /dev/null
+++ b/templates/Debian-7.4-i386-netboot/systemd.sh
@@ -0,0 +1,22 @@
+if [ -f .veewee_params ]
+then
+  . .veewee_params
+fi
+
+# Default to not installing systemd
+if [ "$USE_SYSTEMD" = yes ]; then
+  apt-get install -y systemd
+
+  cat > /etc/default/grub << EOF
+# If you change this file, run 'update-grub' afterwards to update
+# /boot/grub/grub.cfg.
+
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=0
+GRUB_DISTRIBUTOR=Debian
+GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+GRUB_CMDLINE_LINUX="init=/lib/systemd/systemd debian-installer=en_US"
+EOF
+
+  update-grub
+fi
diff --git a/templates/Debian-7.3.0-i386-netboot/vagrant.sh b/templates/Debian-7.4-i386-netboot/vagrant.sh
similarity index 100%
rename from templates/Debian-7.3.0-i386-netboot/vagrant.sh
rename to templates/Debian-7.4-i386-netboot/vagrant.sh
diff --git a/templates/Debian-7.4.0-i386-netboot/virtualbox.sh b/templates/Debian-7.4-i386-netboot/virtualbox.sh
similarity index 100%
rename from templates/Debian-7.4.0-i386-netboot/virtualbox.sh
rename to templates/Debian-7.4-i386-netboot/virtualbox.sh
diff --git a/templates/Debian-7.4.0-i386-netboot/vmfusion.sh b/templates/Debian-7.4-i386-netboot/vmfusion.sh
similarity index 100%
rename from templates/Debian-7.4.0-i386-netboot/vmfusion.sh
rename to templates/Debian-7.4-i386-netboot/vmfusion.sh
diff --git a/templates/Debian-7.4.0-amd64-netboot/zerodisk.sh b/templates/Debian-7.4-i386-netboot/zerodisk.sh
similarity index 100%
rename from templates/Debian-7.4.0-amd64-netboot/zerodisk.sh
rename to templates/Debian-7.4-i386-netboot/zerodisk.sh
diff --git a/templates/Debian-7.3.0-amd64-netboot/base.sh b/templates/Debian-7.5-amd64-netboot/base.sh
similarity index 91%
rename from templates/Debian-7.3.0-amd64-netboot/base.sh
rename to templates/Debian-7.5-amd64-netboot/base.sh
index 351daed9..e3642f1c 100644
--- a/templates/Debian-7.3.0-amd64-netboot/base.sh
+++ b/templates/Debian-7.5-amd64-netboot/base.sh
@@ -5,7 +5,7 @@ apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev
 apt-get -y install curl unzip
 
 # Set up sudo
-echo 'vagrant ALL=NOPASSWD:ALL' > /etc/sudoers.d/vagrant
+echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant
 
 # Tweak sshd to prevent DNS resolution (speed up logins)
 echo 'UseDNS no' >> /etc/ssh/sshd_config
diff --git a/templates/Debian-7.5.0-amd64-netboot/chef.sh b/templates/Debian-7.5-amd64-netboot/chef.sh
similarity index 100%
rename from templates/Debian-7.5.0-amd64-netboot/chef.sh
rename to templates/Debian-7.5-amd64-netboot/chef.sh
diff --git a/templates/Debian-7.5.0-amd64-netboot/cleanup.sh b/templates/Debian-7.5-amd64-netboot/cleanup.sh
similarity index 100%
rename from templates/Debian-7.5.0-amd64-netboot/cleanup.sh
rename to templates/Debian-7.5-amd64-netboot/cleanup.sh
diff --git a/templates/Debian-7.5.0-amd64-netboot/definition.rb b/templates/Debian-7.5-amd64-netboot/definition.rb
similarity index 83%
rename from templates/Debian-7.5.0-amd64-netboot/definition.rb
rename to templates/Debian-7.5-amd64-netboot/definition.rb
index 448cf481..9145fb02 100644
--- a/templates/Debian-7.5.0-amd64-netboot/definition.rb
+++ b/templates/Debian-7.5-amd64-netboot/definition.rb
@@ -6,9 +6,7 @@
   :disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off',
   :os_type_id => 'Debian_64',
   :iso_file => "debian-7.5.0-amd64-netinst.iso",
-  :iso_src => "",
-  :iso_download_instructions => "- You need to download this manually as the ISO is no longer directly downloadable.\n"+
-    "Visit http://cdimage.debian.org/cdimage/archive/7.5.0/amd64/ and download it via torrent or jigdo",
+  :iso_src => "http://mirror.i3d.net/pub/debian-cd/7.5.0/amd64/iso-cd/debian-7.5.0-amd64-netinst.iso",
   :iso_md5 => "8fdb6715228ea90faba58cb84644d296",
   :iso_download_timeout => "1000",
   :boot_wait => "10", :boot_cmd_sequence => [
@@ -29,7 +27,7 @@
      ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
@@ -47,6 +45,7 @@
     "ruby.sh",
     "puppet.sh",
     "chef.sh",
+    "systemd.sh",
     "cleanup.sh",
     "zerodisk.sh"
   ],
diff --git a/templates/Debian-7.5.0-amd64-netboot/preseed.cfg b/templates/Debian-7.5-amd64-netboot/preseed.cfg
similarity index 100%
rename from templates/Debian-7.5.0-amd64-netboot/preseed.cfg
rename to templates/Debian-7.5-amd64-netboot/preseed.cfg
diff --git a/templates/Debian-7.5.0-amd64-netboot/puppet.sh b/templates/Debian-7.5-amd64-netboot/puppet.sh
similarity index 100%
rename from templates/Debian-7.5.0-amd64-netboot/puppet.sh
rename to templates/Debian-7.5-amd64-netboot/puppet.sh
diff --git a/templates/Debian-7.5.0-amd64-netboot/ruby.sh b/templates/Debian-7.5-amd64-netboot/ruby.sh
similarity index 100%
rename from templates/Debian-7.5.0-amd64-netboot/ruby.sh
rename to templates/Debian-7.5-amd64-netboot/ruby.sh
diff --git a/templates/Debian-7.5-amd64-netboot/systemd.sh b/templates/Debian-7.5-amd64-netboot/systemd.sh
new file mode 100644
index 00000000..2ac09634
--- /dev/null
+++ b/templates/Debian-7.5-amd64-netboot/systemd.sh
@@ -0,0 +1,22 @@
+if [ -f .veewee_params ]
+then
+  . .veewee_params
+fi
+
+# Default to not installing systemd
+if [ "$USE_SYSTEMD" = yes ]; then
+  apt-get install -y systemd
+
+  cat > /etc/default/grub << EOF
+# If you change this file, run 'update-grub' afterwards to update
+# /boot/grub/grub.cfg.
+
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=0
+GRUB_DISTRIBUTOR=Debian
+GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+GRUB_CMDLINE_LINUX="init=/lib/systemd/systemd debian-installer=en_US"
+EOF
+
+  update-grub
+fi
diff --git a/templates/Debian-7.4.0-amd64-netboot/vagrant.sh b/templates/Debian-7.5-amd64-netboot/vagrant.sh
similarity index 100%
rename from templates/Debian-7.4.0-amd64-netboot/vagrant.sh
rename to templates/Debian-7.5-amd64-netboot/vagrant.sh
diff --git a/templates/Debian-7.5.0-amd64-netboot/virtualbox.sh b/templates/Debian-7.5-amd64-netboot/virtualbox.sh
similarity index 83%
rename from templates/Debian-7.5.0-amd64-netboot/virtualbox.sh
rename to templates/Debian-7.5-amd64-netboot/virtualbox.sh
index 1ee4acf1..4dad6492 100644
--- a/templates/Debian-7.5.0-amd64-netboot/virtualbox.sh
+++ b/templates/Debian-7.5-amd64-netboot/virtualbox.sh
@@ -32,4 +32,6 @@ if test -f .vbox_version ; then
 
   rm $VBOX_ISO
 
+  # Symlink vbox guest additions. Fix for https://github.com/mitchellh/vagrant/issues/3341
+  ln -s /opt/VBoxGuestAdditions-$VBOX_VERSION/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions
 fi
diff --git a/templates/Debian-7.5.0-amd64-netboot/vmfusion.sh b/templates/Debian-7.5-amd64-netboot/vmfusion.sh
similarity index 100%
rename from templates/Debian-7.5.0-amd64-netboot/vmfusion.sh
rename to templates/Debian-7.5-amd64-netboot/vmfusion.sh
diff --git a/templates/Debian-7.4.0-i386-netboot/zerodisk.sh b/templates/Debian-7.5-amd64-netboot/zerodisk.sh
similarity index 100%
rename from templates/Debian-7.4.0-i386-netboot/zerodisk.sh
rename to templates/Debian-7.5-amd64-netboot/zerodisk.sh
diff --git a/templates/Debian-7.1.0-i386-netboot/base.sh b/templates/Debian-7.5-i386-netboot/base.sh
similarity index 91%
rename from templates/Debian-7.1.0-i386-netboot/base.sh
rename to templates/Debian-7.5-i386-netboot/base.sh
index a5489f5a..0dbd0803 100644
--- a/templates/Debian-7.1.0-i386-netboot/base.sh
+++ b/templates/Debian-7.5-i386-netboot/base.sh
@@ -6,7 +6,7 @@ apt-get -y install curl unzip
 apt-get clean
 
 # Set up sudo
-echo 'vagrant ALL=NOPASSWD:ALL' > /etc/sudoers.d/vagrant
+echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant
 
 # Tweak sshd to prevent DNS resolution (speed up logins)
 echo 'UseDNS no' >> /etc/ssh/sshd_config
diff --git a/templates/Debian-7.5-i386-netboot/chef.sh b/templates/Debian-7.5-i386-netboot/chef.sh
new file mode 100644
index 00000000..76bfa5f3
--- /dev/null
+++ b/templates/Debian-7.5-i386-netboot/chef.sh
@@ -0,0 +1,2 @@
+# Install Chef
+gem install chef --no-ri --no-rdoc
diff --git a/templates/Debian-7.5-i386-netboot/cleanup.sh b/templates/Debian-7.5-i386-netboot/cleanup.sh
new file mode 100644
index 00000000..bf8a6192
--- /dev/null
+++ b/templates/Debian-7.5-i386-netboot/cleanup.sh
@@ -0,0 +1,17 @@
+# Clean up
+apt-get -y remove linux-headers-$(uname -r) build-essential
+apt-get -y autoremove
+
+# Removing leftover leases and persistent rules
+echo "cleaning up dhcp leases"
+rm /var/lib/dhcp/*
+
+# Make sure Udev doesn't block our network
+echo "cleaning up udev rules"
+rm /etc/udev/rules.d/70-persistent-net.rules
+mkdir /etc/udev/rules.d/70-persistent-net.rules
+rm -rf /dev/.udev/
+rm /lib/udev/rules.d/75-persistent-net-generator.rules
+
+echo "Adding a 2 sec delay to the interface up, to make the dhclient happy"
+echo "pre-up sleep 2" >> /etc/network/interfaces
diff --git a/templates/Debian-7.5.0-i386-netboot/definition.rb b/templates/Debian-7.5-i386-netboot/definition.rb
similarity index 82%
rename from templates/Debian-7.5.0-i386-netboot/definition.rb
rename to templates/Debian-7.5-i386-netboot/definition.rb
index b4734152..f76b9460 100644
--- a/templates/Debian-7.5.0-i386-netboot/definition.rb
+++ b/templates/Debian-7.5-i386-netboot/definition.rb
@@ -4,9 +4,7 @@
   :disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off',
   :os_type_id => 'Debian',
   :iso_file => "debian-7.5.0-i386-netinst.iso",
-  :iso_src => "",
-  :iso_download_instructions => "- You need to download this manually as the ISO is no longer directly downloadable.\n"+
-    "Visit http://cdimage.debian.org/cdimage/archive/7.5.0/i386/ and download it via torrent or jigdo",
+  :iso_src => "http://mirror.i3d.net/pub/debian-cd/7.5.0/i386/iso-cd/debian-7.5.0-i386-netinst.iso",
   :iso_md5 => "0e6eaacb5a5828473afe90f6df9c8f16",
   :iso_download_timeout => "1000",
   :boot_wait => "10", :boot_cmd_sequence => [
@@ -27,7 +25,7 @@
      ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
@@ -45,6 +43,7 @@
     "ruby.sh",
     "puppet.sh",
     "chef.sh",
+    "systemd.sh",
     "cleanup.sh",
     "zerodisk.sh"
   ],
diff --git a/templates/Debian-7.5.0-i386-netboot/preseed.cfg b/templates/Debian-7.5-i386-netboot/preseed.cfg
similarity index 100%
rename from templates/Debian-7.5.0-i386-netboot/preseed.cfg
rename to templates/Debian-7.5-i386-netboot/preseed.cfg
diff --git a/templates/Debian-7.5.0-i386-netboot/puppet.sh b/templates/Debian-7.5-i386-netboot/puppet.sh
similarity index 100%
rename from templates/Debian-7.5.0-i386-netboot/puppet.sh
rename to templates/Debian-7.5-i386-netboot/puppet.sh
diff --git a/templates/Debian-7.5.0-i386-netboot/ruby.sh b/templates/Debian-7.5-i386-netboot/ruby.sh
similarity index 100%
rename from templates/Debian-7.5.0-i386-netboot/ruby.sh
rename to templates/Debian-7.5-i386-netboot/ruby.sh
diff --git a/templates/Debian-7.5-i386-netboot/systemd.sh b/templates/Debian-7.5-i386-netboot/systemd.sh
new file mode 100644
index 00000000..2ac09634
--- /dev/null
+++ b/templates/Debian-7.5-i386-netboot/systemd.sh
@@ -0,0 +1,22 @@
+if [ -f .veewee_params ]
+then
+  . .veewee_params
+fi
+
+# Default to not installing systemd
+if [ "$USE_SYSTEMD" = yes ]; then
+  apt-get install -y systemd
+
+  cat > /etc/default/grub << EOF
+# If you change this file, run 'update-grub' afterwards to update
+# /boot/grub/grub.cfg.
+
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=0
+GRUB_DISTRIBUTOR=Debian
+GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+GRUB_CMDLINE_LINUX="init=/lib/systemd/systemd debian-installer=en_US"
+EOF
+
+  update-grub
+fi
diff --git a/templates/Debian-7.4.0-i386-netboot/vagrant.sh b/templates/Debian-7.5-i386-netboot/vagrant.sh
similarity index 100%
rename from templates/Debian-7.4.0-i386-netboot/vagrant.sh
rename to templates/Debian-7.5-i386-netboot/vagrant.sh
diff --git a/templates/Debian-7.6.0-i386-netboot/virtualbox.sh b/templates/Debian-7.5-i386-netboot/virtualbox.sh
similarity index 84%
rename from templates/Debian-7.6.0-i386-netboot/virtualbox.sh
rename to templates/Debian-7.5-i386-netboot/virtualbox.sh
index 961d9d12..c8e37c20 100644
--- a/templates/Debian-7.6.0-i386-netboot/virtualbox.sh
+++ b/templates/Debian-7.5-i386-netboot/virtualbox.sh
@@ -33,4 +33,6 @@ if test -f .vbox_version ; then
   # Implement old cleanup-virtualbox.sh
   rm $VBOX_ISO
 
+  # Symlink vbox guest additions. Fix for https://github.com/mitchellh/vagrant/issues/3341
+  ln -s /opt/VBoxGuestAdditions-$VBOX_VERSION/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions
 fi
diff --git a/templates/Debian-7.5.0-i386-netboot/vmfusion.sh b/templates/Debian-7.5-i386-netboot/vmfusion.sh
similarity index 100%
rename from templates/Debian-7.5.0-i386-netboot/vmfusion.sh
rename to templates/Debian-7.5-i386-netboot/vmfusion.sh
diff --git a/templates/Debian-7.5.0-amd64-netboot/zerodisk.sh b/templates/Debian-7.5-i386-netboot/zerodisk.sh
similarity index 100%
rename from templates/Debian-7.5.0-amd64-netboot/zerodisk.sh
rename to templates/Debian-7.5-i386-netboot/zerodisk.sh
diff --git a/templates/Debian-7.5.0-amd64-netboot/base.sh b/templates/Debian-7.5.0-amd64-netboot/base.sh
deleted file mode 100644
index 351daed9..00000000
--- a/templates/Debian-7.5.0-amd64-netboot/base.sh
+++ /dev/null
@@ -1,25 +0,0 @@
-# Update the box
-apt-get -y update
-apt-get -y install linux-headers-$(uname -r) build-essential
-apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev
-apt-get -y install curl unzip
-
-# Set up sudo
-echo 'vagrant ALL=NOPASSWD:ALL' > /etc/sudoers.d/vagrant
-
-# Tweak sshd to prevent DNS resolution (speed up logins)
-echo 'UseDNS no' >> /etc/ssh/sshd_config
-
-# Remove 5s grub timeout to speed up booting
-cat < /etc/default/grub
-# If you change this file, run 'update-grub' afterwards to update
-# /boot/grub/grub.cfg.
-
-GRUB_DEFAULT=0
-GRUB_TIMEOUT=0
-GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
-GRUB_CMDLINE_LINUX_DEFAULT="quiet"
-GRUB_CMDLINE_LINUX="debian-installer=en_US"
-EOF
-
-update-grub
diff --git a/templates/Debian-7.5.0-i386-netboot/base.sh b/templates/Debian-7.5.0-i386-netboot/base.sh
deleted file mode 100644
index a5489f5a..00000000
--- a/templates/Debian-7.5.0-i386-netboot/base.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-# Update the box
-apt-get -y update
-apt-get -y install linux-headers-$(uname -r) build-essential
-apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev
-apt-get -y install curl unzip
-apt-get clean
-
-# Set up sudo
-echo 'vagrant ALL=NOPASSWD:ALL' > /etc/sudoers.d/vagrant
-
-# Tweak sshd to prevent DNS resolution (speed up logins)
-echo 'UseDNS no' >> /etc/ssh/sshd_config
-
-# Remove 5s grub timeout to speed up booting
-cat < /etc/default/grub
-# If you change this file, run 'update-grub' afterwards to update
-# /boot/grub/grub.cfg.
-
-GRUB_DEFAULT=0
-GRUB_TIMEOUT=0
-GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
-GRUB_CMDLINE_LINUX_DEFAULT="quiet"
-GRUB_CMDLINE_LINUX="debian-installer=en_US"
-EOF
-
-update-grub
diff --git a/templates/Debian-7.1.0-amd64-netboot/base.sh b/templates/Debian-7.6-amd64-netboot/base.sh
similarity index 91%
rename from templates/Debian-7.1.0-amd64-netboot/base.sh
rename to templates/Debian-7.6-amd64-netboot/base.sh
index 351daed9..e3642f1c 100644
--- a/templates/Debian-7.1.0-amd64-netboot/base.sh
+++ b/templates/Debian-7.6-amd64-netboot/base.sh
@@ -5,7 +5,7 @@ apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev
 apt-get -y install curl unzip
 
 # Set up sudo
-echo 'vagrant ALL=NOPASSWD:ALL' > /etc/sudoers.d/vagrant
+echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant
 
 # Tweak sshd to prevent DNS resolution (speed up logins)
 echo 'UseDNS no' >> /etc/ssh/sshd_config
diff --git a/templates/Debian-7.6.0-amd64-netboot/chef.sh b/templates/Debian-7.6-amd64-netboot/chef.sh
similarity index 100%
rename from templates/Debian-7.6.0-amd64-netboot/chef.sh
rename to templates/Debian-7.6-amd64-netboot/chef.sh
diff --git a/templates/Debian-7.6.0-amd64-netboot/cleanup.sh b/templates/Debian-7.6-amd64-netboot/cleanup.sh
similarity index 100%
rename from templates/Debian-7.6.0-amd64-netboot/cleanup.sh
rename to templates/Debian-7.6-amd64-netboot/cleanup.sh
diff --git a/templates/Debian-7.6.0-amd64-netboot/definition.rb b/templates/Debian-7.6-amd64-netboot/definition.rb
similarity index 93%
rename from templates/Debian-7.6.0-amd64-netboot/definition.rb
rename to templates/Debian-7.6-amd64-netboot/definition.rb
index 81907c2c..13935525 100644
--- a/templates/Debian-7.6.0-amd64-netboot/definition.rb
+++ b/templates/Debian-7.6-amd64-netboot/definition.rb
@@ -6,7 +6,7 @@
   :disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off',
   :os_type_id => 'Debian_64',
   :iso_file => "debian-7.6.0-amd64-netinst.iso",
-  :iso_src => "http://cdimage.debian.org/debian-cd/7.6.0/amd64/iso-cd/debian-7.6.0-amd64-netinst.iso",
+  :iso_src => "http://mirror.i3d.net/pub/debian-cd/7.6.0/amd64/iso-cd/debian-7.6.0-amd64-netinst.iso",
   :iso_md5 => "8a3c2ad7fd7a9c4c7e9bcb5cae38c135",
   :iso_download_timeout => "1000",
   :boot_wait => "10", :boot_cmd_sequence => [
@@ -27,7 +27,7 @@
      ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/Debian-7.6.0-amd64-netboot/preseed.cfg b/templates/Debian-7.6-amd64-netboot/preseed.cfg
similarity index 100%
rename from templates/Debian-7.6.0-amd64-netboot/preseed.cfg
rename to templates/Debian-7.6-amd64-netboot/preseed.cfg
diff --git a/templates/Debian-7.6.0-amd64-netboot/puppet.sh b/templates/Debian-7.6-amd64-netboot/puppet.sh
similarity index 100%
rename from templates/Debian-7.6.0-amd64-netboot/puppet.sh
rename to templates/Debian-7.6-amd64-netboot/puppet.sh
diff --git a/templates/Debian-7.6.0-amd64-netboot/ruby.sh b/templates/Debian-7.6-amd64-netboot/ruby.sh
similarity index 100%
rename from templates/Debian-7.6.0-amd64-netboot/ruby.sh
rename to templates/Debian-7.6-amd64-netboot/ruby.sh
diff --git a/templates/Debian-7.5.0-amd64-netboot/vagrant.sh b/templates/Debian-7.6-amd64-netboot/vagrant.sh
similarity index 100%
rename from templates/Debian-7.5.0-amd64-netboot/vagrant.sh
rename to templates/Debian-7.6-amd64-netboot/vagrant.sh
diff --git a/templates/Debian-7.6.0-amd64-netboot/virtualbox.sh b/templates/Debian-7.6-amd64-netboot/virtualbox.sh
similarity index 83%
rename from templates/Debian-7.6.0-amd64-netboot/virtualbox.sh
rename to templates/Debian-7.6-amd64-netboot/virtualbox.sh
index 1ee4acf1..4dad6492 100644
--- a/templates/Debian-7.6.0-amd64-netboot/virtualbox.sh
+++ b/templates/Debian-7.6-amd64-netboot/virtualbox.sh
@@ -32,4 +32,6 @@ if test -f .vbox_version ; then
 
   rm $VBOX_ISO
 
+  # Symlink vbox guest additions. Fix for https://github.com/mitchellh/vagrant/issues/3341
+  ln -s /opt/VBoxGuestAdditions-$VBOX_VERSION/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions
 fi
diff --git a/templates/Debian-7.6.0-amd64-netboot/vmfusion.sh b/templates/Debian-7.6-amd64-netboot/vmfusion.sh
similarity index 100%
rename from templates/Debian-7.6.0-amd64-netboot/vmfusion.sh
rename to templates/Debian-7.6-amd64-netboot/vmfusion.sh
diff --git a/templates/Debian-7.5.0-i386-netboot/zerodisk.sh b/templates/Debian-7.6-amd64-netboot/zerodisk.sh
similarity index 100%
rename from templates/Debian-7.5.0-i386-netboot/zerodisk.sh
rename to templates/Debian-7.6-amd64-netboot/zerodisk.sh
diff --git a/templates/Debian-7.3.0-i386-netboot/base.sh b/templates/Debian-7.6-i386-netboot/base.sh
similarity index 91%
rename from templates/Debian-7.3.0-i386-netboot/base.sh
rename to templates/Debian-7.6-i386-netboot/base.sh
index a5489f5a..0dbd0803 100644
--- a/templates/Debian-7.3.0-i386-netboot/base.sh
+++ b/templates/Debian-7.6-i386-netboot/base.sh
@@ -6,7 +6,7 @@ apt-get -y install curl unzip
 apt-get clean
 
 # Set up sudo
-echo 'vagrant ALL=NOPASSWD:ALL' > /etc/sudoers.d/vagrant
+echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant
 
 # Tweak sshd to prevent DNS resolution (speed up logins)
 echo 'UseDNS no' >> /etc/ssh/sshd_config
diff --git a/templates/Debian-7.6-i386-netboot/chef.sh b/templates/Debian-7.6-i386-netboot/chef.sh
new file mode 100644
index 00000000..76bfa5f3
--- /dev/null
+++ b/templates/Debian-7.6-i386-netboot/chef.sh
@@ -0,0 +1,2 @@
+# Install Chef
+gem install chef --no-ri --no-rdoc
diff --git a/templates/Debian-7.6-i386-netboot/cleanup.sh b/templates/Debian-7.6-i386-netboot/cleanup.sh
new file mode 100644
index 00000000..bf8a6192
--- /dev/null
+++ b/templates/Debian-7.6-i386-netboot/cleanup.sh
@@ -0,0 +1,17 @@
+# Clean up
+apt-get -y remove linux-headers-$(uname -r) build-essential
+apt-get -y autoremove
+
+# Removing leftover leases and persistent rules
+echo "cleaning up dhcp leases"
+rm /var/lib/dhcp/*
+
+# Make sure Udev doesn't block our network
+echo "cleaning up udev rules"
+rm /etc/udev/rules.d/70-persistent-net.rules
+mkdir /etc/udev/rules.d/70-persistent-net.rules
+rm -rf /dev/.udev/
+rm /lib/udev/rules.d/75-persistent-net-generator.rules
+
+echo "Adding a 2 sec delay to the interface up, to make the dhclient happy"
+echo "pre-up sleep 2" >> /etc/network/interfaces
diff --git a/templates/Debian-7.6.0-i386-netboot/definition.rb b/templates/Debian-7.6-i386-netboot/definition.rb
similarity index 93%
rename from templates/Debian-7.6.0-i386-netboot/definition.rb
rename to templates/Debian-7.6-i386-netboot/definition.rb
index 8e8047ce..7f9a7aaf 100644
--- a/templates/Debian-7.6.0-i386-netboot/definition.rb
+++ b/templates/Debian-7.6-i386-netboot/definition.rb
@@ -4,7 +4,7 @@
   :disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off',
   :os_type_id => 'Debian',
   :iso_file => "debian-7.6.0-i386-netinst.iso",
-  :iso_src => "http://cdimage.debian.org/debian-cd/7.6.0/i386/iso-cd/debian-7.6.0-i386-netinst.iso",
+  :iso_src => "http://mirror.i3d.net/pub/debian-cd/7.6.0/i386/iso-cd/debian-7.6.0-i386-netinst.iso",
   :iso_md5 => "528e1a7315da1bbf50bd4d187880a519",
   :iso_download_timeout => "1000",
   :boot_wait => "10", :boot_cmd_sequence => [
@@ -25,7 +25,7 @@
      ''
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file => "preseed.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/Debian-7.6.0-i386-netboot/preseed.cfg b/templates/Debian-7.6-i386-netboot/preseed.cfg
similarity index 100%
rename from templates/Debian-7.6.0-i386-netboot/preseed.cfg
rename to templates/Debian-7.6-i386-netboot/preseed.cfg
diff --git a/templates/Debian-7.6.0-i386-netboot/puppet.sh b/templates/Debian-7.6-i386-netboot/puppet.sh
similarity index 100%
rename from templates/Debian-7.6.0-i386-netboot/puppet.sh
rename to templates/Debian-7.6-i386-netboot/puppet.sh
diff --git a/templates/Debian-7.6.0-i386-netboot/ruby.sh b/templates/Debian-7.6-i386-netboot/ruby.sh
similarity index 100%
rename from templates/Debian-7.6.0-i386-netboot/ruby.sh
rename to templates/Debian-7.6-i386-netboot/ruby.sh
diff --git a/templates/Debian-7.5.0-i386-netboot/vagrant.sh b/templates/Debian-7.6-i386-netboot/vagrant.sh
similarity index 100%
rename from templates/Debian-7.5.0-i386-netboot/vagrant.sh
rename to templates/Debian-7.6-i386-netboot/vagrant.sh
diff --git a/templates/Debian-7.5.0-i386-netboot/virtualbox.sh b/templates/Debian-7.6-i386-netboot/virtualbox.sh
similarity index 84%
rename from templates/Debian-7.5.0-i386-netboot/virtualbox.sh
rename to templates/Debian-7.6-i386-netboot/virtualbox.sh
index 961d9d12..c8e37c20 100644
--- a/templates/Debian-7.5.0-i386-netboot/virtualbox.sh
+++ b/templates/Debian-7.6-i386-netboot/virtualbox.sh
@@ -33,4 +33,6 @@ if test -f .vbox_version ; then
   # Implement old cleanup-virtualbox.sh
   rm $VBOX_ISO
 
+  # Symlink vbox guest additions. Fix for https://github.com/mitchellh/vagrant/issues/3341
+  ln -s /opt/VBoxGuestAdditions-$VBOX_VERSION/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions
 fi
diff --git a/templates/Debian-7.6.0-i386-netboot/vmfusion.sh b/templates/Debian-7.6-i386-netboot/vmfusion.sh
similarity index 100%
rename from templates/Debian-7.6.0-i386-netboot/vmfusion.sh
rename to templates/Debian-7.6-i386-netboot/vmfusion.sh
diff --git a/templates/Debian-7.6.0-amd64-netboot/zerodisk.sh b/templates/Debian-7.6-i386-netboot/zerodisk.sh
similarity index 100%
rename from templates/Debian-7.6.0-amd64-netboot/zerodisk.sh
rename to templates/Debian-7.6-i386-netboot/zerodisk.sh
diff --git a/templates/Debian-7.6.0-amd64-netboot/base.sh b/templates/Debian-7.6.0-amd64-netboot/base.sh
deleted file mode 100644
index 351daed9..00000000
--- a/templates/Debian-7.6.0-amd64-netboot/base.sh
+++ /dev/null
@@ -1,25 +0,0 @@
-# Update the box
-apt-get -y update
-apt-get -y install linux-headers-$(uname -r) build-essential
-apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev
-apt-get -y install curl unzip
-
-# Set up sudo
-echo 'vagrant ALL=NOPASSWD:ALL' > /etc/sudoers.d/vagrant
-
-# Tweak sshd to prevent DNS resolution (speed up logins)
-echo 'UseDNS no' >> /etc/ssh/sshd_config
-
-# Remove 5s grub timeout to speed up booting
-cat < /etc/default/grub
-# If you change this file, run 'update-grub' afterwards to update
-# /boot/grub/grub.cfg.
-
-GRUB_DEFAULT=0
-GRUB_TIMEOUT=0
-GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
-GRUB_CMDLINE_LINUX_DEFAULT="quiet"
-GRUB_CMDLINE_LINUX="debian-installer=en_US"
-EOF
-
-update-grub
diff --git a/templates/Debian-7.6.0-i386-netboot/base.sh b/templates/Debian-7.6.0-i386-netboot/base.sh
deleted file mode 100644
index a5489f5a..00000000
--- a/templates/Debian-7.6.0-i386-netboot/base.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-# Update the box
-apt-get -y update
-apt-get -y install linux-headers-$(uname -r) build-essential
-apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev
-apt-get -y install curl unzip
-apt-get clean
-
-# Set up sudo
-echo 'vagrant ALL=NOPASSWD:ALL' > /etc/sudoers.d/vagrant
-
-# Tweak sshd to prevent DNS resolution (speed up logins)
-echo 'UseDNS no' >> /etc/ssh/sshd_config
-
-# Remove 5s grub timeout to speed up booting
-cat < /etc/default/grub
-# If you change this file, run 'update-grub' afterwards to update
-# /boot/grub/grub.cfg.
-
-GRUB_DEFAULT=0
-GRUB_TIMEOUT=0
-GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
-GRUB_CMDLINE_LINUX_DEFAULT="quiet"
-GRUB_CMDLINE_LINUX="debian-installer=en_US"
-EOF
-
-update-grub
diff --git a/templates/Debian-7.2.0-amd64-netboot/base.sh b/templates/Debian-7.7-amd64-netboot/base.sh
similarity index 91%
rename from templates/Debian-7.2.0-amd64-netboot/base.sh
rename to templates/Debian-7.7-amd64-netboot/base.sh
index 351daed9..e3642f1c 100644
--- a/templates/Debian-7.2.0-amd64-netboot/base.sh
+++ b/templates/Debian-7.7-amd64-netboot/base.sh
@@ -5,7 +5,7 @@ apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev
 apt-get -y install curl unzip
 
 # Set up sudo
-echo 'vagrant ALL=NOPASSWD:ALL' > /etc/sudoers.d/vagrant
+echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant
 
 # Tweak sshd to prevent DNS resolution (speed up logins)
 echo 'UseDNS no' >> /etc/ssh/sshd_config
diff --git a/templates/Debian-7.7-amd64-netboot/chef.sh b/templates/Debian-7.7-amd64-netboot/chef.sh
new file mode 100644
index 00000000..cd119586
--- /dev/null
+++ b/templates/Debian-7.7-amd64-netboot/chef.sh
@@ -0,0 +1,49 @@
+if [ -f .veewee_params ]
+then
+  . .veewee_params
+fi
+
+# Default to Gem install
+if [ -z "$CHEF_INSTALLMETHOD" ]; then
+  export CHEF_INSTALLMETHOD="gems"
+fi
+
+# Installing chef
+case $CHEF_INSTALLMETHOD in
+  "gems")
+    # Using gems
+    if [ -z "$CHEF_VERSION" ]; then
+      # Default to latest
+      gem install chef --no-ri --no-rdoc
+    else
+      gem install chef --no-ri --no-rdoc --version $CHEF_VERSION
+    fi
+    ;;
+
+  "omnibus")
+    # Using omnibus
+    if [ -z "$CHEF_VERSION" ]; then
+      # Default to latest
+      wget -O - http://opscode.com/chef/install.sh | sudo bash -s
+    else
+      wget -O - http://opscode.com/chef/install.sh | sudo bash -s -- -v $CHEF_VERSION
+    fi
+    ;;
+
+  "package")
+    # Using packages
+    apt-get install -y debconf-utils
+    echo "chef    chef/chef_server_url    string  $CHEF_SERVER_URL" | debconf-set-selections
+    if [ -z "$CHEF_VERSION" ]; then
+      # Default to latest
+      apt-get install -y chef
+    else
+      apt-get install -y chef=$CHEF_VERSION
+    fi
+    ;;
+
+  *)
+    echo "Unsupported method for installing chef"
+    exit -1
+    ;;
+esac
diff --git a/templates/Debian-7.7-amd64-netboot/cleanup.sh b/templates/Debian-7.7-amd64-netboot/cleanup.sh
new file mode 100644
index 00000000..f6953e16
--- /dev/null
+++ b/templates/Debian-7.7-amd64-netboot/cleanup.sh
@@ -0,0 +1,18 @@
+# Clean up
+apt-get -y remove linux-headers-$(uname -r) build-essential
+apt-get -y autoremove
+apt-get -y clean
+
+# Removing leftover leases and persistent rules
+echo "cleaning up dhcp leases"
+rm /var/lib/dhcp/*
+
+# Make sure Udev doesn't block our network
+echo "cleaning up udev rules"
+rm /etc/udev/rules.d/70-persistent-net.rules
+mkdir /etc/udev/rules.d/70-persistent-net.rules
+rm -rf /dev/.udev/
+rm /lib/udev/rules.d/75-persistent-net-generator.rules
+
+echo "Adding a 2 sec delay to the interface up, to make the dhclient happy"
+echo "pre-up sleep 2" >> /etc/network/interfaces
diff --git a/templates/Debian-7.7-amd64-netboot/definition.rb b/templates/Debian-7.7-amd64-netboot/definition.rb
new file mode 100644
index 00000000..f2a27671
--- /dev/null
+++ b/templates/Debian-7.7-amd64-netboot/definition.rb
@@ -0,0 +1,52 @@
+#Thanks to Fletcher Nichol - https://github.com/fnichol
+
+Veewee::Definition.declare({
+  :cpu_count => '1',
+  :memory_size=> '256',
+  :disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off',
+  :os_type_id => 'Debian_64',
+  :iso_file => "debian-7.7.0-amd64-netinst.iso",
+  :iso_src => "http://cdimage.debian.org/cdimage/archive/7.7.0/amd64/iso-cd/debian-7.7.0-amd64-netinst.iso",
+  :iso_md5 => "0b31bccccb048d20b551f70830bb7ad0",
+  :iso_download_timeout => "1000",
+  :boot_wait => "10", :boot_cmd_sequence => [
+     '',
+     'install ',
+     'preseed/url=http://%IP%:%PORT%/preseed.cfg ',
+     'debian-installer=en_US ',
+     'auto ',
+     'locale=en_US ',
+     'kbd-chooser/method=us ',
+     'netcfg/get_hostname=%NAME% ',
+     'netcfg/get_domain=vagrantup.com ',
+     'fb=false ',
+     'debconf/frontend=noninteractive ',
+     'console-setup/ask_detect=false ',
+     'console-keymaps-at/keymap=us ',
+     'keyboard-configuration/xkb-keymap=us ',
+     ''
+  ],
+  :kickstart_port => "7122",
+  :kickstart_timeout => "300",
+  :kickstart_file => "preseed.cfg",
+  :ssh_login_timeout => "10000",
+  :ssh_user => "vagrant",
+  :ssh_password => "vagrant",
+  :ssh_key => "",
+  :ssh_host_port => "7222",
+  :ssh_guest_port => "22",
+  :sudo_cmd => "echo '%p'|sudo -S bash '%f'",
+  :shutdown_cmd => "halt -p",
+  :postinstall_files => [
+    "base.sh",
+    "vagrant.sh",
+    "virtualbox.sh",
+    #"vmfusion.sh",
+    "ruby.sh",
+    "puppet.sh",
+    "chef.sh",
+    "cleanup.sh",
+    "zerodisk.sh"
+  ],
+  :postinstall_timeout => "10000"
+})
diff --git a/templates/Debian-7.7-amd64-netboot/preseed.cfg b/templates/Debian-7.7-amd64-netboot/preseed.cfg
new file mode 100644
index 00000000..97d00769
--- /dev/null
+++ b/templates/Debian-7.7-amd64-netboot/preseed.cfg
@@ -0,0 +1,313 @@
+#### Contents of the preconfiguration file (for wheezy)
+### Localization
+# Locale sets language and country.
+d-i debian-installer/locale string en_US.UTF-8
+
+# Keyboard selection.
+#d-i keymap select us
+d-i keyboard-configuration/xkb-keymap select us
+
+### Network configuration
+# netcfg will choose an interface that has link if possible. This makes it
+# skip displaying a list if there is more than one interface.
+d-i netcfg/choose_interface select auto
+
+# To pick a particular interface instead:
+#d-i netcfg/choose_interface select eth1
+
+# If you have a slow dhcp server and the installer times out waiting for
+# it, this might be useful.
+#d-i netcfg/dhcp_timeout string 60
+
+# If you prefer to configure the network manually, uncomment this line and
+# the static network configuration below.
+#d-i netcfg/disable_dhcp boolean true
+
+# If you want the preconfiguration file to work on systems both with and
+# without a dhcp server, uncomment these lines and the static network
+# configuration below.
+#d-i netcfg/dhcp_failed note
+#d-i netcfg/dhcp_options select Configure network manually
+
+# Static network configuration.
+#d-i netcfg/get_nameservers string 192.168.1.1
+#d-i netcfg/get_ipaddress string 192.168.1.42
+#d-i netcfg/get_netmask string 255.255.255.0
+#d-i netcfg/get_gateway string 192.168.1.1
+#d-i netcfg/confirm_static boolean true
+
+# Any hostname and domain names assigned from dhcp take precedence over
+# values set here. However, setting the values still prevents the questions
+# from being shown, even if values come from dhcp.
+#d-i netcfg/get_hostname string vagrant
+d-i netcfg/get_domain string vagrantup.com
+
+# Disable that annoying WEP key dialog.
+d-i netcfg/wireless_wep string
+# The wacky dhcp hostname that some ISPs use as a password of sorts.
+#d-i netcfg/dhcp_hostname string radish
+
+# If non-free firmware is needed for the network or other hardware, you can
+# configure the installer to always try to load it, without prompting. Or
+# change to false to disable asking.
+#d-i hw-detect/load_firmware boolean true
+
+### Network console
+# Use the following settings if you wish to make use of the network-console
+# component for remote installation over SSH. This only makes sense if you
+# intend to perform the remainder of the installation manually.
+#d-i anna/choose_modules string network-console
+#d-i network-console/password password r00tme
+#d-i network-console/password-again password r00tme
+
+### Mirror settings
+# If you select ftp, the mirror/country string does not need to be set.
+#d-i mirror/protocol string ftp
+d-i mirror/country string manual
+d-i mirror/http/hostname string http.debian.net
+d-i mirror/http/directory string /debian
+d-i mirror/http/proxy string
+
+# Suite to install.
+#d-i mirror/suite string testing
+# Suite to use for loading installer components (optional).
+#d-i mirror/udeb/suite string testing
+
+### Clock and time zone setup
+# Controls whether or not the hardware clock is set to UTC.
+d-i clock-setup/utc boolean true
+
+# You may set this to any valid setting for $TZ; see the contents of
+# /usr/share/zoneinfo/ for valid values.
+d-i time/zone string UTC
+
+# Controls whether to use NTP to set the clock during the install
+d-i clock-setup/ntp boolean true
+# NTP server to use. The default is almost always fine here.
+#d-i clock-setup/ntp-server string ntp.example.com
+
+### Partitioning
+# If the system has free space you can choose to only partition that space.
+#d-i partman-auto/init_automatically_partition select biggest_free
+
+# Alternatively, you can specify a disk to partition. The device name must
+# be given in traditional non-devfs format.
+# Note: A disk must be specified, unless the system has only one disk.
+# For example, to use the first SCSI/SATA hard disk:
+#d-i partman-auto/disk string /dev/sda
+# In addition, you'll need to specify the method to use.
+# The presently available methods are: "regular", "lvm" and "crypto"
+d-i partman-auto/method string lvm
+
+# If one of the disks that are going to be automatically partitioned
+# contains an old LVM configuration, the user will normally receive a
+# warning. This can be preseeded away...
+d-i partman-lvm/device_remove_lvm boolean true
+# The same applies to pre-existing software RAID array:
+d-i partman-md/device_remove_md boolean true
+
+# And the same goes for the confirmation to write the lvm partitions.
+d-i partman-lvm/confirm boolean true
+d-i partman-lvm/confirm_nooverwrite boolean true
+
+
+d-i partman/choose_partition select finish
+d-i partman-auto-lvm/guided_size string max
+
+# You can choose one of the three predefined partitioning recipes:
+# - atomic: all files in one partition
+# - home:   separate /home partition
+# - multi:  separate /home, /usr, /var, and /tmp partitions
+d-i partman-auto/choose_recipe select atomic
+d-i partman/default_filesystem string ext3
+
+# Or provide a recipe of your own...
+# The recipe format is documented in the file devel/partman-auto-recipe.txt.
+# If you have a way to get a recipe file into the d-i environment, you can
+# just point at it.
+#d-i partman-auto/expert_recipe_file string /hd-media/recipe
+
+# If not, you can put an entire recipe into the preconfiguration file in one
+# (logical) line. This example creates a small /boot partition, suitable
+# swap, and uses the rest of the space for the root partition:
+#d-i partman-auto/expert_recipe string                         \
+#      boot-root ::                                            \
+#              40 50 100 ext3                                  \
+#                      $primary{ } $bootable{ }                \
+#                      method{ format } format{ }              \
+#                      use_filesystem{ } filesystem{ ext3 }    \
+#                      mountpoint{ /boot }                     \
+#              .                                               \
+#              500 10000 1000000000 ext3                       \
+#                      method{ format } format{ }              \
+#                      use_filesystem{ } filesystem{ ext3 }    \
+#                      mountpoint{ / }                         \
+#              .                                               \
+#              64 512 300% linux-swap                          \
+#                      method{ swap } format{ }                \
+#              .
+
+#The preseed line that "selects finish" needs to be in a certain order in your preseed, the example-preseed does not follow this.
+#http://ubuntuforums.org/archive/index.php/t-1504045.html
+
+# This makes partman automatically partition without confirmation, provided
+# that you told it what to do using one of the methods above.
+d-i partman/confirm_write_new_label boolean true
+d-i partman/confirm boolean true
+d-i partman/confirm_nooverwrite boolean true
+
+
+### Base system installation
+# Select the initramfs generator used to generate the initrd for 2.6 kernels.
+#d-i base-installer/kernel/linux/initramfs-generators string yaird
+
+# The kernel image (meta) package to be installed; "none" can be used if no
+# kernel is to be installed.
+#d-i base-installer/kernel/image string linux-image-2.6-486
+
+### Account setup
+# Skip creation of a root account (normal user account will be able to
+# use sudo).
+d-i passwd/root-login boolean false
+# Alternatively, to skip creation of a normal user account.
+#d-i passwd/make-user boolean false
+
+# Root password, either in clear text
+d-i passwd/root-password password vagrant
+d-i passwd/root-password-again password vagrant
+# or encrypted using an MD5 hash.
+#d-i passwd/root-password-crypted password [MD5 hash]
+
+# To create a normal user account.
+d-i passwd/user-fullname string Vagrant User
+d-i passwd/username string vagrant
+# Normal user's password, either in clear text
+d-i passwd/user-password password vagrant
+d-i passwd/user-password-again password vagrant
+# or encrypted using an MD5 hash.
+#d-i passwd/user-password-crypted password [MD5 hash]
+# Create the first user with the specified UID instead of the default.
+#d-i passwd/user-uid string 1010
+d-i user-setup/encrypt-home boolean false
+d-i user-setup/allow-password-weak boolean true
+
+# The user account will be added to some standard initial groups. To
+# override that, use this.
+d-i passwd/user-default-groups string audio cdrom video admin
+
+### Apt setup
+# You can choose to install non-free and contrib software.
+#d-i apt-setup/non-free boolean true
+#d-i apt-setup/contrib boolean true
+# Uncomment this if you don't want to use a network mirror.
+#d-i apt-setup/use_mirror boolean false
+# Select which update services to use; define the mirrors to be used.
+# Values shown below are the normal defaults.
+#d-i apt-setup/services-select multiselect security, volatile
+#d-i apt-setup/security_host string security.debian.org
+#d-i apt-setup/volatile_host string volatile.debian.org
+
+
+# By default the installer requires that repositories be authenticated
+# using a known gpg key. This setting can be used to disable that
+# authentication. Warning: Insecure, not recommended.
+#d-i debian-installer/allow_unauthenticated string true
+
+### Package selection
+tasksel tasksel/first multiselect standard
+# If the desktop task is selected, install the kde and xfce desktops
+# instead of the default gnome desktop.
+#tasksel tasksel/desktop multiselect kde, xfce
+
+# Individual additional packages to install
+d-i pkgsel/include string openssh-server ntp acpid  sudo bzip2 rsync
+
+# Whether to upgrade packages after debootstrap.
+# Allowed values: none, safe-upgrade, full-upgrade
+d-i pkgsel/upgrade select none
+
+# Some versions of the installer can report back on what software you have
+# installed, and what software you use. The default is not to report back,
+# but sending reports helps the project determine what software is most
+# popular and include it on CDs.
+popularity-contest popularity-contest/participate boolean false
+
+### Boot loader installation
+# Grub is the default boot loader (for x86). If you want lilo installed
+# instead, uncomment this:
+#d-i grub-installer/skip boolean true
+# To also skip installing lilo, and install no bootloader, uncomment this
+# too:
+#d-i lilo-installer/skip boolean true
+
+# This is fairly safe to set, it makes grub install automatically to the MBR
+# if no other operating system is detected on the machine.
+d-i grub-installer/only_debian boolean true
+
+# This one makes grub-installer install to the MBR if it also finds some other
+# OS, which is less safe as it might not be able to boot that other OS.
+d-i grub-installer/with_other_os boolean true
+
+# Alternatively, if you want to install to a location other than the mbr,
+# uncomment and edit these lines:
+#d-i grub-installer/only_debian boolean false
+#d-i grub-installer/with_other_os boolean false
+#d-i grub-installer/bootdev  string (hd0,0)
+# To install grub to multiple disks:
+#d-i grub-installer/bootdev  string (hd0,0) (hd1,0) (hd2,0)
+
+# Optional password for grub, either in clear text
+#d-i grub-installer/password password r00tme
+#d-i grub-installer/password-again password r00tme
+# or encrypted using an MD5 hash, see grub-md5-crypt(8).
+#d-i grub-installer/password-crypted password [MD5 hash]
+
+### Finishing up the installation
+# During installations from serial console, the regular virtual consoles
+# (VT1-VT6) are normally disabled in /etc/inittab. Uncomment the next
+# line to prevent this.
+#d-i finish-install/keep-consoles boolean true
+
+# Avoid that last message about the install being complete.
+d-i finish-install/reboot_in_progress note
+
+# This will prevent the installer from ejecting the CD during the reboot,
+# which is useful in some situations.
+#d-i cdrom-detect/eject boolean false
+
+# This is how to make the installer shutdown when finished, but not
+# reboot into the installed system.
+#d-i debian-installer/exit/halt boolean true
+# This will power off the machine instead of just halting it.
+#d-i debian-installer/exit/poweroff boolean true
+
+### Preseeding other packages
+# Depending on what software you choose to install, or if things go wrong
+# during the installation process, it's possible that other questions may
+# be asked. You can preseed those too, of course. To get a list of every
+# possible question that could be asked during an install, do an
+# installation, and then run these commands:
+#   debconf-get-selections --installer > file
+#   debconf-get-selections >> file
+
+
+#### Advanced options
+### Running custom commands during the installation
+# d-i preseeding is inherently not secure. Nothing in the installer checks
+# for attempts at buffer overflows or other exploits of the values of a
+# preconfiguration file like this one. Only use preconfiguration files from
+# trusted locations! To drive that home, and because it's generally useful,
+# here's a way to run any shell command you'd like inside the installer,
+# automatically.
+
+# This first command is run as early as possible, just after
+# preseeding is read.
+# Prevent packaged version of VirtualBox Guest Additions being installed:
+d-i preseed/early_command string sed -i \
+  '/in-target/idiscover(){/sbin/discover|grep -v VirtualBox;}' \
+  /usr/lib/pre-pkgsel.d/20install-hwpackages
+
+# This command is run just before the install finishes, but when there is
+# still a usable /target directory. You can chroot to /target and use it
+# directly, or use the apt-install and in-target commands to easily install
+# packages and run commands in the target system.
diff --git a/templates/Debian-7.7-amd64-netboot/puppet.sh b/templates/Debian-7.7-amd64-netboot/puppet.sh
new file mode 100644
index 00000000..107b2361
--- /dev/null
+++ b/templates/Debian-7.7-amd64-netboot/puppet.sh
@@ -0,0 +1,7 @@
+# Prepare puppetlabs repo
+wget http://apt.puppetlabs.com/puppetlabs-release-wheezy.deb
+dpkg -i puppetlabs-release-wheezy.deb
+apt-get update
+
+# Install puppet/facter
+apt-get install -y puppet facter
diff --git a/templates/Debian-7.7-amd64-netboot/ruby.sh b/templates/Debian-7.7-amd64-netboot/ruby.sh
new file mode 100644
index 00000000..e44d60d2
--- /dev/null
+++ b/templates/Debian-7.7-amd64-netboot/ruby.sh
@@ -0,0 +1,10 @@
+# Install Ruby from packages
+apt-get -y install ruby ruby-dev libopenssl-ruby1.8 irb ri rdoc
+
+# Install Rubygems from source
+rg_ver=1.8.22
+curl -o /tmp/rubygems-${rg_ver}.zip \
+  "http://production.cf.rubygems.org/rubygems/rubygems-${rg_ver}.zip"
+(cd /tmp && unzip rubygems-${rg_ver}.zip && \
+  cd rubygems-${rg_ver} && ruby setup.rb --no-format-executable)
+rm -rf /tmp/rubygems-${rg_ver} /tmp/rubygems-${rg_ver}.zip
diff --git a/templates/Debian-7.6.0-amd64-netboot/vagrant.sh b/templates/Debian-7.7-amd64-netboot/vagrant.sh
similarity index 100%
rename from templates/Debian-7.6.0-amd64-netboot/vagrant.sh
rename to templates/Debian-7.7-amd64-netboot/vagrant.sh
diff --git a/templates/Debian-7.7-amd64-netboot/virtualbox.sh b/templates/Debian-7.7-amd64-netboot/virtualbox.sh
new file mode 100644
index 00000000..4dad6492
--- /dev/null
+++ b/templates/Debian-7.7-amd64-netboot/virtualbox.sh
@@ -0,0 +1,37 @@
+if test -f .vbox_version ; then
+  # The netboot installs the VirtualBox support (old) so we have to remove it
+  if test -f /etc/init.d/virtualbox-ose-guest-utils ; then
+    /etc/init.d/virtualbox-ose-guest-utils stop
+  fi
+
+  rmmod vboxguest
+  aptitude -y purge virtualbox-ose-guest-x11 virtualbox-ose-guest-dkms virtualbox-ose-guest-utils
+
+  # Install dkms for dynamic compiles
+
+  apt-get install -y dkms
+
+  # If libdbus is not installed, virtualbox will not autostart
+  apt-get -y install --no-install-recommends libdbus-1-3
+
+  # Install the VirtualBox guest additions
+  VBOX_VERSION=$(cat .vbox_version)
+  VBOX_ISO=VBoxGuestAdditions_$VBOX_VERSION.iso
+  mount -o loop $VBOX_ISO /mnt
+  yes|sh /mnt/VBoxLinuxAdditions.run
+  umount /mnt
+
+  # Start the newly build driver
+  /etc/init.d/vboxadd start
+
+  # Make a temporary mount point
+  mkdir /tmp/veewee-validation
+
+  # Test mount the veewee-validation
+  mount -t vboxsf veewee-validation /tmp/veewee-validation
+
+  rm $VBOX_ISO
+
+  # Symlink vbox guest additions. Fix for https://github.com/mitchellh/vagrant/issues/3341
+  ln -s /opt/VBoxGuestAdditions-$VBOX_VERSION/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions
+fi
diff --git a/templates/Debian-7.7-amd64-netboot/vmfusion.sh b/templates/Debian-7.7-amd64-netboot/vmfusion.sh
new file mode 100644
index 00000000..3ced7e44
--- /dev/null
+++ b/templates/Debian-7.7-amd64-netboot/vmfusion.sh
@@ -0,0 +1,7 @@
+cd /tmp
+mkdir -p /mnt/cdrom
+mount -o loop /home/vagrant/linux.iso /mnt/cdrom
+tar zxvf /mnt/cdrom/VMwareTools-*.tar.gz -C /tmp/
+/tmp/vmware-tools-distrib/vmware-install.pl -d
+rm /home/vagrant/linux.iso
+umount /mnt/cdrom
diff --git a/templates/Debian-7.6.0-i386-netboot/zerodisk.sh b/templates/Debian-7.7-amd64-netboot/zerodisk.sh
similarity index 100%
rename from templates/Debian-7.6.0-i386-netboot/zerodisk.sh
rename to templates/Debian-7.7-amd64-netboot/zerodisk.sh
diff --git a/templates/Debian-7/7.10.yml b/templates/Debian-7/7.10.yml
new file mode 100644
index 00000000..5b11ee24
--- /dev/null
+++ b/templates/Debian-7/7.10.yml
@@ -0,0 +1,5 @@
+---
+:os_type_id: Debian_64
+:iso_file: debian-7.10.0-amd64-netinst.iso
+:iso_src: http://cdimage.debian.org/cdimage/archive/7.10.0/amd64/iso-cd/debian-7.10.0-amd64-netinst.iso
+:iso_md5: 7b6e0ec52a8290b2746fe8707c20815c
diff --git a/templates/Debian-7/7.9.yml b/templates/Debian-7/7.9.yml
new file mode 100644
index 00000000..9160919e
--- /dev/null
+++ b/templates/Debian-7/7.9.yml
@@ -0,0 +1,5 @@
+---
+:os_type_id: Debian_64
+:iso_file: debian-7.9.0-amd64-netinst.iso
+:iso_src: http://cdimage.debian.org/cdimage/archive/7.9.0/amd64/iso-cd/debian-7.9.0-amd64-netinst.iso
+:iso_md5: 774d1fc8c5364e63b22242c33a89c1a3
diff --git a/templates/Debian-7.4.0-amd64-netboot/base.sh b/templates/Debian-7/base.sh
similarity index 91%
rename from templates/Debian-7.4.0-amd64-netboot/base.sh
rename to templates/Debian-7/base.sh
index 351daed9..e3642f1c 100644
--- a/templates/Debian-7.4.0-amd64-netboot/base.sh
+++ b/templates/Debian-7/base.sh
@@ -5,7 +5,7 @@ apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev
 apt-get -y install curl unzip
 
 # Set up sudo
-echo 'vagrant ALL=NOPASSWD:ALL' > /etc/sudoers.d/vagrant
+echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant
 
 # Tweak sshd to prevent DNS resolution (speed up logins)
 echo 'UseDNS no' >> /etc/ssh/sshd_config
diff --git a/templates/Debian-7/chef.sh b/templates/Debian-7/chef.sh
new file mode 100644
index 00000000..cd119586
--- /dev/null
+++ b/templates/Debian-7/chef.sh
@@ -0,0 +1,49 @@
+if [ -f .veewee_params ]
+then
+  . .veewee_params
+fi
+
+# Default to Gem install
+if [ -z "$CHEF_INSTALLMETHOD" ]; then
+  export CHEF_INSTALLMETHOD="gems"
+fi
+
+# Installing chef
+case $CHEF_INSTALLMETHOD in
+  "gems")
+    # Using gems
+    if [ -z "$CHEF_VERSION" ]; then
+      # Default to latest
+      gem install chef --no-ri --no-rdoc
+    else
+      gem install chef --no-ri --no-rdoc --version $CHEF_VERSION
+    fi
+    ;;
+
+  "omnibus")
+    # Using omnibus
+    if [ -z "$CHEF_VERSION" ]; then
+      # Default to latest
+      wget -O - http://opscode.com/chef/install.sh | sudo bash -s
+    else
+      wget -O - http://opscode.com/chef/install.sh | sudo bash -s -- -v $CHEF_VERSION
+    fi
+    ;;
+
+  "package")
+    # Using packages
+    apt-get install -y debconf-utils
+    echo "chef    chef/chef_server_url    string  $CHEF_SERVER_URL" | debconf-set-selections
+    if [ -z "$CHEF_VERSION" ]; then
+      # Default to latest
+      apt-get install -y chef
+    else
+      apt-get install -y chef=$CHEF_VERSION
+    fi
+    ;;
+
+  *)
+    echo "Unsupported method for installing chef"
+    exit -1
+    ;;
+esac
diff --git a/templates/Debian-7/cleanup.sh b/templates/Debian-7/cleanup.sh
new file mode 100644
index 00000000..f6953e16
--- /dev/null
+++ b/templates/Debian-7/cleanup.sh
@@ -0,0 +1,18 @@
+# Clean up
+apt-get -y remove linux-headers-$(uname -r) build-essential
+apt-get -y autoremove
+apt-get -y clean
+
+# Removing leftover leases and persistent rules
+echo "cleaning up dhcp leases"
+rm /var/lib/dhcp/*
+
+# Make sure Udev doesn't block our network
+echo "cleaning up udev rules"
+rm /etc/udev/rules.d/70-persistent-net.rules
+mkdir /etc/udev/rules.d/70-persistent-net.rules
+rm -rf /dev/.udev/
+rm /lib/udev/rules.d/75-persistent-net-generator.rules
+
+echo "Adding a 2 sec delay to the interface up, to make the dhclient happy"
+echo "pre-up sleep 2" >> /etc/network/interfaces
diff --git a/templates/Debian-7/definition.rb b/templates/Debian-7/definition.rb
new file mode 100644
index 00000000..247719fe
--- /dev/null
+++ b/templates/Debian-7/definition.rb
@@ -0,0 +1 @@
+Veewee::Definition.declare_yaml('definition.yml', "7.10.yml")
diff --git a/templates/Debian-7/definition.yml b/templates/Debian-7/definition.yml
new file mode 100644
index 00000000..bf00a531
--- /dev/null
+++ b/templates/Debian-7/definition.yml
@@ -0,0 +1,47 @@
+---
+# Thanks to Fletcher Nichol - https://github.com/fnichol
+:cpu_count: '1'
+:memory_size: '256'
+:disk_size: '10140'
+:disk_format: 'VDI'
+:hostiocache: 'off'
+:iso_download_timeout: '1000'
+:boot_wait: '10'
+:boot_cmd_sequence:
+  - ''
+  - 'install '
+  - 'preseed/url=http://%IP%:%PORT%/preseed.cfg '
+  - 'debian-installer=en_US '
+  - 'auto '
+  - 'locale=en_US '
+  - 'kbd-chooser/method=us '
+  - 'netcfg/get_hostname=%NAME% '
+  - 'netcfg/get_domain=vagrantup.com '
+  - 'fb=false '
+  - 'debconf/frontend=noninteractive '
+  - 'console-setup/ask_detect=false '
+  - 'console-keymaps-at/keymap=us '
+  - 'keyboard-configuration/xkb-keymap=us '
+  - ''
+:kickstart_port: '7122'
+:kickstart_timeout: '300'
+:kickstart_file: 'preseed.cfg'
+:ssh_login_timeout: '10000'
+:ssh_user: 'vagrant'
+:ssh_password: 'vagrant'
+:ssh_key: ''
+:ssh_host_port: '7222'
+:ssh_guest_port: '22'
+:sudo_cmd: "echo '%p' | sudo -S bash '%f'"
+:shutdown_cmd: 'halt -p'
+:postinstall_files:
+  - 'base.sh'
+  - 'vagrant.sh'
+  - 'virtualbox.sh'
+  #- 'vmfusion.sh'
+  #- 'ruby.sh'
+  #- 'puppet.sh'
+  #- 'chef.sh'
+  - 'cleanup.sh'
+  - 'zerodisk.sh'
+:postinstall_timeout: '10000'
diff --git a/templates/Debian-7/preseed.cfg b/templates/Debian-7/preseed.cfg
new file mode 100644
index 00000000..97d00769
--- /dev/null
+++ b/templates/Debian-7/preseed.cfg
@@ -0,0 +1,313 @@
+#### Contents of the preconfiguration file (for wheezy)
+### Localization
+# Locale sets language and country.
+d-i debian-installer/locale string en_US.UTF-8
+
+# Keyboard selection.
+#d-i keymap select us
+d-i keyboard-configuration/xkb-keymap select us
+
+### Network configuration
+# netcfg will choose an interface that has link if possible. This makes it
+# skip displaying a list if there is more than one interface.
+d-i netcfg/choose_interface select auto
+
+# To pick a particular interface instead:
+#d-i netcfg/choose_interface select eth1
+
+# If you have a slow dhcp server and the installer times out waiting for
+# it, this might be useful.
+#d-i netcfg/dhcp_timeout string 60
+
+# If you prefer to configure the network manually, uncomment this line and
+# the static network configuration below.
+#d-i netcfg/disable_dhcp boolean true
+
+# If you want the preconfiguration file to work on systems both with and
+# without a dhcp server, uncomment these lines and the static network
+# configuration below.
+#d-i netcfg/dhcp_failed note
+#d-i netcfg/dhcp_options select Configure network manually
+
+# Static network configuration.
+#d-i netcfg/get_nameservers string 192.168.1.1
+#d-i netcfg/get_ipaddress string 192.168.1.42
+#d-i netcfg/get_netmask string 255.255.255.0
+#d-i netcfg/get_gateway string 192.168.1.1
+#d-i netcfg/confirm_static boolean true
+
+# Any hostname and domain names assigned from dhcp take precedence over
+# values set here. However, setting the values still prevents the questions
+# from being shown, even if values come from dhcp.
+#d-i netcfg/get_hostname string vagrant
+d-i netcfg/get_domain string vagrantup.com
+
+# Disable that annoying WEP key dialog.
+d-i netcfg/wireless_wep string
+# The wacky dhcp hostname that some ISPs use as a password of sorts.
+#d-i netcfg/dhcp_hostname string radish
+
+# If non-free firmware is needed for the network or other hardware, you can
+# configure the installer to always try to load it, without prompting. Or
+# change to false to disable asking.
+#d-i hw-detect/load_firmware boolean true
+
+### Network console
+# Use the following settings if you wish to make use of the network-console
+# component for remote installation over SSH. This only makes sense if you
+# intend to perform the remainder of the installation manually.
+#d-i anna/choose_modules string network-console
+#d-i network-console/password password r00tme
+#d-i network-console/password-again password r00tme
+
+### Mirror settings
+# If you select ftp, the mirror/country string does not need to be set.
+#d-i mirror/protocol string ftp
+d-i mirror/country string manual
+d-i mirror/http/hostname string http.debian.net
+d-i mirror/http/directory string /debian
+d-i mirror/http/proxy string
+
+# Suite to install.
+#d-i mirror/suite string testing
+# Suite to use for loading installer components (optional).
+#d-i mirror/udeb/suite string testing
+
+### Clock and time zone setup
+# Controls whether or not the hardware clock is set to UTC.
+d-i clock-setup/utc boolean true
+
+# You may set this to any valid setting for $TZ; see the contents of
+# /usr/share/zoneinfo/ for valid values.
+d-i time/zone string UTC
+
+# Controls whether to use NTP to set the clock during the install
+d-i clock-setup/ntp boolean true
+# NTP server to use. The default is almost always fine here.
+#d-i clock-setup/ntp-server string ntp.example.com
+
+### Partitioning
+# If the system has free space you can choose to only partition that space.
+#d-i partman-auto/init_automatically_partition select biggest_free
+
+# Alternatively, you can specify a disk to partition. The device name must
+# be given in traditional non-devfs format.
+# Note: A disk must be specified, unless the system has only one disk.
+# For example, to use the first SCSI/SATA hard disk:
+#d-i partman-auto/disk string /dev/sda
+# In addition, you'll need to specify the method to use.
+# The presently available methods are: "regular", "lvm" and "crypto"
+d-i partman-auto/method string lvm
+
+# If one of the disks that are going to be automatically partitioned
+# contains an old LVM configuration, the user will normally receive a
+# warning. This can be preseeded away...
+d-i partman-lvm/device_remove_lvm boolean true
+# The same applies to pre-existing software RAID array:
+d-i partman-md/device_remove_md boolean true
+
+# And the same goes for the confirmation to write the lvm partitions.
+d-i partman-lvm/confirm boolean true
+d-i partman-lvm/confirm_nooverwrite boolean true
+
+
+d-i partman/choose_partition select finish
+d-i partman-auto-lvm/guided_size string max
+
+# You can choose one of the three predefined partitioning recipes:
+# - atomic: all files in one partition
+# - home:   separate /home partition
+# - multi:  separate /home, /usr, /var, and /tmp partitions
+d-i partman-auto/choose_recipe select atomic
+d-i partman/default_filesystem string ext3
+
+# Or provide a recipe of your own...
+# The recipe format is documented in the file devel/partman-auto-recipe.txt.
+# If you have a way to get a recipe file into the d-i environment, you can
+# just point at it.
+#d-i partman-auto/expert_recipe_file string /hd-media/recipe
+
+# If not, you can put an entire recipe into the preconfiguration file in one
+# (logical) line. This example creates a small /boot partition, suitable
+# swap, and uses the rest of the space for the root partition:
+#d-i partman-auto/expert_recipe string                         \
+#      boot-root ::                                            \
+#              40 50 100 ext3                                  \
+#                      $primary{ } $bootable{ }                \
+#                      method{ format } format{ }              \
+#                      use_filesystem{ } filesystem{ ext3 }    \
+#                      mountpoint{ /boot }                     \
+#              .                                               \
+#              500 10000 1000000000 ext3                       \
+#                      method{ format } format{ }              \
+#                      use_filesystem{ } filesystem{ ext3 }    \
+#                      mountpoint{ / }                         \
+#              .                                               \
+#              64 512 300% linux-swap                          \
+#                      method{ swap } format{ }                \
+#              .
+
+#The preseed line that "selects finish" needs to be in a certain order in your preseed, the example-preseed does not follow this.
+#http://ubuntuforums.org/archive/index.php/t-1504045.html
+
+# This makes partman automatically partition without confirmation, provided
+# that you told it what to do using one of the methods above.
+d-i partman/confirm_write_new_label boolean true
+d-i partman/confirm boolean true
+d-i partman/confirm_nooverwrite boolean true
+
+
+### Base system installation
+# Select the initramfs generator used to generate the initrd for 2.6 kernels.
+#d-i base-installer/kernel/linux/initramfs-generators string yaird
+
+# The kernel image (meta) package to be installed; "none" can be used if no
+# kernel is to be installed.
+#d-i base-installer/kernel/image string linux-image-2.6-486
+
+### Account setup
+# Skip creation of a root account (normal user account will be able to
+# use sudo).
+d-i passwd/root-login boolean false
+# Alternatively, to skip creation of a normal user account.
+#d-i passwd/make-user boolean false
+
+# Root password, either in clear text
+d-i passwd/root-password password vagrant
+d-i passwd/root-password-again password vagrant
+# or encrypted using an MD5 hash.
+#d-i passwd/root-password-crypted password [MD5 hash]
+
+# To create a normal user account.
+d-i passwd/user-fullname string Vagrant User
+d-i passwd/username string vagrant
+# Normal user's password, either in clear text
+d-i passwd/user-password password vagrant
+d-i passwd/user-password-again password vagrant
+# or encrypted using an MD5 hash.
+#d-i passwd/user-password-crypted password [MD5 hash]
+# Create the first user with the specified UID instead of the default.
+#d-i passwd/user-uid string 1010
+d-i user-setup/encrypt-home boolean false
+d-i user-setup/allow-password-weak boolean true
+
+# The user account will be added to some standard initial groups. To
+# override that, use this.
+d-i passwd/user-default-groups string audio cdrom video admin
+
+### Apt setup
+# You can choose to install non-free and contrib software.
+#d-i apt-setup/non-free boolean true
+#d-i apt-setup/contrib boolean true
+# Uncomment this if you don't want to use a network mirror.
+#d-i apt-setup/use_mirror boolean false
+# Select which update services to use; define the mirrors to be used.
+# Values shown below are the normal defaults.
+#d-i apt-setup/services-select multiselect security, volatile
+#d-i apt-setup/security_host string security.debian.org
+#d-i apt-setup/volatile_host string volatile.debian.org
+
+
+# By default the installer requires that repositories be authenticated
+# using a known gpg key. This setting can be used to disable that
+# authentication. Warning: Insecure, not recommended.
+#d-i debian-installer/allow_unauthenticated string true
+
+### Package selection
+tasksel tasksel/first multiselect standard
+# If the desktop task is selected, install the kde and xfce desktops
+# instead of the default gnome desktop.
+#tasksel tasksel/desktop multiselect kde, xfce
+
+# Individual additional packages to install
+d-i pkgsel/include string openssh-server ntp acpid  sudo bzip2 rsync
+
+# Whether to upgrade packages after debootstrap.
+# Allowed values: none, safe-upgrade, full-upgrade
+d-i pkgsel/upgrade select none
+
+# Some versions of the installer can report back on what software you have
+# installed, and what software you use. The default is not to report back,
+# but sending reports helps the project determine what software is most
+# popular and include it on CDs.
+popularity-contest popularity-contest/participate boolean false
+
+### Boot loader installation
+# Grub is the default boot loader (for x86). If you want lilo installed
+# instead, uncomment this:
+#d-i grub-installer/skip boolean true
+# To also skip installing lilo, and install no bootloader, uncomment this
+# too:
+#d-i lilo-installer/skip boolean true
+
+# This is fairly safe to set, it makes grub install automatically to the MBR
+# if no other operating system is detected on the machine.
+d-i grub-installer/only_debian boolean true
+
+# This one makes grub-installer install to the MBR if it also finds some other
+# OS, which is less safe as it might not be able to boot that other OS.
+d-i grub-installer/with_other_os boolean true
+
+# Alternatively, if you want to install to a location other than the mbr,
+# uncomment and edit these lines:
+#d-i grub-installer/only_debian boolean false
+#d-i grub-installer/with_other_os boolean false
+#d-i grub-installer/bootdev  string (hd0,0)
+# To install grub to multiple disks:
+#d-i grub-installer/bootdev  string (hd0,0) (hd1,0) (hd2,0)
+
+# Optional password for grub, either in clear text
+#d-i grub-installer/password password r00tme
+#d-i grub-installer/password-again password r00tme
+# or encrypted using an MD5 hash, see grub-md5-crypt(8).
+#d-i grub-installer/password-crypted password [MD5 hash]
+
+### Finishing up the installation
+# During installations from serial console, the regular virtual consoles
+# (VT1-VT6) are normally disabled in /etc/inittab. Uncomment the next
+# line to prevent this.
+#d-i finish-install/keep-consoles boolean true
+
+# Avoid that last message about the install being complete.
+d-i finish-install/reboot_in_progress note
+
+# This will prevent the installer from ejecting the CD during the reboot,
+# which is useful in some situations.
+#d-i cdrom-detect/eject boolean false
+
+# This is how to make the installer shutdown when finished, but not
+# reboot into the installed system.
+#d-i debian-installer/exit/halt boolean true
+# This will power off the machine instead of just halting it.
+#d-i debian-installer/exit/poweroff boolean true
+
+### Preseeding other packages
+# Depending on what software you choose to install, or if things go wrong
+# during the installation process, it's possible that other questions may
+# be asked. You can preseed those too, of course. To get a list of every
+# possible question that could be asked during an install, do an
+# installation, and then run these commands:
+#   debconf-get-selections --installer > file
+#   debconf-get-selections >> file
+
+
+#### Advanced options
+### Running custom commands during the installation
+# d-i preseeding is inherently not secure. Nothing in the installer checks
+# for attempts at buffer overflows or other exploits of the values of a
+# preconfiguration file like this one. Only use preconfiguration files from
+# trusted locations! To drive that home, and because it's generally useful,
+# here's a way to run any shell command you'd like inside the installer,
+# automatically.
+
+# This first command is run as early as possible, just after
+# preseeding is read.
+# Prevent packaged version of VirtualBox Guest Additions being installed:
+d-i preseed/early_command string sed -i \
+  '/in-target/idiscover(){/sbin/discover|grep -v VirtualBox;}' \
+  /usr/lib/pre-pkgsel.d/20install-hwpackages
+
+# This command is run just before the install finishes, but when there is
+# still a usable /target directory. You can chroot to /target and use it
+# directly, or use the apt-install and in-target commands to easily install
+# packages and run commands in the target system.
diff --git a/templates/Debian-7/puppet.sh b/templates/Debian-7/puppet.sh
new file mode 100644
index 00000000..107b2361
--- /dev/null
+++ b/templates/Debian-7/puppet.sh
@@ -0,0 +1,7 @@
+# Prepare puppetlabs repo
+wget http://apt.puppetlabs.com/puppetlabs-release-wheezy.deb
+dpkg -i puppetlabs-release-wheezy.deb
+apt-get update
+
+# Install puppet/facter
+apt-get install -y puppet facter
diff --git a/templates/Debian-7/ruby.sh b/templates/Debian-7/ruby.sh
new file mode 100644
index 00000000..e44d60d2
--- /dev/null
+++ b/templates/Debian-7/ruby.sh
@@ -0,0 +1,10 @@
+# Install Ruby from packages
+apt-get -y install ruby ruby-dev libopenssl-ruby1.8 irb ri rdoc
+
+# Install Rubygems from source
+rg_ver=1.8.22
+curl -o /tmp/rubygems-${rg_ver}.zip \
+  "http://production.cf.rubygems.org/rubygems/rubygems-${rg_ver}.zip"
+(cd /tmp && unzip rubygems-${rg_ver}.zip && \
+  cd rubygems-${rg_ver} && ruby setup.rb --no-format-executable)
+rm -rf /tmp/rubygems-${rg_ver} /tmp/rubygems-${rg_ver}.zip
diff --git a/templates/Debian-7/vagrant.sh b/templates/Debian-7/vagrant.sh
new file mode 100644
index 00000000..54c2a71e
--- /dev/null
+++ b/templates/Debian-7/vagrant.sh
@@ -0,0 +1,21 @@
+# Set up Vagrant.
+
+date > /etc/vagrant_box_build_time
+
+# Create the user vagrant with password vagrant
+useradd -G sudo -p $(perl -e'print crypt("vagrant", "vagrant")') -m -s /bin/bash -N vagrant
+
+# Install vagrant keys
+mkdir -pm 700 /home/vagrant/.ssh
+curl -Lo /home/vagrant/.ssh/authorized_keys \
+  'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub'
+chmod 0600 /home/vagrant/.ssh/authorized_keys
+chown -R vagrant:vagrant /home/vagrant/.ssh
+
+# Customize the message of the day
+echo 'Welcome to your Vagrant-built virtual machine.' > /var/run/motd
+
+# Install NFS client
+apt-get -y install nfs-common
+
+
diff --git a/templates/Debian-7/virtualbox.sh b/templates/Debian-7/virtualbox.sh
new file mode 100644
index 00000000..4dad6492
--- /dev/null
+++ b/templates/Debian-7/virtualbox.sh
@@ -0,0 +1,37 @@
+if test -f .vbox_version ; then
+  # The netboot installs the VirtualBox support (old) so we have to remove it
+  if test -f /etc/init.d/virtualbox-ose-guest-utils ; then
+    /etc/init.d/virtualbox-ose-guest-utils stop
+  fi
+
+  rmmod vboxguest
+  aptitude -y purge virtualbox-ose-guest-x11 virtualbox-ose-guest-dkms virtualbox-ose-guest-utils
+
+  # Install dkms for dynamic compiles
+
+  apt-get install -y dkms
+
+  # If libdbus is not installed, virtualbox will not autostart
+  apt-get -y install --no-install-recommends libdbus-1-3
+
+  # Install the VirtualBox guest additions
+  VBOX_VERSION=$(cat .vbox_version)
+  VBOX_ISO=VBoxGuestAdditions_$VBOX_VERSION.iso
+  mount -o loop $VBOX_ISO /mnt
+  yes|sh /mnt/VBoxLinuxAdditions.run
+  umount /mnt
+
+  # Start the newly build driver
+  /etc/init.d/vboxadd start
+
+  # Make a temporary mount point
+  mkdir /tmp/veewee-validation
+
+  # Test mount the veewee-validation
+  mount -t vboxsf veewee-validation /tmp/veewee-validation
+
+  rm $VBOX_ISO
+
+  # Symlink vbox guest additions. Fix for https://github.com/mitchellh/vagrant/issues/3341
+  ln -s /opt/VBoxGuestAdditions-$VBOX_VERSION/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions
+fi
diff --git a/templates/Debian-7/vmfusion.sh b/templates/Debian-7/vmfusion.sh
new file mode 100644
index 00000000..3ced7e44
--- /dev/null
+++ b/templates/Debian-7/vmfusion.sh
@@ -0,0 +1,7 @@
+cd /tmp
+mkdir -p /mnt/cdrom
+mount -o loop /home/vagrant/linux.iso /mnt/cdrom
+tar zxvf /mnt/cdrom/VMwareTools-*.tar.gz -C /tmp/
+/tmp/vmware-tools-distrib/vmware-install.pl -d
+rm /home/vagrant/linux.iso
+umount /mnt/cdrom
diff --git a/templates/CentOS-5.10-i386/zerodisk.sh b/templates/Debian-7/zerodisk.sh
old mode 100755
new mode 100644
similarity index 99%
rename from templates/CentOS-5.10-i386/zerodisk.sh
rename to templates/Debian-7/zerodisk.sh
index ee72201f..938075a3
--- a/templates/CentOS-5.10-i386/zerodisk.sh
+++ b/templates/Debian-7/zerodisk.sh
@@ -1,4 +1,3 @@
 # Zero out the free space to save space in the final image:
-
 dd if=/dev/zero of=/EMPTY bs=1M
 rm -f /EMPTY
diff --git a/templates/Debian-8.0/base.sh b/templates/Debian-8.0/base.sh
new file mode 100644
index 00000000..e3642f1c
--- /dev/null
+++ b/templates/Debian-8.0/base.sh
@@ -0,0 +1,25 @@
+# Update the box
+apt-get -y update
+apt-get -y install linux-headers-$(uname -r) build-essential
+apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev
+apt-get -y install curl unzip
+
+# Set up sudo
+echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant
+
+# Tweak sshd to prevent DNS resolution (speed up logins)
+echo 'UseDNS no' >> /etc/ssh/sshd_config
+
+# Remove 5s grub timeout to speed up booting
+cat < /etc/default/grub
+# If you change this file, run 'update-grub' afterwards to update
+# /boot/grub/grub.cfg.
+
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=0
+GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
+GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+GRUB_CMDLINE_LINUX="debian-installer=en_US"
+EOF
+
+update-grub
diff --git a/templates/Debian-8.0/chef.sh b/templates/Debian-8.0/chef.sh
new file mode 100644
index 00000000..cd119586
--- /dev/null
+++ b/templates/Debian-8.0/chef.sh
@@ -0,0 +1,49 @@
+if [ -f .veewee_params ]
+then
+  . .veewee_params
+fi
+
+# Default to Gem install
+if [ -z "$CHEF_INSTALLMETHOD" ]; then
+  export CHEF_INSTALLMETHOD="gems"
+fi
+
+# Installing chef
+case $CHEF_INSTALLMETHOD in
+  "gems")
+    # Using gems
+    if [ -z "$CHEF_VERSION" ]; then
+      # Default to latest
+      gem install chef --no-ri --no-rdoc
+    else
+      gem install chef --no-ri --no-rdoc --version $CHEF_VERSION
+    fi
+    ;;
+
+  "omnibus")
+    # Using omnibus
+    if [ -z "$CHEF_VERSION" ]; then
+      # Default to latest
+      wget -O - http://opscode.com/chef/install.sh | sudo bash -s
+    else
+      wget -O - http://opscode.com/chef/install.sh | sudo bash -s -- -v $CHEF_VERSION
+    fi
+    ;;
+
+  "package")
+    # Using packages
+    apt-get install -y debconf-utils
+    echo "chef    chef/chef_server_url    string  $CHEF_SERVER_URL" | debconf-set-selections
+    if [ -z "$CHEF_VERSION" ]; then
+      # Default to latest
+      apt-get install -y chef
+    else
+      apt-get install -y chef=$CHEF_VERSION
+    fi
+    ;;
+
+  *)
+    echo "Unsupported method for installing chef"
+    exit -1
+    ;;
+esac
diff --git a/templates/Debian-8.0/cleanup.sh b/templates/Debian-8.0/cleanup.sh
new file mode 100644
index 00000000..f6953e16
--- /dev/null
+++ b/templates/Debian-8.0/cleanup.sh
@@ -0,0 +1,18 @@
+# Clean up
+apt-get -y remove linux-headers-$(uname -r) build-essential
+apt-get -y autoremove
+apt-get -y clean
+
+# Removing leftover leases and persistent rules
+echo "cleaning up dhcp leases"
+rm /var/lib/dhcp/*
+
+# Make sure Udev doesn't block our network
+echo "cleaning up udev rules"
+rm /etc/udev/rules.d/70-persistent-net.rules
+mkdir /etc/udev/rules.d/70-persistent-net.rules
+rm -rf /dev/.udev/
+rm /lib/udev/rules.d/75-persistent-net-generator.rules
+
+echo "Adding a 2 sec delay to the interface up, to make the dhclient happy"
+echo "pre-up sleep 2" >> /etc/network/interfaces
diff --git a/templates/Debian-8.0/debian_32_net.yml b/templates/Debian-8.0/debian_32_net.yml
new file mode 100644
index 00000000..383b125b
--- /dev/null
+++ b/templates/Debian-8.0/debian_32_net.yml
@@ -0,0 +1,5 @@
+---
+:os_type_id: 'Debian'
+:iso_file: "debian-8.0.0-i386-netinst.iso"
+:iso_src: "http://cdimage.debian.org/debian-cd/8.0.0/i386/iso-cd/debian-8.0.0-i386-netinst.iso"
+:iso_md5: "72045f21b78824023ad665c2ef387c26"
diff --git a/templates/Debian-8.0/debian_64_net.yml b/templates/Debian-8.0/debian_64_net.yml
new file mode 100644
index 00000000..6dbec5ce
--- /dev/null
+++ b/templates/Debian-8.0/debian_64_net.yml
@@ -0,0 +1,5 @@
+---
+:os_type_id: 'Debian_64'
+:iso_file: "debian-8.0.0-amd64-netinst.iso"
+:iso_src: "http://cdimage.debian.org/debian-cd/8.0.0/amd64/iso-cd/debian-8.0.0-amd64-netinst.iso"
+:iso_md5: "d9209f355449fe13db3963571b1f52d4"
diff --git a/templates/Debian-8.0/definition.rb b/templates/Debian-8.0/definition.rb
new file mode 100644
index 00000000..7d172c2f
--- /dev/null
+++ b/templates/Debian-8.0/definition.rb
@@ -0,0 +1,5 @@
+#
+# change debian_64_netinst to one of configurations in *.yml in this directory
+# use the yml files to configure
+#
+Veewee::Definition.declare_yaml('definition.yml', "debian_64_net.yml")
diff --git a/templates/Debian-8.0/definition.yml b/templates/Debian-8.0/definition.yml
new file mode 100644
index 00000000..ed15f6b2
--- /dev/null
+++ b/templates/Debian-8.0/definition.yml
@@ -0,0 +1,46 @@
+---
+:cpu_count: '1'
+:memory_size: '256'
+:disk_size: '10140'
+:disk_format: 'VDI'
+:hostiocache: 'off'
+:iso_download_timeout: "1000"
+:boot_wait: "10"
+:boot_cmd_sequence:
+  - ''
+  - 'install '
+  - 'preseed/url=http://%IP%:%PORT%/preseed.cfg '
+  - 'debian-installer=en_US '
+  - 'auto '
+  - 'locale=en_US '
+  - 'kbd-chooser/method=us '
+  - 'netcfg/get_hostname=%NAME% '
+  - 'netcfg/get_domain=vagrantup.com '
+  - 'fb=false '
+  - 'debconf/frontend=noninteractive '
+  - 'console-setup/ask_detect=false '
+  - 'console-keymaps-at/keymap=us '
+  - 'keyboard-configuration/xkb-keymap=us '
+  - ''
+:kickstart_port: "7122"
+:kickstart_timeout: "300"
+:kickstart_file: "preseed.cfg"
+:ssh_login_timeout: "10000"
+:ssh_user: "vagrant"
+:ssh_password: "vagrant"
+:ssh_key: ""
+:ssh_host_port: "7222"
+:ssh_guest_port: "22"
+:sudo_cmd: "echo '%p'|sudo -S bash '%f'"
+:shutdown_cmd: "halt -p"
+:postinstall_files:
+  - "base.sh"
+  - "vagrant.sh"
+  - "virtualbox.sh"
+  #- "vmfusion.sh"
+  - "ruby.sh"
+  - "puppet.sh"
+  - "chef.sh"
+  - "cleanup.sh"
+  - "zerodisk.sh"
+:postinstall_timeout: "10000"
diff --git a/templates/Debian-8.0/preseed.cfg b/templates/Debian-8.0/preseed.cfg
new file mode 100644
index 00000000..3c013fc4
--- /dev/null
+++ b/templates/Debian-8.0/preseed.cfg
@@ -0,0 +1,429 @@
+#### Contents of the preconfiguration file (for jessie)
+### Localization
+# Preseeding only locale sets language, country and locale.
+d-i debian-installer/locale string en_US.UTF-8
+
+# The values can also be preseeded individually for greater flexibility.
+#d-i debian-installer/language string en
+#d-i debian-installer/country string NL
+#d-i debian-installer/locale string en_GB.UTF-8
+# Optionally specify additional locales to be generated.
+#d-i localechooser/supported-locales multiselect en_US.UTF-8, nl_NL.UTF-8
+
+# Keyboard selection.
+d-i keyboard-configuration/xkb-keymap select us
+# d-i keyboard-configuration/toggle select No toggling
+
+### Network configuration
+# Disable network configuration entirely. This is useful for cdrom
+# installations on non-networked devices where the network questions,
+# warning and long timeouts are a nuisance.
+#d-i netcfg/enable boolean false
+
+# netcfg will choose an interface that has link if possible. This makes it
+# skip displaying a list if there is more than one interface.
+d-i netcfg/choose_interface select auto
+
+# To pick a particular interface instead:
+#d-i netcfg/choose_interface select eth1
+
+# To set a different link detection timeout (default is 3 seconds).
+# Values are interpreted as seconds.
+#d-i netcfg/link_wait_timeout string 10
+
+# If you have a slow dhcp server and the installer times out waiting for
+# it, this might be useful.
+#d-i netcfg/dhcp_timeout string 60
+#d-i netcfg/dhcpv6_timeout string 60
+
+# If you prefer to configure the network manually, uncomment this line and
+# the static network configuration below.
+#d-i netcfg/disable_autoconfig boolean true
+
+# If you want the preconfiguration file to work on systems both with and
+# without a dhcp server, uncomment these lines and the static network
+# configuration below.
+#d-i netcfg/dhcp_failed note
+#d-i netcfg/dhcp_options select Configure network manually
+
+# Static network configuration.
+#
+# IPv4 example
+#d-i netcfg/get_ipaddress string 192.168.1.42
+#d-i netcfg/get_netmask string 255.255.255.0
+#d-i netcfg/get_gateway string 192.168.1.1
+#d-i netcfg/get_nameservers string 192.168.1.1
+#d-i netcfg/confirm_static boolean true
+#
+# IPv6 example
+#d-i netcfg/get_ipaddress string fc00::2
+#d-i netcfg/get_netmask string ffff:ffff:ffff:ffff::
+#d-i netcfg/get_gateway string fc00::1
+#d-i netcfg/get_nameservers string fc00::1
+#d-i netcfg/confirm_static boolean true
+
+# Any hostname and domain names assigned from dhcp take precedence over
+# values set here. However, setting the values still prevents the questions
+# from being shown, even if values come from dhcp.
+#d-i netcfg/get_hostname string vagrant
+d-i netcfg/get_domain string vagrantup.com
+
+# If you want to force a hostname, regardless of what either the DHCP
+# server returns or what the reverse DNS entry for the IP is, uncomment
+# and adjust the following line.
+#d-i netcfg/hostname string somehost
+
+# Disable that annoying WEP key dialog.
+d-i netcfg/wireless_wep string
+# The wacky dhcp hostname that some ISPs use as a password of sorts.
+#d-i netcfg/dhcp_hostname string radish
+
+# If non-free firmware is needed for the network or other hardware, you can
+# configure the installer to always try to load it, without prompting. Or
+# change to false to disable asking.
+#d-i hw-detect/load_firmware boolean true
+
+### Network console
+# Use the following settings if you wish to make use of the network-console
+# component for remote installation over SSH. This only makes sense if you
+# intend to perform the remainder of the installation manually.
+#d-i anna/choose_modules string network-console
+#d-i network-console/authorized_keys_url string http://10.0.0.1/openssh-key
+#d-i network-console/password password r00tme
+#d-i network-console/password-again password r00tme
+
+### Mirror settings
+# If you select ftp, the mirror/country string does not need to be set.
+#d-i mirror/protocol string ftp
+d-i mirror/country string manual
+d-i mirror/http/hostname string http.debian.net
+d-i mirror/http/directory string /debian
+d-i mirror/http/proxy string
+
+# Suite to install.
+#d-i mirror/suite string testing
+# Suite to use for loading installer components (optional).
+#d-i mirror/udeb/suite string testing
+
+### Clock and time zone setup
+# Controls whether or not the hardware clock is set to UTC.
+d-i clock-setup/utc boolean true
+
+# You may set this to any valid setting for $TZ; see the contents of
+# /usr/share/zoneinfo/ for valid values.
+d-i time/zone string UTC
+
+# Controls whether to use NTP to set the clock during the install
+d-i clock-setup/ntp boolean true
+# NTP server to use. The default is almost always fine here.
+#d-i clock-setup/ntp-server string ntp.example.com
+
+### Partitioning
+## Partitioning example
+# If the system has free space you can choose to only partition that space.
+# This is only honoured if partman-auto/method (below) is not set.
+#d-i partman-auto/init_automatically_partition select biggest_free
+
+# Alternatively, you may specify a disk to partition. If the system has only
+# one disk the installer will default to using that, but otherwise the device
+# name must be given in traditional, non-devfs format (so e.g. /dev/sda
+# and not e.g. /dev/discs/disc0/disc).
+# For example, to use the first SCSI/SATA hard disk:
+#d-i partman-auto/disk string /dev/sda
+# In addition, you'll need to specify the method to use.
+# The presently available methods are:
+# - regular: use the usual partition types for your architecture
+# - lvm:     use LVM to partition the disk
+# - crypto:  use LVM within an encrypted partition
+d-i partman-auto/method string lvm
+
+# If one of the disks that are going to be automatically partitioned
+# contains an old LVM configuration, the user will normally receive a
+# warning. This can be preseeded away...
+d-i partman-lvm/device_remove_lvm boolean true
+# The same applies to pre-existing software RAID array:
+d-i partman-md/device_remove_md boolean true
+# And the same goes for the confirmation to write the lvm partitions.
+d-i partman-lvm/confirm boolean true
+d-i partman-lvm/confirm_nooverwrite boolean true
+
+
+d-i partman/choose_partition select finish
+d-i partman-auto-lvm/guided_size string max
+
+# You can choose one of the three predefined partitioning recipes:
+# - atomic: all files in one partition
+# - home:   separate /home partition
+# - multi:  separate /home, /var, and /tmp partitions
+d-i partman-auto/choose_recipe select atomic
+
+# Or provide a recipe of your own...
+# If you have a way to get a recipe file into the d-i environment, you can
+# just point at it.
+#d-i partman-auto/expert_recipe_file string /hd-media/recipe
+
+# If not, you can put an entire recipe into the preconfiguration file in one
+# (logical) line. This example creates a small /boot partition, suitable
+# swap, and uses the rest of the space for the root partition:
+#d-i partman-auto/expert_recipe string                         \
+#      boot-root ::                                            \
+#              40 50 100 ext3                                  \
+#                      $primary{ } $bootable{ }                \
+#                      method{ format } format{ }              \
+#                      use_filesystem{ } filesystem{ ext3 }    \
+#                      mountpoint{ /boot }                     \
+#              .                                               \
+#              500 10000 1000000000 ext3                       \
+#                      method{ format } format{ }              \
+#                      use_filesystem{ } filesystem{ ext3 }    \
+#                      mountpoint{ / }                         \
+#              .                                               \
+#              64 512 300% linux-swap                          \
+#                      method{ swap } format{ }                \
+#              .
+
+# The full recipe format is documented in the file partman-auto-recipe.txt
+# included in the 'debian-installer' package or available from D-I source
+# repository. This also documents how to specify settings such as file
+# system labels, volume group names and which physical devices to include
+# in a volume group.
+
+# This makes partman automatically partition without confirmation, provided
+# that you told it what to do using one of the methods above.
+d-i partman-partitioning/confirm_write_new_label boolean true
+d-i partman/choose_partition select finish
+d-i partman/confirm boolean true
+d-i partman/confirm_nooverwrite boolean true
+
+## Partitioning using RAID
+# The method should be set to "raid".
+#d-i partman-auto/method string raid
+# Specify the disks to be partitioned. They will all get the same layout,
+# so this will only work if the disks are the same size.
+#d-i partman-auto/disk string /dev/sda /dev/sdb
+
+# Next you need to specify the physical partitions that will be used. 
+#d-i partman-auto/expert_recipe string \
+#      multiraid ::                                         \
+#              1000 5000 4000 raid                          \
+#                      $primary{ } method{ raid }           \
+#              .                                            \
+#              64 512 300% raid                             \
+#                      method{ raid }                       \
+#              .                                            \
+#              500 10000 1000000000 raid                    \
+#                      method{ raid }                       \
+#              .
+
+# Last you need to specify how the previously defined partitions will be
+# used in the RAID setup. Remember to use the correct partition numbers
+# for logical partitions. RAID levels 0, 1, 5, 6 and 10 are supported;
+# devices are separated using "#".
+# Parameters are:
+#      \
+#           
+
+#d-i partman-auto-raid/recipe string \
+#    1 2 0 ext3 /                    \
+#          /dev/sda1#/dev/sdb1       \
+#    .                               \
+#    1 2 0 swap -                    \
+#          /dev/sda5#/dev/sdb5       \
+#    .                               \
+#    0 2 0 ext3 /home                \
+#          /dev/sda6#/dev/sdb6       \
+#    .
+
+# For additional information see the file partman-auto-raid-recipe.txt
+# included in the 'debian-installer' package or available from D-I source
+# repository.
+
+# This makes partman automatically partition without confirmation.
+d-i partman-md/confirm boolean true
+d-i partman-partitioning/confirm_write_new_label boolean true
+d-i partman/choose_partition select finish
+d-i partman/confirm boolean true
+d-i partman/confirm_nooverwrite boolean true
+
+## Controlling how partitions are mounted
+# The default is to mount by UUID, but you can also choose "traditional" to
+# use traditional device names, or "label" to try filesystem labels before
+# falling back to UUIDs.
+#d-i partman/mount_style select uuid
+
+### Base system installation
+# Configure APT to not install recommended packages by default. Use of this
+# option can result in an incomplete system and should only be used by very
+# experienced users.
+#d-i base-installer/install-recommends boolean false
+
+# The kernel image (meta) package to be installed; "none" can be used if no
+# kernel is to be installed.
+#d-i base-installer/kernel/image string linux-image-586
+
+### Account setup
+# Skip creation of a root account (normal user account will be able to
+# use sudo).
+d-i passwd/root-login boolean false
+# Alternatively, to skip creation of a normal user account.
+#d-i passwd/make-user boolean false
+
+# Root password, either in clear text
+d-i passwd/root-password password vagrant
+d-i passwd/root-password-again password vagrant
+# or encrypted using an MD5 hash.
+#d-i passwd/root-password-crypted password [MD5 hash]
+
+# To create a normal user account.
+d-i passwd/user-fullname string Vagrant User
+d-i passwd/username string vagrant
+# Normal user's password, either in clear text
+d-i passwd/user-password password vagrant
+d-i passwd/user-password-again password vagrant
+# or encrypted using an MD5 hash.
+#d-i passwd/user-password-crypted password [MD5 hash]
+# Create the first user with the specified UID instead of the default.
+#d-i passwd/user-uid string 1010
+
+# The user account will be added to some standard initial groups. To
+# override that, use this.
+d-i passwd/user-default-groups string audio cdrom video admin
+
+### Apt setup
+# You can choose to install non-free and contrib software.
+#d-i apt-setup/non-free boolean true
+#d-i apt-setup/contrib boolean true
+# Uncomment this if you don't want to use a network mirror.
+#d-i apt-setup/use_mirror boolean false
+# Select which update services to use; define the mirrors to be used.
+# Values shown below are the normal defaults.
+#d-i apt-setup/services-select multiselect security, updates
+#d-i apt-setup/security_host string security.debian.org
+
+# Additional repositories, local[0-9] available
+#d-i apt-setup/local0/repository string \
+#       http://local.server/debian stable main
+#d-i apt-setup/local0/comment string local server
+# Enable deb-src lines
+#d-i apt-setup/local0/source boolean true
+# URL to the public key of the local repository; you must provide a key or
+# apt will complain about the unauthenticated repository and so the
+# sources.list line will be left commented out
+#d-i apt-setup/local0/key string http://local.server/key
+
+# By default the installer requires that repositories be authenticated
+# using a known gpg key. This setting can be used to disable that
+# authentication. Warning: Insecure, not recommended.
+#d-i debian-installer/allow_unauthenticated boolean true
+
+### Package selection
+tasksel tasksel/first multiselect standard
+
+# Individual additional packages to install
+d-i pkgsel/include string openssh-server ntp acpid  sudo bzip2 rsync
+# Whether to upgrade packages after debootstrap.
+# Allowed values: none, safe-upgrade, full-upgrade
+d-i pkgsel/upgrade select none
+
+# Some versions of the installer can report back on what software you have
+# installed, and what software you use. The default is not to report back,
+# but sending reports helps the project determine what software is most
+# popular and include it on CDs.
+popularity-contest popularity-contest/participate boolean false
+
+### Boot loader installation
+# Grub is the default boot loader (for x86). If you want lilo installed
+# instead, uncomment this:
+#d-i grub-installer/skip boolean true
+# To also skip installing lilo, and install no bootloader, uncomment this
+# too:
+#d-i lilo-installer/skip boolean true
+
+
+# This is fairly safe to set, it makes grub install automatically to the MBR
+# if no other operating system is detected on the machine.
+d-i grub-installer/only_debian boolean true
+
+# This one makes grub-installer install to the MBR if it also finds some other
+# OS, which is less safe as it might not be able to boot that other OS.
+d-i grub-installer/with_other_os boolean true
+
+# Due notably to potential USB sticks, the location of the MBR can not be
+# determined safely in general, so this needs to be specified:
+#d-i grub-installer/bootdev  string /dev/sda
+# To install to the first device (assuming it is not a USB stick):
+d-i grub-installer/bootdev  string default
+
+# Alternatively, if you want to install to a location other than the mbr,
+# uncomment and edit these lines:
+#d-i grub-installer/only_debian boolean false
+#d-i grub-installer/with_other_os boolean false
+#d-i grub-installer/bootdev  string (hd0,1)
+# To install grub to multiple disks:
+#d-i grub-installer/bootdev  string (hd0,1) (hd1,1) (hd2,1)
+
+# Optional password for grub, either in clear text
+#d-i grub-installer/password password r00tme
+#d-i grub-installer/password-again password r00tme
+# or encrypted using an MD5 hash, see grub-md5-crypt(8).
+#d-i grub-installer/password-crypted password [MD5 hash]
+
+# Use the following option to add additional boot parameters for the
+# installed system (if supported by the bootloader installer).
+# Note: options passed to the installer will be added automatically.
+#d-i debian-installer/add-kernel-opts string nousb
+
+### Finishing up the installation
+# During installations from serial console, the regular virtual consoles
+# (VT1-VT6) are normally disabled in /etc/inittab. Uncomment the next
+# line to prevent this.
+#d-i finish-install/keep-consoles boolean true
+
+# Avoid that last message about the install being complete.
+d-i finish-install/reboot_in_progress note
+
+# This will prevent the installer from ejecting the CD during the reboot,
+# which is useful in some situations.
+#d-i cdrom-detect/eject boolean false
+
+# This is how to make the installer shutdown when finished, but not
+# reboot into the installed system.
+#d-i debian-installer/exit/halt boolean true
+# This will power off the machine instead of just halting it.
+#d-i debian-installer/exit/poweroff boolean true
+
+### Preseeding other packages
+# Depending on what software you choose to install, or if things go wrong
+# during the installation process, it's possible that other questions may
+# be asked. You can preseed those too, of course. To get a list of every
+# possible question that could be asked during an install, do an
+# installation, and then run these commands:
+#   debconf-get-selections --installer > file
+#   debconf-get-selections >> file
+
+
+#### Advanced options
+### Running custom commands during the installation
+# d-i preseeding is inherently not secure. Nothing in the installer checks
+# for attempts at buffer overflows or other exploits of the values of a
+# preconfiguration file like this one. Only use preconfiguration files from
+# trusted locations! To drive that home, and because it's generally useful,
+# here's a way to run any shell command you'd like inside the installer,
+# automatically.
+
+# This first command is run as early as possible, just after
+# preseeding is read.
+# Prevent packaged version of VirtualBox Guest Additions being installed:
+d-i preseed/early_command string sed -i \
+  '/in-target/idiscover(){/sbin/discover|grep -v VirtualBox;}' \
+  /usr/lib/pre-pkgsel.d/20install-hwpackages
+# This command is run immediately before the partitioner starts. It may be
+# useful to apply dynamic partitioner preseeding that depends on the state
+# of the disks (which may not be visible when preseed/early_command runs).
+#d-i partman/early_command \
+#       string debconf-set partman-auto/disk "$(list-devices disk | head -n1)"
+# This command is run just before the install finishes, but when there is
+# still a usable /target directory. You can chroot to /target and use it
+# directly, or use the apt-install and in-target commands to easily install
+# packages and run commands in the target system.
+#d-i preseed/late_command string apt-install zsh; in-target chsh -s /bin/zsh
diff --git a/templates/Debian-8.0/puppet.sh b/templates/Debian-8.0/puppet.sh
new file mode 100644
index 00000000..107b2361
--- /dev/null
+++ b/templates/Debian-8.0/puppet.sh
@@ -0,0 +1,7 @@
+# Prepare puppetlabs repo
+wget http://apt.puppetlabs.com/puppetlabs-release-wheezy.deb
+dpkg -i puppetlabs-release-wheezy.deb
+apt-get update
+
+# Install puppet/facter
+apt-get install -y puppet facter
diff --git a/templates/Debian-8.0/ruby.sh b/templates/Debian-8.0/ruby.sh
new file mode 100644
index 00000000..e44d60d2
--- /dev/null
+++ b/templates/Debian-8.0/ruby.sh
@@ -0,0 +1,10 @@
+# Install Ruby from packages
+apt-get -y install ruby ruby-dev libopenssl-ruby1.8 irb ri rdoc
+
+# Install Rubygems from source
+rg_ver=1.8.22
+curl -o /tmp/rubygems-${rg_ver}.zip \
+  "http://production.cf.rubygems.org/rubygems/rubygems-${rg_ver}.zip"
+(cd /tmp && unzip rubygems-${rg_ver}.zip && \
+  cd rubygems-${rg_ver} && ruby setup.rb --no-format-executable)
+rm -rf /tmp/rubygems-${rg_ver} /tmp/rubygems-${rg_ver}.zip
diff --git a/templates/Debian-8.0/vagrant.sh b/templates/Debian-8.0/vagrant.sh
new file mode 100644
index 00000000..54c2a71e
--- /dev/null
+++ b/templates/Debian-8.0/vagrant.sh
@@ -0,0 +1,21 @@
+# Set up Vagrant.
+
+date > /etc/vagrant_box_build_time
+
+# Create the user vagrant with password vagrant
+useradd -G sudo -p $(perl -e'print crypt("vagrant", "vagrant")') -m -s /bin/bash -N vagrant
+
+# Install vagrant keys
+mkdir -pm 700 /home/vagrant/.ssh
+curl -Lo /home/vagrant/.ssh/authorized_keys \
+  'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub'
+chmod 0600 /home/vagrant/.ssh/authorized_keys
+chown -R vagrant:vagrant /home/vagrant/.ssh
+
+# Customize the message of the day
+echo 'Welcome to your Vagrant-built virtual machine.' > /var/run/motd
+
+# Install NFS client
+apt-get -y install nfs-common
+
+
diff --git a/templates/Debian-8.0/virtualbox.sh b/templates/Debian-8.0/virtualbox.sh
new file mode 100644
index 00000000..4dad6492
--- /dev/null
+++ b/templates/Debian-8.0/virtualbox.sh
@@ -0,0 +1,37 @@
+if test -f .vbox_version ; then
+  # The netboot installs the VirtualBox support (old) so we have to remove it
+  if test -f /etc/init.d/virtualbox-ose-guest-utils ; then
+    /etc/init.d/virtualbox-ose-guest-utils stop
+  fi
+
+  rmmod vboxguest
+  aptitude -y purge virtualbox-ose-guest-x11 virtualbox-ose-guest-dkms virtualbox-ose-guest-utils
+
+  # Install dkms for dynamic compiles
+
+  apt-get install -y dkms
+
+  # If libdbus is not installed, virtualbox will not autostart
+  apt-get -y install --no-install-recommends libdbus-1-3
+
+  # Install the VirtualBox guest additions
+  VBOX_VERSION=$(cat .vbox_version)
+  VBOX_ISO=VBoxGuestAdditions_$VBOX_VERSION.iso
+  mount -o loop $VBOX_ISO /mnt
+  yes|sh /mnt/VBoxLinuxAdditions.run
+  umount /mnt
+
+  # Start the newly build driver
+  /etc/init.d/vboxadd start
+
+  # Make a temporary mount point
+  mkdir /tmp/veewee-validation
+
+  # Test mount the veewee-validation
+  mount -t vboxsf veewee-validation /tmp/veewee-validation
+
+  rm $VBOX_ISO
+
+  # Symlink vbox guest additions. Fix for https://github.com/mitchellh/vagrant/issues/3341
+  ln -s /opt/VBoxGuestAdditions-$VBOX_VERSION/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions
+fi
diff --git a/templates/Debian-8.0/vmfusion.sh b/templates/Debian-8.0/vmfusion.sh
new file mode 100644
index 00000000..3ced7e44
--- /dev/null
+++ b/templates/Debian-8.0/vmfusion.sh
@@ -0,0 +1,7 @@
+cd /tmp
+mkdir -p /mnt/cdrom
+mount -o loop /home/vagrant/linux.iso /mnt/cdrom
+tar zxvf /mnt/cdrom/VMwareTools-*.tar.gz -C /tmp/
+/tmp/vmware-tools-distrib/vmware-install.pl -d
+rm /home/vagrant/linux.iso
+umount /mnt/cdrom
diff --git a/templates/CentOS-5.10-x86_64-netboot/zerodisk.sh b/templates/Debian-8.0/zerodisk.sh
old mode 100755
new mode 100644
similarity index 99%
rename from templates/CentOS-5.10-x86_64-netboot/zerodisk.sh
rename to templates/Debian-8.0/zerodisk.sh
index ee72201f..938075a3
--- a/templates/CentOS-5.10-x86_64-netboot/zerodisk.sh
+++ b/templates/Debian-8.0/zerodisk.sh
@@ -1,4 +1,3 @@
 # Zero out the free space to save space in the final image:
-
 dd if=/dev/zero of=/EMPTY bs=1M
 rm -f /EMPTY
diff --git a/templates/Debian-8.1-amd64-netboot/base.sh b/templates/Debian-8.1-amd64-netboot/base.sh
new file mode 100644
index 00000000..e3642f1c
--- /dev/null
+++ b/templates/Debian-8.1-amd64-netboot/base.sh
@@ -0,0 +1,25 @@
+# Update the box
+apt-get -y update
+apt-get -y install linux-headers-$(uname -r) build-essential
+apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev
+apt-get -y install curl unzip
+
+# Set up sudo
+echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant
+
+# Tweak sshd to prevent DNS resolution (speed up logins)
+echo 'UseDNS no' >> /etc/ssh/sshd_config
+
+# Remove 5s grub timeout to speed up booting
+cat < /etc/default/grub
+# If you change this file, run 'update-grub' afterwards to update
+# /boot/grub/grub.cfg.
+
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=0
+GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
+GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+GRUB_CMDLINE_LINUX="debian-installer=en_US"
+EOF
+
+update-grub
diff --git a/templates/Debian-8.1-amd64-netboot/chef.sh b/templates/Debian-8.1-amd64-netboot/chef.sh
new file mode 100644
index 00000000..cd119586
--- /dev/null
+++ b/templates/Debian-8.1-amd64-netboot/chef.sh
@@ -0,0 +1,49 @@
+if [ -f .veewee_params ]
+then
+  . .veewee_params
+fi
+
+# Default to Gem install
+if [ -z "$CHEF_INSTALLMETHOD" ]; then
+  export CHEF_INSTALLMETHOD="gems"
+fi
+
+# Installing chef
+case $CHEF_INSTALLMETHOD in
+  "gems")
+    # Using gems
+    if [ -z "$CHEF_VERSION" ]; then
+      # Default to latest
+      gem install chef --no-ri --no-rdoc
+    else
+      gem install chef --no-ri --no-rdoc --version $CHEF_VERSION
+    fi
+    ;;
+
+  "omnibus")
+    # Using omnibus
+    if [ -z "$CHEF_VERSION" ]; then
+      # Default to latest
+      wget -O - http://opscode.com/chef/install.sh | sudo bash -s
+    else
+      wget -O - http://opscode.com/chef/install.sh | sudo bash -s -- -v $CHEF_VERSION
+    fi
+    ;;
+
+  "package")
+    # Using packages
+    apt-get install -y debconf-utils
+    echo "chef    chef/chef_server_url    string  $CHEF_SERVER_URL" | debconf-set-selections
+    if [ -z "$CHEF_VERSION" ]; then
+      # Default to latest
+      apt-get install -y chef
+    else
+      apt-get install -y chef=$CHEF_VERSION
+    fi
+    ;;
+
+  *)
+    echo "Unsupported method for installing chef"
+    exit -1
+    ;;
+esac
diff --git a/templates/Debian-8.1-amd64-netboot/cleanup.sh b/templates/Debian-8.1-amd64-netboot/cleanup.sh
new file mode 100644
index 00000000..f6953e16
--- /dev/null
+++ b/templates/Debian-8.1-amd64-netboot/cleanup.sh
@@ -0,0 +1,18 @@
+# Clean up
+apt-get -y remove linux-headers-$(uname -r) build-essential
+apt-get -y autoremove
+apt-get -y clean
+
+# Removing leftover leases and persistent rules
+echo "cleaning up dhcp leases"
+rm /var/lib/dhcp/*
+
+# Make sure Udev doesn't block our network
+echo "cleaning up udev rules"
+rm /etc/udev/rules.d/70-persistent-net.rules
+mkdir /etc/udev/rules.d/70-persistent-net.rules
+rm -rf /dev/.udev/
+rm /lib/udev/rules.d/75-persistent-net-generator.rules
+
+echo "Adding a 2 sec delay to the interface up, to make the dhclient happy"
+echo "pre-up sleep 2" >> /etc/network/interfaces
diff --git a/templates/Debian-8.1-amd64-netboot/debian_64_net.yml b/templates/Debian-8.1-amd64-netboot/debian_64_net.yml
new file mode 100644
index 00000000..6d0550f9
--- /dev/null
+++ b/templates/Debian-8.1-amd64-netboot/debian_64_net.yml
@@ -0,0 +1,5 @@
+---
+:os_type_id: 'Debian_64'
+:iso_file: "debian-8.1.0-amd64-netinst.iso"
+:iso_src: "http://cdimage.debian.org/debian-cd/8.1.0/amd64/iso-cd/debian-8.1.0-amd64-netinst.iso"
+:iso_md5: "1a311f9afb68d6365211b13b4342c40b"
diff --git a/templates/Debian-8.1-amd64-netboot/definition.rb b/templates/Debian-8.1-amd64-netboot/definition.rb
new file mode 100644
index 00000000..7d172c2f
--- /dev/null
+++ b/templates/Debian-8.1-amd64-netboot/definition.rb
@@ -0,0 +1,5 @@
+#
+# change debian_64_netinst to one of configurations in *.yml in this directory
+# use the yml files to configure
+#
+Veewee::Definition.declare_yaml('definition.yml', "debian_64_net.yml")
diff --git a/templates/Debian-8.1-amd64-netboot/definition.yml b/templates/Debian-8.1-amd64-netboot/definition.yml
new file mode 100644
index 00000000..ed15f6b2
--- /dev/null
+++ b/templates/Debian-8.1-amd64-netboot/definition.yml
@@ -0,0 +1,46 @@
+---
+:cpu_count: '1'
+:memory_size: '256'
+:disk_size: '10140'
+:disk_format: 'VDI'
+:hostiocache: 'off'
+:iso_download_timeout: "1000"
+:boot_wait: "10"
+:boot_cmd_sequence:
+  - ''
+  - 'install '
+  - 'preseed/url=http://%IP%:%PORT%/preseed.cfg '
+  - 'debian-installer=en_US '
+  - 'auto '
+  - 'locale=en_US '
+  - 'kbd-chooser/method=us '
+  - 'netcfg/get_hostname=%NAME% '
+  - 'netcfg/get_domain=vagrantup.com '
+  - 'fb=false '
+  - 'debconf/frontend=noninteractive '
+  - 'console-setup/ask_detect=false '
+  - 'console-keymaps-at/keymap=us '
+  - 'keyboard-configuration/xkb-keymap=us '
+  - ''
+:kickstart_port: "7122"
+:kickstart_timeout: "300"
+:kickstart_file: "preseed.cfg"
+:ssh_login_timeout: "10000"
+:ssh_user: "vagrant"
+:ssh_password: "vagrant"
+:ssh_key: ""
+:ssh_host_port: "7222"
+:ssh_guest_port: "22"
+:sudo_cmd: "echo '%p'|sudo -S bash '%f'"
+:shutdown_cmd: "halt -p"
+:postinstall_files:
+  - "base.sh"
+  - "vagrant.sh"
+  - "virtualbox.sh"
+  #- "vmfusion.sh"
+  - "ruby.sh"
+  - "puppet.sh"
+  - "chef.sh"
+  - "cleanup.sh"
+  - "zerodisk.sh"
+:postinstall_timeout: "10000"
diff --git a/templates/Debian-8.1-amd64-netboot/preseed.cfg b/templates/Debian-8.1-amd64-netboot/preseed.cfg
new file mode 100644
index 00000000..3c013fc4
--- /dev/null
+++ b/templates/Debian-8.1-amd64-netboot/preseed.cfg
@@ -0,0 +1,429 @@
+#### Contents of the preconfiguration file (for jessie)
+### Localization
+# Preseeding only locale sets language, country and locale.
+d-i debian-installer/locale string en_US.UTF-8
+
+# The values can also be preseeded individually for greater flexibility.
+#d-i debian-installer/language string en
+#d-i debian-installer/country string NL
+#d-i debian-installer/locale string en_GB.UTF-8
+# Optionally specify additional locales to be generated.
+#d-i localechooser/supported-locales multiselect en_US.UTF-8, nl_NL.UTF-8
+
+# Keyboard selection.
+d-i keyboard-configuration/xkb-keymap select us
+# d-i keyboard-configuration/toggle select No toggling
+
+### Network configuration
+# Disable network configuration entirely. This is useful for cdrom
+# installations on non-networked devices where the network questions,
+# warning and long timeouts are a nuisance.
+#d-i netcfg/enable boolean false
+
+# netcfg will choose an interface that has link if possible. This makes it
+# skip displaying a list if there is more than one interface.
+d-i netcfg/choose_interface select auto
+
+# To pick a particular interface instead:
+#d-i netcfg/choose_interface select eth1
+
+# To set a different link detection timeout (default is 3 seconds).
+# Values are interpreted as seconds.
+#d-i netcfg/link_wait_timeout string 10
+
+# If you have a slow dhcp server and the installer times out waiting for
+# it, this might be useful.
+#d-i netcfg/dhcp_timeout string 60
+#d-i netcfg/dhcpv6_timeout string 60
+
+# If you prefer to configure the network manually, uncomment this line and
+# the static network configuration below.
+#d-i netcfg/disable_autoconfig boolean true
+
+# If you want the preconfiguration file to work on systems both with and
+# without a dhcp server, uncomment these lines and the static network
+# configuration below.
+#d-i netcfg/dhcp_failed note
+#d-i netcfg/dhcp_options select Configure network manually
+
+# Static network configuration.
+#
+# IPv4 example
+#d-i netcfg/get_ipaddress string 192.168.1.42
+#d-i netcfg/get_netmask string 255.255.255.0
+#d-i netcfg/get_gateway string 192.168.1.1
+#d-i netcfg/get_nameservers string 192.168.1.1
+#d-i netcfg/confirm_static boolean true
+#
+# IPv6 example
+#d-i netcfg/get_ipaddress string fc00::2
+#d-i netcfg/get_netmask string ffff:ffff:ffff:ffff::
+#d-i netcfg/get_gateway string fc00::1
+#d-i netcfg/get_nameservers string fc00::1
+#d-i netcfg/confirm_static boolean true
+
+# Any hostname and domain names assigned from dhcp take precedence over
+# values set here. However, setting the values still prevents the questions
+# from being shown, even if values come from dhcp.
+#d-i netcfg/get_hostname string vagrant
+d-i netcfg/get_domain string vagrantup.com
+
+# If you want to force a hostname, regardless of what either the DHCP
+# server returns or what the reverse DNS entry for the IP is, uncomment
+# and adjust the following line.
+#d-i netcfg/hostname string somehost
+
+# Disable that annoying WEP key dialog.
+d-i netcfg/wireless_wep string
+# The wacky dhcp hostname that some ISPs use as a password of sorts.
+#d-i netcfg/dhcp_hostname string radish
+
+# If non-free firmware is needed for the network or other hardware, you can
+# configure the installer to always try to load it, without prompting. Or
+# change to false to disable asking.
+#d-i hw-detect/load_firmware boolean true
+
+### Network console
+# Use the following settings if you wish to make use of the network-console
+# component for remote installation over SSH. This only makes sense if you
+# intend to perform the remainder of the installation manually.
+#d-i anna/choose_modules string network-console
+#d-i network-console/authorized_keys_url string http://10.0.0.1/openssh-key
+#d-i network-console/password password r00tme
+#d-i network-console/password-again password r00tme
+
+### Mirror settings
+# If you select ftp, the mirror/country string does not need to be set.
+#d-i mirror/protocol string ftp
+d-i mirror/country string manual
+d-i mirror/http/hostname string http.debian.net
+d-i mirror/http/directory string /debian
+d-i mirror/http/proxy string
+
+# Suite to install.
+#d-i mirror/suite string testing
+# Suite to use for loading installer components (optional).
+#d-i mirror/udeb/suite string testing
+
+### Clock and time zone setup
+# Controls whether or not the hardware clock is set to UTC.
+d-i clock-setup/utc boolean true
+
+# You may set this to any valid setting for $TZ; see the contents of
+# /usr/share/zoneinfo/ for valid values.
+d-i time/zone string UTC
+
+# Controls whether to use NTP to set the clock during the install
+d-i clock-setup/ntp boolean true
+# NTP server to use. The default is almost always fine here.
+#d-i clock-setup/ntp-server string ntp.example.com
+
+### Partitioning
+## Partitioning example
+# If the system has free space you can choose to only partition that space.
+# This is only honoured if partman-auto/method (below) is not set.
+#d-i partman-auto/init_automatically_partition select biggest_free
+
+# Alternatively, you may specify a disk to partition. If the system has only
+# one disk the installer will default to using that, but otherwise the device
+# name must be given in traditional, non-devfs format (so e.g. /dev/sda
+# and not e.g. /dev/discs/disc0/disc).
+# For example, to use the first SCSI/SATA hard disk:
+#d-i partman-auto/disk string /dev/sda
+# In addition, you'll need to specify the method to use.
+# The presently available methods are:
+# - regular: use the usual partition types for your architecture
+# - lvm:     use LVM to partition the disk
+# - crypto:  use LVM within an encrypted partition
+d-i partman-auto/method string lvm
+
+# If one of the disks that are going to be automatically partitioned
+# contains an old LVM configuration, the user will normally receive a
+# warning. This can be preseeded away...
+d-i partman-lvm/device_remove_lvm boolean true
+# The same applies to pre-existing software RAID array:
+d-i partman-md/device_remove_md boolean true
+# And the same goes for the confirmation to write the lvm partitions.
+d-i partman-lvm/confirm boolean true
+d-i partman-lvm/confirm_nooverwrite boolean true
+
+
+d-i partman/choose_partition select finish
+d-i partman-auto-lvm/guided_size string max
+
+# You can choose one of the three predefined partitioning recipes:
+# - atomic: all files in one partition
+# - home:   separate /home partition
+# - multi:  separate /home, /var, and /tmp partitions
+d-i partman-auto/choose_recipe select atomic
+
+# Or provide a recipe of your own...
+# If you have a way to get a recipe file into the d-i environment, you can
+# just point at it.
+#d-i partman-auto/expert_recipe_file string /hd-media/recipe
+
+# If not, you can put an entire recipe into the preconfiguration file in one
+# (logical) line. This example creates a small /boot partition, suitable
+# swap, and uses the rest of the space for the root partition:
+#d-i partman-auto/expert_recipe string                         \
+#      boot-root ::                                            \
+#              40 50 100 ext3                                  \
+#                      $primary{ } $bootable{ }                \
+#                      method{ format } format{ }              \
+#                      use_filesystem{ } filesystem{ ext3 }    \
+#                      mountpoint{ /boot }                     \
+#              .                                               \
+#              500 10000 1000000000 ext3                       \
+#                      method{ format } format{ }              \
+#                      use_filesystem{ } filesystem{ ext3 }    \
+#                      mountpoint{ / }                         \
+#              .                                               \
+#              64 512 300% linux-swap                          \
+#                      method{ swap } format{ }                \
+#              .
+
+# The full recipe format is documented in the file partman-auto-recipe.txt
+# included in the 'debian-installer' package or available from D-I source
+# repository. This also documents how to specify settings such as file
+# system labels, volume group names and which physical devices to include
+# in a volume group.
+
+# This makes partman automatically partition without confirmation, provided
+# that you told it what to do using one of the methods above.
+d-i partman-partitioning/confirm_write_new_label boolean true
+d-i partman/choose_partition select finish
+d-i partman/confirm boolean true
+d-i partman/confirm_nooverwrite boolean true
+
+## Partitioning using RAID
+# The method should be set to "raid".
+#d-i partman-auto/method string raid
+# Specify the disks to be partitioned. They will all get the same layout,
+# so this will only work if the disks are the same size.
+#d-i partman-auto/disk string /dev/sda /dev/sdb
+
+# Next you need to specify the physical partitions that will be used. 
+#d-i partman-auto/expert_recipe string \
+#      multiraid ::                                         \
+#              1000 5000 4000 raid                          \
+#                      $primary{ } method{ raid }           \
+#              .                                            \
+#              64 512 300% raid                             \
+#                      method{ raid }                       \
+#              .                                            \
+#              500 10000 1000000000 raid                    \
+#                      method{ raid }                       \
+#              .
+
+# Last you need to specify how the previously defined partitions will be
+# used in the RAID setup. Remember to use the correct partition numbers
+# for logical partitions. RAID levels 0, 1, 5, 6 and 10 are supported;
+# devices are separated using "#".
+# Parameters are:
+#      \
+#           
+
+#d-i partman-auto-raid/recipe string \
+#    1 2 0 ext3 /                    \
+#          /dev/sda1#/dev/sdb1       \
+#    .                               \
+#    1 2 0 swap -                    \
+#          /dev/sda5#/dev/sdb5       \
+#    .                               \
+#    0 2 0 ext3 /home                \
+#          /dev/sda6#/dev/sdb6       \
+#    .
+
+# For additional information see the file partman-auto-raid-recipe.txt
+# included in the 'debian-installer' package or available from D-I source
+# repository.
+
+# This makes partman automatically partition without confirmation.
+d-i partman-md/confirm boolean true
+d-i partman-partitioning/confirm_write_new_label boolean true
+d-i partman/choose_partition select finish
+d-i partman/confirm boolean true
+d-i partman/confirm_nooverwrite boolean true
+
+## Controlling how partitions are mounted
+# The default is to mount by UUID, but you can also choose "traditional" to
+# use traditional device names, or "label" to try filesystem labels before
+# falling back to UUIDs.
+#d-i partman/mount_style select uuid
+
+### Base system installation
+# Configure APT to not install recommended packages by default. Use of this
+# option can result in an incomplete system and should only be used by very
+# experienced users.
+#d-i base-installer/install-recommends boolean false
+
+# The kernel image (meta) package to be installed; "none" can be used if no
+# kernel is to be installed.
+#d-i base-installer/kernel/image string linux-image-586
+
+### Account setup
+# Skip creation of a root account (normal user account will be able to
+# use sudo).
+d-i passwd/root-login boolean false
+# Alternatively, to skip creation of a normal user account.
+#d-i passwd/make-user boolean false
+
+# Root password, either in clear text
+d-i passwd/root-password password vagrant
+d-i passwd/root-password-again password vagrant
+# or encrypted using an MD5 hash.
+#d-i passwd/root-password-crypted password [MD5 hash]
+
+# To create a normal user account.
+d-i passwd/user-fullname string Vagrant User
+d-i passwd/username string vagrant
+# Normal user's password, either in clear text
+d-i passwd/user-password password vagrant
+d-i passwd/user-password-again password vagrant
+# or encrypted using an MD5 hash.
+#d-i passwd/user-password-crypted password [MD5 hash]
+# Create the first user with the specified UID instead of the default.
+#d-i passwd/user-uid string 1010
+
+# The user account will be added to some standard initial groups. To
+# override that, use this.
+d-i passwd/user-default-groups string audio cdrom video admin
+
+### Apt setup
+# You can choose to install non-free and contrib software.
+#d-i apt-setup/non-free boolean true
+#d-i apt-setup/contrib boolean true
+# Uncomment this if you don't want to use a network mirror.
+#d-i apt-setup/use_mirror boolean false
+# Select which update services to use; define the mirrors to be used.
+# Values shown below are the normal defaults.
+#d-i apt-setup/services-select multiselect security, updates
+#d-i apt-setup/security_host string security.debian.org
+
+# Additional repositories, local[0-9] available
+#d-i apt-setup/local0/repository string \
+#       http://local.server/debian stable main
+#d-i apt-setup/local0/comment string local server
+# Enable deb-src lines
+#d-i apt-setup/local0/source boolean true
+# URL to the public key of the local repository; you must provide a key or
+# apt will complain about the unauthenticated repository and so the
+# sources.list line will be left commented out
+#d-i apt-setup/local0/key string http://local.server/key
+
+# By default the installer requires that repositories be authenticated
+# using a known gpg key. This setting can be used to disable that
+# authentication. Warning: Insecure, not recommended.
+#d-i debian-installer/allow_unauthenticated boolean true
+
+### Package selection
+tasksel tasksel/first multiselect standard
+
+# Individual additional packages to install
+d-i pkgsel/include string openssh-server ntp acpid  sudo bzip2 rsync
+# Whether to upgrade packages after debootstrap.
+# Allowed values: none, safe-upgrade, full-upgrade
+d-i pkgsel/upgrade select none
+
+# Some versions of the installer can report back on what software you have
+# installed, and what software you use. The default is not to report back,
+# but sending reports helps the project determine what software is most
+# popular and include it on CDs.
+popularity-contest popularity-contest/participate boolean false
+
+### Boot loader installation
+# Grub is the default boot loader (for x86). If you want lilo installed
+# instead, uncomment this:
+#d-i grub-installer/skip boolean true
+# To also skip installing lilo, and install no bootloader, uncomment this
+# too:
+#d-i lilo-installer/skip boolean true
+
+
+# This is fairly safe to set, it makes grub install automatically to the MBR
+# if no other operating system is detected on the machine.
+d-i grub-installer/only_debian boolean true
+
+# This one makes grub-installer install to the MBR if it also finds some other
+# OS, which is less safe as it might not be able to boot that other OS.
+d-i grub-installer/with_other_os boolean true
+
+# Due notably to potential USB sticks, the location of the MBR can not be
+# determined safely in general, so this needs to be specified:
+#d-i grub-installer/bootdev  string /dev/sda
+# To install to the first device (assuming it is not a USB stick):
+d-i grub-installer/bootdev  string default
+
+# Alternatively, if you want to install to a location other than the mbr,
+# uncomment and edit these lines:
+#d-i grub-installer/only_debian boolean false
+#d-i grub-installer/with_other_os boolean false
+#d-i grub-installer/bootdev  string (hd0,1)
+# To install grub to multiple disks:
+#d-i grub-installer/bootdev  string (hd0,1) (hd1,1) (hd2,1)
+
+# Optional password for grub, either in clear text
+#d-i grub-installer/password password r00tme
+#d-i grub-installer/password-again password r00tme
+# or encrypted using an MD5 hash, see grub-md5-crypt(8).
+#d-i grub-installer/password-crypted password [MD5 hash]
+
+# Use the following option to add additional boot parameters for the
+# installed system (if supported by the bootloader installer).
+# Note: options passed to the installer will be added automatically.
+#d-i debian-installer/add-kernel-opts string nousb
+
+### Finishing up the installation
+# During installations from serial console, the regular virtual consoles
+# (VT1-VT6) are normally disabled in /etc/inittab. Uncomment the next
+# line to prevent this.
+#d-i finish-install/keep-consoles boolean true
+
+# Avoid that last message about the install being complete.
+d-i finish-install/reboot_in_progress note
+
+# This will prevent the installer from ejecting the CD during the reboot,
+# which is useful in some situations.
+#d-i cdrom-detect/eject boolean false
+
+# This is how to make the installer shutdown when finished, but not
+# reboot into the installed system.
+#d-i debian-installer/exit/halt boolean true
+# This will power off the machine instead of just halting it.
+#d-i debian-installer/exit/poweroff boolean true
+
+### Preseeding other packages
+# Depending on what software you choose to install, or if things go wrong
+# during the installation process, it's possible that other questions may
+# be asked. You can preseed those too, of course. To get a list of every
+# possible question that could be asked during an install, do an
+# installation, and then run these commands:
+#   debconf-get-selections --installer > file
+#   debconf-get-selections >> file
+
+
+#### Advanced options
+### Running custom commands during the installation
+# d-i preseeding is inherently not secure. Nothing in the installer checks
+# for attempts at buffer overflows or other exploits of the values of a
+# preconfiguration file like this one. Only use preconfiguration files from
+# trusted locations! To drive that home, and because it's generally useful,
+# here's a way to run any shell command you'd like inside the installer,
+# automatically.
+
+# This first command is run as early as possible, just after
+# preseeding is read.
+# Prevent packaged version of VirtualBox Guest Additions being installed:
+d-i preseed/early_command string sed -i \
+  '/in-target/idiscover(){/sbin/discover|grep -v VirtualBox;}' \
+  /usr/lib/pre-pkgsel.d/20install-hwpackages
+# This command is run immediately before the partitioner starts. It may be
+# useful to apply dynamic partitioner preseeding that depends on the state
+# of the disks (which may not be visible when preseed/early_command runs).
+#d-i partman/early_command \
+#       string debconf-set partman-auto/disk "$(list-devices disk | head -n1)"
+# This command is run just before the install finishes, but when there is
+# still a usable /target directory. You can chroot to /target and use it
+# directly, or use the apt-install and in-target commands to easily install
+# packages and run commands in the target system.
+#d-i preseed/late_command string apt-install zsh; in-target chsh -s /bin/zsh
diff --git a/templates/Debian-8.1-amd64-netboot/puppet.sh b/templates/Debian-8.1-amd64-netboot/puppet.sh
new file mode 100644
index 00000000..107b2361
--- /dev/null
+++ b/templates/Debian-8.1-amd64-netboot/puppet.sh
@@ -0,0 +1,7 @@
+# Prepare puppetlabs repo
+wget http://apt.puppetlabs.com/puppetlabs-release-wheezy.deb
+dpkg -i puppetlabs-release-wheezy.deb
+apt-get update
+
+# Install puppet/facter
+apt-get install -y puppet facter
diff --git a/templates/Debian-8.1-amd64-netboot/ruby.sh b/templates/Debian-8.1-amd64-netboot/ruby.sh
new file mode 100644
index 00000000..e44d60d2
--- /dev/null
+++ b/templates/Debian-8.1-amd64-netboot/ruby.sh
@@ -0,0 +1,10 @@
+# Install Ruby from packages
+apt-get -y install ruby ruby-dev libopenssl-ruby1.8 irb ri rdoc
+
+# Install Rubygems from source
+rg_ver=1.8.22
+curl -o /tmp/rubygems-${rg_ver}.zip \
+  "http://production.cf.rubygems.org/rubygems/rubygems-${rg_ver}.zip"
+(cd /tmp && unzip rubygems-${rg_ver}.zip && \
+  cd rubygems-${rg_ver} && ruby setup.rb --no-format-executable)
+rm -rf /tmp/rubygems-${rg_ver} /tmp/rubygems-${rg_ver}.zip
diff --git a/templates/Debian-8.1-amd64-netboot/vagrant.sh b/templates/Debian-8.1-amd64-netboot/vagrant.sh
new file mode 100644
index 00000000..54c2a71e
--- /dev/null
+++ b/templates/Debian-8.1-amd64-netboot/vagrant.sh
@@ -0,0 +1,21 @@
+# Set up Vagrant.
+
+date > /etc/vagrant_box_build_time
+
+# Create the user vagrant with password vagrant
+useradd -G sudo -p $(perl -e'print crypt("vagrant", "vagrant")') -m -s /bin/bash -N vagrant
+
+# Install vagrant keys
+mkdir -pm 700 /home/vagrant/.ssh
+curl -Lo /home/vagrant/.ssh/authorized_keys \
+  'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub'
+chmod 0600 /home/vagrant/.ssh/authorized_keys
+chown -R vagrant:vagrant /home/vagrant/.ssh
+
+# Customize the message of the day
+echo 'Welcome to your Vagrant-built virtual machine.' > /var/run/motd
+
+# Install NFS client
+apt-get -y install nfs-common
+
+
diff --git a/templates/Debian-8.1-amd64-netboot/virtualbox.sh b/templates/Debian-8.1-amd64-netboot/virtualbox.sh
new file mode 100644
index 00000000..4dad6492
--- /dev/null
+++ b/templates/Debian-8.1-amd64-netboot/virtualbox.sh
@@ -0,0 +1,37 @@
+if test -f .vbox_version ; then
+  # The netboot installs the VirtualBox support (old) so we have to remove it
+  if test -f /etc/init.d/virtualbox-ose-guest-utils ; then
+    /etc/init.d/virtualbox-ose-guest-utils stop
+  fi
+
+  rmmod vboxguest
+  aptitude -y purge virtualbox-ose-guest-x11 virtualbox-ose-guest-dkms virtualbox-ose-guest-utils
+
+  # Install dkms for dynamic compiles
+
+  apt-get install -y dkms
+
+  # If libdbus is not installed, virtualbox will not autostart
+  apt-get -y install --no-install-recommends libdbus-1-3
+
+  # Install the VirtualBox guest additions
+  VBOX_VERSION=$(cat .vbox_version)
+  VBOX_ISO=VBoxGuestAdditions_$VBOX_VERSION.iso
+  mount -o loop $VBOX_ISO /mnt
+  yes|sh /mnt/VBoxLinuxAdditions.run
+  umount /mnt
+
+  # Start the newly build driver
+  /etc/init.d/vboxadd start
+
+  # Make a temporary mount point
+  mkdir /tmp/veewee-validation
+
+  # Test mount the veewee-validation
+  mount -t vboxsf veewee-validation /tmp/veewee-validation
+
+  rm $VBOX_ISO
+
+  # Symlink vbox guest additions. Fix for https://github.com/mitchellh/vagrant/issues/3341
+  ln -s /opt/VBoxGuestAdditions-$VBOX_VERSION/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions
+fi
diff --git a/templates/Debian-8.1-amd64-netboot/vmfusion.sh b/templates/Debian-8.1-amd64-netboot/vmfusion.sh
new file mode 100644
index 00000000..3ced7e44
--- /dev/null
+++ b/templates/Debian-8.1-amd64-netboot/vmfusion.sh
@@ -0,0 +1,7 @@
+cd /tmp
+mkdir -p /mnt/cdrom
+mount -o loop /home/vagrant/linux.iso /mnt/cdrom
+tar zxvf /mnt/cdrom/VMwareTools-*.tar.gz -C /tmp/
+/tmp/vmware-tools-distrib/vmware-install.pl -d
+rm /home/vagrant/linux.iso
+umount /mnt/cdrom
diff --git a/templates/CentOS-5.10-x86_64/zerodisk.sh b/templates/Debian-8.1-amd64-netboot/zerodisk.sh
old mode 100755
new mode 100644
similarity index 99%
rename from templates/CentOS-5.10-x86_64/zerodisk.sh
rename to templates/Debian-8.1-amd64-netboot/zerodisk.sh
index ee72201f..938075a3
--- a/templates/CentOS-5.10-x86_64/zerodisk.sh
+++ b/templates/Debian-8.1-amd64-netboot/zerodisk.sh
@@ -1,4 +1,3 @@
 # Zero out the free space to save space in the final image:
-
 dd if=/dev/zero of=/EMPTY bs=1M
 rm -f /EMPTY
diff --git a/templates/Debian-8.2-amd64-netboot/base.sh b/templates/Debian-8.2-amd64-netboot/base.sh
new file mode 100644
index 00000000..e3642f1c
--- /dev/null
+++ b/templates/Debian-8.2-amd64-netboot/base.sh
@@ -0,0 +1,25 @@
+# Update the box
+apt-get -y update
+apt-get -y install linux-headers-$(uname -r) build-essential
+apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev
+apt-get -y install curl unzip
+
+# Set up sudo
+echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant
+
+# Tweak sshd to prevent DNS resolution (speed up logins)
+echo 'UseDNS no' >> /etc/ssh/sshd_config
+
+# Remove 5s grub timeout to speed up booting
+cat < /etc/default/grub
+# If you change this file, run 'update-grub' afterwards to update
+# /boot/grub/grub.cfg.
+
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=0
+GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
+GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+GRUB_CMDLINE_LINUX="debian-installer=en_US"
+EOF
+
+update-grub
diff --git a/templates/Debian-8.2-amd64-netboot/chef.sh b/templates/Debian-8.2-amd64-netboot/chef.sh
new file mode 100644
index 00000000..cd119586
--- /dev/null
+++ b/templates/Debian-8.2-amd64-netboot/chef.sh
@@ -0,0 +1,49 @@
+if [ -f .veewee_params ]
+then
+  . .veewee_params
+fi
+
+# Default to Gem install
+if [ -z "$CHEF_INSTALLMETHOD" ]; then
+  export CHEF_INSTALLMETHOD="gems"
+fi
+
+# Installing chef
+case $CHEF_INSTALLMETHOD in
+  "gems")
+    # Using gems
+    if [ -z "$CHEF_VERSION" ]; then
+      # Default to latest
+      gem install chef --no-ri --no-rdoc
+    else
+      gem install chef --no-ri --no-rdoc --version $CHEF_VERSION
+    fi
+    ;;
+
+  "omnibus")
+    # Using omnibus
+    if [ -z "$CHEF_VERSION" ]; then
+      # Default to latest
+      wget -O - http://opscode.com/chef/install.sh | sudo bash -s
+    else
+      wget -O - http://opscode.com/chef/install.sh | sudo bash -s -- -v $CHEF_VERSION
+    fi
+    ;;
+
+  "package")
+    # Using packages
+    apt-get install -y debconf-utils
+    echo "chef    chef/chef_server_url    string  $CHEF_SERVER_URL" | debconf-set-selections
+    if [ -z "$CHEF_VERSION" ]; then
+      # Default to latest
+      apt-get install -y chef
+    else
+      apt-get install -y chef=$CHEF_VERSION
+    fi
+    ;;
+
+  *)
+    echo "Unsupported method for installing chef"
+    exit -1
+    ;;
+esac
diff --git a/templates/Debian-8.2-amd64-netboot/cleanup.sh b/templates/Debian-8.2-amd64-netboot/cleanup.sh
new file mode 100644
index 00000000..f6953e16
--- /dev/null
+++ b/templates/Debian-8.2-amd64-netboot/cleanup.sh
@@ -0,0 +1,18 @@
+# Clean up
+apt-get -y remove linux-headers-$(uname -r) build-essential
+apt-get -y autoremove
+apt-get -y clean
+
+# Removing leftover leases and persistent rules
+echo "cleaning up dhcp leases"
+rm /var/lib/dhcp/*
+
+# Make sure Udev doesn't block our network
+echo "cleaning up udev rules"
+rm /etc/udev/rules.d/70-persistent-net.rules
+mkdir /etc/udev/rules.d/70-persistent-net.rules
+rm -rf /dev/.udev/
+rm /lib/udev/rules.d/75-persistent-net-generator.rules
+
+echo "Adding a 2 sec delay to the interface up, to make the dhclient happy"
+echo "pre-up sleep 2" >> /etc/network/interfaces
diff --git a/templates/Debian-8.2-amd64-netboot/debian_64_net.yml b/templates/Debian-8.2-amd64-netboot/debian_64_net.yml
new file mode 100644
index 00000000..df22b11e
--- /dev/null
+++ b/templates/Debian-8.2-amd64-netboot/debian_64_net.yml
@@ -0,0 +1,5 @@
+---
+:os_type_id: 'Debian_64'
+:iso_file: "debian-8.2.0-amd64-netinst.iso"
+:iso_src: "http://cdimage.debian.org/debian-cd/8.2.0/amd64/iso-cd/debian-8.2.0-amd64-netinst.iso"
+:iso_md5: "762eb3dfc22f85faf659001ebf270b4f"
diff --git a/templates/Debian-8.2-amd64-netboot/definition.rb b/templates/Debian-8.2-amd64-netboot/definition.rb
new file mode 100644
index 00000000..7d172c2f
--- /dev/null
+++ b/templates/Debian-8.2-amd64-netboot/definition.rb
@@ -0,0 +1,5 @@
+#
+# change debian_64_netinst to one of configurations in *.yml in this directory
+# use the yml files to configure
+#
+Veewee::Definition.declare_yaml('definition.yml', "debian_64_net.yml")
diff --git a/templates/Debian-8.2-amd64-netboot/definition.yml b/templates/Debian-8.2-amd64-netboot/definition.yml
new file mode 100644
index 00000000..ed15f6b2
--- /dev/null
+++ b/templates/Debian-8.2-amd64-netboot/definition.yml
@@ -0,0 +1,46 @@
+---
+:cpu_count: '1'
+:memory_size: '256'
+:disk_size: '10140'
+:disk_format: 'VDI'
+:hostiocache: 'off'
+:iso_download_timeout: "1000"
+:boot_wait: "10"
+:boot_cmd_sequence:
+  - ''
+  - 'install '
+  - 'preseed/url=http://%IP%:%PORT%/preseed.cfg '
+  - 'debian-installer=en_US '
+  - 'auto '
+  - 'locale=en_US '
+  - 'kbd-chooser/method=us '
+  - 'netcfg/get_hostname=%NAME% '
+  - 'netcfg/get_domain=vagrantup.com '
+  - 'fb=false '
+  - 'debconf/frontend=noninteractive '
+  - 'console-setup/ask_detect=false '
+  - 'console-keymaps-at/keymap=us '
+  - 'keyboard-configuration/xkb-keymap=us '
+  - ''
+:kickstart_port: "7122"
+:kickstart_timeout: "300"
+:kickstart_file: "preseed.cfg"
+:ssh_login_timeout: "10000"
+:ssh_user: "vagrant"
+:ssh_password: "vagrant"
+:ssh_key: ""
+:ssh_host_port: "7222"
+:ssh_guest_port: "22"
+:sudo_cmd: "echo '%p'|sudo -S bash '%f'"
+:shutdown_cmd: "halt -p"
+:postinstall_files:
+  - "base.sh"
+  - "vagrant.sh"
+  - "virtualbox.sh"
+  #- "vmfusion.sh"
+  - "ruby.sh"
+  - "puppet.sh"
+  - "chef.sh"
+  - "cleanup.sh"
+  - "zerodisk.sh"
+:postinstall_timeout: "10000"
diff --git a/templates/Debian-8.2-amd64-netboot/preseed.cfg b/templates/Debian-8.2-amd64-netboot/preseed.cfg
new file mode 100644
index 00000000..3c013fc4
--- /dev/null
+++ b/templates/Debian-8.2-amd64-netboot/preseed.cfg
@@ -0,0 +1,429 @@
+#### Contents of the preconfiguration file (for jessie)
+### Localization
+# Preseeding only locale sets language, country and locale.
+d-i debian-installer/locale string en_US.UTF-8
+
+# The values can also be preseeded individually for greater flexibility.
+#d-i debian-installer/language string en
+#d-i debian-installer/country string NL
+#d-i debian-installer/locale string en_GB.UTF-8
+# Optionally specify additional locales to be generated.
+#d-i localechooser/supported-locales multiselect en_US.UTF-8, nl_NL.UTF-8
+
+# Keyboard selection.
+d-i keyboard-configuration/xkb-keymap select us
+# d-i keyboard-configuration/toggle select No toggling
+
+### Network configuration
+# Disable network configuration entirely. This is useful for cdrom
+# installations on non-networked devices where the network questions,
+# warning and long timeouts are a nuisance.
+#d-i netcfg/enable boolean false
+
+# netcfg will choose an interface that has link if possible. This makes it
+# skip displaying a list if there is more than one interface.
+d-i netcfg/choose_interface select auto
+
+# To pick a particular interface instead:
+#d-i netcfg/choose_interface select eth1
+
+# To set a different link detection timeout (default is 3 seconds).
+# Values are interpreted as seconds.
+#d-i netcfg/link_wait_timeout string 10
+
+# If you have a slow dhcp server and the installer times out waiting for
+# it, this might be useful.
+#d-i netcfg/dhcp_timeout string 60
+#d-i netcfg/dhcpv6_timeout string 60
+
+# If you prefer to configure the network manually, uncomment this line and
+# the static network configuration below.
+#d-i netcfg/disable_autoconfig boolean true
+
+# If you want the preconfiguration file to work on systems both with and
+# without a dhcp server, uncomment these lines and the static network
+# configuration below.
+#d-i netcfg/dhcp_failed note
+#d-i netcfg/dhcp_options select Configure network manually
+
+# Static network configuration.
+#
+# IPv4 example
+#d-i netcfg/get_ipaddress string 192.168.1.42
+#d-i netcfg/get_netmask string 255.255.255.0
+#d-i netcfg/get_gateway string 192.168.1.1
+#d-i netcfg/get_nameservers string 192.168.1.1
+#d-i netcfg/confirm_static boolean true
+#
+# IPv6 example
+#d-i netcfg/get_ipaddress string fc00::2
+#d-i netcfg/get_netmask string ffff:ffff:ffff:ffff::
+#d-i netcfg/get_gateway string fc00::1
+#d-i netcfg/get_nameservers string fc00::1
+#d-i netcfg/confirm_static boolean true
+
+# Any hostname and domain names assigned from dhcp take precedence over
+# values set here. However, setting the values still prevents the questions
+# from being shown, even if values come from dhcp.
+#d-i netcfg/get_hostname string vagrant
+d-i netcfg/get_domain string vagrantup.com
+
+# If you want to force a hostname, regardless of what either the DHCP
+# server returns or what the reverse DNS entry for the IP is, uncomment
+# and adjust the following line.
+#d-i netcfg/hostname string somehost
+
+# Disable that annoying WEP key dialog.
+d-i netcfg/wireless_wep string
+# The wacky dhcp hostname that some ISPs use as a password of sorts.
+#d-i netcfg/dhcp_hostname string radish
+
+# If non-free firmware is needed for the network or other hardware, you can
+# configure the installer to always try to load it, without prompting. Or
+# change to false to disable asking.
+#d-i hw-detect/load_firmware boolean true
+
+### Network console
+# Use the following settings if you wish to make use of the network-console
+# component for remote installation over SSH. This only makes sense if you
+# intend to perform the remainder of the installation manually.
+#d-i anna/choose_modules string network-console
+#d-i network-console/authorized_keys_url string http://10.0.0.1/openssh-key
+#d-i network-console/password password r00tme
+#d-i network-console/password-again password r00tme
+
+### Mirror settings
+# If you select ftp, the mirror/country string does not need to be set.
+#d-i mirror/protocol string ftp
+d-i mirror/country string manual
+d-i mirror/http/hostname string http.debian.net
+d-i mirror/http/directory string /debian
+d-i mirror/http/proxy string
+
+# Suite to install.
+#d-i mirror/suite string testing
+# Suite to use for loading installer components (optional).
+#d-i mirror/udeb/suite string testing
+
+### Clock and time zone setup
+# Controls whether or not the hardware clock is set to UTC.
+d-i clock-setup/utc boolean true
+
+# You may set this to any valid setting for $TZ; see the contents of
+# /usr/share/zoneinfo/ for valid values.
+d-i time/zone string UTC
+
+# Controls whether to use NTP to set the clock during the install
+d-i clock-setup/ntp boolean true
+# NTP server to use. The default is almost always fine here.
+#d-i clock-setup/ntp-server string ntp.example.com
+
+### Partitioning
+## Partitioning example
+# If the system has free space you can choose to only partition that space.
+# This is only honoured if partman-auto/method (below) is not set.
+#d-i partman-auto/init_automatically_partition select biggest_free
+
+# Alternatively, you may specify a disk to partition. If the system has only
+# one disk the installer will default to using that, but otherwise the device
+# name must be given in traditional, non-devfs format (so e.g. /dev/sda
+# and not e.g. /dev/discs/disc0/disc).
+# For example, to use the first SCSI/SATA hard disk:
+#d-i partman-auto/disk string /dev/sda
+# In addition, you'll need to specify the method to use.
+# The presently available methods are:
+# - regular: use the usual partition types for your architecture
+# - lvm:     use LVM to partition the disk
+# - crypto:  use LVM within an encrypted partition
+d-i partman-auto/method string lvm
+
+# If one of the disks that are going to be automatically partitioned
+# contains an old LVM configuration, the user will normally receive a
+# warning. This can be preseeded away...
+d-i partman-lvm/device_remove_lvm boolean true
+# The same applies to pre-existing software RAID array:
+d-i partman-md/device_remove_md boolean true
+# And the same goes for the confirmation to write the lvm partitions.
+d-i partman-lvm/confirm boolean true
+d-i partman-lvm/confirm_nooverwrite boolean true
+
+
+d-i partman/choose_partition select finish
+d-i partman-auto-lvm/guided_size string max
+
+# You can choose one of the three predefined partitioning recipes:
+# - atomic: all files in one partition
+# - home:   separate /home partition
+# - multi:  separate /home, /var, and /tmp partitions
+d-i partman-auto/choose_recipe select atomic
+
+# Or provide a recipe of your own...
+# If you have a way to get a recipe file into the d-i environment, you can
+# just point at it.
+#d-i partman-auto/expert_recipe_file string /hd-media/recipe
+
+# If not, you can put an entire recipe into the preconfiguration file in one
+# (logical) line. This example creates a small /boot partition, suitable
+# swap, and uses the rest of the space for the root partition:
+#d-i partman-auto/expert_recipe string                         \
+#      boot-root ::                                            \
+#              40 50 100 ext3                                  \
+#                      $primary{ } $bootable{ }                \
+#                      method{ format } format{ }              \
+#                      use_filesystem{ } filesystem{ ext3 }    \
+#                      mountpoint{ /boot }                     \
+#              .                                               \
+#              500 10000 1000000000 ext3                       \
+#                      method{ format } format{ }              \
+#                      use_filesystem{ } filesystem{ ext3 }    \
+#                      mountpoint{ / }                         \
+#              .                                               \
+#              64 512 300% linux-swap                          \
+#                      method{ swap } format{ }                \
+#              .
+
+# The full recipe format is documented in the file partman-auto-recipe.txt
+# included in the 'debian-installer' package or available from D-I source
+# repository. This also documents how to specify settings such as file
+# system labels, volume group names and which physical devices to include
+# in a volume group.
+
+# This makes partman automatically partition without confirmation, provided
+# that you told it what to do using one of the methods above.
+d-i partman-partitioning/confirm_write_new_label boolean true
+d-i partman/choose_partition select finish
+d-i partman/confirm boolean true
+d-i partman/confirm_nooverwrite boolean true
+
+## Partitioning using RAID
+# The method should be set to "raid".
+#d-i partman-auto/method string raid
+# Specify the disks to be partitioned. They will all get the same layout,
+# so this will only work if the disks are the same size.
+#d-i partman-auto/disk string /dev/sda /dev/sdb
+
+# Next you need to specify the physical partitions that will be used. 
+#d-i partman-auto/expert_recipe string \
+#      multiraid ::                                         \
+#              1000 5000 4000 raid                          \
+#                      $primary{ } method{ raid }           \
+#              .                                            \
+#              64 512 300% raid                             \
+#                      method{ raid }                       \
+#              .                                            \
+#              500 10000 1000000000 raid                    \
+#                      method{ raid }                       \
+#              .
+
+# Last you need to specify how the previously defined partitions will be
+# used in the RAID setup. Remember to use the correct partition numbers
+# for logical partitions. RAID levels 0, 1, 5, 6 and 10 are supported;
+# devices are separated using "#".
+# Parameters are:
+#      \
+#           
+
+#d-i partman-auto-raid/recipe string \
+#    1 2 0 ext3 /                    \
+#          /dev/sda1#/dev/sdb1       \
+#    .                               \
+#    1 2 0 swap -                    \
+#          /dev/sda5#/dev/sdb5       \
+#    .                               \
+#    0 2 0 ext3 /home                \
+#          /dev/sda6#/dev/sdb6       \
+#    .
+
+# For additional information see the file partman-auto-raid-recipe.txt
+# included in the 'debian-installer' package or available from D-I source
+# repository.
+
+# This makes partman automatically partition without confirmation.
+d-i partman-md/confirm boolean true
+d-i partman-partitioning/confirm_write_new_label boolean true
+d-i partman/choose_partition select finish
+d-i partman/confirm boolean true
+d-i partman/confirm_nooverwrite boolean true
+
+## Controlling how partitions are mounted
+# The default is to mount by UUID, but you can also choose "traditional" to
+# use traditional device names, or "label" to try filesystem labels before
+# falling back to UUIDs.
+#d-i partman/mount_style select uuid
+
+### Base system installation
+# Configure APT to not install recommended packages by default. Use of this
+# option can result in an incomplete system and should only be used by very
+# experienced users.
+#d-i base-installer/install-recommends boolean false
+
+# The kernel image (meta) package to be installed; "none" can be used if no
+# kernel is to be installed.
+#d-i base-installer/kernel/image string linux-image-586
+
+### Account setup
+# Skip creation of a root account (normal user account will be able to
+# use sudo).
+d-i passwd/root-login boolean false
+# Alternatively, to skip creation of a normal user account.
+#d-i passwd/make-user boolean false
+
+# Root password, either in clear text
+d-i passwd/root-password password vagrant
+d-i passwd/root-password-again password vagrant
+# or encrypted using an MD5 hash.
+#d-i passwd/root-password-crypted password [MD5 hash]
+
+# To create a normal user account.
+d-i passwd/user-fullname string Vagrant User
+d-i passwd/username string vagrant
+# Normal user's password, either in clear text
+d-i passwd/user-password password vagrant
+d-i passwd/user-password-again password vagrant
+# or encrypted using an MD5 hash.
+#d-i passwd/user-password-crypted password [MD5 hash]
+# Create the first user with the specified UID instead of the default.
+#d-i passwd/user-uid string 1010
+
+# The user account will be added to some standard initial groups. To
+# override that, use this.
+d-i passwd/user-default-groups string audio cdrom video admin
+
+### Apt setup
+# You can choose to install non-free and contrib software.
+#d-i apt-setup/non-free boolean true
+#d-i apt-setup/contrib boolean true
+# Uncomment this if you don't want to use a network mirror.
+#d-i apt-setup/use_mirror boolean false
+# Select which update services to use; define the mirrors to be used.
+# Values shown below are the normal defaults.
+#d-i apt-setup/services-select multiselect security, updates
+#d-i apt-setup/security_host string security.debian.org
+
+# Additional repositories, local[0-9] available
+#d-i apt-setup/local0/repository string \
+#       http://local.server/debian stable main
+#d-i apt-setup/local0/comment string local server
+# Enable deb-src lines
+#d-i apt-setup/local0/source boolean true
+# URL to the public key of the local repository; you must provide a key or
+# apt will complain about the unauthenticated repository and so the
+# sources.list line will be left commented out
+#d-i apt-setup/local0/key string http://local.server/key
+
+# By default the installer requires that repositories be authenticated
+# using a known gpg key. This setting can be used to disable that
+# authentication. Warning: Insecure, not recommended.
+#d-i debian-installer/allow_unauthenticated boolean true
+
+### Package selection
+tasksel tasksel/first multiselect standard
+
+# Individual additional packages to install
+d-i pkgsel/include string openssh-server ntp acpid  sudo bzip2 rsync
+# Whether to upgrade packages after debootstrap.
+# Allowed values: none, safe-upgrade, full-upgrade
+d-i pkgsel/upgrade select none
+
+# Some versions of the installer can report back on what software you have
+# installed, and what software you use. The default is not to report back,
+# but sending reports helps the project determine what software is most
+# popular and include it on CDs.
+popularity-contest popularity-contest/participate boolean false
+
+### Boot loader installation
+# Grub is the default boot loader (for x86). If you want lilo installed
+# instead, uncomment this:
+#d-i grub-installer/skip boolean true
+# To also skip installing lilo, and install no bootloader, uncomment this
+# too:
+#d-i lilo-installer/skip boolean true
+
+
+# This is fairly safe to set, it makes grub install automatically to the MBR
+# if no other operating system is detected on the machine.
+d-i grub-installer/only_debian boolean true
+
+# This one makes grub-installer install to the MBR if it also finds some other
+# OS, which is less safe as it might not be able to boot that other OS.
+d-i grub-installer/with_other_os boolean true
+
+# Due notably to potential USB sticks, the location of the MBR can not be
+# determined safely in general, so this needs to be specified:
+#d-i grub-installer/bootdev  string /dev/sda
+# To install to the first device (assuming it is not a USB stick):
+d-i grub-installer/bootdev  string default
+
+# Alternatively, if you want to install to a location other than the mbr,
+# uncomment and edit these lines:
+#d-i grub-installer/only_debian boolean false
+#d-i grub-installer/with_other_os boolean false
+#d-i grub-installer/bootdev  string (hd0,1)
+# To install grub to multiple disks:
+#d-i grub-installer/bootdev  string (hd0,1) (hd1,1) (hd2,1)
+
+# Optional password for grub, either in clear text
+#d-i grub-installer/password password r00tme
+#d-i grub-installer/password-again password r00tme
+# or encrypted using an MD5 hash, see grub-md5-crypt(8).
+#d-i grub-installer/password-crypted password [MD5 hash]
+
+# Use the following option to add additional boot parameters for the
+# installed system (if supported by the bootloader installer).
+# Note: options passed to the installer will be added automatically.
+#d-i debian-installer/add-kernel-opts string nousb
+
+### Finishing up the installation
+# During installations from serial console, the regular virtual consoles
+# (VT1-VT6) are normally disabled in /etc/inittab. Uncomment the next
+# line to prevent this.
+#d-i finish-install/keep-consoles boolean true
+
+# Avoid that last message about the install being complete.
+d-i finish-install/reboot_in_progress note
+
+# This will prevent the installer from ejecting the CD during the reboot,
+# which is useful in some situations.
+#d-i cdrom-detect/eject boolean false
+
+# This is how to make the installer shutdown when finished, but not
+# reboot into the installed system.
+#d-i debian-installer/exit/halt boolean true
+# This will power off the machine instead of just halting it.
+#d-i debian-installer/exit/poweroff boolean true
+
+### Preseeding other packages
+# Depending on what software you choose to install, or if things go wrong
+# during the installation process, it's possible that other questions may
+# be asked. You can preseed those too, of course. To get a list of every
+# possible question that could be asked during an install, do an
+# installation, and then run these commands:
+#   debconf-get-selections --installer > file
+#   debconf-get-selections >> file
+
+
+#### Advanced options
+### Running custom commands during the installation
+# d-i preseeding is inherently not secure. Nothing in the installer checks
+# for attempts at buffer overflows or other exploits of the values of a
+# preconfiguration file like this one. Only use preconfiguration files from
+# trusted locations! To drive that home, and because it's generally useful,
+# here's a way to run any shell command you'd like inside the installer,
+# automatically.
+
+# This first command is run as early as possible, just after
+# preseeding is read.
+# Prevent packaged version of VirtualBox Guest Additions being installed:
+d-i preseed/early_command string sed -i \
+  '/in-target/idiscover(){/sbin/discover|grep -v VirtualBox;}' \
+  /usr/lib/pre-pkgsel.d/20install-hwpackages
+# This command is run immediately before the partitioner starts. It may be
+# useful to apply dynamic partitioner preseeding that depends on the state
+# of the disks (which may not be visible when preseed/early_command runs).
+#d-i partman/early_command \
+#       string debconf-set partman-auto/disk "$(list-devices disk | head -n1)"
+# This command is run just before the install finishes, but when there is
+# still a usable /target directory. You can chroot to /target and use it
+# directly, or use the apt-install and in-target commands to easily install
+# packages and run commands in the target system.
+#d-i preseed/late_command string apt-install zsh; in-target chsh -s /bin/zsh
diff --git a/templates/Debian-8.2-amd64-netboot/puppet.sh b/templates/Debian-8.2-amd64-netboot/puppet.sh
new file mode 100644
index 00000000..107b2361
--- /dev/null
+++ b/templates/Debian-8.2-amd64-netboot/puppet.sh
@@ -0,0 +1,7 @@
+# Prepare puppetlabs repo
+wget http://apt.puppetlabs.com/puppetlabs-release-wheezy.deb
+dpkg -i puppetlabs-release-wheezy.deb
+apt-get update
+
+# Install puppet/facter
+apt-get install -y puppet facter
diff --git a/templates/Debian-8.2-amd64-netboot/ruby.sh b/templates/Debian-8.2-amd64-netboot/ruby.sh
new file mode 100644
index 00000000..e44d60d2
--- /dev/null
+++ b/templates/Debian-8.2-amd64-netboot/ruby.sh
@@ -0,0 +1,10 @@
+# Install Ruby from packages
+apt-get -y install ruby ruby-dev libopenssl-ruby1.8 irb ri rdoc
+
+# Install Rubygems from source
+rg_ver=1.8.22
+curl -o /tmp/rubygems-${rg_ver}.zip \
+  "http://production.cf.rubygems.org/rubygems/rubygems-${rg_ver}.zip"
+(cd /tmp && unzip rubygems-${rg_ver}.zip && \
+  cd rubygems-${rg_ver} && ruby setup.rb --no-format-executable)
+rm -rf /tmp/rubygems-${rg_ver} /tmp/rubygems-${rg_ver}.zip
diff --git a/templates/Debian-8.2-amd64-netboot/vagrant.sh b/templates/Debian-8.2-amd64-netboot/vagrant.sh
new file mode 100644
index 00000000..54c2a71e
--- /dev/null
+++ b/templates/Debian-8.2-amd64-netboot/vagrant.sh
@@ -0,0 +1,21 @@
+# Set up Vagrant.
+
+date > /etc/vagrant_box_build_time
+
+# Create the user vagrant with password vagrant
+useradd -G sudo -p $(perl -e'print crypt("vagrant", "vagrant")') -m -s /bin/bash -N vagrant
+
+# Install vagrant keys
+mkdir -pm 700 /home/vagrant/.ssh
+curl -Lo /home/vagrant/.ssh/authorized_keys \
+  'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub'
+chmod 0600 /home/vagrant/.ssh/authorized_keys
+chown -R vagrant:vagrant /home/vagrant/.ssh
+
+# Customize the message of the day
+echo 'Welcome to your Vagrant-built virtual machine.' > /var/run/motd
+
+# Install NFS client
+apt-get -y install nfs-common
+
+
diff --git a/templates/Debian-8.2-amd64-netboot/virtualbox.sh b/templates/Debian-8.2-amd64-netboot/virtualbox.sh
new file mode 100644
index 00000000..4dad6492
--- /dev/null
+++ b/templates/Debian-8.2-amd64-netboot/virtualbox.sh
@@ -0,0 +1,37 @@
+if test -f .vbox_version ; then
+  # The netboot installs the VirtualBox support (old) so we have to remove it
+  if test -f /etc/init.d/virtualbox-ose-guest-utils ; then
+    /etc/init.d/virtualbox-ose-guest-utils stop
+  fi
+
+  rmmod vboxguest
+  aptitude -y purge virtualbox-ose-guest-x11 virtualbox-ose-guest-dkms virtualbox-ose-guest-utils
+
+  # Install dkms for dynamic compiles
+
+  apt-get install -y dkms
+
+  # If libdbus is not installed, virtualbox will not autostart
+  apt-get -y install --no-install-recommends libdbus-1-3
+
+  # Install the VirtualBox guest additions
+  VBOX_VERSION=$(cat .vbox_version)
+  VBOX_ISO=VBoxGuestAdditions_$VBOX_VERSION.iso
+  mount -o loop $VBOX_ISO /mnt
+  yes|sh /mnt/VBoxLinuxAdditions.run
+  umount /mnt
+
+  # Start the newly build driver
+  /etc/init.d/vboxadd start
+
+  # Make a temporary mount point
+  mkdir /tmp/veewee-validation
+
+  # Test mount the veewee-validation
+  mount -t vboxsf veewee-validation /tmp/veewee-validation
+
+  rm $VBOX_ISO
+
+  # Symlink vbox guest additions. Fix for https://github.com/mitchellh/vagrant/issues/3341
+  ln -s /opt/VBoxGuestAdditions-$VBOX_VERSION/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions
+fi
diff --git a/templates/Debian-8.2-amd64-netboot/vmfusion.sh b/templates/Debian-8.2-amd64-netboot/vmfusion.sh
new file mode 100644
index 00000000..3ced7e44
--- /dev/null
+++ b/templates/Debian-8.2-amd64-netboot/vmfusion.sh
@@ -0,0 +1,7 @@
+cd /tmp
+mkdir -p /mnt/cdrom
+mount -o loop /home/vagrant/linux.iso /mnt/cdrom
+tar zxvf /mnt/cdrom/VMwareTools-*.tar.gz -C /tmp/
+/tmp/vmware-tools-distrib/vmware-install.pl -d
+rm /home/vagrant/linux.iso
+umount /mnt/cdrom
diff --git a/templates/Debian-8.2-amd64-netboot/zerodisk.sh b/templates/Debian-8.2-amd64-netboot/zerodisk.sh
new file mode 100644
index 00000000..938075a3
--- /dev/null
+++ b/templates/Debian-8.2-amd64-netboot/zerodisk.sh
@@ -0,0 +1,3 @@
+# Zero out the free space to save space in the final image:
+dd if=/dev/zero of=/EMPTY bs=1M
+rm -f /EMPTY
diff --git a/templates/Debian-8/8.3.yml b/templates/Debian-8/8.3.yml
new file mode 100644
index 00000000..57009323
--- /dev/null
+++ b/templates/Debian-8/8.3.yml
@@ -0,0 +1,5 @@
+---
+:os_type_id: Debian_64
+:iso_file: debian-8.3.0-amd64-netinst.iso
+:iso_src: http://cdimage.debian.org/cdimage/archive/8.3.0/amd64/iso-cd/debian-8.3.0-amd64-netinst.iso
+:iso_md5: a9b490b4215d1e72e876b031dafa7184
diff --git a/templates/Debian-8/8.4.yml b/templates/Debian-8/8.4.yml
new file mode 100644
index 00000000..98b2ccdc
--- /dev/null
+++ b/templates/Debian-8/8.4.yml
@@ -0,0 +1,5 @@
+---
+:os_type_id: Debian_64
+:iso_file: debian-8.4.0-amd64-netinst.iso
+:iso_src: http://cdimage.debian.org/debian-cd/8.4.0/amd64/iso-cd/debian-8.4.0-amd64-netinst.iso
+:iso_md5: 8d52d1b7789cd5a464aae719f05299ec
diff --git a/templates/Debian-8/8.5.yml b/templates/Debian-8/8.5.yml
new file mode 100644
index 00000000..236551df
--- /dev/null
+++ b/templates/Debian-8/8.5.yml
@@ -0,0 +1,5 @@
+---
+:os_type_id: Debian_64
+:iso_file: debian-8.5.0-amd64-netinst.iso
+:iso_src: http://cdimage.debian.org/debian-cd/8.5.0/amd64/iso-cd/debian-8.5.0-amd64-netinst.iso
+:iso_md5: 3e1b9029a0cf188730646c379d15073f
diff --git a/templates/Debian-8/8.6.yml b/templates/Debian-8/8.6.yml
new file mode 100644
index 00000000..4832e6ef
--- /dev/null
+++ b/templates/Debian-8/8.6.yml
@@ -0,0 +1,5 @@
+---
+:os_type_id: Debian_64
+:iso_file: debian-8.6.0-amd64-netinst.iso
+:iso_src: http://cdimage.debian.org/debian-cd/8.6.0/amd64/iso-cd/debian-8.6.0-amd64-netinst.iso
+:iso_md5: e9f61bf327db6d8f7cee05a99f2353cc
diff --git a/templates/Debian-8/base.sh b/templates/Debian-8/base.sh
new file mode 100644
index 00000000..e3642f1c
--- /dev/null
+++ b/templates/Debian-8/base.sh
@@ -0,0 +1,25 @@
+# Update the box
+apt-get -y update
+apt-get -y install linux-headers-$(uname -r) build-essential
+apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev
+apt-get -y install curl unzip
+
+# Set up sudo
+echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant
+
+# Tweak sshd to prevent DNS resolution (speed up logins)
+echo 'UseDNS no' >> /etc/ssh/sshd_config
+
+# Remove 5s grub timeout to speed up booting
+cat < /etc/default/grub
+# If you change this file, run 'update-grub' afterwards to update
+# /boot/grub/grub.cfg.
+
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=0
+GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
+GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+GRUB_CMDLINE_LINUX="debian-installer=en_US"
+EOF
+
+update-grub
diff --git a/templates/Debian-8/chef.sh b/templates/Debian-8/chef.sh
new file mode 100644
index 00000000..cd119586
--- /dev/null
+++ b/templates/Debian-8/chef.sh
@@ -0,0 +1,49 @@
+if [ -f .veewee_params ]
+then
+  . .veewee_params
+fi
+
+# Default to Gem install
+if [ -z "$CHEF_INSTALLMETHOD" ]; then
+  export CHEF_INSTALLMETHOD="gems"
+fi
+
+# Installing chef
+case $CHEF_INSTALLMETHOD in
+  "gems")
+    # Using gems
+    if [ -z "$CHEF_VERSION" ]; then
+      # Default to latest
+      gem install chef --no-ri --no-rdoc
+    else
+      gem install chef --no-ri --no-rdoc --version $CHEF_VERSION
+    fi
+    ;;
+
+  "omnibus")
+    # Using omnibus
+    if [ -z "$CHEF_VERSION" ]; then
+      # Default to latest
+      wget -O - http://opscode.com/chef/install.sh | sudo bash -s
+    else
+      wget -O - http://opscode.com/chef/install.sh | sudo bash -s -- -v $CHEF_VERSION
+    fi
+    ;;
+
+  "package")
+    # Using packages
+    apt-get install -y debconf-utils
+    echo "chef    chef/chef_server_url    string  $CHEF_SERVER_URL" | debconf-set-selections
+    if [ -z "$CHEF_VERSION" ]; then
+      # Default to latest
+      apt-get install -y chef
+    else
+      apt-get install -y chef=$CHEF_VERSION
+    fi
+    ;;
+
+  *)
+    echo "Unsupported method for installing chef"
+    exit -1
+    ;;
+esac
diff --git a/templates/Debian-8/cleanup.sh b/templates/Debian-8/cleanup.sh
new file mode 100644
index 00000000..f6953e16
--- /dev/null
+++ b/templates/Debian-8/cleanup.sh
@@ -0,0 +1,18 @@
+# Clean up
+apt-get -y remove linux-headers-$(uname -r) build-essential
+apt-get -y autoremove
+apt-get -y clean
+
+# Removing leftover leases and persistent rules
+echo "cleaning up dhcp leases"
+rm /var/lib/dhcp/*
+
+# Make sure Udev doesn't block our network
+echo "cleaning up udev rules"
+rm /etc/udev/rules.d/70-persistent-net.rules
+mkdir /etc/udev/rules.d/70-persistent-net.rules
+rm -rf /dev/.udev/
+rm /lib/udev/rules.d/75-persistent-net-generator.rules
+
+echo "Adding a 2 sec delay to the interface up, to make the dhclient happy"
+echo "pre-up sleep 2" >> /etc/network/interfaces
diff --git a/templates/Debian-8/definition.rb b/templates/Debian-8/definition.rb
new file mode 100644
index 00000000..186a9f78
--- /dev/null
+++ b/templates/Debian-8/definition.rb
@@ -0,0 +1 @@
+Veewee::Definition.declare_yaml('definition.yml', '8.6.yml')
diff --git a/templates/Debian-8/definition.yml b/templates/Debian-8/definition.yml
new file mode 100644
index 00000000..ea59d3f8
--- /dev/null
+++ b/templates/Debian-8/definition.yml
@@ -0,0 +1,46 @@
+---
+:cpu_count: '1'
+:memory_size: '256'
+:disk_size: '10140'
+:disk_format: 'VDI'
+:hostiocache: 'off'
+:iso_download_timeout: '1000'
+:boot_wait: '10'
+:boot_cmd_sequence:
+  - ''
+  - 'install '
+  - 'preseed/url=http://%IP%:%PORT%/preseed.cfg '
+  - 'debian-installer=en_US '
+  - 'auto '
+  - 'locale=en_US '
+  - 'kbd-chooser/method=us '
+  - 'netcfg/get_hostname=%NAME% '
+  - 'netcfg/get_domain=vagrantup.com '
+  - 'fb=false '
+  - 'debconf/frontend=noninteractive '
+  - 'console-setup/ask_detect=false '
+  - 'console-keymaps-at/keymap=us '
+  - 'keyboard-configuration/xkb-keymap=us '
+  - ''
+:kickstart_port: '7122'
+:kickstart_timeout: '300'
+:kickstart_file: 'preseed.cfg'
+:ssh_login_timeout: '10000'
+:ssh_user: 'vagrant'
+:ssh_password: 'vagrant'
+:ssh_key: ''
+:ssh_host_port: '7222'
+:ssh_guest_port: '22'
+:sudo_cmd: "echo '%p'|sudo -S bash '%f'"
+:shutdown_cmd: 'halt -p'
+:postinstall_files:
+  - 'base.sh'
+  - 'vagrant.sh'
+  - 'virtualbox.sh'
+  #- 'vmfusion.sh'
+  #- 'ruby.sh'
+  #- 'puppet.sh'
+  #- 'chef.sh'
+  - 'cleanup.sh'
+  - 'zerodisk.sh'
+:postinstall_timeout: '10000'
diff --git a/templates/Debian-8/preseed.cfg b/templates/Debian-8/preseed.cfg
new file mode 100644
index 00000000..3c013fc4
--- /dev/null
+++ b/templates/Debian-8/preseed.cfg
@@ -0,0 +1,429 @@
+#### Contents of the preconfiguration file (for jessie)
+### Localization
+# Preseeding only locale sets language, country and locale.
+d-i debian-installer/locale string en_US.UTF-8
+
+# The values can also be preseeded individually for greater flexibility.
+#d-i debian-installer/language string en
+#d-i debian-installer/country string NL
+#d-i debian-installer/locale string en_GB.UTF-8
+# Optionally specify additional locales to be generated.
+#d-i localechooser/supported-locales multiselect en_US.UTF-8, nl_NL.UTF-8
+
+# Keyboard selection.
+d-i keyboard-configuration/xkb-keymap select us
+# d-i keyboard-configuration/toggle select No toggling
+
+### Network configuration
+# Disable network configuration entirely. This is useful for cdrom
+# installations on non-networked devices where the network questions,
+# warning and long timeouts are a nuisance.
+#d-i netcfg/enable boolean false
+
+# netcfg will choose an interface that has link if possible. This makes it
+# skip displaying a list if there is more than one interface.
+d-i netcfg/choose_interface select auto
+
+# To pick a particular interface instead:
+#d-i netcfg/choose_interface select eth1
+
+# To set a different link detection timeout (default is 3 seconds).
+# Values are interpreted as seconds.
+#d-i netcfg/link_wait_timeout string 10
+
+# If you have a slow dhcp server and the installer times out waiting for
+# it, this might be useful.
+#d-i netcfg/dhcp_timeout string 60
+#d-i netcfg/dhcpv6_timeout string 60
+
+# If you prefer to configure the network manually, uncomment this line and
+# the static network configuration below.
+#d-i netcfg/disable_autoconfig boolean true
+
+# If you want the preconfiguration file to work on systems both with and
+# without a dhcp server, uncomment these lines and the static network
+# configuration below.
+#d-i netcfg/dhcp_failed note
+#d-i netcfg/dhcp_options select Configure network manually
+
+# Static network configuration.
+#
+# IPv4 example
+#d-i netcfg/get_ipaddress string 192.168.1.42
+#d-i netcfg/get_netmask string 255.255.255.0
+#d-i netcfg/get_gateway string 192.168.1.1
+#d-i netcfg/get_nameservers string 192.168.1.1
+#d-i netcfg/confirm_static boolean true
+#
+# IPv6 example
+#d-i netcfg/get_ipaddress string fc00::2
+#d-i netcfg/get_netmask string ffff:ffff:ffff:ffff::
+#d-i netcfg/get_gateway string fc00::1
+#d-i netcfg/get_nameservers string fc00::1
+#d-i netcfg/confirm_static boolean true
+
+# Any hostname and domain names assigned from dhcp take precedence over
+# values set here. However, setting the values still prevents the questions
+# from being shown, even if values come from dhcp.
+#d-i netcfg/get_hostname string vagrant
+d-i netcfg/get_domain string vagrantup.com
+
+# If you want to force a hostname, regardless of what either the DHCP
+# server returns or what the reverse DNS entry for the IP is, uncomment
+# and adjust the following line.
+#d-i netcfg/hostname string somehost
+
+# Disable that annoying WEP key dialog.
+d-i netcfg/wireless_wep string
+# The wacky dhcp hostname that some ISPs use as a password of sorts.
+#d-i netcfg/dhcp_hostname string radish
+
+# If non-free firmware is needed for the network or other hardware, you can
+# configure the installer to always try to load it, without prompting. Or
+# change to false to disable asking.
+#d-i hw-detect/load_firmware boolean true
+
+### Network console
+# Use the following settings if you wish to make use of the network-console
+# component for remote installation over SSH. This only makes sense if you
+# intend to perform the remainder of the installation manually.
+#d-i anna/choose_modules string network-console
+#d-i network-console/authorized_keys_url string http://10.0.0.1/openssh-key
+#d-i network-console/password password r00tme
+#d-i network-console/password-again password r00tme
+
+### Mirror settings
+# If you select ftp, the mirror/country string does not need to be set.
+#d-i mirror/protocol string ftp
+d-i mirror/country string manual
+d-i mirror/http/hostname string http.debian.net
+d-i mirror/http/directory string /debian
+d-i mirror/http/proxy string
+
+# Suite to install.
+#d-i mirror/suite string testing
+# Suite to use for loading installer components (optional).
+#d-i mirror/udeb/suite string testing
+
+### Clock and time zone setup
+# Controls whether or not the hardware clock is set to UTC.
+d-i clock-setup/utc boolean true
+
+# You may set this to any valid setting for $TZ; see the contents of
+# /usr/share/zoneinfo/ for valid values.
+d-i time/zone string UTC
+
+# Controls whether to use NTP to set the clock during the install
+d-i clock-setup/ntp boolean true
+# NTP server to use. The default is almost always fine here.
+#d-i clock-setup/ntp-server string ntp.example.com
+
+### Partitioning
+## Partitioning example
+# If the system has free space you can choose to only partition that space.
+# This is only honoured if partman-auto/method (below) is not set.
+#d-i partman-auto/init_automatically_partition select biggest_free
+
+# Alternatively, you may specify a disk to partition. If the system has only
+# one disk the installer will default to using that, but otherwise the device
+# name must be given in traditional, non-devfs format (so e.g. /dev/sda
+# and not e.g. /dev/discs/disc0/disc).
+# For example, to use the first SCSI/SATA hard disk:
+#d-i partman-auto/disk string /dev/sda
+# In addition, you'll need to specify the method to use.
+# The presently available methods are:
+# - regular: use the usual partition types for your architecture
+# - lvm:     use LVM to partition the disk
+# - crypto:  use LVM within an encrypted partition
+d-i partman-auto/method string lvm
+
+# If one of the disks that are going to be automatically partitioned
+# contains an old LVM configuration, the user will normally receive a
+# warning. This can be preseeded away...
+d-i partman-lvm/device_remove_lvm boolean true
+# The same applies to pre-existing software RAID array:
+d-i partman-md/device_remove_md boolean true
+# And the same goes for the confirmation to write the lvm partitions.
+d-i partman-lvm/confirm boolean true
+d-i partman-lvm/confirm_nooverwrite boolean true
+
+
+d-i partman/choose_partition select finish
+d-i partman-auto-lvm/guided_size string max
+
+# You can choose one of the three predefined partitioning recipes:
+# - atomic: all files in one partition
+# - home:   separate /home partition
+# - multi:  separate /home, /var, and /tmp partitions
+d-i partman-auto/choose_recipe select atomic
+
+# Or provide a recipe of your own...
+# If you have a way to get a recipe file into the d-i environment, you can
+# just point at it.
+#d-i partman-auto/expert_recipe_file string /hd-media/recipe
+
+# If not, you can put an entire recipe into the preconfiguration file in one
+# (logical) line. This example creates a small /boot partition, suitable
+# swap, and uses the rest of the space for the root partition:
+#d-i partman-auto/expert_recipe string                         \
+#      boot-root ::                                            \
+#              40 50 100 ext3                                  \
+#                      $primary{ } $bootable{ }                \
+#                      method{ format } format{ }              \
+#                      use_filesystem{ } filesystem{ ext3 }    \
+#                      mountpoint{ /boot }                     \
+#              .                                               \
+#              500 10000 1000000000 ext3                       \
+#                      method{ format } format{ }              \
+#                      use_filesystem{ } filesystem{ ext3 }    \
+#                      mountpoint{ / }                         \
+#              .                                               \
+#              64 512 300% linux-swap                          \
+#                      method{ swap } format{ }                \
+#              .
+
+# The full recipe format is documented in the file partman-auto-recipe.txt
+# included in the 'debian-installer' package or available from D-I source
+# repository. This also documents how to specify settings such as file
+# system labels, volume group names and which physical devices to include
+# in a volume group.
+
+# This makes partman automatically partition without confirmation, provided
+# that you told it what to do using one of the methods above.
+d-i partman-partitioning/confirm_write_new_label boolean true
+d-i partman/choose_partition select finish
+d-i partman/confirm boolean true
+d-i partman/confirm_nooverwrite boolean true
+
+## Partitioning using RAID
+# The method should be set to "raid".
+#d-i partman-auto/method string raid
+# Specify the disks to be partitioned. They will all get the same layout,
+# so this will only work if the disks are the same size.
+#d-i partman-auto/disk string /dev/sda /dev/sdb
+
+# Next you need to specify the physical partitions that will be used. 
+#d-i partman-auto/expert_recipe string \
+#      multiraid ::                                         \
+#              1000 5000 4000 raid                          \
+#                      $primary{ } method{ raid }           \
+#              .                                            \
+#              64 512 300% raid                             \
+#                      method{ raid }                       \
+#              .                                            \
+#              500 10000 1000000000 raid                    \
+#                      method{ raid }                       \
+#              .
+
+# Last you need to specify how the previously defined partitions will be
+# used in the RAID setup. Remember to use the correct partition numbers
+# for logical partitions. RAID levels 0, 1, 5, 6 and 10 are supported;
+# devices are separated using "#".
+# Parameters are:
+#      \
+#           
+
+#d-i partman-auto-raid/recipe string \
+#    1 2 0 ext3 /                    \
+#          /dev/sda1#/dev/sdb1       \
+#    .                               \
+#    1 2 0 swap -                    \
+#          /dev/sda5#/dev/sdb5       \
+#    .                               \
+#    0 2 0 ext3 /home                \
+#          /dev/sda6#/dev/sdb6       \
+#    .
+
+# For additional information see the file partman-auto-raid-recipe.txt
+# included in the 'debian-installer' package or available from D-I source
+# repository.
+
+# This makes partman automatically partition without confirmation.
+d-i partman-md/confirm boolean true
+d-i partman-partitioning/confirm_write_new_label boolean true
+d-i partman/choose_partition select finish
+d-i partman/confirm boolean true
+d-i partman/confirm_nooverwrite boolean true
+
+## Controlling how partitions are mounted
+# The default is to mount by UUID, but you can also choose "traditional" to
+# use traditional device names, or "label" to try filesystem labels before
+# falling back to UUIDs.
+#d-i partman/mount_style select uuid
+
+### Base system installation
+# Configure APT to not install recommended packages by default. Use of this
+# option can result in an incomplete system and should only be used by very
+# experienced users.
+#d-i base-installer/install-recommends boolean false
+
+# The kernel image (meta) package to be installed; "none" can be used if no
+# kernel is to be installed.
+#d-i base-installer/kernel/image string linux-image-586
+
+### Account setup
+# Skip creation of a root account (normal user account will be able to
+# use sudo).
+d-i passwd/root-login boolean false
+# Alternatively, to skip creation of a normal user account.
+#d-i passwd/make-user boolean false
+
+# Root password, either in clear text
+d-i passwd/root-password password vagrant
+d-i passwd/root-password-again password vagrant
+# or encrypted using an MD5 hash.
+#d-i passwd/root-password-crypted password [MD5 hash]
+
+# To create a normal user account.
+d-i passwd/user-fullname string Vagrant User
+d-i passwd/username string vagrant
+# Normal user's password, either in clear text
+d-i passwd/user-password password vagrant
+d-i passwd/user-password-again password vagrant
+# or encrypted using an MD5 hash.
+#d-i passwd/user-password-crypted password [MD5 hash]
+# Create the first user with the specified UID instead of the default.
+#d-i passwd/user-uid string 1010
+
+# The user account will be added to some standard initial groups. To
+# override that, use this.
+d-i passwd/user-default-groups string audio cdrom video admin
+
+### Apt setup
+# You can choose to install non-free and contrib software.
+#d-i apt-setup/non-free boolean true
+#d-i apt-setup/contrib boolean true
+# Uncomment this if you don't want to use a network mirror.
+#d-i apt-setup/use_mirror boolean false
+# Select which update services to use; define the mirrors to be used.
+# Values shown below are the normal defaults.
+#d-i apt-setup/services-select multiselect security, updates
+#d-i apt-setup/security_host string security.debian.org
+
+# Additional repositories, local[0-9] available
+#d-i apt-setup/local0/repository string \
+#       http://local.server/debian stable main
+#d-i apt-setup/local0/comment string local server
+# Enable deb-src lines
+#d-i apt-setup/local0/source boolean true
+# URL to the public key of the local repository; you must provide a key or
+# apt will complain about the unauthenticated repository and so the
+# sources.list line will be left commented out
+#d-i apt-setup/local0/key string http://local.server/key
+
+# By default the installer requires that repositories be authenticated
+# using a known gpg key. This setting can be used to disable that
+# authentication. Warning: Insecure, not recommended.
+#d-i debian-installer/allow_unauthenticated boolean true
+
+### Package selection
+tasksel tasksel/first multiselect standard
+
+# Individual additional packages to install
+d-i pkgsel/include string openssh-server ntp acpid  sudo bzip2 rsync
+# Whether to upgrade packages after debootstrap.
+# Allowed values: none, safe-upgrade, full-upgrade
+d-i pkgsel/upgrade select none
+
+# Some versions of the installer can report back on what software you have
+# installed, and what software you use. The default is not to report back,
+# but sending reports helps the project determine what software is most
+# popular and include it on CDs.
+popularity-contest popularity-contest/participate boolean false
+
+### Boot loader installation
+# Grub is the default boot loader (for x86). If you want lilo installed
+# instead, uncomment this:
+#d-i grub-installer/skip boolean true
+# To also skip installing lilo, and install no bootloader, uncomment this
+# too:
+#d-i lilo-installer/skip boolean true
+
+
+# This is fairly safe to set, it makes grub install automatically to the MBR
+# if no other operating system is detected on the machine.
+d-i grub-installer/only_debian boolean true
+
+# This one makes grub-installer install to the MBR if it also finds some other
+# OS, which is less safe as it might not be able to boot that other OS.
+d-i grub-installer/with_other_os boolean true
+
+# Due notably to potential USB sticks, the location of the MBR can not be
+# determined safely in general, so this needs to be specified:
+#d-i grub-installer/bootdev  string /dev/sda
+# To install to the first device (assuming it is not a USB stick):
+d-i grub-installer/bootdev  string default
+
+# Alternatively, if you want to install to a location other than the mbr,
+# uncomment and edit these lines:
+#d-i grub-installer/only_debian boolean false
+#d-i grub-installer/with_other_os boolean false
+#d-i grub-installer/bootdev  string (hd0,1)
+# To install grub to multiple disks:
+#d-i grub-installer/bootdev  string (hd0,1) (hd1,1) (hd2,1)
+
+# Optional password for grub, either in clear text
+#d-i grub-installer/password password r00tme
+#d-i grub-installer/password-again password r00tme
+# or encrypted using an MD5 hash, see grub-md5-crypt(8).
+#d-i grub-installer/password-crypted password [MD5 hash]
+
+# Use the following option to add additional boot parameters for the
+# installed system (if supported by the bootloader installer).
+# Note: options passed to the installer will be added automatically.
+#d-i debian-installer/add-kernel-opts string nousb
+
+### Finishing up the installation
+# During installations from serial console, the regular virtual consoles
+# (VT1-VT6) are normally disabled in /etc/inittab. Uncomment the next
+# line to prevent this.
+#d-i finish-install/keep-consoles boolean true
+
+# Avoid that last message about the install being complete.
+d-i finish-install/reboot_in_progress note
+
+# This will prevent the installer from ejecting the CD during the reboot,
+# which is useful in some situations.
+#d-i cdrom-detect/eject boolean false
+
+# This is how to make the installer shutdown when finished, but not
+# reboot into the installed system.
+#d-i debian-installer/exit/halt boolean true
+# This will power off the machine instead of just halting it.
+#d-i debian-installer/exit/poweroff boolean true
+
+### Preseeding other packages
+# Depending on what software you choose to install, or if things go wrong
+# during the installation process, it's possible that other questions may
+# be asked. You can preseed those too, of course. To get a list of every
+# possible question that could be asked during an install, do an
+# installation, and then run these commands:
+#   debconf-get-selections --installer > file
+#   debconf-get-selections >> file
+
+
+#### Advanced options
+### Running custom commands during the installation
+# d-i preseeding is inherently not secure. Nothing in the installer checks
+# for attempts at buffer overflows or other exploits of the values of a
+# preconfiguration file like this one. Only use preconfiguration files from
+# trusted locations! To drive that home, and because it's generally useful,
+# here's a way to run any shell command you'd like inside the installer,
+# automatically.
+
+# This first command is run as early as possible, just after
+# preseeding is read.
+# Prevent packaged version of VirtualBox Guest Additions being installed:
+d-i preseed/early_command string sed -i \
+  '/in-target/idiscover(){/sbin/discover|grep -v VirtualBox;}' \
+  /usr/lib/pre-pkgsel.d/20install-hwpackages
+# This command is run immediately before the partitioner starts. It may be
+# useful to apply dynamic partitioner preseeding that depends on the state
+# of the disks (which may not be visible when preseed/early_command runs).
+#d-i partman/early_command \
+#       string debconf-set partman-auto/disk "$(list-devices disk | head -n1)"
+# This command is run just before the install finishes, but when there is
+# still a usable /target directory. You can chroot to /target and use it
+# directly, or use the apt-install and in-target commands to easily install
+# packages and run commands in the target system.
+#d-i preseed/late_command string apt-install zsh; in-target chsh -s /bin/zsh
diff --git a/templates/Debian-8/puppet.sh b/templates/Debian-8/puppet.sh
new file mode 100644
index 00000000..107b2361
--- /dev/null
+++ b/templates/Debian-8/puppet.sh
@@ -0,0 +1,7 @@
+# Prepare puppetlabs repo
+wget http://apt.puppetlabs.com/puppetlabs-release-wheezy.deb
+dpkg -i puppetlabs-release-wheezy.deb
+apt-get update
+
+# Install puppet/facter
+apt-get install -y puppet facter
diff --git a/templates/Debian-8/ruby.sh b/templates/Debian-8/ruby.sh
new file mode 100644
index 00000000..e44d60d2
--- /dev/null
+++ b/templates/Debian-8/ruby.sh
@@ -0,0 +1,10 @@
+# Install Ruby from packages
+apt-get -y install ruby ruby-dev libopenssl-ruby1.8 irb ri rdoc
+
+# Install Rubygems from source
+rg_ver=1.8.22
+curl -o /tmp/rubygems-${rg_ver}.zip \
+  "http://production.cf.rubygems.org/rubygems/rubygems-${rg_ver}.zip"
+(cd /tmp && unzip rubygems-${rg_ver}.zip && \
+  cd rubygems-${rg_ver} && ruby setup.rb --no-format-executable)
+rm -rf /tmp/rubygems-${rg_ver} /tmp/rubygems-${rg_ver}.zip
diff --git a/templates/Debian-8/vagrant.sh b/templates/Debian-8/vagrant.sh
new file mode 100644
index 00000000..54c2a71e
--- /dev/null
+++ b/templates/Debian-8/vagrant.sh
@@ -0,0 +1,21 @@
+# Set up Vagrant.
+
+date > /etc/vagrant_box_build_time
+
+# Create the user vagrant with password vagrant
+useradd -G sudo -p $(perl -e'print crypt("vagrant", "vagrant")') -m -s /bin/bash -N vagrant
+
+# Install vagrant keys
+mkdir -pm 700 /home/vagrant/.ssh
+curl -Lo /home/vagrant/.ssh/authorized_keys \
+  'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub'
+chmod 0600 /home/vagrant/.ssh/authorized_keys
+chown -R vagrant:vagrant /home/vagrant/.ssh
+
+# Customize the message of the day
+echo 'Welcome to your Vagrant-built virtual machine.' > /var/run/motd
+
+# Install NFS client
+apt-get -y install nfs-common
+
+
diff --git a/templates/Debian-8/virtualbox.sh b/templates/Debian-8/virtualbox.sh
new file mode 100644
index 00000000..4dad6492
--- /dev/null
+++ b/templates/Debian-8/virtualbox.sh
@@ -0,0 +1,37 @@
+if test -f .vbox_version ; then
+  # The netboot installs the VirtualBox support (old) so we have to remove it
+  if test -f /etc/init.d/virtualbox-ose-guest-utils ; then
+    /etc/init.d/virtualbox-ose-guest-utils stop
+  fi
+
+  rmmod vboxguest
+  aptitude -y purge virtualbox-ose-guest-x11 virtualbox-ose-guest-dkms virtualbox-ose-guest-utils
+
+  # Install dkms for dynamic compiles
+
+  apt-get install -y dkms
+
+  # If libdbus is not installed, virtualbox will not autostart
+  apt-get -y install --no-install-recommends libdbus-1-3
+
+  # Install the VirtualBox guest additions
+  VBOX_VERSION=$(cat .vbox_version)
+  VBOX_ISO=VBoxGuestAdditions_$VBOX_VERSION.iso
+  mount -o loop $VBOX_ISO /mnt
+  yes|sh /mnt/VBoxLinuxAdditions.run
+  umount /mnt
+
+  # Start the newly build driver
+  /etc/init.d/vboxadd start
+
+  # Make a temporary mount point
+  mkdir /tmp/veewee-validation
+
+  # Test mount the veewee-validation
+  mount -t vboxsf veewee-validation /tmp/veewee-validation
+
+  rm $VBOX_ISO
+
+  # Symlink vbox guest additions. Fix for https://github.com/mitchellh/vagrant/issues/3341
+  ln -s /opt/VBoxGuestAdditions-$VBOX_VERSION/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions
+fi
diff --git a/templates/Debian-8/vmfusion.sh b/templates/Debian-8/vmfusion.sh
new file mode 100644
index 00000000..3ced7e44
--- /dev/null
+++ b/templates/Debian-8/vmfusion.sh
@@ -0,0 +1,7 @@
+cd /tmp
+mkdir -p /mnt/cdrom
+mount -o loop /home/vagrant/linux.iso /mnt/cdrom
+tar zxvf /mnt/cdrom/VMwareTools-*.tar.gz -C /tmp/
+/tmp/vmware-tools-distrib/vmware-install.pl -d
+rm /home/vagrant/linux.iso
+umount /mnt/cdrom
diff --git a/templates/Debian-8/zerodisk.sh b/templates/Debian-8/zerodisk.sh
new file mode 100644
index 00000000..938075a3
--- /dev/null
+++ b/templates/Debian-8/zerodisk.sh
@@ -0,0 +1,3 @@
+# Zero out the free space to save space in the final image:
+dd if=/dev/zero of=/EMPTY bs=1M
+rm -f /EMPTY
diff --git a/templates/Debian-9.1-amd64-netboot/base.sh b/templates/Debian-9.1-amd64-netboot/base.sh
new file mode 100644
index 00000000..e3642f1c
--- /dev/null
+++ b/templates/Debian-9.1-amd64-netboot/base.sh
@@ -0,0 +1,25 @@
+# Update the box
+apt-get -y update
+apt-get -y install linux-headers-$(uname -r) build-essential
+apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev
+apt-get -y install curl unzip
+
+# Set up sudo
+echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant
+
+# Tweak sshd to prevent DNS resolution (speed up logins)
+echo 'UseDNS no' >> /etc/ssh/sshd_config
+
+# Remove 5s grub timeout to speed up booting
+cat < /etc/default/grub
+# If you change this file, run 'update-grub' afterwards to update
+# /boot/grub/grub.cfg.
+
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=0
+GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
+GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+GRUB_CMDLINE_LINUX="debian-installer=en_US"
+EOF
+
+update-grub
diff --git a/templates/Debian-9.1-amd64-netboot/chef.sh b/templates/Debian-9.1-amd64-netboot/chef.sh
new file mode 100644
index 00000000..cd119586
--- /dev/null
+++ b/templates/Debian-9.1-amd64-netboot/chef.sh
@@ -0,0 +1,49 @@
+if [ -f .veewee_params ]
+then
+  . .veewee_params
+fi
+
+# Default to Gem install
+if [ -z "$CHEF_INSTALLMETHOD" ]; then
+  export CHEF_INSTALLMETHOD="gems"
+fi
+
+# Installing chef
+case $CHEF_INSTALLMETHOD in
+  "gems")
+    # Using gems
+    if [ -z "$CHEF_VERSION" ]; then
+      # Default to latest
+      gem install chef --no-ri --no-rdoc
+    else
+      gem install chef --no-ri --no-rdoc --version $CHEF_VERSION
+    fi
+    ;;
+
+  "omnibus")
+    # Using omnibus
+    if [ -z "$CHEF_VERSION" ]; then
+      # Default to latest
+      wget -O - http://opscode.com/chef/install.sh | sudo bash -s
+    else
+      wget -O - http://opscode.com/chef/install.sh | sudo bash -s -- -v $CHEF_VERSION
+    fi
+    ;;
+
+  "package")
+    # Using packages
+    apt-get install -y debconf-utils
+    echo "chef    chef/chef_server_url    string  $CHEF_SERVER_URL" | debconf-set-selections
+    if [ -z "$CHEF_VERSION" ]; then
+      # Default to latest
+      apt-get install -y chef
+    else
+      apt-get install -y chef=$CHEF_VERSION
+    fi
+    ;;
+
+  *)
+    echo "Unsupported method for installing chef"
+    exit -1
+    ;;
+esac
diff --git a/templates/Debian-9.1-amd64-netboot/cleanup.sh b/templates/Debian-9.1-amd64-netboot/cleanup.sh
new file mode 100644
index 00000000..f6953e16
--- /dev/null
+++ b/templates/Debian-9.1-amd64-netboot/cleanup.sh
@@ -0,0 +1,18 @@
+# Clean up
+apt-get -y remove linux-headers-$(uname -r) build-essential
+apt-get -y autoremove
+apt-get -y clean
+
+# Removing leftover leases and persistent rules
+echo "cleaning up dhcp leases"
+rm /var/lib/dhcp/*
+
+# Make sure Udev doesn't block our network
+echo "cleaning up udev rules"
+rm /etc/udev/rules.d/70-persistent-net.rules
+mkdir /etc/udev/rules.d/70-persistent-net.rules
+rm -rf /dev/.udev/
+rm /lib/udev/rules.d/75-persistent-net-generator.rules
+
+echo "Adding a 2 sec delay to the interface up, to make the dhclient happy"
+echo "pre-up sleep 2" >> /etc/network/interfaces
diff --git a/templates/Debian-9.1-amd64-netboot/debian_64_net.yml b/templates/Debian-9.1-amd64-netboot/debian_64_net.yml
new file mode 100644
index 00000000..19c207fa
--- /dev/null
+++ b/templates/Debian-9.1-amd64-netboot/debian_64_net.yml
@@ -0,0 +1,5 @@
+---
+:os_type_id: 'Debian_64'
+:iso_file: "debian-9.1.0-amd64-netinst.iso"
+:iso_src: "http://cdimage.debian.org/debian-cd/9.1.0/amd64/iso-cd/debian-9.1.0-amd64-netinst.iso"
+:iso_md5: "ddd8f6542dae8baf410e90b9ae0fe986"
diff --git a/templates/Debian-9.1-amd64-netboot/definition.rb b/templates/Debian-9.1-amd64-netboot/definition.rb
new file mode 100644
index 00000000..7d172c2f
--- /dev/null
+++ b/templates/Debian-9.1-amd64-netboot/definition.rb
@@ -0,0 +1,5 @@
+#
+# change debian_64_netinst to one of configurations in *.yml in this directory
+# use the yml files to configure
+#
+Veewee::Definition.declare_yaml('definition.yml', "debian_64_net.yml")
diff --git a/templates/Debian-9.1-amd64-netboot/definition.yml b/templates/Debian-9.1-amd64-netboot/definition.yml
new file mode 100644
index 00000000..ed15f6b2
--- /dev/null
+++ b/templates/Debian-9.1-amd64-netboot/definition.yml
@@ -0,0 +1,46 @@
+---
+:cpu_count: '1'
+:memory_size: '256'
+:disk_size: '10140'
+:disk_format: 'VDI'
+:hostiocache: 'off'
+:iso_download_timeout: "1000"
+:boot_wait: "10"
+:boot_cmd_sequence:
+  - ''
+  - 'install '
+  - 'preseed/url=http://%IP%:%PORT%/preseed.cfg '
+  - 'debian-installer=en_US '
+  - 'auto '
+  - 'locale=en_US '
+  - 'kbd-chooser/method=us '
+  - 'netcfg/get_hostname=%NAME% '
+  - 'netcfg/get_domain=vagrantup.com '
+  - 'fb=false '
+  - 'debconf/frontend=noninteractive '
+  - 'console-setup/ask_detect=false '
+  - 'console-keymaps-at/keymap=us '
+  - 'keyboard-configuration/xkb-keymap=us '
+  - ''
+:kickstart_port: "7122"
+:kickstart_timeout: "300"
+:kickstart_file: "preseed.cfg"
+:ssh_login_timeout: "10000"
+:ssh_user: "vagrant"
+:ssh_password: "vagrant"
+:ssh_key: ""
+:ssh_host_port: "7222"
+:ssh_guest_port: "22"
+:sudo_cmd: "echo '%p'|sudo -S bash '%f'"
+:shutdown_cmd: "halt -p"
+:postinstall_files:
+  - "base.sh"
+  - "vagrant.sh"
+  - "virtualbox.sh"
+  #- "vmfusion.sh"
+  - "ruby.sh"
+  - "puppet.sh"
+  - "chef.sh"
+  - "cleanup.sh"
+  - "zerodisk.sh"
+:postinstall_timeout: "10000"
diff --git a/templates/Debian-9.1-amd64-netboot/preseed.cfg b/templates/Debian-9.1-amd64-netboot/preseed.cfg
new file mode 100644
index 00000000..f42d4f42
--- /dev/null
+++ b/templates/Debian-9.1-amd64-netboot/preseed.cfg
@@ -0,0 +1,435 @@
+#### Contents of the preconfiguration file (for stretch)
+### Localization
+# Preseeding only locale sets language, country and locale.
+d-i debian-installer/locale string en_US.UTF-8
+
+# The values can also be preseeded individually for greater flexibility.
+#d-i debian-installer/language string en
+#d-i debian-installer/country string NL
+#d-i debian-installer/locale string en_GB.UTF-8
+# Optionally specify additional locales to be generated.
+#d-i localechooser/supported-locales multiselect en_US.UTF-8, nl_NL.UTF-8
+
+# Keyboard selection.
+d-i keyboard-configuration/xkb-keymap select us
+# d-i keyboard-configuration/toggle select No toggling
+
+### Network configuration
+# Disable network configuration entirely. This is useful for cdrom
+# installations on non-networked devices where the network questions,
+# warning and long timeouts are a nuisance.
+#d-i netcfg/enable boolean false
+
+# netcfg will choose an interface that has link if possible. This makes it
+# skip displaying a list if there is more than one interface.
+d-i netcfg/choose_interface select auto
+
+# To pick a particular interface instead:
+#d-i netcfg/choose_interface select eth1
+
+# To set a different link detection timeout (default is 3 seconds).
+# Values are interpreted as seconds.
+#d-i netcfg/link_wait_timeout string 10
+
+# If you have a slow dhcp server and the installer times out waiting for
+# it, this might be useful.
+#d-i netcfg/dhcp_timeout string 60
+#d-i netcfg/dhcpv6_timeout string 60
+
+# If you prefer to configure the network manually, uncomment this line and
+# the static network configuration below.
+#d-i netcfg/disable_autoconfig boolean true
+
+# If you want the preconfiguration file to work on systems both with and
+# without a dhcp server, uncomment these lines and the static network
+# configuration below.
+#d-i netcfg/dhcp_failed note
+#d-i netcfg/dhcp_options select Configure network manually
+
+# Static network configuration.
+#
+# IPv4 example
+#d-i netcfg/get_ipaddress string 192.168.1.42
+#d-i netcfg/get_netmask string 255.255.255.0
+#d-i netcfg/get_gateway string 192.168.1.1
+#d-i netcfg/get_nameservers string 192.168.1.1
+#d-i netcfg/confirm_static boolean true
+#
+# IPv6 example
+#d-i netcfg/get_ipaddress string fc00::2
+#d-i netcfg/get_netmask string ffff:ffff:ffff:ffff::
+#d-i netcfg/get_gateway string fc00::1
+#d-i netcfg/get_nameservers string fc00::1
+#d-i netcfg/confirm_static boolean true
+
+# Any hostname and domain names assigned from dhcp take precedence over
+# values set here. However, setting the values still prevents the questions
+# from being shown, even if values come from dhcp.
+#d-i netcfg/get_hostname string unassigned-hostname
+d-i netcfg/get_domain string vagrantup.com
+
+# If you want to force a hostname, regardless of what either the DHCP
+# server returns or what the reverse DNS entry for the IP is, uncomment
+# and adjust the following line.
+#d-i netcfg/hostname string somehost
+
+# Disable that annoying WEP key dialog.
+d-i netcfg/wireless_wep string
+# The wacky dhcp hostname that some ISPs use as a password of sorts.
+#d-i netcfg/dhcp_hostname string radish
+
+# If non-free firmware is needed for the network or other hardware, you can
+# configure the installer to always try to load it, without prompting. Or
+# change to false to disable asking.
+#d-i hw-detect/load_firmware boolean true
+
+### Network console
+# Use the following settings if you wish to make use of the network-console
+# component for remote installation over SSH. This only makes sense if you
+# intend to perform the remainder of the installation manually.
+#d-i anna/choose_modules string network-console
+#d-i network-console/authorized_keys_url string http://10.0.0.1/openssh-key
+#d-i network-console/password password r00tme
+#d-i network-console/password-again password r00tme
+
+### Mirror settings
+# If you select ftp, the mirror/country string does not need to be set.
+#d-i mirror/protocol string ftp
+d-i mirror/country string manual
+d-i mirror/http/hostname string http.debian.net
+d-i mirror/http/directory string /debian
+d-i mirror/http/proxy string
+
+# Suite to install.
+#d-i mirror/suite string testing
+# Suite to use for loading installer components (optional).
+#d-i mirror/udeb/suite string testing
+
+### Account setup
+# Skip creation of a root account (normal user account will be able to
+# use sudo).
+d-i passwd/root-login boolean false
+# Alternatively, to skip creation of a normal user account.
+#d-i passwd/make-user boolean false
+
+# Root password, either in clear text
+d-i passwd/root-password password vagrant
+d-i passwd/root-password-again password vagrant
+# or encrypted using a crypt(3)  hash.
+#d-i passwd/root-password-crypted password [crypt(3) hash]
+
+# To create a normal user account.
+d-i passwd/user-fullname string Vagrant User
+d-i passwd/username string vagrant
+# Normal user's password, either in clear text
+d-i passwd/user-password password vagrant
+d-i passwd/user-password-again password vagrant
+# or encrypted using a crypt(3) hash.
+#d-i passwd/user-password-crypted password [crypt(3) hash]
+# Create the first user with the specified UID instead of the default.
+#d-i passwd/user-uid string 1010
+
+# The user account will be added to some standard initial groups. To
+# override that, use this.
+d-i passwd/user-default-groups string audio cdrom video admin
+
+### Clock and time zone setup
+# Controls whether or not the hardware clock is set to UTC.
+d-i clock-setup/utc boolean true
+
+# You may set this to any valid setting for $TZ; see the contents of
+# /usr/share/zoneinfo/ for valid values.
+d-i time/zone string UTC
+
+# Controls whether to use NTP to set the clock during the install
+d-i clock-setup/ntp boolean true
+# NTP server to use. The default is almost always fine here.
+#d-i clock-setup/ntp-server string ntp.example.com
+
+### Partitioning
+## Partitioning example
+# If the system has free space you can choose to only partition that space.
+# This is only honoured if partman-auto/method (below) is not set.
+#d-i partman-auto/init_automatically_partition select biggest_free
+
+# Alternatively, you may specify a disk to partition. If the system has only
+# one disk the installer will default to using that, but otherwise the device
+# name must be given in traditional, non-devfs format (so e.g. /dev/sda
+# and not e.g. /dev/discs/disc0/disc).
+# For example, to use the first SCSI/SATA hard disk:
+#d-i partman-auto/disk string /dev/sda
+# In addition, you'll need to specify the method to use.
+# The presently available methods are:
+# - regular: use the usual partition types for your architecture
+# - lvm:     use LVM to partition the disk
+# - crypto:  use LVM within an encrypted partition
+d-i partman-auto/method string lvm
+
+# If one of the disks that are going to be automatically partitioned
+# contains an old LVM configuration, the user will normally receive a
+# warning. This can be preseeded away...
+d-i partman-lvm/device_remove_lvm boolean true
+# The same applies to pre-existing software RAID array:
+d-i partman-md/device_remove_md boolean true
+# And the same goes for the confirmation to write the lvm partitions.
+d-i partman-lvm/confirm boolean true
+d-i partman-lvm/confirm_nooverwrite boolean true
+
+# You can choose one of the three predefined partitioning recipes:
+# - atomic: all files in one partition
+# - home:   separate /home partition
+# - multi:  separate /home, /var, and /tmp partitions
+d-i partman-auto/choose_recipe select atomic
+
+# Or provide a recipe of your own...
+# If you have a way to get a recipe file into the d-i environment, you can
+# just point at it.
+#d-i partman-auto/expert_recipe_file string /hd-media/recipe
+
+# If not, you can put an entire recipe into the preconfiguration file in one
+# (logical) line. This example creates a small /boot partition, suitable
+# swap, and uses the rest of the space for the root partition:
+#d-i partman-auto/expert_recipe string                         \
+#      boot-root ::                                            \
+#              40 50 100 ext3                                  \
+#                      $primary{ } $bootable{ }                \
+#                      method{ format } format{ }              \
+#                      use_filesystem{ } filesystem{ ext3 }    \
+#                      mountpoint{ /boot }                     \
+#              .                                               \
+#              500 10000 1000000000 ext3                       \
+#                      method{ format } format{ }              \
+#                      use_filesystem{ } filesystem{ ext3 }    \
+#                      mountpoint{ / }                         \
+#              .                                               \
+#              64 512 300% linux-swap                          \
+#                      method{ swap } format{ }                \
+#              .
+
+# The full recipe format is documented in the file partman-auto-recipe.txt
+# included in the 'debian-installer' package or available from D-I source
+# repository. This also documents how to specify settings such as file
+# system labels, volume group names and which physical devices to include
+# in a volume group.
+
+# This makes partman automatically partition without confirmation, provided
+# that you told it what to do using one of the methods above.
+d-i partman-partitioning/confirm_write_new_label boolean true
+d-i partman/choose_partition select finish
+d-i partman/confirm boolean true
+d-i partman/confirm_nooverwrite boolean true
+
+# When disk encryption is enabled, skip wiping the partitions beforehand.
+#d-i partman-auto-crypto/erase_disks boolean false
+
+## Partitioning using RAID
+# The method should be set to "raid".
+#d-i partman-auto/method string raid
+# Specify the disks to be partitioned. They will all get the same layout,
+# so this will only work if the disks are the same size.
+#d-i partman-auto/disk string /dev/sda /dev/sdb
+
+# Next you need to specify the physical partitions that will be used.
+#d-i partman-auto/expert_recipe string \
+#      multiraid ::                                         \
+#              1000 5000 4000 raid                          \
+#                      $primary{ } method{ raid }           \
+#              .                                            \
+#              64 512 300% raid                             \
+#                      method{ raid }                       \
+#              .                                            \
+#              500 10000 1000000000 raid                    \
+#                      method{ raid }                       \
+#              .
+
+# Last you need to specify how the previously defined partitions will be
+# used in the RAID setup. Remember to use the correct partition numbers
+# for logical partitions. RAID levels 0, 1, 5, 6 and 10 are supported;
+# devices are separated using "#".
+# Parameters are:
+#      \
+#           
+
+#d-i partman-auto-raid/recipe string \
+#    1 2 0 ext3 /                    \
+#          /dev/sda1#/dev/sdb1       \
+#    .                               \
+#    1 2 0 swap -                    \
+#          /dev/sda5#/dev/sdb5       \
+#    .                               \
+#    0 2 0 ext3 /home                \
+#          /dev/sda6#/dev/sdb6       \
+#    .
+
+# For additional information see the file partman-auto-raid-recipe.txt
+# included in the 'debian-installer' package or available from D-I source
+# repository.
+
+# This makes partman automatically partition without confirmation.
+d-i partman-md/confirm boolean true
+d-i partman-partitioning/confirm_write_new_label boolean true
+d-i partman/choose_partition select finish
+d-i partman/confirm boolean true
+d-i partman/confirm_nooverwrite boolean true
+
+## Controlling how partitions are mounted
+# The default is to mount by UUID, but you can also choose "traditional" to
+# use traditional device names, or "label" to try filesystem labels before
+# falling back to UUIDs.
+#d-i partman/mount_style select uuid
+
+### Base system installation
+# Configure APT to not install recommended packages by default. Use of this
+# option can result in an incomplete system and should only be used by very
+# experienced users.
+#d-i base-installer/install-recommends boolean false
+
+# The kernel image (meta) package to be installed; "none" can be used if no
+# kernel is to be installed.
+#d-i base-installer/kernel/image string linux-image-686
+
+### Apt setup
+# You can choose to install non-free and contrib software.
+#d-i apt-setup/non-free boolean true
+#d-i apt-setup/contrib boolean true
+# Uncomment this if you don't want to use a network mirror.
+#d-i apt-setup/use_mirror boolean false
+# Select which update services to use; define the mirrors to be used.
+# Values shown below are the normal defaults.
+#d-i apt-setup/services-select multiselect security, updates
+#d-i apt-setup/security_host string security.debian.org
+
+# Additional repositories, local[0-9] available
+#d-i apt-setup/local0/repository string \
+#       http://local.server/debian stable main
+#d-i apt-setup/local0/comment string local server
+# Enable deb-src lines
+#d-i apt-setup/local0/source boolean true
+# URL to the public key of the local repository; you must provide a key or
+# apt will complain about the unauthenticated repository and so the
+# sources.list line will be left commented out
+#d-i apt-setup/local0/key string http://local.server/key
+
+# By default the installer requires that repositories be authenticated
+# using a known gpg key. This setting can be used to disable that
+# authentication. Warning: Insecure, not recommended.
+#d-i debian-installer/allow_unauthenticated boolean true
+
+# Uncomment this to add multiarch configuration for i386
+#d-i apt-setup/multiarch string i386
+
+# Disable prompt "You now have the option to scan additional CDs or..."
+d-i apt-setup/cdrom/set-first false
+
+### Package selection
+tasksel tasksel/first multiselect standard
+
+# Individual additional packages to install
+d-i pkgsel/include string openssh-server ntp acpid sudo bzip2 rsync
+# Whether to upgrade packages after debootstrap.
+# Allowed values: none, safe-upgrade, full-upgrade
+d-i pkgsel/upgrade select none
+
+# Some versions of the installer can report back on what software you have
+# installed, and what software you use. The default is not to report back,
+# but sending reports helps the project determine what software is most
+# popular and include it on CDs.
+popularity-contest popularity-contest/participate boolean false
+
+### Boot loader installation
+# Grub is the default boot loader (for x86). If you want lilo installed
+# instead, uncomment this:
+#d-i grub-installer/skip boolean true
+# To also skip installing lilo, and install no bootloader, uncomment this
+# too:
+#d-i lilo-installer/skip boolean true
+
+
+# This is fairly safe to set, it makes grub install automatically to the MBR
+# if no other operating system is detected on the machine.
+d-i grub-installer/only_debian boolean true
+
+# This one makes grub-installer install to the MBR if it also finds some other
+# OS, which is less safe as it might not be able to boot that other OS.
+d-i grub-installer/with_other_os boolean true
+
+# Due notably to potential USB sticks, the location of the MBR can not be
+# determined safely in general, so this needs to be specified:
+#d-i grub-installer/bootdev  string /dev/sda
+# To install to the first device (assuming it is not a USB stick):
+d-i grub-installer/bootdev  string default
+
+# Alternatively, if you want to install to a location other than the mbr,
+# uncomment and edit these lines:
+#d-i grub-installer/only_debian boolean false
+#d-i grub-installer/with_other_os boolean false
+#d-i grub-installer/bootdev  string (hd0,1)
+# To install grub to multiple disks:
+#d-i grub-installer/bootdev  string (hd0,1) (hd1,1) (hd2,1)
+
+# Optional password for grub, either in clear text
+#d-i grub-installer/password password r00tme
+#d-i grub-installer/password-again password r00tme
+# or encrypted using an MD5 hash, see grub-md5-crypt(8).
+#d-i grub-installer/password-crypted password [MD5 hash]
+
+# Use the following option to add additional boot parameters for the
+# installed system (if supported by the bootloader installer).
+# Note: options passed to the installer will be added automatically.
+#d-i debian-installer/add-kernel-opts string nousb
+
+### Finishing up the installation
+# During installations from serial console, the regular virtual consoles
+# (VT1-VT6) are normally disabled in /etc/inittab. Uncomment the next
+# line to prevent this.
+#d-i finish-install/keep-consoles boolean true
+
+# Avoid that last message about the install being complete.
+d-i finish-install/reboot_in_progress note
+
+# This will prevent the installer from ejecting the CD during the reboot,
+# which is useful in some situations.
+#d-i cdrom-detect/eject boolean false
+
+# This is how to make the installer shutdown when finished, but not
+# reboot into the installed system.
+#d-i debian-installer/exit/halt boolean true
+# This will power off the machine instead of just halting it.
+#d-i debian-installer/exit/poweroff boolean true
+
+### Preseeding other packages
+# Depending on what software you choose to install, or if things go wrong
+# during the installation process, it's possible that other questions may
+# be asked. You can preseed those too, of course. To get a list of every
+# possible question that could be asked during an install, do an
+# installation, and then run these commands:
+#   debconf-get-selections --installer > file
+#   debconf-get-selections >> file
+
+
+#### Advanced options
+### Running custom commands during the installation
+# d-i preseeding is inherently not secure. Nothing in the installer checks
+# for attempts at buffer overflows or other exploits of the values of a
+# preconfiguration file like this one. Only use preconfiguration files from
+# trusted locations! To drive that home, and because it's generally useful,
+# here's a way to run any shell command you'd like inside the installer,
+# automatically.
+
+# This first command is run as early as possible, just after
+# preseeding is read.
+# Prevent packaged version of VirtualBox Guest Additions being installed:
+d-i preseed/early_command string sed -i \
+  '/in-target/idiscover(){/sbin/discover|grep -v VirtualBox;}' \
+  /usr/lib/pre-pkgsel.d/20install-hwpackages
+# This command is run immediately before the partitioner starts. It may be
+# useful to apply dynamic partitioner preseeding that depends on the state
+# of the disks (which may not be visible when preseed/early_command runs).
+#d-i partman/early_command \
+#       string debconf-set partman-auto/disk "$(list-devices disk | head -n1)"
+# This command is run just before the install finishes, but when there is
+# still a usable /target directory. You can chroot to /target and use it
+# directly, or use the apt-install and in-target commands to easily install
+# packages and run commands in the target system.
+#d-i preseed/late_command string apt-install zsh; in-target chsh -s /bin/zsh
+
diff --git a/templates/Debian-9.1-amd64-netboot/puppet.sh b/templates/Debian-9.1-amd64-netboot/puppet.sh
new file mode 100644
index 00000000..107b2361
--- /dev/null
+++ b/templates/Debian-9.1-amd64-netboot/puppet.sh
@@ -0,0 +1,7 @@
+# Prepare puppetlabs repo
+wget http://apt.puppetlabs.com/puppetlabs-release-wheezy.deb
+dpkg -i puppetlabs-release-wheezy.deb
+apt-get update
+
+# Install puppet/facter
+apt-get install -y puppet facter
diff --git a/templates/Debian-9.1-amd64-netboot/ruby.sh b/templates/Debian-9.1-amd64-netboot/ruby.sh
new file mode 100644
index 00000000..e44d60d2
--- /dev/null
+++ b/templates/Debian-9.1-amd64-netboot/ruby.sh
@@ -0,0 +1,10 @@
+# Install Ruby from packages
+apt-get -y install ruby ruby-dev libopenssl-ruby1.8 irb ri rdoc
+
+# Install Rubygems from source
+rg_ver=1.8.22
+curl -o /tmp/rubygems-${rg_ver}.zip \
+  "http://production.cf.rubygems.org/rubygems/rubygems-${rg_ver}.zip"
+(cd /tmp && unzip rubygems-${rg_ver}.zip && \
+  cd rubygems-${rg_ver} && ruby setup.rb --no-format-executable)
+rm -rf /tmp/rubygems-${rg_ver} /tmp/rubygems-${rg_ver}.zip
diff --git a/templates/Debian-9.1-amd64-netboot/vagrant.sh b/templates/Debian-9.1-amd64-netboot/vagrant.sh
new file mode 100644
index 00000000..54c2a71e
--- /dev/null
+++ b/templates/Debian-9.1-amd64-netboot/vagrant.sh
@@ -0,0 +1,21 @@
+# Set up Vagrant.
+
+date > /etc/vagrant_box_build_time
+
+# Create the user vagrant with password vagrant
+useradd -G sudo -p $(perl -e'print crypt("vagrant", "vagrant")') -m -s /bin/bash -N vagrant
+
+# Install vagrant keys
+mkdir -pm 700 /home/vagrant/.ssh
+curl -Lo /home/vagrant/.ssh/authorized_keys \
+  'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub'
+chmod 0600 /home/vagrant/.ssh/authorized_keys
+chown -R vagrant:vagrant /home/vagrant/.ssh
+
+# Customize the message of the day
+echo 'Welcome to your Vagrant-built virtual machine.' > /var/run/motd
+
+# Install NFS client
+apt-get -y install nfs-common
+
+
diff --git a/templates/Debian-9.1-amd64-netboot/virtualbox.sh b/templates/Debian-9.1-amd64-netboot/virtualbox.sh
new file mode 100644
index 00000000..4dad6492
--- /dev/null
+++ b/templates/Debian-9.1-amd64-netboot/virtualbox.sh
@@ -0,0 +1,37 @@
+if test -f .vbox_version ; then
+  # The netboot installs the VirtualBox support (old) so we have to remove it
+  if test -f /etc/init.d/virtualbox-ose-guest-utils ; then
+    /etc/init.d/virtualbox-ose-guest-utils stop
+  fi
+
+  rmmod vboxguest
+  aptitude -y purge virtualbox-ose-guest-x11 virtualbox-ose-guest-dkms virtualbox-ose-guest-utils
+
+  # Install dkms for dynamic compiles
+
+  apt-get install -y dkms
+
+  # If libdbus is not installed, virtualbox will not autostart
+  apt-get -y install --no-install-recommends libdbus-1-3
+
+  # Install the VirtualBox guest additions
+  VBOX_VERSION=$(cat .vbox_version)
+  VBOX_ISO=VBoxGuestAdditions_$VBOX_VERSION.iso
+  mount -o loop $VBOX_ISO /mnt
+  yes|sh /mnt/VBoxLinuxAdditions.run
+  umount /mnt
+
+  # Start the newly build driver
+  /etc/init.d/vboxadd start
+
+  # Make a temporary mount point
+  mkdir /tmp/veewee-validation
+
+  # Test mount the veewee-validation
+  mount -t vboxsf veewee-validation /tmp/veewee-validation
+
+  rm $VBOX_ISO
+
+  # Symlink vbox guest additions. Fix for https://github.com/mitchellh/vagrant/issues/3341
+  ln -s /opt/VBoxGuestAdditions-$VBOX_VERSION/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions
+fi
diff --git a/templates/Debian-9.1-amd64-netboot/vmfusion.sh b/templates/Debian-9.1-amd64-netboot/vmfusion.sh
new file mode 100644
index 00000000..3ced7e44
--- /dev/null
+++ b/templates/Debian-9.1-amd64-netboot/vmfusion.sh
@@ -0,0 +1,7 @@
+cd /tmp
+mkdir -p /mnt/cdrom
+mount -o loop /home/vagrant/linux.iso /mnt/cdrom
+tar zxvf /mnt/cdrom/VMwareTools-*.tar.gz -C /tmp/
+/tmp/vmware-tools-distrib/vmware-install.pl -d
+rm /home/vagrant/linux.iso
+umount /mnt/cdrom
diff --git a/templates/Debian-9.1-amd64-netboot/zerodisk.sh b/templates/Debian-9.1-amd64-netboot/zerodisk.sh
new file mode 100644
index 00000000..938075a3
--- /dev/null
+++ b/templates/Debian-9.1-amd64-netboot/zerodisk.sh
@@ -0,0 +1,3 @@
+# Zero out the free space to save space in the final image:
+dd if=/dev/zero of=/EMPTY bs=1M
+rm -f /EMPTY
diff --git a/templates/Fedora-14-amd64-netboot/definition.rb b/templates/Fedora-14-amd64-netboot/definition.rb
index 8da26537..0edf896c 100644
--- a/templates/Fedora-14-amd64-netboot/definition.rb
+++ b/templates/Fedora-14-amd64-netboot/definition.rb
@@ -7,7 +7,7 @@
   :iso_md5 => "acd25fc1470f2497cf2a2a245adbfe1e",
   :iso_download_timeout => 1000,
   :boot_wait => "10", :boot_cmd_sequence => [ ' linux text ks=http://%IP%:%PORT%/ks.cfg' ],
-  :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
+  :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
diff --git a/templates/Fedora-14-amd64/definition.rb b/templates/Fedora-14-amd64/definition.rb
index b98592f6..d9aef77b 100644
--- a/templates/Fedora-14-amd64/definition.rb
+++ b/templates/Fedora-14-amd64/definition.rb
@@ -7,7 +7,7 @@
   :iso_md5 => "381d7336c6d1685cbb4eae49cdef2247",
   :iso_download_timeout => 1000,
   :boot_wait => "10", :boot_cmd_sequence => [ ' linux text ks=http://%IP%:%PORT%/ks.cfg' ],
-  :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
+  :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
diff --git a/templates/Fedora-14-i386-netboot/definition.rb b/templates/Fedora-14-i386-netboot/definition.rb
index b24fe813..1d40b91f 100644
--- a/templates/Fedora-14-i386-netboot/definition.rb
+++ b/templates/Fedora-14-i386-netboot/definition.rb
@@ -7,7 +7,7 @@
   :iso_md5 => "59d2490d7bf73a6c8a80d9a790f17184",
   :iso_download_timeout => 1000,
   :boot_wait => "10", :boot_cmd_sequence => [ ' linux text ks=http://%IP%:%PORT%/ks.cfg' ],
-  :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
+  :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
diff --git a/templates/Fedora-14-i386/definition.rb b/templates/Fedora-14-i386/definition.rb
index b366d0b6..b140e329 100644
--- a/templates/Fedora-14-i386/definition.rb
+++ b/templates/Fedora-14-i386/definition.rb
@@ -7,7 +7,7 @@
   :iso_md5 => "1cc67641506d2f931d669b8d3528dded",
   :iso_download_timeout => 1000,
   :boot_wait => "10", :boot_cmd_sequence => [ ' linux text ks=http://%IP%:%PORT%/ks.cfg' ],
-  :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
+  :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
diff --git a/templates/Fedora-15-i386-netboot/definition.rb b/templates/Fedora-15-i386-netboot/definition.rb
index 240deaf3..f9dcb58c 100644
--- a/templates/Fedora-15-i386-netboot/definition.rb
+++ b/templates/Fedora-15-i386-netboot/definition.rb
@@ -8,7 +8,7 @@
   :iso_md5 => "9a91492ac84dde9ceff0cb346a079487",
   :iso_download_timeout => 1000,
   :boot_wait => "10", :boot_cmd_sequence => [ ' linux text ks=http://%IP%:%PORT%/ks.cfg' ],
-  :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
+  :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
diff --git a/templates/Fedora-15-i386/definition.rb b/templates/Fedora-15-i386/definition.rb
index 5a6bae9f..5b26e969 100644
--- a/templates/Fedora-15-i386/definition.rb
+++ b/templates/Fedora-15-i386/definition.rb
@@ -8,7 +8,7 @@
   :iso_md5 => "9a91492ac84dde9ceff0cb346a079487",
   :iso_download_timeout => 1000,
   :boot_wait => "10", :boot_cmd_sequence => [ ' linux text ks=http://%IP%:%PORT%/ks.cfg' ],
-  :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
+  :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
diff --git a/templates/Fedora-15-x86_64-netboot/definition.rb b/templates/Fedora-15-x86_64-netboot/definition.rb
index 8762936e..fb8e0db2 100644
--- a/templates/Fedora-15-x86_64-netboot/definition.rb
+++ b/templates/Fedora-15-x86_64-netboot/definition.rb
@@ -14,7 +14,7 @@
   :boot_wait => "10", 
   :boot_cmd_sequence => [ ' linux text ks=http://%IP%:%PORT%/ks.cfg' ],
   :kickstart_port => "7122", 
-  :kickstart_timeout => 10000, 
+  :kickstart_timeout => 300, 
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "100", 
   :ssh_user => "vagrant", 
diff --git a/templates/Fedora-15-x86_64/definition.rb b/templates/Fedora-15-x86_64/definition.rb
index 7e183b9c..64a0e370 100644
--- a/templates/Fedora-15-x86_64/definition.rb
+++ b/templates/Fedora-15-x86_64/definition.rb
@@ -8,7 +8,7 @@
   :iso_md5 => "c122a2a4f478da4a3d2d12396e84244e",
   :iso_download_timeout => 1000,
   :boot_wait => "10", :boot_cmd_sequence => [ ' linux text ks=http://%IP%:%PORT%/ks.cfg' ],
-  :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
+  :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
diff --git a/templates/Fedora-16-i386/definition.rb b/templates/Fedora-16-i386/definition.rb
index 1c41e3d3..a01ee1cd 100644
--- a/templates/Fedora-16-i386/definition.rb
+++ b/templates/Fedora-16-i386/definition.rb
@@ -8,7 +8,7 @@
   :iso_md5 => "0d64ab6b1b800827a9c83d95395b3da0",
   :iso_download_timeout => 1000,
   :boot_wait => "10", :boot_cmd_sequence => [ ' linux text biosdevname=0 ks=http://%IP%:%PORT%/ks.cfg' ],
-  :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
+  :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
diff --git a/templates/Fedora-16-x86_64-netboot/definition.rb b/templates/Fedora-16-x86_64-netboot/definition.rb
index 91f45ccb..84990587 100644
--- a/templates/Fedora-16-x86_64-netboot/definition.rb
+++ b/templates/Fedora-16-x86_64-netboot/definition.rb
@@ -14,7 +14,7 @@
   :boot_wait => "10", 
   :boot_cmd_sequence => [ ' linux text ks=http://%IP%:%PORT%/ks.cfg' ],
   :kickstart_port => "7122", 
-  :kickstart_timeout => 10000, 
+  :kickstart_timeout => 300, 
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => 10000, 
   :ssh_user => "vagrant", 
diff --git a/templates/Fedora-16-x86_64/definition.rb b/templates/Fedora-16-x86_64/definition.rb
index 35117e39..6fa345e4 100644
--- a/templates/Fedora-16-x86_64/definition.rb
+++ b/templates/Fedora-16-x86_64/definition.rb
@@ -8,7 +8,7 @@
   :iso_md5 => "bb38ea1fe4b2fc69e7a6e15cf1c69c91",
   :iso_download_timeout => 1000,
   :boot_wait => "10", :boot_cmd_sequence => [ ' linux text biosdevname=0 ks=http://%IP%:%PORT%/ks.cfg' ],
-  :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
+  :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
diff --git a/templates/Fedora-17-i386/definition.rb b/templates/Fedora-17-i386/definition.rb
index b894e14b..200a3fb2 100644
--- a/templates/Fedora-17-i386/definition.rb
+++ b/templates/Fedora-17-i386/definition.rb
@@ -8,7 +8,7 @@
   :iso_md5 => "d4717e04b596e33898cc34970e79dd3d",
   :iso_download_timeout => 1000,
   :boot_wait => "10", :boot_cmd_sequence => [ ' linux text biosdevname=0 ks=http://%IP%:%PORT%/ks.cfg' ],
-  :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
+  :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
diff --git a/templates/Fedora-17-x86_64/definition.rb b/templates/Fedora-17-x86_64/definition.rb
index c5db6e6e..08b659c6 100644
--- a/templates/Fedora-17-x86_64/definition.rb
+++ b/templates/Fedora-17-x86_64/definition.rb
@@ -8,7 +8,7 @@
   :iso_md5 => "26f3358a5f8973f0956093f28a0106e7",
   :iso_download_timeout => 1000,
   :boot_wait => "10", :boot_cmd_sequence => [ ' linux text biosdevname=0 ks=http://%IP%:%PORT%/ks.cfg' ],
-  :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
+  :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
diff --git a/templates/Fedora-18-i386/definition.rb b/templates/Fedora-18-i386/definition.rb
index 4b310108..f0316ee4 100644
--- a/templates/Fedora-18-i386/definition.rb
+++ b/templates/Fedora-18-i386/definition.rb
@@ -14,7 +14,7 @@
   :boot_wait => "10",
   :boot_cmd_sequence => [ ' linux text biosdevname=0 ks=http://%IP%:%PORT%/ks.cfg' ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/Fedora-18-x86_64/definition.rb b/templates/Fedora-18-x86_64/definition.rb
index 6a6bcb05..0323acfd 100644
--- a/templates/Fedora-18-x86_64/definition.rb
+++ b/templates/Fedora-18-x86_64/definition.rb
@@ -14,7 +14,7 @@
   :boot_wait => "10",
   :boot_cmd_sequence => [ ' linux text biosdevname=0 ks=http://%IP%:%PORT%/ks.cfg' ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/Fedora-19-i386/definition.rb b/templates/Fedora-19-i386/definition.rb
index cd00ff0a..59d5a5e4 100644
--- a/templates/Fedora-19-i386/definition.rb
+++ b/templates/Fedora-19-i386/definition.rb
@@ -14,7 +14,7 @@
   :boot_wait => "10",
   :boot_cmd_sequence => [ ' linux text net.ifnames=0 biosdevname=0 ks=http://%IP%:%PORT%/ks.cfg' ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/Fedora-19-x86_64/definition.rb b/templates/Fedora-19-x86_64/definition.rb
index 4e55d60f..b164031b 100644
--- a/templates/Fedora-19-x86_64/definition.rb
+++ b/templates/Fedora-19-x86_64/definition.rb
@@ -14,7 +14,7 @@
   :boot_wait => "10",
   :boot_cmd_sequence => [ ' linux text net.ifnames=0 biosdevname=0 ks=http://%IP%:%PORT%/ks.cfg' ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/Fedora-20-i386/definition.rb b/templates/Fedora-20-i386/definition.rb
index 34053677..8d30459b 100644
--- a/templates/Fedora-20-i386/definition.rb
+++ b/templates/Fedora-20-i386/definition.rb
@@ -14,7 +14,7 @@
   :boot_wait => "10",
   :boot_cmd_sequence => [ 'i linux text net.ifnames=0 biosdevname=0 ks=http://%IP%:%PORT%/ks.cfg' ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/Fedora-20-x86_64/definition.rb b/templates/Fedora-20-x86_64/definition.rb
index 627daf3d..6e967058 100644
--- a/templates/Fedora-20-x86_64/definition.rb
+++ b/templates/Fedora-20-x86_64/definition.rb
@@ -14,7 +14,7 @@
   :boot_wait => "10",
   :boot_cmd_sequence => [ 'i linux text net.ifnames=0 biosdevname=0 ks=http://%IP%:%PORT%/ks.cfg' ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
diff --git a/templates/Fedora-21-x86_64/base.sh b/templates/Fedora-21-x86_64/base.sh
new file mode 100644
index 00000000..e7186df8
--- /dev/null
+++ b/templates/Fedora-21-x86_64/base.sh
@@ -0,0 +1,9 @@
+# Base install
+
+# Enable updates-testing repo
+sed -i "s/enabled=0/enabled=1/" /etc/yum.repos.d/fedora-updates-testing.repo
+
+# Must exclude kernel for now. Otherwise, kernel gets upgraded before reboot,
+# but VirtualBox tools get compiled against the old kernel, so the fresh
+# image will refuse to start under Vagrant.
+yum -y update --exclude kernel*
diff --git a/templates/Fedora-21-x86_64/chef.sh b/templates/Fedora-21-x86_64/chef.sh
new file mode 100644
index 00000000..9f4ba864
--- /dev/null
+++ b/templates/Fedora-21-x86_64/chef.sh
@@ -0,0 +1,17 @@
+# Install pre-requisites
+yum -y install \
+  rubygem-bunny \
+  rubygem-erubis \
+  rubygem-highline \
+  rubygem-json \
+  rubygem-mime-types \
+  rubygem-net-ssh \
+  rubygem-polyglot \
+  rubygem-rest-client \
+  rubygem-systemu \
+  rubygem-treetop \
+  rubygem-uuidtools
+
+# Install Chef
+gem install --no-ri --no-rdoc chef
+
diff --git a/templates/CentOS-6.5-i386-netboot/cleanup.sh b/templates/Fedora-21-x86_64/cleanup.sh
similarity index 72%
rename from templates/CentOS-6.5-i386-netboot/cleanup.sh
rename to templates/Fedora-21-x86_64/cleanup.sh
index 929e13f5..6ba836c2 100644
--- a/templates/CentOS-6.5-i386-netboot/cleanup.sh
+++ b/templates/Fedora-21-x86_64/cleanup.sh
@@ -1,8 +1,6 @@
 yum -y erase gtk2 libX11 hicolor-icon-theme avahi freetype bitstream-vera-fonts
 yum -y clean all
-rm -rf /etc/yum.repos.d/{puppetlabs,epel}.repo
 rm -rf VBoxGuestAdditions_*.iso
 
 # Remove traces of mac address from network configuration
 sed -i /HWADDR/d /etc/sysconfig/network-scripts/ifcfg-eth0
-rm /etc/udev/rules.d/70-persistent-net.rules
diff --git a/templates/CentOS-5.10-i386-netboot/definition.rb b/templates/Fedora-21-x86_64/definition.rb
old mode 100755
new mode 100644
similarity index 52%
rename from templates/CentOS-5.10-i386-netboot/definition.rb
rename to templates/Fedora-21-x86_64/definition.rb
index e5c17b9a..3822422a
--- a/templates/CentOS-5.10-i386-netboot/definition.rb
+++ b/templates/Fedora-21-x86_64/definition.rb
@@ -1,24 +1,20 @@
 Veewee::Session.declare({
+  # Minimum RAM requirement for installation is 512MB.
   :cpu_count => '1',
-  :memory_size=> '384',
+  :memory_size=> '512',
   :disk_size => '10140',
   :disk_format => 'VDI',
-  :hostiocache => 'on',
-  :virtualbox => {
-    :vm_options => [
-      "pae" => "on",
-      "ioapic" => "on",
-    ],
-  },
-  :os_type_id => 'RedHat',
-  :iso_file => "CentOS-5.10-i386-netinstall.iso",
-  :iso_src => "http://mirrors.kernel.org/centos/5.10/isos/i386/CentOS-5.10-i386-netinstall.iso",
-  :iso_md5 => "8d19b12cb5f65a4b5c2bc61a98abf80c",
+  :hostiocache => 'off',
+  :hwvirtext => 'on',
+  :os_type_id => 'Fedora_64',
+  :iso_file => "Fedora-Server-DVD-x86_64-21.iso",
+  :iso_src => "http://download.fedoraproject.org/pub/fedora/linux/releases/21/Server/x86_64/iso/Fedora-Server-DVD-x86_64-21.iso",
+  :iso_sha256 => "a6a2e83bb409d6b8ee3072ad07faac0a54d79c9ecbe3a40af91b773e2d843d8e",
   :iso_download_timeout => 1000,
   :boot_wait => "10",
-  :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg' ],
+  :boot_cmd_sequence => [ 'i linux text net.ifnames=0 biosdevname=0 ks=http://%IP%:%PORT%/ks.cfg' ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "vagrant",
@@ -35,6 +31,7 @@
     "puppet.sh",
     "vagrant.sh",
     "virtualbox.sh",
+    #"vmfusion.sh",
     "cleanup.sh",
     "zerodisk.sh"
   ],
diff --git a/templates/Fedora-21-x86_64/ks.cfg b/templates/Fedora-21-x86_64/ks.cfg
new file mode 100644
index 00000000..5ad91c5d
--- /dev/null
+++ b/templates/Fedora-21-x86_64/ks.cfg
@@ -0,0 +1,83 @@
+# Kickstart file automatically generated by anaconda.
+
+install
+cdrom
+lang en_US.UTF-8
+keyboard 'us'
+# note we set biosdevname=0 when launching install
+# this means we will be using standard ethernet devices, e.g. eth[0,1,2] eth
+network --onboot yes --device eth0 --bootproto dhcp --noipv6 --hostname=localhost.localdomain
+timezone --utc America/New_York
+rootpw  --iscrypted $6$n/NGsk5H2aiBMXL4$r/oPkJtB5rasvQHPo9AvIJBe6sNVlQbpZxvTRMN7.qZk/Sn9u2qZ0XgNxflUvK20y7OIWdr/vv7MED6gzkBiH0
+selinux --enforcing
+auth --enableshadow --passalgo=sha512
+firewall --service=ssh
+
+# Avoiding warning message on Storage device breaking automated generation
+zerombr
+
+# The following is the partition information you requested
+# Note that any partitions you deleted are not expressed
+# here so unless you clear all partitions first, this is
+# not guaranteed to work
+clearpart --all --initlabel
+
+#part biosboot --fstype=biosboot --size=1
+part /boot --fstype=ext4 --size=500
+part pv.2 --grow --size=500
+
+volgroup vg_vagrant --pesize=32768 pv.2
+logvol / --fstype=ext4 --name=lv_root --vgname=vg_vagrant --size=1024 --grow
+logvol swap --fstype=swap --name=lv_swap --vgname=vg_vagrant --size=528 --grow --maxsize=1056
+bootloader --location=mbr --append="norhgb net.ifnames=0 biosdevname=0"
+services --enabled network
+reboot
+
+%packages
+@core
+
+# Requirements for vagrant
+bzip2
+deltarpm
+gcc
+gcc-c++
+kernel-devel
+kernel-headers
+make
+net-tools
+openssl-devel
+perl
+readline-devel
+sqlite-devel
+tar
+wget
+zlib-devel
+%end
+
+%post
+# Make ssh quicker in disconnected situations.
+echo 'UseDNS no' >> /etc/ssh/sshd_config
+
+# Disable udev persistent net rules
+# We do this so that we do not persist rules mapped to virtual machines
+# instances created from this basebox.
+ln -s /dev/null /etc/udev/rule.d/70-persistent-net.rules
+
+# Add Vagrant user and group.
+/usr/sbin/groupadd vagrant
+/usr/sbin/useradd vagrant -g vagrant
+echo "vagrant"|passwd --stdin vagrant
+
+# Give Vagrant user permission to sudo.
+echo 'Defaults:vagrant !requiretty' > /etc/sudoers.d/vagrant
+echo '%vagrant ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers.d/vagrant
+chmod 440 /etc/sudoers.d/vagrant
+
+# Install vagrant authorized ssh key.
+mkdir /home/vagrant/.ssh
+curl -L 'http://github.com/mitchellh/vagrant/raw/master/keys/vagrant.pub' > /home/vagrant/.ssh/authorized_keys
+chown vagrant:vagrant -R /home/vagrant/.ssh
+chmod 700 /home/vagrant/.ssh
+chmod 600 /home/vagrant/.ssh/authorized_keys
+chcon -R unconfined_u:object_r:user_home_t:s0 /home/vagrant/.ssh
+%end
diff --git a/templates/Fedora-21-x86_64/puppet.sh b/templates/Fedora-21-x86_64/puppet.sh
new file mode 100644
index 00000000..22e76783
--- /dev/null
+++ b/templates/Fedora-21-x86_64/puppet.sh
@@ -0,0 +1,2 @@
+# Install Puppet
+yum -y install puppet facter
diff --git a/templates/Fedora-21-x86_64/ruby.sh b/templates/Fedora-21-x86_64/ruby.sh
new file mode 100644
index 00000000..9698ed0e
--- /dev/null
+++ b/templates/Fedora-21-x86_64/ruby.sh
@@ -0,0 +1,3 @@
+# Install Ruby
+yum -y install ruby ruby-devel rubygems
+
diff --git a/templates/CentOS-6.5-i386-netboot/vagrant.sh b/templates/Fedora-21-x86_64/vagrant.sh
similarity index 100%
rename from templates/CentOS-6.5-i386-netboot/vagrant.sh
rename to templates/Fedora-21-x86_64/vagrant.sh
diff --git a/templates/Fedora-21-x86_64/virtualbox.sh b/templates/Fedora-21-x86_64/virtualbox.sh
new file mode 100644
index 00000000..28fd92d0
--- /dev/null
+++ b/templates/Fedora-21-x86_64/virtualbox.sh
@@ -0,0 +1,4 @@
+# Installing the virtualbox guest additions
+mount /dev/sr1 /mnt
+sh /mnt/VBoxLinuxAdditions.run
+umount /mnt
diff --git a/templates/CentOS-6.5-x86_64-netboot/vmfusion.sh b/templates/Fedora-21-x86_64/vmfusion.sh
similarity index 50%
rename from templates/CentOS-6.5-x86_64-netboot/vmfusion.sh
rename to templates/Fedora-21-x86_64/vmfusion.sh
index 3bd2e1b2..6be11307 100644
--- a/templates/CentOS-6.5-x86_64-netboot/vmfusion.sh
+++ b/templates/Fedora-21-x86_64/vmfusion.sh
@@ -1,10 +1,7 @@
-# vmware-vmblock-fuse requires libfuse.so
-yum -y install fuse-libs
-
 cd /tmp
 mkdir -p /mnt/cdrom
-mount -o loop /home/veewee/linux.iso /mnt/cdrom
+mount -o loop /home/vagrant/linux.iso /mnt/cdrom
 tar zxf /mnt/cdrom/VMwareTools-*.tar.gz -C /tmp/
 /tmp/vmware-tools-distrib/vmware-install.pl -d
 umount /mnt/cdrom
-rm /home/veewee/linux.iso
+rm /home/vagrant/linux.iso
diff --git a/templates/Fedora-21-x86_64/zerodisk.sh b/templates/Fedora-21-x86_64/zerodisk.sh
new file mode 100644
index 00000000..938075a3
--- /dev/null
+++ b/templates/Fedora-21-x86_64/zerodisk.sh
@@ -0,0 +1,3 @@
+# Zero out the free space to save space in the final image:
+dd if=/dev/zero of=/EMPTY bs=1M
+rm -f /EMPTY
diff --git a/templates/OSX/definition.rb b/templates/OSX/definition.rb
index b5c728ab..9694ed6a 100644
--- a/templates/OSX/definition.rb
+++ b/templates/OSX/definition.rb
@@ -1,6 +1,7 @@
 Veewee::Definition.declare({
   :cpu_count => '1',
   :memory_size=> '2048',
+  :video_memory_size => '32',
   :disk_size => '40000',
   :disk_format => 'VDI',
   :hostiocache => 'off',
@@ -27,5 +28,16 @@
     "puppet.sh",               # Puppet install from Hashicorp's puppet-boostrap repo
     "fix_user_perms.sh"        # some folders in vagrant's got created as root in the above script
   ],
-  :postinstall_timeout => "10000"
+  :postinstall_timeout => "10000",
+  # For valid `VBoxManage modifyvm` options, see `VBoxManage help modifyvm` or `VBoxManage -h`
+  :virtualbox => { :vm_options => [
+    'accelerate3d' => 'on', # Enable 3D Acceleration
+    'ioapic' => 'on',
+    'pae' => 'on',          # Enable PAE/NX
+    'hwvirtex' => 'on',     # Enable VT-x / AMD-V
+    'chipset' => 'ich9',    # Use ICH9 chipset for motherboard
+    'nic1' => 'nat',        # Force the first nic to be enabled and attached to NAT
+    'firmware' => 'efi',    # Need EFI to boot image
+    'rtcuseutc' => 'on'     # Set hardware clock in UTC
+    ] }
 })
diff --git a/templates/OSX/postinstall.sh b/templates/OSX/postinstall.sh
index 96841a3e..ee89d4aa 100644
--- a/templates/OSX/postinstall.sh
+++ b/templates/OSX/postinstall.sh
@@ -4,13 +4,13 @@ OSX_VERS=$(sw_vers -productVersion | awk -F "." '{print $2}')
 
 # Install VMware tools if we were built with VMware
 if [ -e .vmfusion_version ]; then
-	TMPMOUNT=`/usr/bin/mktemp -d /tmp/vmware-tools.XXXX`
-	hdiutil attach darwin.iso -mountpoint "$TMPMOUNT"
-	installer -pkg "$TMPMOUNT/Install VMware Tools.app/Contents/Resources/VMware Tools.pkg" -target /
-	# This usually fails
-	hdiutil detach "$TMPMOUNT"
-	rm -rf "$TMPMOUNT"
-	rm darwin.iso
+  TMPMOUNT=`/usr/bin/mktemp -d /tmp/vmware-tools.XXXX`
+  hdiutil attach darwin.iso -mountpoint "$TMPMOUNT"
+  installer -pkg "$TMPMOUNT/Install VMware Tools.app/Contents/Resources/VMware Tools.pkg" -target /
+  # This usually fails
+  hdiutil detach "$TMPMOUNT"
+  rm -rf "$TMPMOUNT"
+  rm darwin.iso
 fi
 
 # Set computer/hostname
@@ -21,7 +21,7 @@ scutil --set HostName ${COMPNAME}.vagrantup.com
 # Installing vagrant keys
 mkdir /Users/vagrant/.ssh
 chmod 700 /Users/vagrant/.ssh
-curl -k 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' > /Users/vagrant/.ssh/authorized_keys
+curl -Lk 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' > /Users/vagrant/.ssh/authorized_keys
 chmod 600 /Users/vagrant/.ssh/authorized_keys
 chown -R vagrant /Users/vagrant/.ssh
 
diff --git a/templates/OSX/prepare_veewee_iso/prepare_veewee_iso.sh b/templates/OSX/prepare_veewee_iso/prepare_veewee_iso.sh
index db3686c6..f5b6fed7 100755
--- a/templates/OSX/prepare_veewee_iso/prepare_veewee_iso.sh
+++ b/templates/OSX/prepare_veewee_iso/prepare_veewee_iso.sh
@@ -124,6 +124,39 @@ if [ $? -ne 0 ]; then
 	msg_error "Could not mount $ESD on $MNT_ESD"
 	exit 1
 fi
+if [ ! -e "$MNT_ESD/System/Library/CoreServices/SystemVersion.plist" ]; then
+	install_app=$(ls -1 -d "$MNT_ESD/Install OS X"*.app | head -n1)
+	if [ -n "$install_app" -a -d "$install_app" ]; then
+		# This might be an install .app inside a dmg
+		if [ -e "$install_app/Contents/SharedSupport/InstallESD.dmg" ]; then
+			TOPLVL_ESD="$ESD"
+			TOPLVL_MNT_ESD="$MNT_ESD"
+			ESD="$install_app/Contents/SharedSupport/InstallESD.dmg"
+
+			MNT_ESD=`/usr/bin/mktemp -d /tmp/veewee-osx-esd.XXXX`
+			msg_status "Found an 'Install OS X *.app' file: $install_app"
+			msg_status "Attaching to OS X installer image with shadow file.."
+			hdiutil attach "$ESD" -mountpoint "$MNT_ESD" -shadow -nobrowse -owners on 
+			if [ $? -ne 0 ]; then
+				[ ! -e "$ESD" ] && msg_error "Could not find $ESD in $(pwd)"
+				msg_error "Could not mount $ESD on $MNT_ESD"
+				exit 1
+			fi
+			if [ ! -e "$MNT_ESD/System/Library/CoreServices/SystemVersion.plist" ]; then
+				msg_error "Can't determine OSX version.  File not found: $MNT_ESD/System/Library/CoreServices/SystemVersion.plist"
+				exit 1
+			fi
+		else
+			msg_error "Can't locate an InstallESD.dmg in this source location $install_app!"
+		fi
+	else
+		msg_error "Can't determine OSX version.  File not found: $MNT_ESD/System/Library/CoreServices/SystemVersion.plist"
+		hdiutil detach "$MNT_ESD"
+		rm "$ESD.shadow"
+		rm -rf "$MNT_ESD"
+		exit 1
+	fi
+fi
 DMG_OS_VERS=$(/usr/libexec/PlistBuddy -c 'Print :ProductVersion' "$MNT_ESD/System/Library/CoreServices/SystemVersion.plist")
 DMG_OS_VERS_MAJOR=$(echo $DMG_OS_VERS | awk -F "." '{print $2}')
 DMG_OS_BUILD=$(/usr/libexec/PlistBuddy -c 'Print :ProductBuildVersion' "$MNT_ESD/System/Library/CoreServices/SystemVersion.plist")
@@ -131,6 +164,15 @@ OUTPUT_DMG="$OUT_DIR/OSX_InstallESD_${DMG_OS_VERS}_${DMG_OS_BUILD}.dmg"
 if [ -e "$OUTPUT_DMG" ]; then
 	msg_error "Output file $OUTPUT_DMG already exists! We're not going to overwrite it, exiting.."
 	hdiutil detach "$MNT_ESD"
+	if [ -n "$TOPLVL_MNT_ESD" ]; then
+		hdiutil detach "$TOPLVL_MNT_ESD"
+		rm "$TOPLVL_ESD.shadow"
+		rm -rf "$TOPLVL_MNT_ESD"
+		rm -rf "$MNT_ESD"
+	else
+		rm "$ESD.shadow"
+		rm -rf "$MNT_ESD"
+	fi
 	exit 1
 fi
 
@@ -262,8 +304,15 @@ hdiutil detach "$MNT_ESD"
 
 msg_status "Converting to final output file.."
 hdiutil convert -format UDZO -o "$OUTPUT_DMG" -shadow "$ESD.shadow" "$ESD"
-rm "$ESD.shadow"
-rm -rf "$MNT_ESD"
+if [ -z "$TOPLVL_ESD" ]; then
+	rm "$ESD.shadow"
+	rm -rf "$MNT_ESD"
+else
+	hdiutil detach "$TOPLVL_MNT_ESD"
+	rm "$TOPLVL_ESD.shadow"
+	rm -rf "$TOPLVL_MNT_ESD"
+	rm -rf "$MNT_ESD"
+fi
 
 msg_status "Fixing permissions.."
 chown -R $VEEWEE_UID:$VEEWEE_GID \
diff --git a/templates/OracleLinux-5.10-i386-DVD/base.sh b/templates/OracleLinux-5.10-i386-DVD/base.sh
index 6b96bb0c..d024ad97 100644
--- a/templates/OracleLinux-5.10-i386-DVD/base.sh
+++ b/templates/OracleLinux-5.10-i386-DVD/base.sh
@@ -4,8 +4,7 @@ source ./proxy.sh
 
 sed -i "s/^.*requiretty/#Defaults requiretty/" /etc/sudoers
 
-cd /etc/yum.repos.d
-wget https://public-yum.oracle.com/public-yum-el5.repo
+wget http://public-yum.oracle.com/public-yum-el5.repo -O /etc/yum.repos.d/public-yum-el5.repo
 
 cd /tmp
 wget http://download.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
@@ -18,9 +17,3 @@ rm -f /tmp/epel-release-5-4.noarch.rpm
 echo "UseDNS no" >> /etc/ssh/sshd_config
 
 sed -i "s/^HOSTNAME=.*/HOSTNAME=oracle.vagrantup.com/" /etc/sysconfig/network
-
-yum -y install gcc make gcc-c++ kernel-devel-`uname -r` \
-  kernel-uek-devel-`uname -r` zlib-devel openssl-devel \
-  readline-devel sqlite-devel perl wget curl bzip2 dkms
-
-yum -y update
diff --git a/templates/OracleLinux-5.10-i386-DVD/definition.rb b/templates/OracleLinux-5.10-i386-DVD/definition.rb
index bb4e858b..030c47cb 100644
--- a/templates/OracleLinux-5.10-i386-DVD/definition.rb
+++ b/templates/OracleLinux-5.10-i386-DVD/definition.rb
@@ -12,7 +12,7 @@
   :boot_wait => "10",
   :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg' ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "veewee",
diff --git a/templates/OracleLinux-5.10-i386-DVD/ks.cfg b/templates/OracleLinux-5.10-i386-DVD/ks.cfg
index 23b25934..1c516324 100644
--- a/templates/OracleLinux-5.10-i386-DVD/ks.cfg
+++ b/templates/OracleLinux-5.10-i386-DVD/ks.cfg
@@ -16,12 +16,32 @@ zerombr
 clearpart --all --initlabel
 autopart
 
-auth --useshadow --enablemd5
 firstboot --disabled
 reboot
 
 %packages --ignoremissing
 @core
+wget
+curl
+make
+gcc
+gcc-c++
+kernel-devel
+kernel-uek-devel
+kernel-headers
+zlib-devel
+openssl-devel
+readline-devel
+sqlite-devel
+perl
+bzip2
+dkms
+net-tools
+bind-utils
+nfs-utils
+bash-completion
+deltarpm
+yum-utils
 -ipw2100-firmware
 -ipw2200-firmware
 -ivtv-firmware
diff --git a/templates/OracleLinux-5.10-i386-DVD/ruby.sh b/templates/OracleLinux-5.10-i386-DVD/ruby.sh
index c00d73ab..1659ca10 100644
--- a/templates/OracleLinux-5.10-i386-DVD/ruby.sh
+++ b/templates/OracleLinux-5.10-i386-DVD/ruby.sh
@@ -2,7 +2,7 @@
 
 source ./proxy.sh
 
-RUBY_VERSION="ruby-1.9.3-p484"
+RUBY_VERSION="ruby-1.9.3-p547"
 RUBY_SOURCE="http://ftp.ruby-lang.org/pub/ruby/1.9/${RUBY_VERSION}.tar.gz"
 LIBYAML_VERSION="yaml-0.1.5"
 LIBYAML_SOURCE="http://pyyaml.org/download/libyaml/${LIBYAML_VERSION}.tar.gz"
diff --git a/templates/OracleLinux-5.10-x86_64-DVD/base.sh b/templates/OracleLinux-5.10-x86_64-DVD/base.sh
index 6b96bb0c..d024ad97 100644
--- a/templates/OracleLinux-5.10-x86_64-DVD/base.sh
+++ b/templates/OracleLinux-5.10-x86_64-DVD/base.sh
@@ -4,8 +4,7 @@ source ./proxy.sh
 
 sed -i "s/^.*requiretty/#Defaults requiretty/" /etc/sudoers
 
-cd /etc/yum.repos.d
-wget https://public-yum.oracle.com/public-yum-el5.repo
+wget http://public-yum.oracle.com/public-yum-el5.repo -O /etc/yum.repos.d/public-yum-el5.repo
 
 cd /tmp
 wget http://download.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
@@ -18,9 +17,3 @@ rm -f /tmp/epel-release-5-4.noarch.rpm
 echo "UseDNS no" >> /etc/ssh/sshd_config
 
 sed -i "s/^HOSTNAME=.*/HOSTNAME=oracle.vagrantup.com/" /etc/sysconfig/network
-
-yum -y install gcc make gcc-c++ kernel-devel-`uname -r` \
-  kernel-uek-devel-`uname -r` zlib-devel openssl-devel \
-  readline-devel sqlite-devel perl wget curl bzip2 dkms
-
-yum -y update
diff --git a/templates/OracleLinux-5.10-x86_64-DVD/definition.rb b/templates/OracleLinux-5.10-x86_64-DVD/definition.rb
index c3bae73c..a81c49f8 100644
--- a/templates/OracleLinux-5.10-x86_64-DVD/definition.rb
+++ b/templates/OracleLinux-5.10-x86_64-DVD/definition.rb
@@ -12,7 +12,7 @@
   :boot_wait => "10",
   :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg' ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "veewee",
diff --git a/templates/OracleLinux-5.10-x86_64-DVD/ks.cfg b/templates/OracleLinux-5.10-x86_64-DVD/ks.cfg
index 23b25934..1c516324 100644
--- a/templates/OracleLinux-5.10-x86_64-DVD/ks.cfg
+++ b/templates/OracleLinux-5.10-x86_64-DVD/ks.cfg
@@ -16,12 +16,32 @@ zerombr
 clearpart --all --initlabel
 autopart
 
-auth --useshadow --enablemd5
 firstboot --disabled
 reboot
 
 %packages --ignoremissing
 @core
+wget
+curl
+make
+gcc
+gcc-c++
+kernel-devel
+kernel-uek-devel
+kernel-headers
+zlib-devel
+openssl-devel
+readline-devel
+sqlite-devel
+perl
+bzip2
+dkms
+net-tools
+bind-utils
+nfs-utils
+bash-completion
+deltarpm
+yum-utils
 -ipw2100-firmware
 -ipw2200-firmware
 -ivtv-firmware
diff --git a/templates/OracleLinux-5.10-x86_64-DVD/ruby.sh b/templates/OracleLinux-5.10-x86_64-DVD/ruby.sh
index c00d73ab..1659ca10 100644
--- a/templates/OracleLinux-5.10-x86_64-DVD/ruby.sh
+++ b/templates/OracleLinux-5.10-x86_64-DVD/ruby.sh
@@ -2,7 +2,7 @@
 
 source ./proxy.sh
 
-RUBY_VERSION="ruby-1.9.3-p484"
+RUBY_VERSION="ruby-1.9.3-p547"
 RUBY_SOURCE="http://ftp.ruby-lang.org/pub/ruby/1.9/${RUBY_VERSION}.tar.gz"
 LIBYAML_VERSION="yaml-0.1.5"
 LIBYAML_SOURCE="http://pyyaml.org/download/libyaml/${LIBYAML_VERSION}.tar.gz"
diff --git a/templates/OracleLinux-5.9-i386-DVD/base.sh b/templates/OracleLinux-5.9-i386-DVD/base.sh
index 6b96bb0c..d024ad97 100644
--- a/templates/OracleLinux-5.9-i386-DVD/base.sh
+++ b/templates/OracleLinux-5.9-i386-DVD/base.sh
@@ -4,8 +4,7 @@ source ./proxy.sh
 
 sed -i "s/^.*requiretty/#Defaults requiretty/" /etc/sudoers
 
-cd /etc/yum.repos.d
-wget https://public-yum.oracle.com/public-yum-el5.repo
+wget http://public-yum.oracle.com/public-yum-el5.repo -O /etc/yum.repos.d/public-yum-el5.repo
 
 cd /tmp
 wget http://download.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
@@ -18,9 +17,3 @@ rm -f /tmp/epel-release-5-4.noarch.rpm
 echo "UseDNS no" >> /etc/ssh/sshd_config
 
 sed -i "s/^HOSTNAME=.*/HOSTNAME=oracle.vagrantup.com/" /etc/sysconfig/network
-
-yum -y install gcc make gcc-c++ kernel-devel-`uname -r` \
-  kernel-uek-devel-`uname -r` zlib-devel openssl-devel \
-  readline-devel sqlite-devel perl wget curl bzip2 dkms
-
-yum -y update
diff --git a/templates/OracleLinux-5.9-i386-DVD/definition.rb b/templates/OracleLinux-5.9-i386-DVD/definition.rb
index 24d1867b..ea89b915 100644
--- a/templates/OracleLinux-5.9-i386-DVD/definition.rb
+++ b/templates/OracleLinux-5.9-i386-DVD/definition.rb
@@ -12,7 +12,7 @@
   :boot_wait => "10",
   :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg' ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "veewee",
diff --git a/templates/OracleLinux-5.9-i386-DVD/ks.cfg b/templates/OracleLinux-5.9-i386-DVD/ks.cfg
index 23b25934..1c516324 100644
--- a/templates/OracleLinux-5.9-i386-DVD/ks.cfg
+++ b/templates/OracleLinux-5.9-i386-DVD/ks.cfg
@@ -16,12 +16,32 @@ zerombr
 clearpart --all --initlabel
 autopart
 
-auth --useshadow --enablemd5
 firstboot --disabled
 reboot
 
 %packages --ignoremissing
 @core
+wget
+curl
+make
+gcc
+gcc-c++
+kernel-devel
+kernel-uek-devel
+kernel-headers
+zlib-devel
+openssl-devel
+readline-devel
+sqlite-devel
+perl
+bzip2
+dkms
+net-tools
+bind-utils
+nfs-utils
+bash-completion
+deltarpm
+yum-utils
 -ipw2100-firmware
 -ipw2200-firmware
 -ivtv-firmware
diff --git a/templates/OracleLinux-5.9-i386-DVD/ruby.sh b/templates/OracleLinux-5.9-i386-DVD/ruby.sh
index 72dde07e..1659ca10 100644
--- a/templates/OracleLinux-5.9-i386-DVD/ruby.sh
+++ b/templates/OracleLinux-5.9-i386-DVD/ruby.sh
@@ -2,9 +2,9 @@
 
 source ./proxy.sh
 
-RUBY_VERSION="ruby-1.9.3-p448"
+RUBY_VERSION="ruby-1.9.3-p547"
 RUBY_SOURCE="http://ftp.ruby-lang.org/pub/ruby/1.9/${RUBY_VERSION}.tar.gz"
-LIBYAML_VERSION="yaml-0.1.4"
+LIBYAML_VERSION="yaml-0.1.5"
 LIBYAML_SOURCE="http://pyyaml.org/download/libyaml/${LIBYAML_VERSION}.tar.gz"
 
 yum install -y readline-devel ncurses-devel gdbm-devel tcl-devel \
diff --git a/templates/OracleLinux-5.9-x86_64-DVD/base.sh b/templates/OracleLinux-5.9-x86_64-DVD/base.sh
index 6b96bb0c..d024ad97 100644
--- a/templates/OracleLinux-5.9-x86_64-DVD/base.sh
+++ b/templates/OracleLinux-5.9-x86_64-DVD/base.sh
@@ -4,8 +4,7 @@ source ./proxy.sh
 
 sed -i "s/^.*requiretty/#Defaults requiretty/" /etc/sudoers
 
-cd /etc/yum.repos.d
-wget https://public-yum.oracle.com/public-yum-el5.repo
+wget http://public-yum.oracle.com/public-yum-el5.repo -O /etc/yum.repos.d/public-yum-el5.repo
 
 cd /tmp
 wget http://download.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
@@ -18,9 +17,3 @@ rm -f /tmp/epel-release-5-4.noarch.rpm
 echo "UseDNS no" >> /etc/ssh/sshd_config
 
 sed -i "s/^HOSTNAME=.*/HOSTNAME=oracle.vagrantup.com/" /etc/sysconfig/network
-
-yum -y install gcc make gcc-c++ kernel-devel-`uname -r` \
-  kernel-uek-devel-`uname -r` zlib-devel openssl-devel \
-  readline-devel sqlite-devel perl wget curl bzip2 dkms
-
-yum -y update
diff --git a/templates/OracleLinux-5.9-x86_64-DVD/definition.rb b/templates/OracleLinux-5.9-x86_64-DVD/definition.rb
index 6d3e2eeb..8b6d8e86 100644
--- a/templates/OracleLinux-5.9-x86_64-DVD/definition.rb
+++ b/templates/OracleLinux-5.9-x86_64-DVD/definition.rb
@@ -12,7 +12,7 @@
   :boot_wait => "10",
   :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg' ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "veewee",
diff --git a/templates/OracleLinux-5.9-x86_64-DVD/ks.cfg b/templates/OracleLinux-5.9-x86_64-DVD/ks.cfg
index 23b25934..1c516324 100644
--- a/templates/OracleLinux-5.9-x86_64-DVD/ks.cfg
+++ b/templates/OracleLinux-5.9-x86_64-DVD/ks.cfg
@@ -16,12 +16,32 @@ zerombr
 clearpart --all --initlabel
 autopart
 
-auth --useshadow --enablemd5
 firstboot --disabled
 reboot
 
 %packages --ignoremissing
 @core
+wget
+curl
+make
+gcc
+gcc-c++
+kernel-devel
+kernel-uek-devel
+kernel-headers
+zlib-devel
+openssl-devel
+readline-devel
+sqlite-devel
+perl
+bzip2
+dkms
+net-tools
+bind-utils
+nfs-utils
+bash-completion
+deltarpm
+yum-utils
 -ipw2100-firmware
 -ipw2200-firmware
 -ivtv-firmware
diff --git a/templates/OracleLinux-5.9-x86_64-DVD/ruby.sh b/templates/OracleLinux-5.9-x86_64-DVD/ruby.sh
index 72dde07e..1659ca10 100644
--- a/templates/OracleLinux-5.9-x86_64-DVD/ruby.sh
+++ b/templates/OracleLinux-5.9-x86_64-DVD/ruby.sh
@@ -2,9 +2,9 @@
 
 source ./proxy.sh
 
-RUBY_VERSION="ruby-1.9.3-p448"
+RUBY_VERSION="ruby-1.9.3-p547"
 RUBY_SOURCE="http://ftp.ruby-lang.org/pub/ruby/1.9/${RUBY_VERSION}.tar.gz"
-LIBYAML_VERSION="yaml-0.1.4"
+LIBYAML_VERSION="yaml-0.1.5"
 LIBYAML_SOURCE="http://pyyaml.org/download/libyaml/${LIBYAML_VERSION}.tar.gz"
 
 yum install -y readline-devel ncurses-devel gdbm-devel tcl-devel \
diff --git a/templates/OracleLinux-6.3-x86_64-DVD/definition.rb b/templates/OracleLinux-6.3-x86_64-DVD/definition.rb
index 5322f16e..d03b4a81 100644
--- a/templates/OracleLinux-6.3-x86_64-DVD/definition.rb
+++ b/templates/OracleLinux-6.3-x86_64-DVD/definition.rb
@@ -14,7 +14,7 @@
     ' text ks=http://%IP%:%PORT%/ks.cfg'
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "veewee",
diff --git a/templates/OracleLinux-6.4-i386-DVD/base.sh b/templates/OracleLinux-6.4-i386-DVD/base.sh
index 0ecafd44..851fcfe3 100644
--- a/templates/OracleLinux-6.4-i386-DVD/base.sh
+++ b/templates/OracleLinux-6.4-i386-DVD/base.sh
@@ -5,8 +5,7 @@ source ./proxy.sh
 sed -i "s/^.*requiretty/#Defaults requiretty/" /etc/sudoers
 
 cd /etc/yum.repos.d
-wget https://public-yum.oracle.com/public-yum-ol6.repo
-yum -y update
+wget http://public-yum.oracle.com/public-yum-ol6.repo
 
 cd /tmp
 wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
@@ -19,7 +18,3 @@ rm -f /tmp/epel-release-6-8.noarch.rpm
 echo "UseDNS no" >> /etc/ssh/sshd_config
 
 sed -i "s/^HOSTNAME=.*/HOSTNAME=oracle.vagrantup.com/" /etc/sysconfig/network
-
-yum -y install gcc make gcc-c++ kernel-devel-`uname -r` \
-  kernel-uek-devel-`uname -r` zlib-devel openssl-devel \
-  readline-devel sqlite-devel perl wget curl bzip2 dkms
diff --git a/templates/OracleLinux-6.4-i386-DVD/definition.rb b/templates/OracleLinux-6.4-i386-DVD/definition.rb
index 5729b907..a6c4aeda 100644
--- a/templates/OracleLinux-6.4-i386-DVD/definition.rb
+++ b/templates/OracleLinux-6.4-i386-DVD/definition.rb
@@ -14,7 +14,7 @@
     ' text ks=http://%IP%:%PORT%/ks.cfg'
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "veewee",
diff --git a/templates/OracleLinux-6.4-i386-DVD/ks.cfg b/templates/OracleLinux-6.4-i386-DVD/ks.cfg
index eee3d519..0f9bdf98 100644
--- a/templates/OracleLinux-6.4-i386-DVD/ks.cfg
+++ b/templates/OracleLinux-6.4-i386-DVD/ks.cfg
@@ -17,15 +17,35 @@ zerombr
 clearpart --all --initlabel
 autopart
 
-auth --useshadow --enablemd5
 firstboot --disabled
 reboot
 
 %packages --ignoremissing
 @core
+wget
+curl
+make
+gcc
+gcc-c++
+kernel-devel
+kernel-uek-devel
+kernel-headers
+zlib-devel
+openssl-devel
+readline-devel
+sqlite-devel
+perl
+bzip2
+dkms
+net-tools
+bind-utils
+nfs-utils
+bash-completion
+yum-utils
 -ipw2100-firmware
 -ipw2200-firmware
 -ivtv-firmware
+%end
 
 %post --log=/root/ks-postinstall.log
 /usr/sbin/groupadd veewee
diff --git a/templates/OracleLinux-6.4-i386-DVD/puppet.sh b/templates/OracleLinux-6.4-i386-DVD/puppet.sh
index 7747935d..7e732cee 100644
--- a/templates/OracleLinux-6.4-i386-DVD/puppet.sh
+++ b/templates/OracleLinux-6.4-i386-DVD/puppet.sh
@@ -3,8 +3,8 @@
 source ./proxy.sh
 
 cd /tmp
-wget https://yum.puppetlabs.com/el/6/products/i386/puppetlabs-release-6-7.noarch.rpm
-rpm -ivh puppetlabs-release-6-7.noarch.rpm
-rm -f /tmp/puppetlabs-release-6-7.noarch.rpm
+wget http://yum.puppetlabs.com/el/6/products/i386/puppetlabs-release-6-10.noarch.rpm
+rpm -ivh puppetlabs-release-6-10.noarch.rpm
+rm -f /tmp/puppetlabs-release-6-10.noarch.rpm
 
 yum -y install puppet facter
diff --git a/templates/OracleLinux-6.4-x86_64-DVD/base.sh b/templates/OracleLinux-6.4-x86_64-DVD/base.sh
index 9078cff3..d56a27b4 100644
--- a/templates/OracleLinux-6.4-x86_64-DVD/base.sh
+++ b/templates/OracleLinux-6.4-x86_64-DVD/base.sh
@@ -5,8 +5,7 @@ source ./proxy.sh
 sed -i "s/^.*requiretty/#Defaults requiretty/" /etc/sudoers
 
 cd /etc/yum.repos.d
-wget https://public-yum.oracle.com/public-yum-ol6.repo
-yum -y update
+wget http://public-yum.oracle.com/public-yum-ol6.repo
 
 cd /tmp
 wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
@@ -19,7 +18,3 @@ rm -f /tmp/epel-release-6-8.noarch.rpm
 echo "UseDNS no" >> /etc/ssh/sshd_config
 
 sed -i "s/^HOSTNAME=.*/HOSTNAME=oracle.vagrantup.com/" /etc/sysconfig/network
-
-yum -y install gcc make gcc-c++ kernel-devel-`uname -r` \
-  kernel-uek-devel-`uname -r` zlib-devel openssl-devel \
-  readline-devel sqlite-devel perl wget curl bzip2 dkms
diff --git a/templates/OracleLinux-6.4-x86_64-DVD/definition.rb b/templates/OracleLinux-6.4-x86_64-DVD/definition.rb
index d81ccd86..d92b9cca 100644
--- a/templates/OracleLinux-6.4-x86_64-DVD/definition.rb
+++ b/templates/OracleLinux-6.4-x86_64-DVD/definition.rb
@@ -14,7 +14,7 @@
     ' text ks=http://%IP%:%PORT%/ks.cfg'
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "veewee",
diff --git a/templates/OracleLinux-6.4-x86_64-DVD/ks.cfg b/templates/OracleLinux-6.4-x86_64-DVD/ks.cfg
index eee3d519..0f9bdf98 100644
--- a/templates/OracleLinux-6.4-x86_64-DVD/ks.cfg
+++ b/templates/OracleLinux-6.4-x86_64-DVD/ks.cfg
@@ -17,15 +17,35 @@ zerombr
 clearpart --all --initlabel
 autopart
 
-auth --useshadow --enablemd5
 firstboot --disabled
 reboot
 
 %packages --ignoremissing
 @core
+wget
+curl
+make
+gcc
+gcc-c++
+kernel-devel
+kernel-uek-devel
+kernel-headers
+zlib-devel
+openssl-devel
+readline-devel
+sqlite-devel
+perl
+bzip2
+dkms
+net-tools
+bind-utils
+nfs-utils
+bash-completion
+yum-utils
 -ipw2100-firmware
 -ipw2200-firmware
 -ivtv-firmware
+%end
 
 %post --log=/root/ks-postinstall.log
 /usr/sbin/groupadd veewee
diff --git a/templates/OracleLinux-6.4-x86_64-DVD/puppet.sh b/templates/OracleLinux-6.4-x86_64-DVD/puppet.sh
index eb4437f5..d72cc94f 100644
--- a/templates/OracleLinux-6.4-x86_64-DVD/puppet.sh
+++ b/templates/OracleLinux-6.4-x86_64-DVD/puppet.sh
@@ -3,8 +3,8 @@
 source ./proxy.sh
 
 cd /tmp
-wget https://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-7.noarch.rpm
-rpm -ivh puppetlabs-release-6-7.noarch.rpm
-rm -f /tmp/puppetlabs-release-6-7.noarch.rpm
+wget http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-10.noarch.rpm
+rpm -ivh puppetlabs-release-6-10.noarch.rpm
+rm -f /tmp/puppetlabs-release-6-10.noarch.rpm
 
 yum -y install puppet facter
diff --git a/templates/OracleLinux-6.5-i386-DVD/base.sh b/templates/OracleLinux-6.5-i386-DVD/base.sh
index 0ecafd44..4e4e2974 100644
--- a/templates/OracleLinux-6.5-i386-DVD/base.sh
+++ b/templates/OracleLinux-6.5-i386-DVD/base.sh
@@ -4,22 +4,17 @@ source ./proxy.sh
 
 sed -i "s/^.*requiretty/#Defaults requiretty/" /etc/sudoers
 
-cd /etc/yum.repos.d
-wget https://public-yum.oracle.com/public-yum-ol6.repo
-yum -y update
+wget http://public-yum.oracle.com/public-yum-ol6.repo -O /etc/yum.repos.d/public-yum-ol6.repo
+# UEK R3 Latest Channel NOT enabled by default
 
 cd /tmp
-wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
+wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
 rpm -ivh epel-release-6-8.noarch.rpm
 rm -f /tmp/epel-release-6-8.noarch.rpm
 # Not flexible to switch between direct Internet access and behind firewall
 # --httpproxy HOST --httpport PORT
-# rpm -ivh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
+# rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
 
 echo "UseDNS no" >> /etc/ssh/sshd_config
 
 sed -i "s/^HOSTNAME=.*/HOSTNAME=oracle.vagrantup.com/" /etc/sysconfig/network
-
-yum -y install gcc make gcc-c++ kernel-devel-`uname -r` \
-  kernel-uek-devel-`uname -r` zlib-devel openssl-devel \
-  readline-devel sqlite-devel perl wget curl bzip2 dkms
diff --git a/templates/OracleLinux-6.5-i386-DVD/definition.rb b/templates/OracleLinux-6.5-i386-DVD/definition.rb
index b01d8320..27ff5a7b 100644
--- a/templates/OracleLinux-6.5-i386-DVD/definition.rb
+++ b/templates/OracleLinux-6.5-i386-DVD/definition.rb
@@ -14,7 +14,7 @@
     ' text ks=http://%IP%:%PORT%/ks.cfg'
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "veewee",
diff --git a/templates/OracleLinux-6.5-i386-DVD/ks.cfg b/templates/OracleLinux-6.5-i386-DVD/ks.cfg
index eee3d519..0f9bdf98 100644
--- a/templates/OracleLinux-6.5-i386-DVD/ks.cfg
+++ b/templates/OracleLinux-6.5-i386-DVD/ks.cfg
@@ -17,15 +17,35 @@ zerombr
 clearpart --all --initlabel
 autopart
 
-auth --useshadow --enablemd5
 firstboot --disabled
 reboot
 
 %packages --ignoremissing
 @core
+wget
+curl
+make
+gcc
+gcc-c++
+kernel-devel
+kernel-uek-devel
+kernel-headers
+zlib-devel
+openssl-devel
+readline-devel
+sqlite-devel
+perl
+bzip2
+dkms
+net-tools
+bind-utils
+nfs-utils
+bash-completion
+yum-utils
 -ipw2100-firmware
 -ipw2200-firmware
 -ivtv-firmware
+%end
 
 %post --log=/root/ks-postinstall.log
 /usr/sbin/groupadd veewee
diff --git a/templates/OracleLinux-6.5-i386-DVD/puppet.sh b/templates/OracleLinux-6.5-i386-DVD/puppet.sh
index 7747935d..7e732cee 100644
--- a/templates/OracleLinux-6.5-i386-DVD/puppet.sh
+++ b/templates/OracleLinux-6.5-i386-DVD/puppet.sh
@@ -3,8 +3,8 @@
 source ./proxy.sh
 
 cd /tmp
-wget https://yum.puppetlabs.com/el/6/products/i386/puppetlabs-release-6-7.noarch.rpm
-rpm -ivh puppetlabs-release-6-7.noarch.rpm
-rm -f /tmp/puppetlabs-release-6-7.noarch.rpm
+wget http://yum.puppetlabs.com/el/6/products/i386/puppetlabs-release-6-10.noarch.rpm
+rpm -ivh puppetlabs-release-6-10.noarch.rpm
+rm -f /tmp/puppetlabs-release-6-10.noarch.rpm
 
 yum -y install puppet facter
diff --git a/templates/OracleLinux-6.5-x86_64-DVD/base.sh b/templates/OracleLinux-6.5-x86_64-DVD/base.sh
index 9078cff3..4e4e2974 100644
--- a/templates/OracleLinux-6.5-x86_64-DVD/base.sh
+++ b/templates/OracleLinux-6.5-x86_64-DVD/base.sh
@@ -4,9 +4,8 @@ source ./proxy.sh
 
 sed -i "s/^.*requiretty/#Defaults requiretty/" /etc/sudoers
 
-cd /etc/yum.repos.d
-wget https://public-yum.oracle.com/public-yum-ol6.repo
-yum -y update
+wget http://public-yum.oracle.com/public-yum-ol6.repo -O /etc/yum.repos.d/public-yum-ol6.repo
+# UEK R3 Latest Channel NOT enabled by default
 
 cd /tmp
 wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
@@ -19,7 +18,3 @@ rm -f /tmp/epel-release-6-8.noarch.rpm
 echo "UseDNS no" >> /etc/ssh/sshd_config
 
 sed -i "s/^HOSTNAME=.*/HOSTNAME=oracle.vagrantup.com/" /etc/sysconfig/network
-
-yum -y install gcc make gcc-c++ kernel-devel-`uname -r` \
-  kernel-uek-devel-`uname -r` zlib-devel openssl-devel \
-  readline-devel sqlite-devel perl wget curl bzip2 dkms
diff --git a/templates/OracleLinux-6.5-x86_64-DVD/definition.rb b/templates/OracleLinux-6.5-x86_64-DVD/definition.rb
index 25bd2be2..7ef18c88 100644
--- a/templates/OracleLinux-6.5-x86_64-DVD/definition.rb
+++ b/templates/OracleLinux-6.5-x86_64-DVD/definition.rb
@@ -14,7 +14,7 @@
     ' text ks=http://%IP%:%PORT%/ks.cfg'
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "veewee",
diff --git a/templates/OracleLinux-6.5-x86_64-DVD/ks.cfg b/templates/OracleLinux-6.5-x86_64-DVD/ks.cfg
index eee3d519..0f9bdf98 100644
--- a/templates/OracleLinux-6.5-x86_64-DVD/ks.cfg
+++ b/templates/OracleLinux-6.5-x86_64-DVD/ks.cfg
@@ -17,15 +17,35 @@ zerombr
 clearpart --all --initlabel
 autopart
 
-auth --useshadow --enablemd5
 firstboot --disabled
 reboot
 
 %packages --ignoremissing
 @core
+wget
+curl
+make
+gcc
+gcc-c++
+kernel-devel
+kernel-uek-devel
+kernel-headers
+zlib-devel
+openssl-devel
+readline-devel
+sqlite-devel
+perl
+bzip2
+dkms
+net-tools
+bind-utils
+nfs-utils
+bash-completion
+yum-utils
 -ipw2100-firmware
 -ipw2200-firmware
 -ivtv-firmware
+%end
 
 %post --log=/root/ks-postinstall.log
 /usr/sbin/groupadd veewee
diff --git a/templates/OracleLinux-6.5-x86_64-DVD/puppet.sh b/templates/OracleLinux-6.5-x86_64-DVD/puppet.sh
index eb4437f5..d72cc94f 100644
--- a/templates/OracleLinux-6.5-x86_64-DVD/puppet.sh
+++ b/templates/OracleLinux-6.5-x86_64-DVD/puppet.sh
@@ -3,8 +3,8 @@
 source ./proxy.sh
 
 cd /tmp
-wget https://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-7.noarch.rpm
-rpm -ivh puppetlabs-release-6-7.noarch.rpm
-rm -f /tmp/puppetlabs-release-6-7.noarch.rpm
+wget http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-10.noarch.rpm
+rpm -ivh puppetlabs-release-6-10.noarch.rpm
+rm -f /tmp/puppetlabs-release-6-10.noarch.rpm
 
 yum -y install puppet facter
diff --git a/templates/OracleLinux-7.0-x86_64-DVD/base.sh b/templates/OracleLinux-7.0-x86_64-DVD/base.sh
new file mode 100644
index 00000000..48cbc4af
--- /dev/null
+++ b/templates/OracleLinux-7.0-x86_64-DVD/base.sh
@@ -0,0 +1,19 @@
+# Base install
+
+source ./proxy.sh
+
+sed -i "s/^.*requiretty/#Defaults requiretty/" /etc/sudoers
+
+cd /tmp
+wget http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-1.noarch.rpm
+rpm -ivh epel-release-7-1.noarch.rpm
+rm -f epel-release-7-1.noarch.rpm
+# Not flexible to switch between direct Internet access and behind firewall
+# --httpproxy HOST --httpport PORT
+# rpm -ivh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-1.noarch.rpm
+
+echo "UseDNS no" >> /etc/ssh/sshd_config
+
+hostnamectl set-hostname oraclelinux7.vagrant.vm
+
+yum-config-manager --enable ol7_optional_latest
diff --git a/templates/CentOS-6.5-x86_64-minimal/chef.sh b/templates/OracleLinux-7.0-x86_64-DVD/chef.sh
similarity index 79%
rename from templates/CentOS-6.5-x86_64-minimal/chef.sh
rename to templates/OracleLinux-7.0-x86_64-DVD/chef.sh
index cf2ddee0..b97d2142 100644
--- a/templates/CentOS-6.5-x86_64-minimal/chef.sh
+++ b/templates/OracleLinux-7.0-x86_64-DVD/chef.sh
@@ -1,2 +1,3 @@
 # Install Chef
+source ./proxy.sh
 curl -L https://www.opscode.com/chef/install.sh | bash
diff --git a/templates/OracleLinux-7.0-x86_64-DVD/cleanup.sh b/templates/OracleLinux-7.0-x86_64-DVD/cleanup.sh
new file mode 100644
index 00000000..e6e90329
--- /dev/null
+++ b/templates/OracleLinux-7.0-x86_64-DVD/cleanup.sh
@@ -0,0 +1,11 @@
+# clean up orphaned packages
+package-cleanup --leaves | xargs yum erase -y
+
+yum -y clean all
+
+# rm -rf /etc/yum.repos.d/{puppetlabs,epel,epel-testing}.repo # keep
+rm -rf VBoxGuestAdditions_*.iso
+
+# Remove traces of mac address and uuid from network configuration
+sed -i /HWADDR/d /etc/sysconfig/network-scripts/ifcfg-enp0s3
+sed -i /UUID/d /etc/sysconfig/network-scripts/ifcfg-enp0s3
diff --git a/templates/CentOS-6.5-x86_64-netboot/definition.rb b/templates/OracleLinux-7.0-x86_64-DVD/definition.rb
similarity index 70%
rename from templates/CentOS-6.5-x86_64-netboot/definition.rb
rename to templates/OracleLinux-7.0-x86_64-DVD/definition.rb
index 01f07d6f..660082fd 100644
--- a/templates/CentOS-6.5-x86_64-netboot/definition.rb
+++ b/templates/OracleLinux-7.0-x86_64-DVD/definition.rb
@@ -4,17 +4,17 @@
   :disk_size => '10140',
   :disk_format => 'VDI',
   :hostiocache => 'off',
-  :os_type_id => 'RedHat6_64',
-  :iso_file => "CentOS-6.5-x86_64-netinstall.iso",
-  :iso_src => "http://yum.singlehop.com/CentOS/6.5/isos/x86_64/CentOS-6.5-x86_64-netinstall.iso",
-  :iso_md5 => "939fd1d87c11ffe7795324438b85adfb",
+  :os_type_id => 'Oracle_64',
+  :iso_file => "OracleLinux-R7-U0-Server-x86_64-dvd.iso",
+  :iso_src => "http://mirrors.dotsrc.org/oracle-linux/OL7/u0/x86_64/OracleLinux-R7-U0-Server-x86_64-dvd.iso",
+  :iso_md5 => "10dafd94332a2dcb083be1093b840779",
   :iso_download_timeout => 1000,
   :boot_wait => "10",
   :boot_cmd_sequence => [
     ' text ks=http://%IP%:%PORT%/ks.cfg'
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "veewee",
@@ -25,12 +25,14 @@
   :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
   :shutdown_cmd => "/sbin/halt -h -p",
   :postinstall_files => [
+    "proxy.sh",
     "base.sh",
+    #"provision.sh",
+    "ruby.sh",
     "chef.sh",
     "puppet.sh",
     "vagrant.sh",
     "virtualbox.sh",
-    #"vmfusion.sh",
     "cleanup.sh",
     "zerodisk.sh"
   ],
diff --git a/templates/CentOS-6.5-i386-netboot/ks.cfg b/templates/OracleLinux-7.0-x86_64-DVD/ks.cfg
similarity index 56%
rename from templates/CentOS-6.5-i386-netboot/ks.cfg
rename to templates/OracleLinux-7.0-x86_64-DVD/ks.cfg
index 6fb905ae..ccc4ead3 100644
--- a/templates/CentOS-6.5-i386-netboot/ks.cfg
+++ b/templates/OracleLinux-7.0-x86_64-DVD/ks.cfg
@@ -1,10 +1,10 @@
 install
-url --url=http://www.mirrorservice.org/sites/mirror.centos.org/6.5/os/i386/
+cdrom
 lang en_US.UTF-8
 keyboard us
 network --bootproto=dhcp
-rootpw --iscrypted $1$damlkd,f$UC/u5pUts5QiU3ow.CSso/
-firewall --enabled --service=ssh
+rootpw vagrant
+firewall --disabled
 authconfig --enableshadow --passalgo=sha512
 selinux --disabled
 timezone UTC
@@ -12,30 +12,49 @@ bootloader --location=mbr
 
 text
 skipx
-zerombr
 
+zerombr
 clearpart --all --initlabel
 autopart
 
-auth  --useshadow  --enablemd5
 firstboot --disabled
 reboot
 
 %packages --ignoremissing
 @core
-bzip2
+chrony
+wget
+curl
+make
+gcc
+gcc-c++
 kernel-devel
+kernel-uek-devel
 kernel-headers
--ipw2100-firmware
--ipw2200-firmware
--ivtv-firmware
+zlib-devel
+openssl-devel
+readline-devel
+sqlite-devel
+perl
+bzip2
+dkms
+net-tools
+bind-utils
+nfs-utils
+bash-completion
+deltarpm
+vim
+yum-utils
+-libdtrace-ctf
+-libertas-sd8686-firmware
+-libertas-sd8787-firmware
+-libertas-usb8388-firmware
 %end
 
-%post
-/usr/bin/yum -y install sudo
+%post --log=/root/ks-postinstall.log
 /usr/sbin/groupadd veewee
 /usr/sbin/useradd veewee -g veewee -G wheel
-echo "veewee"|passwd --stdin veewee
+echo "veewee" | passwd --stdin veewee
 echo "veewee        ALL=(ALL)       NOPASSWD: ALL" >> /etc/sudoers.d/veewee
 chmod 0440 /etc/sudoers.d/veewee
 %end
diff --git a/templates/OracleLinux-7.0-x86_64-DVD/provision.sh b/templates/OracleLinux-7.0-x86_64-DVD/provision.sh
new file mode 100644
index 00000000..099e4b9e
--- /dev/null
+++ b/templates/OracleLinux-7.0-x86_64-DVD/provision.sh
@@ -0,0 +1,35 @@
+#!/bin/bash - 
+# Initial provisioning shell script
+# For CentOS and Oracle Linux 7
+
+echo $(grep PRETTY_NAME /etc/os-release | cut -d'"' -f2)
+
+# EPEL for Enterprise Linux 7 already set in base.sh
+# rpm -ivh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-1.noarch.rpm
+
+# Start provisioning
+yum install -y bash bash-completion zsh tmux \
+    wget curl gawk ack \
+    htop dstat iotop iftop sysstat psmisc \
+    git tig rsync sshfs sshpass \
+    vim colordiff \
+    pv tree expect \
+    ethtool iptraf nmap iperf3 \
+    iptables conntrack iptstate \
+    net-tools bind-utils \
+    lshw pciutils usbutils \
+    strace gdb \
+    reptyr ntsysv \
+    yum-utils
+
+ret=$?
+
+if [[ $ret -ne 0 ]]; then
+    echo "Unfortunately something went wrong..." >&2
+    exit 1
+else
+    echo "Shell script provisioning done!"
+    sudo yum clean all
+fi
+
+exit 0
diff --git a/templates/OracleLinux-7.0-x86_64-DVD/proxy.sh b/templates/OracleLinux-7.0-x86_64-DVD/proxy.sh
new file mode 100644
index 00000000..957ced48
--- /dev/null
+++ b/templates/OracleLinux-7.0-x86_64-DVD/proxy.sh
@@ -0,0 +1,3 @@
+# Set proxy for machines behind firewall
+# export {http,https,ftp}_proxy=""
+# unset {http,https,ftp}_proxy
diff --git a/templates/OracleLinux-7.0-x86_64-DVD/puppet.sh b/templates/OracleLinux-7.0-x86_64-DVD/puppet.sh
new file mode 100644
index 00000000..764f1704
--- /dev/null
+++ b/templates/OracleLinux-7.0-x86_64-DVD/puppet.sh
@@ -0,0 +1,15 @@
+# Install Puppet
+
+source ./proxy.sh
+
+cd /tmp
+
+# Missing libselinux-ruby package is available in ol7_optional_latest
+# enabled in base.sh
+
+# Enable the Puppet Labs Package Repository
+wget http://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm
+rpm -Uvh puppetlabs-release-el-7.noarch.rpm
+rm -f /tmp/puppetlabs-release-el-7.noarch.rpm
+
+yum -y install puppet
diff --git a/templates/OracleLinux-7.0-x86_64-DVD/ruby.sh b/templates/OracleLinux-7.0-x86_64-DVD/ruby.sh
new file mode 100644
index 00000000..23b1231f
--- /dev/null
+++ b/templates/OracleLinux-7.0-x86_64-DVD/ruby.sh
@@ -0,0 +1,5 @@
+# Install Ruby
+
+source ./proxy.sh
+
+yum -y install ruby rubygems
diff --git a/templates/CentOS-6.5-x86_64-minimal/vagrant.sh b/templates/OracleLinux-7.0-x86_64-DVD/vagrant.sh
similarity index 82%
rename from templates/CentOS-6.5-x86_64-minimal/vagrant.sh
rename to templates/OracleLinux-7.0-x86_64-DVD/vagrant.sh
index 2cfe29f4..7bf054a1 100644
--- a/templates/CentOS-6.5-x86_64-minimal/vagrant.sh
+++ b/templates/OracleLinux-7.0-x86_64-DVD/vagrant.sh
@@ -1,10 +1,13 @@
 # Vagrant specific
+
+source ./proxy.sh
+
 date > /etc/vagrant_box_build_time
 
 # Add vagrant user
 /usr/sbin/groupadd vagrant
 /usr/sbin/useradd vagrant -g vagrant -G wheel
-echo "vagrant"|passwd --stdin vagrant
+echo "vagrant" | passwd --stdin vagrant
 echo "vagrant        ALL=(ALL)       NOPASSWD: ALL" >> /etc/sudoers.d/vagrant
 chmod 0440 /etc/sudoers.d/vagrant
 
@@ -15,4 +18,4 @@ chmod 0600 /home/vagrant/.ssh/authorized_keys
 chown -R vagrant /home/vagrant/.ssh
 
 # Customize the message of the day
-echo 'Welcome to your Vagrant-built virtual machine.' > /etc/motd
+echo 'Welcome to Veewee built Vagrant Base Box.' > /etc/motd
diff --git a/templates/CentOS-6.5-x86_64-minimal/virtualbox.sh b/templates/OracleLinux-7.0-x86_64-DVD/virtualbox.sh
similarity index 100%
rename from templates/CentOS-6.5-x86_64-minimal/virtualbox.sh
rename to templates/OracleLinux-7.0-x86_64-DVD/virtualbox.sh
index 46658dc0..5ca62df5 100644
--- a/templates/CentOS-6.5-x86_64-minimal/virtualbox.sh
+++ b/templates/OracleLinux-7.0-x86_64-DVD/virtualbox.sh
@@ -1,8 +1,8 @@
 # Installing the virtualbox guest additions
+
 VBOX_VERSION=$(cat /home/veewee/.vbox_version)
 cd /tmp
 mount -o loop /home/veewee/VBoxGuestAdditions_$VBOX_VERSION.iso /mnt
 sh /mnt/VBoxLinuxAdditions.run
 umount /mnt
 rm -rf /home/veewee/VBoxGuestAdditions_*.iso
-
diff --git a/templates/OracleLinux-7.0-x86_64-DVD/zerodisk.sh b/templates/OracleLinux-7.0-x86_64-DVD/zerodisk.sh
new file mode 100644
index 00000000..ee7eed09
--- /dev/null
+++ b/templates/OracleLinux-7.0-x86_64-DVD/zerodisk.sh
@@ -0,0 +1,2 @@
+# Zero out the free space to save space in the final image:
+cat /dev/zero > /EMPTY; sync; sleep 3; sync; rm -f /EMPTY
diff --git a/templates/OracleLinux-7.1-x86_64-DVD/base.sh b/templates/OracleLinux-7.1-x86_64-DVD/base.sh
new file mode 100644
index 00000000..90ba70e3
--- /dev/null
+++ b/templates/OracleLinux-7.1-x86_64-DVD/base.sh
@@ -0,0 +1,27 @@
+# Base install
+
+source ./proxy.sh
+
+sed -i "s/^.*requiretty/#Defaults requiretty/" /etc/sudoers
+
+cd /tmp
+wget http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
+rpm -ivh epel-release-7-5.noarch.rpm
+rm -f epel-release-7-5.noarch.rpm
+# Not flexible to switch between direct Internet access and behind firewall
+# --httpproxy HOST --httpport PORT
+# rpm -ivh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
+
+echo "UseDNS no" >> /etc/ssh/sshd_config
+
+hostnamectl set-hostname oraclelinux7.vagrant.vm
+
+yum-config-manager --enable ol7_optional_latest
+
+cat <<'EOF' > /etc/yum.repos.d/debuginfo.repo 
+[debuginfo]
+name=debuginfo
+baseurl=https://oss.oracle.com/ol7/debuginfo/
+gpgcheck=0
+enabled=1
+EOF
diff --git a/templates/CentOS-6.5-x86_64-netboot/chef.sh b/templates/OracleLinux-7.1-x86_64-DVD/chef.sh
similarity index 79%
rename from templates/CentOS-6.5-x86_64-netboot/chef.sh
rename to templates/OracleLinux-7.1-x86_64-DVD/chef.sh
index cf2ddee0..b97d2142 100644
--- a/templates/CentOS-6.5-x86_64-netboot/chef.sh
+++ b/templates/OracleLinux-7.1-x86_64-DVD/chef.sh
@@ -1,2 +1,3 @@
 # Install Chef
+source ./proxy.sh
 curl -L https://www.opscode.com/chef/install.sh | bash
diff --git a/templates/OracleLinux-7.1-x86_64-DVD/cleanup.sh b/templates/OracleLinux-7.1-x86_64-DVD/cleanup.sh
new file mode 100644
index 00000000..e6e90329
--- /dev/null
+++ b/templates/OracleLinux-7.1-x86_64-DVD/cleanup.sh
@@ -0,0 +1,11 @@
+# clean up orphaned packages
+package-cleanup --leaves | xargs yum erase -y
+
+yum -y clean all
+
+# rm -rf /etc/yum.repos.d/{puppetlabs,epel,epel-testing}.repo # keep
+rm -rf VBoxGuestAdditions_*.iso
+
+# Remove traces of mac address and uuid from network configuration
+sed -i /HWADDR/d /etc/sysconfig/network-scripts/ifcfg-enp0s3
+sed -i /UUID/d /etc/sysconfig/network-scripts/ifcfg-enp0s3
diff --git a/templates/CentOS-6.5-x86_64-minimal/definition.rb b/templates/OracleLinux-7.1-x86_64-DVD/definition.rb
similarity index 70%
rename from templates/CentOS-6.5-x86_64-minimal/definition.rb
rename to templates/OracleLinux-7.1-x86_64-DVD/definition.rb
index 43e8f2ef..dd680eb6 100644
--- a/templates/CentOS-6.5-x86_64-minimal/definition.rb
+++ b/templates/OracleLinux-7.1-x86_64-DVD/definition.rb
@@ -4,17 +4,17 @@
   :disk_size => '10140',
   :disk_format => 'VDI',
   :hostiocache => 'off',
-  :os_type_id => 'RedHat6_64',
-  :iso_file => "CentOS-6.5-x86_64-minimal.iso",
-  :iso_src => "http://yum.singlehop.com/CentOS/6.5/isos/x86_64/CentOS-6.5-x86_64-minimal.iso",
-  :iso_md5 => "0d9dc37b5dd4befa1c440d2174e88a87",
+  :os_type_id => 'Oracle_64',
+  :iso_file => "OracleLinux-R7-U1-Server-x86_64-dvd.iso",
+  :iso_src => "http://mirrors.dotsrc.org/oracle-linux/OL7/u1/x86_64/OracleLinux-R7-U1-Server-x86_64-dvd.iso",
+  :iso_md5 => "5728ef4b431d28a2d4ad62dbdf5bf36d",
   :iso_download_timeout => 1000,
   :boot_wait => "10",
   :boot_cmd_sequence => [
     ' text ks=http://%IP%:%PORT%/ks.cfg'
   ],
   :kickstart_port => "7122",
-  :kickstart_timeout => 10000,
+  :kickstart_timeout => 300,
   :kickstart_file => "ks.cfg",
   :ssh_login_timeout => "10000",
   :ssh_user => "veewee",
@@ -25,12 +25,14 @@
   :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
   :shutdown_cmd => "/sbin/halt -h -p",
   :postinstall_files => [
+    "proxy.sh",
     "base.sh",
+    #"provision.sh",
+    "ruby.sh",
     "chef.sh",
     "puppet.sh",
     "vagrant.sh",
     "virtualbox.sh",
-    #"vmfusion.sh",
     "cleanup.sh",
     "zerodisk.sh"
   ],
diff --git a/templates/CentOS-6.5-i386-minimal/ks.cfg b/templates/OracleLinux-7.1-x86_64-DVD/ks.cfg
similarity index 50%
rename from templates/CentOS-6.5-i386-minimal/ks.cfg
rename to templates/OracleLinux-7.1-x86_64-DVD/ks.cfg
index 1607c81c..ccc4ead3 100644
--- a/templates/CentOS-6.5-i386-minimal/ks.cfg
+++ b/templates/OracleLinux-7.1-x86_64-DVD/ks.cfg
@@ -3,8 +3,8 @@ cdrom
 lang en_US.UTF-8
 keyboard us
 network --bootproto=dhcp
-rootpw --iscrypted $1$damlkd,f$UC/u5pUts5QiU3ow.CSso/
-firewall --enabled --service=ssh
+rootpw vagrant
+firewall --disabled
 authconfig --enableshadow --passalgo=sha512
 selinux --disabled
 timezone UTC
@@ -12,25 +12,49 @@ bootloader --location=mbr
 
 text
 skipx
-zerombr
 
+zerombr
 clearpart --all --initlabel
 autopart
 
-auth  --useshadow  --enablemd5
 firstboot --disabled
 reboot
 
-%packages --nobase
+%packages --ignoremissing
 @core
+chrony
+wget
+curl
+make
+gcc
+gcc-c++
+kernel-devel
+kernel-uek-devel
+kernel-headers
+zlib-devel
+openssl-devel
+readline-devel
+sqlite-devel
+perl
+bzip2
+dkms
+net-tools
+bind-utils
+nfs-utils
+bash-completion
+deltarpm
+vim
+yum-utils
+-libdtrace-ctf
+-libertas-sd8686-firmware
+-libertas-sd8787-firmware
+-libertas-usb8388-firmware
 %end
 
-%post
-/usr/bin/yum -y install sudo
+%post --log=/root/ks-postinstall.log
 /usr/sbin/groupadd veewee
 /usr/sbin/useradd veewee -g veewee -G wheel
-echo "veewee"|passwd --stdin veewee
+echo "veewee" | passwd --stdin veewee
 echo "veewee        ALL=(ALL)       NOPASSWD: ALL" >> /etc/sudoers.d/veewee
 chmod 0440 /etc/sudoers.d/veewee
 %end
-
diff --git a/templates/OracleLinux-7.1-x86_64-DVD/provision.sh b/templates/OracleLinux-7.1-x86_64-DVD/provision.sh
new file mode 100644
index 00000000..1de03c0b
--- /dev/null
+++ b/templates/OracleLinux-7.1-x86_64-DVD/provision.sh
@@ -0,0 +1,35 @@
+#!/bin/bash - 
+# Initial provisioning shell script
+# For CentOS and Oracle Linux 7
+
+echo $(grep PRETTY_NAME /etc/os-release | cut -d'"' -f2)
+
+# EPEL for Enterprise Linux 7 already set in base.sh
+# rpm -ivh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
+
+# Start provisioning
+yum install -y bash bash-completion zsh tmux \
+    wget curl gawk ack \
+    htop dstat iotop iftop sysstat psmisc \
+    git tig rsync sshfs sshpass \
+    vim colordiff \
+    pv tree expect \
+    ethtool iptraf nmap iperf3 \
+    iptables conntrack iptstate \
+    net-tools bind-utils \
+    lshw pciutils usbutils \
+    strace gdb \
+    reptyr ntsysv \
+    yum-utils
+
+ret=$?
+
+if [[ $ret -ne 0 ]]; then
+    echo "Unfortunately something went wrong..." >&2
+    exit 1
+else
+    echo "Shell script provisioning done!"
+    sudo yum clean all
+fi
+
+exit 0
diff --git a/templates/OracleLinux-7.1-x86_64-DVD/proxy.sh b/templates/OracleLinux-7.1-x86_64-DVD/proxy.sh
new file mode 100644
index 00000000..957ced48
--- /dev/null
+++ b/templates/OracleLinux-7.1-x86_64-DVD/proxy.sh
@@ -0,0 +1,3 @@
+# Set proxy for machines behind firewall
+# export {http,https,ftp}_proxy=""
+# unset {http,https,ftp}_proxy
diff --git a/templates/OracleLinux-7.1-x86_64-DVD/puppet.sh b/templates/OracleLinux-7.1-x86_64-DVD/puppet.sh
new file mode 100644
index 00000000..764f1704
--- /dev/null
+++ b/templates/OracleLinux-7.1-x86_64-DVD/puppet.sh
@@ -0,0 +1,15 @@
+# Install Puppet
+
+source ./proxy.sh
+
+cd /tmp
+
+# Missing libselinux-ruby package is available in ol7_optional_latest
+# enabled in base.sh
+
+# Enable the Puppet Labs Package Repository
+wget http://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm
+rpm -Uvh puppetlabs-release-el-7.noarch.rpm
+rm -f /tmp/puppetlabs-release-el-7.noarch.rpm
+
+yum -y install puppet
diff --git a/templates/OracleLinux-7.1-x86_64-DVD/ruby.sh b/templates/OracleLinux-7.1-x86_64-DVD/ruby.sh
new file mode 100644
index 00000000..23b1231f
--- /dev/null
+++ b/templates/OracleLinux-7.1-x86_64-DVD/ruby.sh
@@ -0,0 +1,5 @@
+# Install Ruby
+
+source ./proxy.sh
+
+yum -y install ruby rubygems
diff --git a/templates/CentOS-6.5-x86_64-netboot/vagrant.sh b/templates/OracleLinux-7.1-x86_64-DVD/vagrant.sh
similarity index 82%
rename from templates/CentOS-6.5-x86_64-netboot/vagrant.sh
rename to templates/OracleLinux-7.1-x86_64-DVD/vagrant.sh
index 2cfe29f4..7bf054a1 100644
--- a/templates/CentOS-6.5-x86_64-netboot/vagrant.sh
+++ b/templates/OracleLinux-7.1-x86_64-DVD/vagrant.sh
@@ -1,10 +1,13 @@
 # Vagrant specific
+
+source ./proxy.sh
+
 date > /etc/vagrant_box_build_time
 
 # Add vagrant user
 /usr/sbin/groupadd vagrant
 /usr/sbin/useradd vagrant -g vagrant -G wheel
-echo "vagrant"|passwd --stdin vagrant
+echo "vagrant" | passwd --stdin vagrant
 echo "vagrant        ALL=(ALL)       NOPASSWD: ALL" >> /etc/sudoers.d/vagrant
 chmod 0440 /etc/sudoers.d/vagrant
 
@@ -15,4 +18,4 @@ chmod 0600 /home/vagrant/.ssh/authorized_keys
 chown -R vagrant /home/vagrant/.ssh
 
 # Customize the message of the day
-echo 'Welcome to your Vagrant-built virtual machine.' > /etc/motd
+echo 'Welcome to Veewee built Vagrant Base Box.' > /etc/motd
diff --git a/templates/CentOS-6.5-i386-netboot/virtualbox.sh b/templates/OracleLinux-7.1-x86_64-DVD/virtualbox.sh
similarity index 100%
rename from templates/CentOS-6.5-i386-netboot/virtualbox.sh
rename to templates/OracleLinux-7.1-x86_64-DVD/virtualbox.sh
index 46658dc0..5ca62df5 100644
--- a/templates/CentOS-6.5-i386-netboot/virtualbox.sh
+++ b/templates/OracleLinux-7.1-x86_64-DVD/virtualbox.sh
@@ -1,8 +1,8 @@
 # Installing the virtualbox guest additions
+
 VBOX_VERSION=$(cat /home/veewee/.vbox_version)
 cd /tmp
 mount -o loop /home/veewee/VBoxGuestAdditions_$VBOX_VERSION.iso /mnt
 sh /mnt/VBoxLinuxAdditions.run
 umount /mnt
 rm -rf /home/veewee/VBoxGuestAdditions_*.iso
-
diff --git a/templates/OracleLinux-7.1-x86_64-DVD/zerodisk.sh b/templates/OracleLinux-7.1-x86_64-DVD/zerodisk.sh
new file mode 100644
index 00000000..ee7eed09
--- /dev/null
+++ b/templates/OracleLinux-7.1-x86_64-DVD/zerodisk.sh
@@ -0,0 +1,2 @@
+# Zero out the free space to save space in the final image:
+cat /dev/zero > /EMPTY; sync; sleep 3; sync; rm -f /EMPTY
diff --git a/templates/SLES-11-SP1-DVD-i586-GM/definition.rb b/templates/SLES-11-SP1-DVD-i586-GM/definition.rb
index fa004774..76cc7d8a 100644
--- a/templates/SLES-11-SP1-DVD-i586-GM/definition.rb
+++ b/templates/SLES-11-SP1-DVD-i586-GM/definition.rb
@@ -20,7 +20,7 @@
     ''
   ],
   :kickstart_port    => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file    => ["autoinst_en.xml", "autoinst_en.xml"],
   ### disable prev line and enable next line to install with german settings
   #:kickstart_file    => ["autoinst_de.xml", "autoinst_de.xml"],
diff --git a/templates/SLES-11-SP1-DVD-x86_64-GM/definition.rb b/templates/SLES-11-SP1-DVD-x86_64-GM/definition.rb
index 16a8a585..119eef3a 100644
--- a/templates/SLES-11-SP1-DVD-x86_64-GM/definition.rb
+++ b/templates/SLES-11-SP1-DVD-x86_64-GM/definition.rb
@@ -20,7 +20,7 @@
     ''
   ],
   :kickstart_port    => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file    => ["autoinst_en.xml", "autoinst_en.xml"],
   ### disable prev line and enable next line to install with german settings
   #:kickstart_file    => ["autoinst_de.xml", "autoinst_de.xml"],
diff --git a/templates/SLES-11-SP2-DVD-x86_64-GM/definition.rb b/templates/SLES-11-SP2-DVD-x86_64-GM/definition.rb
index 2762ef99..aab88aec 100644
--- a/templates/SLES-11-SP2-DVD-x86_64-GM/definition.rb
+++ b/templates/SLES-11-SP2-DVD-x86_64-GM/definition.rb
@@ -18,7 +18,7 @@
     ''
   ],
   :kickstart_port    => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file    => ["autoinst.xml", "autoinst.xml"],
   :ssh_login_timeout => "10000",
   :ssh_user          => "vagrant",
diff --git a/templates/SLES-11-SP3-DVD-x86_64-GM/autoinst.xml b/templates/SLES-11-SP3-DVD-x86_64-GM/autoinst.xml
index 1d5c67c8..ae5b4883 100644
--- a/templates/SLES-11-SP3-DVD-x86_64-GM/autoinst.xml
+++ b/templates/SLES-11-SP3-DVD-x86_64-GM/autoinst.xml
@@ -8,6 +8,26 @@
         sle-sdk
         /
       
+      
+        
+        devel_languages_ruby_backports
+        devel_languages_ruby_backports
+        /
+        
+          
+            false
+            
+              9AF0C9A20E9AF123
+            
+          
+          
+            false
+            
+              9AF0C9A20E9AF123
+            
+          
+        
+        
       
         
         systemsmanagement_puppet
@@ -622,8 +642,7 @@
       sle-sdk-release-SDK
       sles-manuals_en
       yast2-trans-en_US
-      rubygem-ruby-augeas
-      rubygem-ruby-shadow
+      rubygem-puppet
       augeas
     
     
diff --git a/templates/SLES-11-SP3-DVD-x86_64-GM/definition.rb b/templates/SLES-11-SP3-DVD-x86_64-GM/definition.rb
index a201d762..b13e683c 100644
--- a/templates/SLES-11-SP3-DVD-x86_64-GM/definition.rb
+++ b/templates/SLES-11-SP3-DVD-x86_64-GM/definition.rb
@@ -18,7 +18,7 @@
     ''
   ],
   :kickstart_port    => "7122",
-  :kickstart_timeout => "10000",
+  :kickstart_timeout => "300",
   :kickstart_file    => ["autoinst.xml", "autoinst.xml"],
   :ssh_login_timeout => "10000",
   :ssh_user          => "vagrant",
diff --git a/templates/SLES-11-SP3-DVD-x86_64-GM/postinstall.sh b/templates/SLES-11-SP3-DVD-x86_64-GM/postinstall.sh
index 81b694b3..6a12fe1e 100644
--- a/templates/SLES-11-SP3-DVD-x86_64-GM/postinstall.sh
+++ b/templates/SLES-11-SP3-DVD-x86_64-GM/postinstall.sh
@@ -25,7 +25,7 @@ echo -e "\nspeed-up remote logins ..."
 echo -e "\n# added by veewee/postinstall.sh" >> /etc/ssh/sshd_config
 echo -e "UseDNS no\n" >> /etc/ssh/sshd_config
 
-# install chef and puppet
+# install chef
 echo -e "\ninstall chef ..."
 gem install chef --no-ri --no-rdoc
 
diff --git a/templates/Sysrescuecd-2.0.0-experimental/definition.rb b/templates/Sysrescuecd-2.0.0-experimental/definition.rb
index ab8ecd6f..4415064e 100644
--- a/templates/Sysrescuecd-2.0.0-experimental/definition.rb
+++ b/templates/Sysrescuecd-2.0.0-experimental/definition.rb
@@ -11,7 +11,7 @@
     'setkmap=us dodhcp=eth0 dhcphostname=%NAME% ar_source=http://%IP%:%PORT%/ autoruns=0 rootpass=vagrant',
     ''
   ],
-  :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "autorun0",
+  :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "autorun0",
   :ssh_login_timeout => "10000", :ssh_user => "root", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "sh '%f'",
diff --git a/templates/VMware-ESXi-5.0u2-x86_64/definition.rb b/templates/VMware-ESXi-5.0u2-x86_64/definition.rb
index bbcf4b28..0205aff1 100644
--- a/templates/VMware-ESXi-5.0u2-x86_64/definition.rb
+++ b/templates/VMware-ESXi-5.0u2-x86_64/definition.rb
@@ -16,11 +16,11 @@
   :boot_cmd_sequence => 
   [ 'O',
     ' ks=http://%IP%:%PORT%/ks.cfg' ],
-    :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
+    :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg",
     :ssh_login_timeout => "10000000", :ssh_user => "root", :ssh_password => "vagrant", :ssh_key => "",
     :ssh_host_port => "7222", :ssh_guest_port => "22",
     :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
-    :shutdown_cmd => "/bin/halt",
+    :shutdown_cmd => "poweroff",
     :postinstall_files => ["vagrant_key.py", "vnc_enable.sh" ], :postinstall_timeout => 10000,
     :vmfusion => { :vm_options => { 'enable_hypervisor_support' => true,  'download_tools' => false } }
 })
diff --git a/templates/VMware-ESXi-5.1-x86_64/definition.rb b/templates/VMware-ESXi-5.1-x86_64/definition.rb
index d09b3154..81d1f862 100644
--- a/templates/VMware-ESXi-5.1-x86_64/definition.rb
+++ b/templates/VMware-ESXi-5.1-x86_64/definition.rb
@@ -16,11 +16,11 @@
   :boot_cmd_sequence => 
   [ 'O',
     ' ks=http://%IP%:%PORT%/ks.cfg' ],
-    :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
+    :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg",
     :ssh_login_timeout => "10000000", :ssh_user => "root", :ssh_password => "vagrant", :ssh_key => "",
     :ssh_host_port => "7222", :ssh_guest_port => "22",
     :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
-    :shutdown_cmd => "/bin/halt",
+    :shutdown_cmd => "poweroff",
     :postinstall_files => ["vagrant_key.py", "vnc_enable.sh" ], :postinstall_timeout => 10000,
     # Enable Hypervisor support to allow 64-bit guest VMs
     :vmfusion => { :vm_options => { 'enable_hypervisor_support' => true,  'download_tools' => false } }
diff --git a/templates/alpinelinux-3.6.2-x86_64-virtual/README.md b/templates/alpinelinux-3.6.2-x86_64-virtual/README.md
new file mode 100644
index 00000000..cd0f8a4a
--- /dev/null
+++ b/templates/alpinelinux-3.6.2-x86_64-virtual/README.md
@@ -0,0 +1,13 @@
+# Alpine Linux
+
+Minimal build of the 'Virtual'-Image.
+
+## Note
+
+* The template currently only supports the VirtualBox provider
+* shutdown for vagrant is provided under /usr/local/bin
+* ``who`` and alike do not work because of [musl][] not providing utmp
+* if you want alpine-sdk with aports include ``aports.sh in`` in ``definition.rb``
+
+[musl]: http://wiki.musl-libc.org/wiki/FAQ#Q:_why_is_the_utmp.2Fwtmp_functionality_only_implemented_as_stubs_.3F
+# Alpine Linux
diff --git a/templates/alpinelinux-3.6.2-x86_64-virtual/apk.sh b/templates/alpinelinux-3.6.2-x86_64-virtual/apk.sh
new file mode 100644
index 00000000..ec97a073
--- /dev/null
+++ b/templates/alpinelinux-3.6.2-x86_64-virtual/apk.sh
@@ -0,0 +1,15 @@
+#!/bin/ash
+
+# Requires
+#   
+#   settings.sh
+#   base.sh
+#   sudo.sh
+#   user.sh
+
+source /etc/profile
+
+chroot $chroot /bin/ash <> /home/vagrant/README.ABUILD
+chown vagrant:vagrant /home/vagrant/README.ABUILD
+DATAEOF
+
+
diff --git a/templates/alpinelinux-3.6.2-x86_64-virtual/base.sh b/templates/alpinelinux-3.6.2-x86_64-virtual/base.sh
new file mode 100644
index 00000000..42aa826d
--- /dev/null
+++ b/templates/alpinelinux-3.6.2-x86_64-virtual/base.sh
@@ -0,0 +1,77 @@
+#!/bin/ash
+
+# Requires
+#   settings.sh
+
+source /etc/profile
+
+# grsec will get in the way, disable it for the installation
+for i in $(sysctl -a | grep grsec | awk -F '=' '{print $1}'); do 
+	sysctl -w ${i}=0 
+done
+
+apk add e2fsprogs syslinux
+
+fdisk /dev/sda << EOF
+n
+p
+1
+
++100M
+a
+1
+n
+p
+2
+
+
+t
+2
+8e
+w
+EOF
+
+BOOT_DEV=/dev/sda1
+ROOT_DEV=/dev/sda2
+
+mkfs.ext4 $ROOT_DEV
+mkfs.ext4 $BOOT_DEV
+mount -t ext4 $ROOT_DEV /mnt
+mkdir /mnt/boot
+mount -t ext4 $BOOT_DEV /mnt/boot
+
+setup-disk -m sys /mnt
+dd bs=$(stat -c %s /mnt/usr/share/syslinux/mbr.bin) \
+   count=1 conv=notrunc \
+   if=/mnt/usr/share/syslinux/mbr.bin \
+   of=/dev/sda
+
+extlinux --install /mnt/boot
+
+# Prepare Chroot
+mount -t proc none "$chroot/proc"
+mount -t sysfs sys "$chroot/sys"
+mount --rbind /dev "$chroot/dev"
+cp /etc/resolv.conf "$chroot/etc/"
+date -u > "$chroot/etc/vagrant_box_build_time"
+
+chroot $chroot /bin/ash < /etc/network/interfaces
+auto lo
+iface lo inet loopback
+
+auto eth0
+iface eth0 inet dhcp
+	hostname alpine
+EOF
+
+rc-update add networking boot
+rc-update add sshd default
+sed -i 's/PermitRootLogin/# PermitRootLogin/g' /etc/ssh/sshd_config
+setup-hostname alpine
+
+DATAEOF
+
+
diff --git a/templates/alpinelinux-3.6.2-x86_64-virtual/chef.sh b/templates/alpinelinux-3.6.2-x86_64-virtual/chef.sh
new file mode 100644
index 00000000..daa5c7ca
--- /dev/null
+++ b/templates/alpinelinux-3.6.2-x86_64-virtual/chef.sh
@@ -0,0 +1,21 @@
+#!/bin/ash
+
+# Requires
+#    settings.sh
+#    base.sh
+#    sudo.sh
+#    user.sh
+#    apk.sh
+#    virtualbox.sh
+#    ruby.sh
+#    vagrant.sh
+#    puppet.sh
+ 
+source /etc/profile
+
+chroot $chroot /bin/ash < $f; done
+
+DATAEOF
diff --git a/templates/alpinelinux-3.6.2-x86_64-virtual/definition.rb b/templates/alpinelinux-3.6.2-x86_64-virtual/definition.rb
new file mode 100644
index 00000000..263a0402
--- /dev/null
+++ b/templates/alpinelinux-3.6.2-x86_64-virtual/definition.rb
@@ -0,0 +1,64 @@
+require 'net/http'
+
+iso_name = 'alpine-virt-3.6.2-x86_64.iso'
+iso_mirror = 'http://dl-cdn.alpinelinux.org/alpine/v3.6/releases/x86_64'
+iso_uri = "#{iso_mirror}/#{iso_name}"
+check_sum = "#{iso_mirror}/#{iso_name}.sha256"
+
+root_password = 'veewee'
+
+Veewee::Definition.declare({
+  :cpu_count   => "1",
+  :memory_size => "256",
+  :disk_size   => "10140",
+  :disk_format => "VDI",
+  :hostiocache => "off",
+  :os_type_id  => "Linux26_64",
+  :iso_file    => iso_name,
+  :iso_src     => iso_uri,
+  :iso_sha256  => check_sum,
+  :iso_download_timeout => "1000",
+  :boot_wait   => "5",
+  :boot_cmd_sequence => [
+    '',
+    '',
+    'root',
+    'ifconfig eth0 up',
+    'udhcpc eth0',
+    'passwd',
+    "#{root_password}",
+    "#{root_password}",
+    'setup-apkrepos -1',
+    'apk add openssh',
+    'echo "PermitRootLogin yes" >> /etc/ssh/sshd_config',
+    '/etc/init.d/sshd start',
+  ],
+  :ssh_login_timeout => "10000",
+  :ssh_user          => "root",
+  :ssh_password      => "#{root_password}",
+  :ssh_key           => "",
+  :ssh_host_port     => "7222",
+  :ssh_guest_port    => "22",
+  :sudo_cmd          => "echo '%p'|sudo -S sh '%f'",
+  :shutdown_cmd      => "poweroff",
+  :postinstall_files => [
+    'settings.sh',
+    'base.sh',
+    'sudo.sh',
+    'user.sh',
+    'apk.sh',
+    'virtualbox.sh',
+    'vagrant.sh',
+    # 'aports.sh',
+    'ruby.sh',
+    'puppet.sh',
+    'chef.sh',
+    'cleanup.sh',
+    'zerodisk.sh',
+    'reboot.sh',
+  ],
+  :postinstall_timeout => "10000",
+  :params => {
+    #:PACMAN_REFLECTOR_ARGS => '--verbose -l 5 --sort rate --save /etc/pacman.d/mirrorlist',
+  }
+})
diff --git a/templates/alpinelinux-3.6.2-x86_64-virtual/puppet.sh b/templates/alpinelinux-3.6.2-x86_64-virtual/puppet.sh
new file mode 100644
index 00000000..1d1579f4
--- /dev/null
+++ b/templates/alpinelinux-3.6.2-x86_64-virtual/puppet.sh
@@ -0,0 +1,20 @@
+#!/bin/ash
+
+# Requires
+#    settings.sh
+#    base.sh
+#    sudo.sh
+#    user.sh
+#    apk.sh
+#    virtualbox.sh
+#    vagrant.sh
+#    ruby.sh
+ 
+source /etc/profile
+
+chroot $chroot /bin/ash < "/etc/profile.d/veewee.sh"
+export chroot=/mnt
+DATAEOF
diff --git a/templates/alpinelinux-3.6.2-x86_64-virtual/sudo.sh b/templates/alpinelinux-3.6.2-x86_64-virtual/sudo.sh
new file mode 100644
index 00000000..72bb4486
--- /dev/null
+++ b/templates/alpinelinux-3.6.2-x86_64-virtual/sudo.sh
@@ -0,0 +1,17 @@
+#!/bin/ash
+
+# Requires
+#   base.sh
+
+source /etc/profile
+
+chroot $chroot /bin/ash < /etc/sudoers
+root ALL=(ALL) ALL
+%wheel ALL=(ALL) NOPASSWD: ALL
+EOF
+
+DATAEOF
diff --git a/templates/alpinelinux-3.6.2-x86_64-virtual/user.sh b/templates/alpinelinux-3.6.2-x86_64-virtual/user.sh
new file mode 100644
index 00000000..afb52649
--- /dev/null
+++ b/templates/alpinelinux-3.6.2-x86_64-virtual/user.sh
@@ -0,0 +1,19 @@
+#!/bin/ash
+
+# Requires
+#   settings.sh
+#   base.sh
+#   sudo.sh
+
+source /etc/profile
+
+chroot $chroot /bin/ash </usr/local/bin/shutdown
+#!/bin/sh
+echo "This is just a call to poweroff..."
+poweroff
+EOF
+
+chmod +x /usr/local/bin/shutdown
+
+# add bash, because vagrant ssh checks the shell
+apk add curl bash
+
+curl -L 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' \
+  -o /home/vagrant/.ssh/authorized_keys
+
+chmod 600 /home/vagrant/.ssh/authorized_keys
+chown -R vagrant:vagrant /home/vagrant/.ssh
+
+apk add nfs-utils
+rc-update add rpc.statd default
+
+DATAEOF
diff --git a/templates/alpinelinux-3.6.2-x86_64-virtual/virtualbox.sh b/templates/alpinelinux-3.6.2-x86_64-virtual/virtualbox.sh
new file mode 100644
index 00000000..d9ddb49e
--- /dev/null
+++ b/templates/alpinelinux-3.6.2-x86_64-virtual/virtualbox.sh
@@ -0,0 +1,29 @@
+#!/bin/ash
+
+# Requires
+#   
+#   settings.sh
+#   base.sh
+#   sudo.sh
+#   user.sh
+#   apk.sh
+
+source /etc/profile
+
+chroot $chroot /bin/ash <> /etc/modules
+vboxpci
+vboxdrv
+vboxnetflt
+vboxsf
+EOF
+
+# For shared folders to work
+addgroup vboxsf
+addgroup veewee vboxsf
+
+DATAEOF
diff --git a/templates/alpinelinux-3.6.2-x86_64-virtual/zerodisk.sh b/templates/alpinelinux-3.6.2-x86_64-virtual/zerodisk.sh
new file mode 100644
index 00000000..b37375be
--- /dev/null
+++ b/templates/alpinelinux-3.6.2-x86_64-virtual/zerodisk.sh
@@ -0,0 +1,23 @@
+#!/bin/ash
+
+# Requires
+#    settings.sh
+#    base.sh
+#    sudo.sh
+#    user.sh
+#    apk.sh
+#    virtualbox.sh
+#    vagrant.sh
+#    ruby.sh
+#    puppet.sh
+#    chef.sh
+#    cleanup.sh
+
+source /etc/profile
+
+chroot $chroot /bin/ash < '1', :memory_size=> '256',
-  :disk_size => '10140', :disk_format => 'VDI',:hostiocache => 'off',
-  :os_type_id => 'ArchLinux',
-  :iso_file => "archlinux-2010.05-core-i686.iso",
-  :iso_src => "http://archlinux.mirror.kangaroot.net/iso/2010.05/archlinux-2010.05-core-i686.iso",
-  :iso_md5 => "5db5fd11713635cff208b11a498c59ef",
+  :cpu_count   => "1",
+  :memory_size => "256",
+  :disk_size   => "10140",
+  :disk_format => "VDI",
+  :hostiocache => "off",
+  :os_type_id  => "ArchLinux",
+  :iso_file    => "archlinux-2010.05-core-i686.iso",
+  :iso_src     => "http://archlinux.mirror.kangaroot.net/iso/2010.05/archlinux-2010.05-core-i686.iso",
+  :iso_md5     => "5db5fd11713635cff208b11a498c59ef",
   :iso_download_timeout => "1000",
-  :boot_wait => "5", :boot_cmd_sequence => [
+  :boot_wait   => "5",
+  :boot_cmd_sequence => [
     '',
-    '',
-    '',
-    '',
-  'root',
+    '',
+    'root',
     'dhcpcd eth0',
     'echo "sshd: ALL" > /etc/hosts.allow',
     'passwd',
     'vagrant',
     'vagrant',
     '/etc/rc.d/sshd start',
-  'sleep 3 && wget http://%IP%:%PORT%/aif.cfg',
+    'sleep 3 && wget http://%IP%:%PORT%/aif.cfg',
   ],
-  :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "aif.cfg",
-  :ssh_login_timeout => "10000", :ssh_user => "root", :ssh_password => "vagrant", :ssh_key => "",
-  :ssh_host_port => "7222", :ssh_guest_port => "22",
-  :sudo_cmd => "sh '%f'",
-  :shutdown_cmd => "shutdown -h now",
-  :postinstall_files => [ "postinstall.sh"], :postinstall_timeout => "10000"
+  :kickstart_port => "7122",
+  :kickstart_timeout => "300",
+  :kickstart_file => "aif.cfg",
+  :ssh_login_timeout => "10000",
+  :ssh_user          => "root",
+  :ssh_password      => "vagrant",
+  :ssh_key           => "",
+  :ssh_host_port     => "7222",
+  :ssh_guest_port    => "22",
+  :sudo_cmd          => "sh '%f'",
+  :shutdown_cmd      => "shutdown -h now",
+  :postinstall_files => [ "postinstall.sh"],
+  :postinstall_timeout => "10000",
 })
diff --git a/templates/archlinux-x86_64/aur.sh b/templates/archlinux-x86_64/aur.sh
index f2cd251c..05bed2b3 100644
--- a/templates/archlinux-x86_64/aur.sh
+++ b/templates/archlinux-x86_64/aur.sh
@@ -4,6 +4,8 @@
 #   basedevel.sh
 #   user.sh
 
+pacman -S --noconfirm --needed base-devel
+
 cd /tmp
 curl 'https://aur.archlinux.org/packages/pa/packer/packer.tar.gz' -o packer.tar.gz
 tar xzf packer.tar.gz
diff --git a/templates/archlinux-x86_64/base.sh b/templates/archlinux-x86_64/base.sh
index 564df2db..3639ec30 100644
--- a/templates/archlinux-x86_64/base.sh
+++ b/templates/archlinux-x86_64/base.sh
@@ -33,10 +33,15 @@ arch-chroot /mnt < '1',
-  :memory_size => '256',
-  :disk_size   => '10140',
-  :disk_format => 'VDI',
-  :hostiocache => 'off',
-  :os_type_id  => 'ArchLinux_64',
+  :cpu_count   => "1",
+  :memory_size => "256",
+  :disk_size   => "10140",
+  :disk_format => "VDI",
+  :hostiocache => "off",
+  :os_type_id  => "ArchLinux_64",
   :iso_file    => iso,
   :iso_src     => "#{iso_mirror}/#{iso}",
   :iso_md5     => iso_md5,
-  :iso_download_timeout => '1000',
-  :boot_wait   => '5',
+  :iso_download_timeout => "1000",
+  :boot_wait   => "5",
   :boot_cmd_sequence => [
     '',
-    '' * 30,
+    '',
     'echo "sshd: ALL" > /etc/hosts.allow',
     'passwd',
     "#{root_password}",
     "#{root_password}",
     'systemctl start sshd.service',
   ],
-  :ssh_login_timeout => '10000',
-  :ssh_user          => 'root',
+  :ssh_login_timeout => "10000",
+  :ssh_user          => "root",
   :ssh_password      => "#{root_password}",
-  :ssh_key           => '',
-  :ssh_host_port     => '7222',
-  :ssh_guest_port    => '22',
+  :ssh_key           => "",
+  :ssh_host_port     => "7222",
+  :ssh_guest_port    => "22",
   :sudo_cmd          => "sh '%f'",
-  :shutdown_cmd      => 'shutdown -h now',
+  :shutdown_cmd      => "shutdown -h now",
   :postinstall_files => [
     'base.sh',
     'pacman.sh',
     'bootloader.sh',
     'ssh.sh',
     'reboot.sh',
-    'basedevel.sh',
     'sudo.sh',
     'user.sh',
     'aur.sh',
@@ -56,7 +55,7 @@
     'cleanup.sh',
     'zerodisk.sh',
   ],
-  :postinstall_timeout => '10000',
+  :postinstall_timeout => "10000",
   :params => {
     #:PACMAN_REFLECTOR_ARGS => '--verbose -l 5 --sort rate --save /etc/pacman.d/mirrorlist',
   }
diff --git a/templates/archlinux-x86_64/ruby.sh b/templates/archlinux-x86_64/ruby.sh
index ea7dc035..08941e7c 100644
--- a/templates/archlinux-x86_64/ruby.sh
+++ b/templates/archlinux-x86_64/ruby.sh
@@ -3,25 +3,9 @@
 # Requires
 #   reboot.sh
 
-# Uncomment this and delete the Ruby 1.9 install section below when Chef
-# supports Ruby 2.0
-#pacman -S --noconfirm ruby
-
-# We can install Ruby 1.9 either using an older PKGBUILD or download the
-# package from the Arch Rollback Machine. Using the Rollback Machine saves from
-# having to compile Ruby for every new VM.
-arch="$(uname -m)"
-package="ruby-1.9.3_p392-1-${arch}.pkg.tar.xz"
-
-cd /tmp
-curl "http://arm.konnichi.com/2013/03/23/extra/os/${arch}/${package}" -o "${package}"
-pacman -U --noconfirm "${package}"
-
-# Add ruby to Pacman's ignore list so it does not get upgraded to 2.0
-sed -ri 's/^#?(IgnorePkg.*)/\1 ruby/' /etc/pacman.conf
+pacman -S --noconfirm ruby
 
 # Don't install RDoc and RI to save time and space
 cat <> /etc/gemrc
-install: --no-rdoc --no-ri
-update:  --no-rdoc --no-ri
+gem: --no-document
 EOF
diff --git a/templates/archlinux-x86_64/sudo.sh b/templates/archlinux-x86_64/sudo.sh
index f315d5e6..fb766a4a 100644
--- a/templates/archlinux-x86_64/sudo.sh
+++ b/templates/archlinux-x86_64/sudo.sh
@@ -3,7 +3,7 @@
 # Requires
 #   reboot.sh
 
-sudo pacman -S --noconfirm sudo
+pacman -S --noconfirm sudo
 
 # Sudo setup
 cat < /etc/sudoers
diff --git a/templates/archlinux-x86_64/vagrant.sh b/templates/archlinux-x86_64/vagrant.sh
index 353408b1..5c54f277 100644
--- a/templates/archlinux-x86_64/vagrant.sh
+++ b/templates/archlinux-x86_64/vagrant.sh
@@ -18,7 +18,7 @@ EOF
 # Install the "insecure" public key
 mkdir -m 700 /home/vagrant/.ssh
 
-curl 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' \
+curl -L 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' \
   -o /home/vagrant/.ssh/authorized_keys
 
 chmod 600 /home/vagrant/.ssh/authorized_keys
diff --git a/templates/archlinux-x86_64/virtualbox.sh b/templates/archlinux-x86_64/virtualbox.sh
index c2bc144f..db313511 100644
--- a/templates/archlinux-x86_64/virtualbox.sh
+++ b/templates/archlinux-x86_64/virtualbox.sh
@@ -7,7 +7,7 @@
 # Adapted from https://wiki.archlinux.org/index.php/VirtualBox
 
 # Install and set up VirtualBox Guest Additions
-pacman -S --noconfirm virtualbox-guest-utils
+pacman -S --noconfirm virtualbox-guest-utils-nox
 
 cat < /etc/modules-load.d/virtualbox.conf
 vboxguest
diff --git a/templates/freebsd-10.0-RELEASE-amd64/definition.rb b/templates/freebsd-10.0-RELEASE-amd64/definition.rb
index 3c4f19e2..0d345b0f 100644
--- a/templates/freebsd-10.0-RELEASE-amd64/definition.rb
+++ b/templates/freebsd-10.0-RELEASE-amd64/definition.rb
@@ -38,7 +38,7 @@
     '',
     'fetch -o /tmp/install.sh http://%IP%:%PORT%/install.sh && chmod +x /tmp/install.sh && /tmp/install.sh %NAME%'
   ],
-:kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "install.sh",
+:kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "install.sh",
   :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "cat '%f' | su -",
diff --git a/templates/freebsd-10.0-RELEASE-amd64/postinstall.csh b/templates/freebsd-10.0-RELEASE-amd64/postinstall.csh
index 360b5841..cce00008 100644
--- a/templates/freebsd-10.0-RELEASE-amd64/postinstall.csh
+++ b/templates/freebsd-10.0-RELEASE-amd64/postinstall.csh
@@ -29,7 +29,7 @@ cd /usr/ports/ports-mgmt/pkg
 make -DBATCH install
 
 # Install binary packages versions of dependencies
-pkg install -y sudo bash chef puppet portupgrade perl5 kBuild yasm
+pkg install -y sudo bash rubygem-chef puppet portupgrade perl5 kBuild yasm
 
 cat >> /etc/make.conf << EOT
 WITH_ETCSYMLINK="YES"
diff --git a/templates/freebsd-8.2-experimental/definition.rb b/templates/freebsd-8.2-experimental/definition.rb
index 231f6ea7..b8e1c04b 100644
--- a/templates/freebsd-8.2-experimental/definition.rb
+++ b/templates/freebsd-8.2-experimental/definition.rb
@@ -9,7 +9,7 @@
   :boot_wait => "10", :boot_cmd_sequence => [
    ''
   ],
-  :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "",
+  :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "",
   :ssh_login_timeout => "10000", :ssh_user => "root", :ssh_password => "mfsroot", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "sh '%f'",
diff --git a/templates/freebsd-8.2-pcbsd-amd64/definition.rb b/templates/freebsd-8.2-pcbsd-amd64/definition.rb
index d0e0f1ed..4223db20 100644
--- a/templates/freebsd-8.2-pcbsd-amd64/definition.rb
+++ b/templates/freebsd-8.2-pcbsd-amd64/definition.rb
@@ -17,7 +17,7 @@
     'echo "Hope i got the file";/usr/PCBSD/pc-sysinstall/pc-sysinstall -c /root/pcinstall.fbg.cfg',
     'reboot'
   ],
-  :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "pcinstall.fbg.cfg",
+  :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "pcinstall.fbg.cfg",
   :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "cat '%f'|su -",
diff --git a/templates/freebsd-8.2-pcbsd-i386-netboot/definition.rb b/templates/freebsd-8.2-pcbsd-i386-netboot/definition.rb
index 1eebb02f..b15f31bc 100644
--- a/templates/freebsd-8.2-pcbsd-i386-netboot/definition.rb
+++ b/templates/freebsd-8.2-pcbsd-i386-netboot/definition.rb
@@ -21,7 +21,7 @@
         'echo "Hope i got the file";/usr/PCBSD/pc-sysinstall/pc-sysinstall -c /root/pcinstall.fbg.cfg',
         'reboot'
     ],
-  :kickstart_port => "7122", :kickstart_timeout => "10000",:kickstart_file => "pcinstall.fbg.cfg",
+  :kickstart_port => "7122", :kickstart_timeout => "300",:kickstart_file => "pcinstall.fbg.cfg",
   :ssh_login_timeout => "10000",:ssh_user => "vagrant", :ssh_password => "vagrant",:ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "cat '%f'|su -",
diff --git a/templates/freebsd-8.2-pcbsd-i386/definition.rb b/templates/freebsd-8.2-pcbsd-i386/definition.rb
index 7d127132..50a99b95 100644
--- a/templates/freebsd-8.2-pcbsd-i386/definition.rb
+++ b/templates/freebsd-8.2-pcbsd-i386/definition.rb
@@ -23,7 +23,7 @@
     'echo "Hope i got the file";/usr/PCBSD/pc-sysinstall/pc-sysinstall -c /root/pcinstall.fbg.cfg',
     'reboot'
   ],
-  :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "pcinstall.fbg.cfg",
+  :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "pcinstall.fbg.cfg",
   :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "cat '%f'|su -",
diff --git a/templates/freebsd-9.0-RELEASE-amd64/definition.rb b/templates/freebsd-9.0-RELEASE-amd64/definition.rb
index 55038cd0..df540a8e 100644
--- a/templates/freebsd-9.0-RELEASE-amd64/definition.rb
+++ b/templates/freebsd-9.0-RELEASE-amd64/definition.rb
@@ -22,7 +22,7 @@
     'echo "Sleeping for 10 seconds, then running install script."',
     'sleep 10 ; fetch -o /tmp/install.sh http://%IP%:%PORT%/install.sh && chmod +x /tmp/install.sh && /tmp/install.sh %NAME%'
   ],
-  :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "install.sh",
+  :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "install.sh",
   :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "sudo '%f'",
diff --git a/templates/freebsd-9.1-RELEASE-amd64/definition.rb b/templates/freebsd-9.1-RELEASE-amd64/definition.rb
index 87bd697e..64dc8692 100644
--- a/templates/freebsd-9.1-RELEASE-amd64/definition.rb
+++ b/templates/freebsd-9.1-RELEASE-amd64/definition.rb
@@ -22,7 +22,7 @@
     'echo "Sleeping for 10 seconds, then running install script."',
     'sleep 10 ; fetch -o /tmp/install.sh http://%IP%:%PORT%/install.sh && chmod +x /tmp/install.sh && /tmp/install.sh %NAME%'
   ],
-  :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "install.sh",
+  :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "install.sh",
   :ssh_login_timeout => "10000", :ssh_user => "root", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "cat '%f' | su -",
diff --git a/templates/freebsd-9.2-RELEASE-amd64/definition.rb b/templates/freebsd-9.2-RELEASE-amd64/definition.rb
index 8ebed87a..103bbfeb 100644
--- a/templates/freebsd-9.2-RELEASE-amd64/definition.rb
+++ b/templates/freebsd-9.2-RELEASE-amd64/definition.rb
@@ -18,7 +18,7 @@
     'echo "Sleeping for 10 seconds, then running install script."',
     'sleep 10 ; fetch -o /tmp/install.sh http://%IP%:%PORT%/install.sh && chmod +x /tmp/install.sh && /tmp/install.sh %NAME%'
   ],
-  :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "install.sh",
+  :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "install.sh",
   :ssh_login_timeout => "10000", :ssh_user => "root", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "sh '%f'",
diff --git a/templates/gentoo-latest-amd64/add_chef.sh b/templates/gentoo-latest-amd64/add_chef.sh
deleted file mode 100644
index 2c032cdd..00000000
--- a/templates/gentoo-latest-amd64/add_chef.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-source /etc/profile
-
-# install Chef
-chroot "$chroot" /bin/bash < 2,
-  :memory_size => '1024',
-  :disk_size   => '20280',
-  :disk_format => 'VDI',
-  :hostiocache => 'off',
-  :os_type_id  => 'Gentoo_64',
-  :iso_file    => template_build[3],
-  :iso_src     => "http://distfiles.gentoo.org/releases/amd64/autobuilds/#{template_build[1]}",
-  :iso_download_timeout => 1000,
-  :boot_wait => "10",
-  :boot_cmd_sequence => [
-    '' * 2,
-    'gentoo-nofb',
-    '' * 30,
-    '',
-    '' * 20,
-    'passwd',
-    'vagrant',
-    'vagrant',
-    '/etc/init.d/sshd start'
-  ],
-  :kickstart_port    => '7122',
-  :kickstart_timeout => 10000,
-  :kickstart_file    => '',
-  :ssh_login_timeout => '10000',
-  :ssh_user          => 'root',
-  :ssh_password      => 'vagrant',
-  :ssh_key           => '',
-  :ssh_host_port     => '7222',
-  :ssh_guest_port    => '22',
-  :sudo_cmd          => "cat '%f'|su -",
-  :shutdown_cmd      => 'shutdown -hP now',
-  :postinstall_files => [
-    'settings.sh',
-    'base.sh',
-    'kernel.sh',
-    'usb.sh',
-    'git.sh',
-    'subversion.sh',
-    'virtualbox.sh',
-    'vagrant.sh',
-    'ruby.sh',
-    'add_chef.sh',
-    'add_puppet.sh',
-    'add_vim.sh',
-    'cron.sh',
-    'syslog.sh',
-    'nfs.sh',
-    'grub.sh',
-    'wipe_sources.sh',
-    'cleanup.sh',
-    'zerodisk.sh',
-    'reboot.sh'
-  ],
-  :postinstall_timeout => 10000
-})
diff --git a/templates/gentoo-latest-amd64/grub.sh b/templates/gentoo-latest-amd64/grub.sh
deleted file mode 100644
index 91787203..00000000
--- a/templates/gentoo-latest-amd64/grub.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/bash
-source /etc/profile
-
-# use grub2
-cat <> "$chroot/etc/portage/package.accept_keywords/grub"
-sys-boot/grub:2
-DATAEOF
-
-# install grub
-chroot "$chroot" emerge grub
-
-# tweak timeout
-chroot "$chroot" sed -i "s/GRUB_TIMEOUT=.*/GRUB_TIMEOUT=1/g" /etc/default/grub
-
-# make the disk bootable
-chroot "$chroot" /bin/bash < /etc/mtab && \
-mkdir -p /boot/grub2 && \
-ln -sf /boot/grub2 /boot/grub && \
-grub2-mkconfig -o /boot/grub/grub.cfg && \
-grub2-install --no-floppy /dev/sda
-DATAEOF
diff --git a/templates/gentoo-latest-amd64/vagrant.sh b/templates/gentoo-latest-amd64/vagrant.sh
deleted file mode 100644
index c3b03600..00000000
--- a/templates/gentoo-latest-amd64/vagrant.sh
+++ /dev/null
@@ -1,91 +0,0 @@
-#!/bin/bash
-source /etc/profile
-
-# add default users and groups, setpasswords, configure privileges and install sudo
-# PREREQUISITE: virtualbox guest additions - need the vboxguest group to exist
-mkdir -p "$chroot/home/vagrant/.ssh"
-chmod 700 "$chroot/home/vagrant/.ssh"
-wget --no-check-certificate "$vagrant_ssh_key_url" -O "$chroot/home/vagrant/.ssh/authorized_keys"
-chmod 600 "$chroot/home/vagrant/.ssh/authorized_keys"
-
-# record virtualbox version
-cp -f /root/.vbox_version "$chroot/home/vagrant/.vbox_version"
-vbox_version=$(cat /root/.vbox_version)
-echo "export vbox_version=$vbox_version" >> /etc/profile.d/settings.sh
-cp /etc/profile.d/settings.sh $CHROOT/etc/profile.d/
-
-mkdir -p "$chroot/root/.ssh" 2> /dev/null
-
-# add vagrant user
-chroot $chroot /bin/bash < /etc/hosts.allow
-echo 'ALL:ALL' > /etc/hosts.deny
-echo 'vagrant ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
-DATAEOF
-
-# configure ssh daemon
-# veewee validate uses password authentication, so we have to enable it
-cat < "$chroot/etc/ssh/sshd_config"
-Protocol 2
-HostBasedAuthentication no
-IgnoreUserKnownHosts yes
-PasswordAuthentication yes
-PermitRootLogin yes
-PermitUserEnvironment no
-PrintLastLog no
-PrintMotd no
-PubKeyAuthentication yes
-Subsystem sftp internal-sftp
-UseDNS no
-UsePAM yes
-UsePrivilegeSeparation sandbox
-
-# X11 features need openssh emerged with USE flag "X"
-X11Forwarding yes
-X11DisplayOffset 10
-X11UseLocalhost yes
-DATAEOF
-
-
-# Set locale (glibc)
-
-# generate locale
-chroot "$chroot" /bin/bash <> /etc/locale.gen
-#echo ja_JP.UTF-8 UTF-8 >> /etc/locale.gen
-#echo fa_IR UTF-8 >> /etc/locale.gen
-locale-gen
-DATAEOF
-
-# set locale
-chroot "$chroot" /bin/bash <> /etc/env.d/02locale
-echo LC_TYPE=\"$locale\" >> /etc/env.d/02locale
-env-update && source /etc/profile
-DATAEOF
-
-# make hostname shorter 
-cat < "$chroot/etc/conf.d/hostname"
-# Set to the hostname of this machine
-hostname="local"
-DATAEOF
-
diff --git a/templates/gentoo-latest-amd64/virtualbox.sh b/templates/gentoo-latest-amd64/virtualbox.sh
deleted file mode 100644
index fce3e2d8..00000000
--- a/templates/gentoo-latest-amd64/virtualbox.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/bash
-source /etc/profile
-
-# add package keywords
-cat <> "$chroot/etc/portage/package.accept_keywords/virtualbox-guest-additions"
-app-emulation/virtualbox-guest-additions ~x86 ~amd64
-DATAEOF
-
-# unmask
-cat <> "$chroot/etc/portage/package.unmask/virtualbox-guest-additions"
->=app-emulation/virtualbox-guest-additions-4.3.0
-DATAEOF
-
-# install the virtualbox guest additions, add vagrant and root to group vboxguest
-# PREREQUISITE: kernel - we install a module, so we use the kernel sources
-chroot "$chroot" /bin/bash <> "$chroot/etc/portage/package.use/vim"
-#app-editors/vim minimal
-#DATAEOF
-
-cat <> "$chroot/etc/portage/package.accept_keywords/vim"
-app-vim/bash-support ~x86 ~amd64
-DATAEOF
-
-# install vim
-chroot "$chroot" emerge app-editors/vim
-
-
-# install vim plugins
-chroot "$chroot" emerge app-vim/puppet-syntax app-vim/bash-support
-
-# install spf13 (experimental)
-#chroot "$chroot" emerge dev-vcs/git # be aware of huge dependency
-#chroot "$chroot" wget --no-check-certificate -qO- http://j.mp/spf13-vim3
diff --git a/templates/gentoo-latest-i686/base.sh b/templates/gentoo-latest-i686/base.sh
deleted file mode 100644
index 6eaa153f..00000000
--- a/templates/gentoo-latest-i686/base.sh
+++ /dev/null
@@ -1,155 +0,0 @@
-#!/bin/bash
-source /etc/profile
-
-# partition the disk (http://www.rodsbooks.com/gdisk/sgdisk.html)
-sgdisk -n 1:0:+128M -t 1:8300 -c 1:"linux-boot" \
-       -n 2:0:+32M  -t 2:ef02 -c 2:"bios-boot"  \
-       -n 3:0:+1G   -t 3:8200 -c 3:"swap"       \
-       -n 4:0:0     -t 4:8300 -c 4:"linux-root" \
-       -p /dev/sda
-
-sleep 1
-
-# format partitions, mount swap
-mkswap /dev/sda3
-swapon /dev/sda3
-mkfs.ext2 /dev/sda1
-mkfs.ext4 /dev/sda4
-
-# mount other partitions
-mount /dev/sda4 "$chroot" && cd "$chroot" && mkdir boot && mount /dev/sda1 boot
-
-# download stage 3, unpack it, delete the stage3 archive file
-wget -nv --tries=5 "$stage3url"
-tar xpf "$stage3file" && rm "$stage3file"
-
-# prepeare chroot, update env
-mount -t proc none "$chroot/proc"
-mount --rbind /dev "$chroot/dev"
-
-# copy nameserver information, save build timestamp
-cp /etc/resolv.conf "$chroot/etc/"
-date -u > "$chroot/etc/vagrant_box_build_time"
-
-# retrieve and extract latest portage tarball
-chroot "$chroot" wget --tries=5 "${portageurl}"
-chroot "$chroot" tar -xjpf portage-latest.tar.bz2 -C /usr
-chroot "$chroot" rm -rf portage-latest.tar.bz2
-chroot "$chroot" env-update
-
-# bring up network interface and sshd on boot (Alt. for new systemd naming scheme, enp0s3)
-#chroot "$chroot" /bin/bash <> net
-#ln -s net.lo /etc/init.d/net.enp0s3
-#rc-update add net.enp0s3 default
-#rc-update add sshd default
-#DATAEOF
-
-# bring up network interface and sshd on boot (for older systemd naming scheme, eth0)
-chroot "$chroot" /bin/bash <> net
-ln -s net.lo /etc/init.d/net.eth0
-rc-update add net.eth0 default
-rc-update add sshd default
-DATAEOF
-
-# set fstab
-cat < "$chroot/etc/fstab"
-#                                                    
-/dev/sda1               /boot           ext2            noauto,noatime           1 2
-/dev/sda3               none            swap            sw                       0 0
-/dev/sda4               /               ext4            noatime                  0 1
-none                    /dev/shm        tmpfs           nodev,nosuid,noexec      0 0
-DATAEOF
-
-# set make options
-cat < "$chroot/etc/portage/make.conf"
-CHOST="$chost"
-
-CFLAGS="-mtune=generic -O2 -pipe"
-CXXFLAGS="\${CFLAGS}"
-
-ACCEPT_KEYWORDS="$accept_keywords"
-MAKEOPTS="-j$((1 + $nr_cpus)) -l$nr_cpus.5"
-EMERGE_DEFAULT_OPTS="-j$nr_cpus --quiet-build=y"
-FEATURES="\${FEATURES} parallel-fetch"
-USE="nls cjk unicode"
-
-PYTHON_TARGETS="python2_7 python3_2 python3_3"
-USE_PYTHON="3.2 2.7"
-
-# english only
-LINGUAS="en"
-
-# for X support if needed
-INPUT_DEVICES="evdev"
-VIDEO_CARDS="virtualbox"
-
-# Additional portage overlays (space char separated)
-PORTDIR_OVERLAY="/usr/local/portage"
-
-# Including /usr/local/portage overlay
-source "/usr/local/portage/make.conf"
-DATAEOF
-
-# Create an empty portage overlay
-mkdir -p "$chroot/usr/local/portage"
-
-touch "$chroot/usr/local/portage/make.conf"
-chown root:portage "$chroot/usr/local/portage/make.conf"
-chmod g+s "$chroot/usr/local/portage/make.conf"
-chmod 775 "$chroot/usr/local/portage/make.conf"
-
-mkdir -p "$chroot/usr/local/portage/profiles"
-echo "local_repo" >> "$chroot/usr/local/portage/profiles/repo_name"
-chown root:portage "$chroot/usr/local/portage" "$chroot/usr/local/portage/profiles/repo_name"
-chmod g+s "$chroot/usr/local/portage" "$chroot/usr/local/portage/profiles/repo_name"
-chmod 775 "$chroot/usr/local/portage" "$chroot/usr/local/portage/profiles/repo_name"
-
-mkdir -p "$chroot/usr/local/portage/metadata"
-echo "masters = gentoo" >> "$chroot/usr/local/portage/metadata/layout.conf"
-chown root:portage "$chroot/usr/local/portage/metadata/layout.conf"
-chmod g+s "$chroot/usr/local/portage/metadata/layout.conf"
-chmod 775 "$chroot/usr/local/portage/metadata/layout.conf"
-
-# This distribution does not like flags described in single files
-# all 'package.*', except 'package.keywords', should be directories.
-mkdir -p "$chroot/etc/portage/package.license"
-mkdir -p "$chroot/etc/portage/package.use"
-mkdir -p "$chroot/etc/portage/package.accept_keywords"
-mkdir -p "$chroot/etc/portage/package.mask"
-mkdir -p "$chroot/etc/portage/package.unmask"
-
-
-# Some forced updates for this system
-cat <> "$chroot/etc/portage/package.unmask/python-2.7"
-=dev-lang/python-2.7.5*
-DATAEOF
-
-cat <> "$chroot/etc/portage/package.unmask/pam"
-=sys-libs/pam-1.1.6-r2
-=sys-libs/pam-1.1.7
-DATAEOF
-
-# set localtime
-chroot "$chroot" ln -sf "/usr/share/zoneinfo/$timezone" /etc/localtime
-
-# set locale
-chroot "$chroot" /bin/bash < /etc/env.d/02locale
-echo LANG_ALL=\"$locale\" >> /etc/env.d/02locale
-echo LANGUAGE=\"$locale\" >> /etc/env.d/02locale
-env-update && source /etc/profile
-DATAEOF
-
-# NOTE: LC_ALL, LC_TYPE will be set in vagrant.sh
-
-# update portage tree to most current state
-# emerge-webrsync is recommended by Gentoo for first sync
-chroot "$chroot" emerge-webrsync
diff --git a/templates/gentoo-latest-i686/cleanup.sh b/templates/gentoo-latest-i686/cleanup.sh
deleted file mode 100644
index 2aa4fe28..00000000
--- a/templates/gentoo-latest-i686/cleanup.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/bash
-source /etc/profile
-
-# fix a weird issue with sshd not starting
-# http://www.linuxquestions.org/questions/linux-networking-3/sshd-fatal-daemon-failed-no-such-device-279664/
-chroot "$chroot" /bin/bash < 2,
-  :memory_size => '1024',
-  :disk_size   => '20280',
-  :disk_format => 'VDI',
-  :hostiocache => 'off',
-  :os_type_id  => 'Gentoo',
-  :iso_file    => template_build[3],
-  :iso_src     => "http://distfiles.gentoo.org/releases/x86/autobuilds/#{template_build[1]}",
-  :iso_download_timeout => 1000,
-  :boot_wait => "10",
-  :boot_cmd_sequence => [
-    '' * 2,
-    'gentoo-nofb',
-    '' * 30,
-    '',
-    '' * 20,
-    'passwd',
-    'vagrant',
-    'vagrant',
-    '/etc/init.d/sshd start'
-  ],
-  :kickstart_port    => '7122',
-  :kickstart_timeout => 10000,
-  :kickstart_file    => '',
-  :ssh_login_timeout => '10000',
-  :ssh_user          => 'root',
-  :ssh_password      => 'vagrant',
-  :ssh_key           => '',
-  :ssh_host_port     => '7222',
-  :ssh_guest_port    => '22',
-  :sudo_cmd          => "cat '%f'|su -",
-  :shutdown_cmd      => 'shutdown -hP now',
-  :postinstall_files => [
-    'settings.sh',
-    'base.sh',
-    'kernel.sh',
-    'usb.sh',
-    'git.sh',
-    'subversion.sh',
-    'virtualbox.sh',
-    'vagrant.sh',
-    'ruby.sh',
-    'add_chef.sh',
-    'add_puppet.sh',
-    'add_vim.sh',
-    'cron.sh',
-    'syslog.sh',
-    'nfs.sh',
-    'grub.sh',
-    'wipe_sources.sh',
-    'cleanup.sh',
-    'zerodisk.sh',
-    'reboot.sh'
-  ],
-  :postinstall_timeout => 10000
-})
diff --git a/templates/gentoo-latest-i686/git.sh b/templates/gentoo-latest-i686/git.sh
deleted file mode 100644
index bfabb25d..00000000
--- a/templates/gentoo-latest-i686/git.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-source /etc/profile
-
-# remove git's dependency on 50+ perl modules.
-cat <> "$chroot/etc/portage/package.use/git"
-# git with no dependency
-dev-vcs/git -curl -perl -gpg -webdav
-
-# git with massive dependency with subversion support
-#dev-vcs/git -gpg perl -webdav subversion
-#>=dev-vcs/subversion-1.7.13 -dso perl
-DATAEOF
-
-# install git
-chroot "$chroot" emerge dev-vcs/git
-
-# for git-quiltimport
-#chroot "$chroot" emerge dev-util/quilt
-# for git-instaweb : || ( www-servers/lighttpd  www-servers/apache)
-#chroot "$chroot" emerge www-servers/lighttpd
-
diff --git a/templates/gentoo-latest-i686/grub.sh b/templates/gentoo-latest-i686/grub.sh
deleted file mode 100644
index 91787203..00000000
--- a/templates/gentoo-latest-i686/grub.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/bash
-source /etc/profile
-
-# use grub2
-cat <> "$chroot/etc/portage/package.accept_keywords/grub"
-sys-boot/grub:2
-DATAEOF
-
-# install grub
-chroot "$chroot" emerge grub
-
-# tweak timeout
-chroot "$chroot" sed -i "s/GRUB_TIMEOUT=.*/GRUB_TIMEOUT=1/g" /etc/default/grub
-
-# make the disk bootable
-chroot "$chroot" /bin/bash < /etc/mtab && \
-mkdir -p /boot/grub2 && \
-ln -sf /boot/grub2 /boot/grub && \
-grub2-mkconfig -o /boot/grub/grub.cfg && \
-grub2-install --no-floppy /dev/sda
-DATAEOF
diff --git a/templates/gentoo-latest-i686/kernel.sh b/templates/gentoo-latest-i686/kernel.sh
deleted file mode 100644
index 2ec31dbb..00000000
--- a/templates/gentoo-latest-i686/kernel.sh
+++ /dev/null
@@ -1,111 +0,0 @@
-#!/bin/bash
-source /etc/profile
-
-# add required use flags and keywords
-cat <> "$chroot/etc/portage/package.use/kernel"
-sys-kernel/gentoo-sources symlink
-sys-kernel/genkernel -cryptsetup
-DATAEOF
-
-cat <> "$chroot/etc/portage/package.accept_keywords/kernel"
-dev-util/kbuild ~x86 ~amd64
-DATAEOF
-
-# get, configure, compile and install the kernel and modules
-chroot "$chroot" /bin/bash <>/usr/src/linux/.config
-# dependencies
-CONFIG_EXT4_FS=y
-CONFIG_EXT4_USE_FOR_EXT23=y
-CONFIG_EXT4_FS_XATTR=y
-CONFIG_SMP=y
-CONFIG_SCHED_SMT=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_DMA_SHARED_BUFFER=y
-# for VirtualBox (http://en.gentoo-wiki.com/wiki/Virtualbox_Guest)
-CONFIG_HIGH_RES_TIMERS=n
-CONFIG_X86_MCE=n
-CONFIG_SUSPEND=n
-CONFIG_HIBERNATION=n
-CONFIG_IDE=n
-CONFIG_NO_HZ=y
-CONFIG_SMP=y
-CONFIG_ACPI=y
-CONFIG_PNP=y
-CONFIG_ATA=y
-CONFIG_SATA_AHCI=y
-CONFIG_ATA_SFF=y
-CONFIG_ATA_PIIX=y
-CONFIG_PCNET32=y
-CONFIG_E1000=y
-CONFIG_INPUT_MOUSE=y
-CONFIG_DRM=y
-CONFIG_SND_INTEL8X0=m
-# for net fs
-CONFIG_AUTOFS4_FS=m
-CONFIG_NFS_V2=m
-CONFIG_NFS_V3=m
-CONFIG_NFS_V4=m
-CONFIG_NFSD=m
-CONFIG_CIFS=m
-CONFIG_CIFS_UPCAL=y
-CONFIG_CIFS_XATTR=y
-CONFIG_CIFS_DFS_UPCALL=y
-# for FUSE fs
-CONFIG_FUSE_FS=m
-# reduce size
-CONFIG_NR_CPUS=$nr_cpus
-CONFIG_COMPAT_VDSO=n
-# propbably nice but not in defaults
-CONFIG_MODVERSIONS=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_SQUASHFS=y
-CONFIG_SQUASHFS_XATTR=y
-CONFIG_SQUASHFS_XZ=y
-# IPSec
-CONFIG_NET_IPVTI=y
-CONFIG_INET_AH=y
-CONFIG_INET_ESP=y
-CONFIG_INET_IPCOMP=y
-CONFIG_INET_XFRM_MODE_TRANSPORT=y
-CONFIG_INET_XFRM_MODE_TUNNEL=y
-CONFIG_INET_XFRM_MODE_BEET=y
-CONFIG_INET6_AH=y
-CONFIG_INET6_ESP=y
-CONFIG_INET6_IPCOMP=y
-CONFIG_INET6_XFRM_MODE_TRANSPORT=y
-CONFIG_INET6_XFRM_MODE_TUNNEL=y
-CONFIG_INET6_XFRM_MODE_BEET=y
-# crypto support
-CONFIG_CRYPTO_USER=m
-CONFIG_CRYPTO_CTS=y
-CONFIG_CRYPTO_CTR=y
-CONFIG_CRYPTO_RMD128=y
-CONFIG_CRYPTO_RMD160=y
-CONFIG_CRYPTO_RMD256=y
-CONFIG_CRYPTO_RMD320=y
-CONFIG_CRYPTO_SHA1_SSSE3=m
-CONFIG_CRYPTO_SHA256=y
-CONFIG_CRYPTO_SHA512=y
-CONFIG_CRYPTO_AES_X86_64=y
-CONFIG_CRYPTO_AES_NI_INTEL=m
-CONFIG_CRYPTO_BLOWFISH_X86_64=y
-CONFIG_CRYPTO_SALSA20_X86_64=y
-CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=y
-CONFIG_CRYPTO_DEFLATE=y
-# rtc
-CONFIG_RTC=y
-# devtmpfs, required by udev
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-EOF
-# build and install kernel, using the config created above
-genkernel --install --symlink --oldconfig --bootloader=grub all
-DATAEOF
diff --git a/templates/gentoo-latest-i686/nfs.sh b/templates/gentoo-latest-i686/nfs.sh
deleted file mode 100644
index 9a021c79..00000000
--- a/templates/gentoo-latest-i686/nfs.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/bash
-source /etc/profile
-
-# install nfs utilities and automount support
-chroot "$chroot" emerge net-fs/nfs-utils
-
-# Gentoo has sandbox issues with latest autofs builds
-# https://bugs.gentoo.org/show_bug.cgi?id=453778
-chroot "$chroot" /bin/bash <> "$chroot/etc/portage/make.conf"
-# use ruby 1.9
-RUBY_TARGETS="ruby19"
-DATAEOF
-
-cat <> "$chroot/etc/portage/package.accept_keywords/ruby"
-dev-util/ragel ~x86 ~amd64
-DATAEOF
-
-chroot "$chroot" /bin/bash < "$chroot/etc/vagrant_box_build_time"
 
 # retrieve and extract latest portage tarball
-chroot "$chroot" wget --tries=5 "${portageurl}"
+if [ ! -f portage-latest.tar.bz2 ]; then
+    chroot "$chroot" wget --tries=5 "${portageurl}"
+else
+    echo "Using pre-downloaded portage file."
+fi
+
 chroot "$chroot" tar -xjpf portage-latest.tar.bz2 -C /usr
 chroot "$chroot" rm -rf portage-latest.tar.bz2
 chroot "$chroot" env-update
 
 # bring up network interface and sshd on boot (Alt. for new systemd naming scheme, enp0s3)
 #chroot "$chroot" /bin/bash <> net
-#ln -s net.lo /etc/init.d/net.enp0s3
+#echo 'config_enp0s3=( "dhcp" )' >> /etc/conf.d/net
+#ln -s /etc/init.d/net.lo /etc/init.d/net.enp0s3
 #rc-update add net.enp0s3 default
 #rc-update add sshd default
 #DATAEOF
 
 # bring up network interface and sshd on boot (for older systemd naming scheme, eth0)
 chroot "$chroot" /bin/bash < '2',
+#     :memory_size => '4096',
+    :iso_file    => template_build.first.split(/\//).last,
+    :iso_src     => "http://distfiles.gentoo.org/releases/#{arch}/autobuilds/#{template_build.first}",
+#     :hooks       => {
+#         :before_postinstall => Proc.new { definition.box.scp('postinstall-gentoo.tar', 'postinstall-gentoo.tar') }
+#     }
+})
diff --git a/templates/gentoo-latest/definition.yml b/templates/gentoo-latest/definition.yml
new file mode 100644
index 00000000..f59277a3
--- /dev/null
+++ b/templates/gentoo-latest/definition.yml
@@ -0,0 +1,32 @@
+---
+:cpu_count: 2
+:memory_size: '1024'
+:disk_size: '20280'
+:disk_format: 'VDI'
+:hostiocache: 'off'
+:os_type_id: 'Gentoo_64'
+:iso_download_timeout: 1000
+:boot_wait: "10"
+:boot_cmd_sequence:
+  - ''
+  - 'gentoo-nofb'
+  - ''
+  - ''
+  - ''
+  - 'passwd'
+  - 'vagrant'
+  - 'vagrant'
+  - 'echo "PermitRootLogin yes" >> /etc/ssh/sshd_config'
+  - '/etc/init.d/sshd start'
+:kickstart_port: '7122'
+:kickstart_timeout: 300
+:kickstart_file: ''
+:ssh_login_timeout: '10000'
+:ssh_user: 'root'
+:ssh_password: 'vagrant'
+:ssh_key: ''
+:ssh_host_port: '7222'
+:ssh_guest_port: '22'
+:sudo_cmd: "cat '%f'|su -"
+:shutdown_cmd: 'shutdown -hP now'
+:postinstall_timeout: 10000
diff --git a/templates/gentoo-latest/gentoo_amd64.yml b/templates/gentoo-latest/gentoo_amd64.yml
new file mode 100644
index 00000000..03985e50
--- /dev/null
+++ b/templates/gentoo-latest/gentoo_amd64.yml
@@ -0,0 +1,25 @@
+---
+:os_type_id: 'Gentoo_64'
+:architecture: 'amd64'
+:postinstall_files:
+  - 'settings_amd64.sh'
+  - 'base.sh'
+  - 'kernel.sh'
+  - 'usb.sh'
+  - 'git.sh'
+  - 'subversion.sh'
+  - 'virtualbox.sh'
+  - 'vagrant.sh'
+  - 'ruby.sh'
+  - 'add_chef.sh'
+  - 'add_puppet.sh'
+  - 'add_vim.sh'
+  - 'cron.sh'
+  - 'syslog.sh'
+  - 'nfs.sh'
+  - 'grub.sh'
+  - 'wipe_portage.sh'
+  - 'wipe_sources.sh'
+  - 'cleanup.sh'
+  - 'zerodisk.sh'
+  - 'reboot.sh'
diff --git a/templates/gentoo-latest/gentoo_amd64_minimal.yml b/templates/gentoo-latest/gentoo_amd64_minimal.yml
new file mode 100644
index 00000000..a271c1c8
--- /dev/null
+++ b/templates/gentoo-latest/gentoo_amd64_minimal.yml
@@ -0,0 +1,25 @@
+---
+:os_type_id: 'Gentoo_64'
+:architecture: 'amd64'
+:postinstall_files:
+  - 'settings_amd64.sh'
+  - 'base.sh'
+  - 'kernel.sh'
+#  - 'usb.sh'
+  - 'git.sh'
+#  - 'subversion.sh'
+  - 'virtualbox.sh'
+  - 'vagrant.sh'
+#  - 'ruby.sh'
+#  - 'add_chef.sh'
+#  - 'add_puppet.sh'
+  - 'add_vim.sh'
+  - 'cron.sh'
+  - 'syslog.sh'
+  - 'nfs.sh'
+  - 'grub.sh'
+  - 'wipe_portage.sh'
+  - 'wipe_sources.sh'
+  - 'cleanup.sh'
+  - 'zerodisk.sh'
+  - 'reboot.sh'
diff --git a/templates/gentoo-latest/gentoo_x86.yml b/templates/gentoo-latest/gentoo_x86.yml
new file mode 100644
index 00000000..b2383d62
--- /dev/null
+++ b/templates/gentoo-latest/gentoo_x86.yml
@@ -0,0 +1,25 @@
+---
+:os_type_id: 'Gentoo'
+:architecture: 'x86'
+:postinstall_files:
+  - 'settings_x86.sh'
+  - 'base.sh'
+  - 'kernel.sh'
+  - 'usb.sh'
+  - 'git.sh'
+  - 'subversion.sh'
+  - 'virtualbox.sh'
+  - 'vagrant.sh'
+  - 'ruby.sh'
+  - 'add_chef.sh'
+  - 'add_puppet.sh'
+  - 'add_vim.sh'
+  - 'cron.sh'
+  - 'syslog.sh'
+  - 'nfs.sh'
+  - 'grub.sh'
+  - 'wipe_portage.sh'
+  - 'wipe_sources.sh'
+  - 'cleanup.sh'
+  - 'zerodisk.sh'
+  - 'reboot.sh'
\ No newline at end of file
diff --git a/templates/gentoo-latest/gentoo_x86_minimal.yml b/templates/gentoo-latest/gentoo_x86_minimal.yml
new file mode 100644
index 00000000..e353170e
--- /dev/null
+++ b/templates/gentoo-latest/gentoo_x86_minimal.yml
@@ -0,0 +1,25 @@
+---
+:os_type_id: 'Gentoo'
+:architecture: 'x86'
+:postinstall_files:
+  - 'settings_x86.sh'
+  - 'base.sh'
+  - 'kernel.sh'
+#  - 'usb.sh'
+  - 'git.sh'
+#  - 'subversion.sh'
+  - 'virtualbox.sh'
+  - 'vagrant.sh'
+#  - 'ruby.sh'
+#  - 'add_chef.sh'
+#  - 'add_puppet.sh'
+  - 'add_vim.sh'
+  - 'cron.sh'
+  - 'syslog.sh'
+  - 'nfs.sh'
+  - 'grub.sh'
+  - 'wipe_portage.sh'
+  - 'wipe_sources.sh'
+  - 'cleanup.sh'
+  - 'zerodisk.sh'
+  - 'reboot.sh'
diff --git a/templates/gentoo-latest-amd64/git.sh b/templates/gentoo-latest/git.sh
similarity index 100%
rename from templates/gentoo-latest-amd64/git.sh
rename to templates/gentoo-latest/git.sh
diff --git a/templates/gentoo-latest/grub.sh b/templates/gentoo-latest/grub.sh
new file mode 100644
index 00000000..c4e42627
--- /dev/null
+++ b/templates/gentoo-latest/grub.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+source /etc/profile
+
+# use grub2
+cat <> "$chroot/etc/portage/package.accept_keywords/grub"
+sys-boot/grub:2
+DATAEOF
+
+# install grub
+chroot "$chroot" emerge grub
+
+# tweak timeout
+chroot "$chroot" sed -i "s/#GRUB_TIMEOUT=/GRUB_TIMEOUT=/g" /etc/default/grub
+chroot "$chroot" sed -i "s/GRUB_TIMEOUT=.*/GRUB_TIMEOUT=1/g" /etc/default/grub
+# Force old interface naming convention.
+chroot "$chroot" sed -i "s/#GRUB_CMDLINE_LINUX=/GRUB_CMDLINE_LINUX=/g" /etc/default/grub
+chroot "$chroot" sed -i "s/GRUB_CMDLINE_LINUX=.*/GRUB_CMDLINE_LINUX=\"net.ifnames=0\"/g" /etc/default/grub
+
+# make the disk bootable
+chroot "$chroot" /bin/bash <> "$chroot/etc/portage/make.conf"
-# use ruby 1.9
-RUBY_TARGETS="ruby19"
+# use ruby 2.0
+RUBY_TARGETS="ruby20"
 DATAEOF
 
 cat <> "$chroot/etc/portage/package.accept_keywords/ruby"
@@ -12,6 +12,6 @@ DATAEOF
 
 chroot "$chroot" /bin/bash < /dev/null
 # add vagrant user
 chroot $chroot /bin/bash <> "$chroot/etc/portage/package.accept_keywords/virtualbox-guest-additions"
 app-emulation/virtualbox-guest-additions ~x86 ~amd64
+x11-drivers/xf86-video-virtualbox ~x86 ~amd64
 DATAEOF
 
 # unmask
 cat <> "$chroot/etc/portage/package.unmask/virtualbox-guest-additions"
->=app-emulation/virtualbox-guest-additions-4.3.0
+>=app-emulation/virtualbox-guest-additions-4.3.2
+>=x11-drivers/xf86-video-virtualbox-4.3.2
 DATAEOF
 
 # install the virtualbox guest additions, add vagrant and root to group vboxguest
diff --git a/templates/gentoo-latest/wipe_portage.sh b/templates/gentoo-latest/wipe_portage.sh
new file mode 100644
index 00000000..bab22719
--- /dev/null
+++ b/templates/gentoo-latest/wipe_portage.sh
@@ -0,0 +1,88 @@
+#!/bin/bash
+source /etc/profile
+
+cat < "$chroot/etc/portage/rsync_excludes.sh"
+#!/bin/sh
+if [ ! -f /usr/bin/equery ]
+  then
+    /bin/echo "/usr/bin/equery does NOT exist!"
+    /bin/echo " Please emerge app-portage/gentoolkit"
+    exit 1
+fi
+
+/bin/echo ""
+/bin/echo "creating list of installed packages..."
+
+/usr/bin/equery list '*' | \
+  /bin/sed -e 's/-[0-9].*$//' \
+           -e '/* installed packages/d' \
+> .rsync_exclude.tmp
+
+/bin/echo "building rsync_excludes..."
+
+cat .rsync_exclude.tmp | sed -e 's/^/+ /' > rsync_excludes
+
+/bin/echo "- /*-*/*" >> rsync_excludes
+
+cat .rsync_exclude.tmp | \
+  sed -e 's/^/+ metadata\/cache\//' \
+      -e 's/$/*/' \
+>> rsync_excludes
+
+/bin/echo "- licenses**"          >> rsync_excludes
+/bin/echo "- metadata/cache/*/*"  >> rsync_excludes
+/bin/echo "- metadata/timestamp*" >> rsync_excludes
+/bin/echo "- virtual/*"           >> rsync_excludes
+
+/bin/echo "+ profiles/default/linux/alpha/*"    >> rsync_excludes
+/bin/echo "+ profiles/default/linux/arm/*"      >> rsync_excludes
+/bin/echo "+ profiles/default/linux/hppa/*"     >> rsync_excludes
+/bin/echo "+ profiles/default/linux/ia64/*"     >> rsync_excludes
+/bin/echo "+ profiles/default/linux/m68k/*"     >> rsync_excludes
+/bin/echo "+ profiles/default/linux/mips/*"     >> rsync_excludes
+/bin/echo "+ profiles/default/linux/powerpc/*"  >> rsync_excludes
+/bin/echo "+ profiles/default/linux/s390/*"     >> rsync_excludes
+/bin/echo "+ profiles/default/linux/sh/*"       >> rsync_excludes
+/bin/echo "+ profiles/default/linux/sparc/*"    >> rsync_excludes
+/bin/echo "+ profiles/default/linux/use.mask/*" >> rsync_excludes
+#/bin/echo "+ profiles/default/linux/amd64/*"    >> rsync_excludes
+#/bin/echo "+ profiles/default/linux/x86/*"      >> rsync_excludes
+
+/bin/echo "+ profiles/arch/alpha/*"      >> rsync_excludes
+#/bin/echo "+ profiles/arch/amd64/*"      >> rsync_excludes
+#/bin/echo "+ profiles/arch/amd64-fbsd/*" >> rsync_excludes
+/bin/echo "+ profiles/arch/arm/*"        >> rsync_excludes
+#/bin/echo "+ profiles/arch/base/*"       >> rsync_excludes
+/bin/echo "+ profiles/arch/hppa/*"       >> rsync_excludes
+#/bin/echo "+ profiles/arch/ia64/*"       >> rsync_excludes
+/bin/echo "+ profiles/arch/m68k/*"       >> rsync_excludes
+/bin/echo "+ profiles/arch/mips/*"       >> rsync_excludes
+/bin/echo "+ profiles/arch/powerpc/*"    >> rsync_excludes
+/bin/echo "+ profiles/arch/s390/*"       >> rsync_excludes
+/bin/echo "+ profiles/arch/sh/*"         >> rsync_excludes
+/bin/echo "+ profiles/arch/sparc/*"      >> rsync_excludes
+/bin/echo "+ profiles/arch/sparc-fbsd/*" >> rsync_excludes
+#/bin/echo "+ profiles/arch/x86/*"        >> rsync_excludes
+#/bin/echo "+ profiles/arch/x86-fbsd/*"   >> rsync_excludes
+
+rm -f .rsync_exclude.tmp
+
+/bin/echo "done"
+DATAEOF
+
+cat <> "$chroot/etc/portage/make.conf"
+PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes --delete-excluded --delete-before"
+DATAEOF
+
+# compact the portage
+chroot "$chroot" /bin/bash < /etc/sudoers.d/vagrant
+
+# Tweak sshd to prevent DNS resolution (speed up logins)
+echo 'UseDNS no' >> /etc/ssh/sshd_config
+
+# Remove 5s grub timeout to speed up booting
+cat < /etc/default/grub
+# If you change this file, run 'update-grub' afterwards to update
+# /boot/grub/grub.cfg.
+
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=0
+GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
+GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+GRUB_CMDLINE_LINUX="debian-installer=en_US"
+EOF
+
+update-grub
diff --git a/templates/kali-1.0.9a-amd64/chef.sh b/templates/kali-1.0.9a-amd64/chef.sh
new file mode 100644
index 00000000..cd119586
--- /dev/null
+++ b/templates/kali-1.0.9a-amd64/chef.sh
@@ -0,0 +1,49 @@
+if [ -f .veewee_params ]
+then
+  . .veewee_params
+fi
+
+# Default to Gem install
+if [ -z "$CHEF_INSTALLMETHOD" ]; then
+  export CHEF_INSTALLMETHOD="gems"
+fi
+
+# Installing chef
+case $CHEF_INSTALLMETHOD in
+  "gems")
+    # Using gems
+    if [ -z "$CHEF_VERSION" ]; then
+      # Default to latest
+      gem install chef --no-ri --no-rdoc
+    else
+      gem install chef --no-ri --no-rdoc --version $CHEF_VERSION
+    fi
+    ;;
+
+  "omnibus")
+    # Using omnibus
+    if [ -z "$CHEF_VERSION" ]; then
+      # Default to latest
+      wget -O - http://opscode.com/chef/install.sh | sudo bash -s
+    else
+      wget -O - http://opscode.com/chef/install.sh | sudo bash -s -- -v $CHEF_VERSION
+    fi
+    ;;
+
+  "package")
+    # Using packages
+    apt-get install -y debconf-utils
+    echo "chef    chef/chef_server_url    string  $CHEF_SERVER_URL" | debconf-set-selections
+    if [ -z "$CHEF_VERSION" ]; then
+      # Default to latest
+      apt-get install -y chef
+    else
+      apt-get install -y chef=$CHEF_VERSION
+    fi
+    ;;
+
+  *)
+    echo "Unsupported method for installing chef"
+    exit -1
+    ;;
+esac
diff --git a/templates/kali-1.0.9a-amd64/cleanup.sh b/templates/kali-1.0.9a-amd64/cleanup.sh
new file mode 100644
index 00000000..f492af6c
--- /dev/null
+++ b/templates/kali-1.0.9a-amd64/cleanup.sh
@@ -0,0 +1,20 @@
+# Clean up
+apt-get -y remove linux-headers-$(uname -r)
+apt-get -y autoremove
+apt-get -y clean
+
+# Removing leftover leases and persistent rules
+echo "cleaning up dhcp leases"
+rm /var/lib/dhcp/*
+
+# Make sure Udev doesn't block our network
+echo "cleaning up udev rules"
+rm /etc/udev/rules.d/70-persistent-net.rules
+mkdir /etc/udev/rules.d/70-persistent-net.rules
+rm -rf /dev/.udev/
+rm /lib/udev/rules.d/75-persistent-net-generator.rules
+
+echo "Adding a 2 sec delay to the interface up, to make the dhclient happy"
+echo "pre-up sleep 2" >> /etc/network/interfaces
+
+update-rc.d gdm3 disable
diff --git a/templates/kali-1.0.9a-amd64/definition.rb b/templates/kali-1.0.9a-amd64/definition.rb
new file mode 100644
index 00000000..96a2d374
--- /dev/null
+++ b/templates/kali-1.0.9a-amd64/definition.rb
@@ -0,0 +1,51 @@
+Veewee::Session.declare({
+  :cpu_count => '1',
+  :memory_size => '512',
+  :disk_size => '20480',
+  :disk_format => 'VDI',
+  :hostiocache => 'off',
+  :os_type_id => 'Debian_64',
+  :iso_file => "kali-linux-1.0.9a-amd64.iso",
+  :iso_src => "http://cdimage.kali.org/kali-1.0.9a/kali-linux-1.0.9a-amd64.iso",
+  :iso_md5 => "401e2b14921de5f808c7786b3b84dc57",
+  :iso_download_timeout => "2000",
+  :boot_wait => "10",
+  :boot_cmd_sequence => [
+     '',
+     'install ',
+     'preseed/url=http://%IP%:%PORT%/preseed.cfg ',
+     'debian-installer=en_US ',
+     'auto ',
+     'locale=en_US ',
+     'kbd-chooser/method=us ',
+     'netcfg/get_hostname=%NAME% ',
+     'netcfg/get_domain=vagrantup.com ',
+     'fb=false ',
+     'debconf/frontend=noninteractive ',
+     'console-setup/ask_detect=false ',
+     'console-keymaps-at/keymap=us ',
+     'keyboard-configuration/xkb-keymap=us ',
+     ''
+  ],  
+  :kickstart_port => "7122",
+  :kickstart_timeout => "10000",
+  :kickstart_file => "preseed.cfg",
+  :ssh_login_timeout => "10000",
+  :ssh_user => "vagrant",
+  :ssh_password => "vagrant",
+  :ssh_key => "",
+  :ssh_host_port => "7222",
+  :ssh_guest_port => "22",
+  :sudo_cmd => "echo '%p'|sudo -S bash '%f'",
+  :shutdown_cmd => "halt -h -p",
+  :postinstall_files => [
+    "base.sh",
+    "virtualbox.sh",
+    "vagrant.sh",
+    "chef.sh",
+    "puppet.sh",
+    "cleanup.sh",
+    "zerodisk.sh"
+  ],
+  :postinstall_timeout => "10000"
+})
diff --git a/templates/kali-1.0.9a-amd64/preseed.cfg b/templates/kali-1.0.9a-amd64/preseed.cfg
new file mode 100644
index 00000000..ec43cfef
--- /dev/null
+++ b/templates/kali-1.0.9a-amd64/preseed.cfg
@@ -0,0 +1,73 @@
+d-i debian-installer/locale string en_US 
+d-i console-keymaps-at/keymap select us 
+d-i mirror/country string enter information manually 
+d-i mirror/suite string kali 
+d-i mirror/codename string kali 
+d-i mirror/http/hostname string archive.kali.org 
+d-i mirror/http/directory string /kali 
+d-i mirror/http/proxy string 
+d-i clock-setup/utc boolean true
+d-i clock-setup/ntp boolean true
+d-i time/zone string UTC 
+
+d-i apt-setup/services-select multiselect 
+
+d-i apt-setup/non-free boolean true 
+d-i apt-setup/contrib boolean true 
+
+d-i partman-auto/method string regular 
+d-i partman-lvm/device_remove_lvm boolean true 
+d-i partman-md/device_remove_md boolean true 
+d-i partman-lvm/confirm boolean true 
+d-i partman-auto/choose_recipe select atomic 
+d-i partman/confirm_write_new_label boolean true 
+d-i partman/choose_partition select finish 
+d-i partman/confirm boolean true 
+d-i partman/confirm_nooverwrite boolean true
+
+d-i apt-setup/local0/repository string http://archive.kali.org/kali-security kali/updates main 
+d-i apt-setup/local0/comment string Security updates 
+d-i apt-setup/local0/source boolean false 
+d-i apt-setup/use_mirror boolean true
+tasksel tasksel/first multiselect standard 
+d-i pkgsel/include string sudo openssh-server ntpupdate ntp acpid bzip2 rsync htop mysql-server
+d-i pkgsel/upgrade select full-upgrade
+
+d-i netcfg/get_hostname string unassigned-hostname 
+d-i netcfg/get_domain string unassigned-domain 
+d-i netcfg/hostname string system
+d-i passwd/make-user boolean true
+d-i passwd/root-password password toor 
+d-i passwd/root-password-again password toor 
+
+d-i passwd/user-fullname string Vagrant User
+d-i passwd/username string vagrant
+d-i passwd/user-password password vagrant
+d-i passwd/user-password-again password vagrant
+d-i passwd/user-default-groups string audio cdrom video adm sudo
+d-i user-setup/encrypt-home boolean false
+d-i user-setup/allow-password-weak boolean true
+
+popularity-contest popularity-contest/participate boolean false 
+d-i grub-installer/only_debian boolean true 
+d-i grub-installer/with_other_os boolean false 
+d-i finish-install/reboot_in_progress note
+
+kismet kismet/install-setuid boolean false
+kismet kismet/install-users string  
+
+mysql-server-5.5 mysql-server/root_password_again password  
+mysql-server-5.5 mysql-server/root_password password    
+mysql-server-5.5 mysql-server/error_setting_password error  
+mysql-server-5.5 mysql-server-5.5/postrm_remove_databases boolean false
+mysql-server-5.5 mysql-server-5.5/start_on_boot boolean true
+mysql-server-5.5 mysql-server-5.5/nis_warning note  
+mysql-server-5.5 mysql-server-5.5/really_downgrade boolean false
+mysql-server-5.5 mysql-server/password_mismatch error   
+mysql-server-5.5 mysql-server/no_upgrade_when_using_ndb error
+
+d-i preseed/late_command string in-target update-rc.d ssh enable
+
+d-i preseed/early_command string sed -i \
+  '/in-target/idiscover(){/sbin/discover|grep -v VirtualBox;}' \
+  /usr/lib/pre-pkgsel.d/20install-hwpackages
diff --git a/templates/kali-1.0.9a-amd64/puppet.sh b/templates/kali-1.0.9a-amd64/puppet.sh
new file mode 100644
index 00000000..107b2361
--- /dev/null
+++ b/templates/kali-1.0.9a-amd64/puppet.sh
@@ -0,0 +1,7 @@
+# Prepare puppetlabs repo
+wget http://apt.puppetlabs.com/puppetlabs-release-wheezy.deb
+dpkg -i puppetlabs-release-wheezy.deb
+apt-get update
+
+# Install puppet/facter
+apt-get install -y puppet facter
diff --git a/templates/kali-1.0.9a-amd64/vagrant.sh b/templates/kali-1.0.9a-amd64/vagrant.sh
new file mode 100644
index 00000000..d76be9bb
--- /dev/null
+++ b/templates/kali-1.0.9a-amd64/vagrant.sh
@@ -0,0 +1,16 @@
+# Set up Vagrant.
+
+date > /etc/vagrant_box_build_time
+
+# Install vagrant keys
+mkdir -pm 700 /home/vagrant/.ssh
+curl -Lo /home/vagrant/.ssh/authorized_keys \
+  'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub'
+chmod 0600 /home/vagrant/.ssh/authorized_keys
+chown -R vagrant:vagrant /home/vagrant/.ssh
+
+# Customize the message of the day
+echo 'Welcome to your Vagrant-built virtual machine.' > /var/run/motd
+
+# Install NFS client
+apt-get -y install nfs-common
diff --git a/templates/kali-1.0.9a-amd64/virtualbox.sh b/templates/kali-1.0.9a-amd64/virtualbox.sh
new file mode 100644
index 00000000..4dad6492
--- /dev/null
+++ b/templates/kali-1.0.9a-amd64/virtualbox.sh
@@ -0,0 +1,37 @@
+if test -f .vbox_version ; then
+  # The netboot installs the VirtualBox support (old) so we have to remove it
+  if test -f /etc/init.d/virtualbox-ose-guest-utils ; then
+    /etc/init.d/virtualbox-ose-guest-utils stop
+  fi
+
+  rmmod vboxguest
+  aptitude -y purge virtualbox-ose-guest-x11 virtualbox-ose-guest-dkms virtualbox-ose-guest-utils
+
+  # Install dkms for dynamic compiles
+
+  apt-get install -y dkms
+
+  # If libdbus is not installed, virtualbox will not autostart
+  apt-get -y install --no-install-recommends libdbus-1-3
+
+  # Install the VirtualBox guest additions
+  VBOX_VERSION=$(cat .vbox_version)
+  VBOX_ISO=VBoxGuestAdditions_$VBOX_VERSION.iso
+  mount -o loop $VBOX_ISO /mnt
+  yes|sh /mnt/VBoxLinuxAdditions.run
+  umount /mnt
+
+  # Start the newly build driver
+  /etc/init.d/vboxadd start
+
+  # Make a temporary mount point
+  mkdir /tmp/veewee-validation
+
+  # Test mount the veewee-validation
+  mount -t vboxsf veewee-validation /tmp/veewee-validation
+
+  rm $VBOX_ISO
+
+  # Symlink vbox guest additions. Fix for https://github.com/mitchellh/vagrant/issues/3341
+  ln -s /opt/VBoxGuestAdditions-$VBOX_VERSION/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions
+fi
diff --git a/templates/kali-1.0.9a-amd64/zerodisk.sh b/templates/kali-1.0.9a-amd64/zerodisk.sh
new file mode 100644
index 00000000..938075a3
--- /dev/null
+++ b/templates/kali-1.0.9a-amd64/zerodisk.sh
@@ -0,0 +1,3 @@
+# Zero out the free space to save space in the final image:
+dd if=/dev/zero of=/EMPTY bs=1M
+rm -f /EMPTY
diff --git a/templates/netbsd-613-amd64/definition.rb b/templates/netbsd-613-amd64/definition.rb
index 90f4ae2c..b0591367 100644
--- a/templates/netbsd-613-amd64/definition.rb
+++ b/templates/netbsd-613-amd64/definition.rb
@@ -89,7 +89,7 @@
    'umount /mnt',
    'reboot'
   ],
-  :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "",
+  :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "",
   :ssh_login_timeout => "10000", :ssh_user => "root", :ssh_password => "vagrant", :ssh_key => "",
   :ssh_host_port => "7222", :ssh_guest_port => "22",
   :sudo_cmd => "sh '%f'",
diff --git a/templates/openSUSE-11.4-DVD-i586/definition.rb b/templates/openSUSE-11.4-DVD-i586/definition.rb
deleted file mode 100644
index bd13620f..00000000
--- a/templates/openSUSE-11.4-DVD-i586/definition.rb
+++ /dev/null
@@ -1,28 +0,0 @@
-Veewee::Session.declare({
-  :os_type_id => 'OpenSUSE', :cpu_count => '1', :memory_size=> '512',
-  :disk_size => '20480', :disk_format => 'VDI', :hostiocache => 'off',
-  :iso_file => "openSUSE-11.4-DVD-i586.iso",
-  :iso_src => "http://download.opensuse.org/distribution/11.4/iso/openSUSE-11.4-DVD-i586.iso",
-  #:iso_src => "http://ftp.belnet.be/mirror/ftp.opensuse.org/distribution/11.4/iso/openSUSE-11.4-DVD-i586.iso",
-  :iso_md5 => "5f6d6d67c3e256b2513311f4ed650515",
-  :iso_download_timeout => "1000",
-  :boot_wait => "10", :boot_cmd_sequence => [
-    '',
-    'linux netdevice=eth0 netsetup=dhcp',
-    ' install=cd:/',
-    ' lang=en_US autoyast=http://%IP%:%PORT%/autoinst_en.xml',
-    # disable prev line and enable next line to install with german settings
-    #' lang=de_DE autoyast=http://%IP%:%PORT%/autoinst_de.xml',
-    ' textmode=1',
-    ''
-   ],
-  :kickstart_port => "7122", :kickstart_timeout => "10000",
-  :kickstart_file => ["autoinst_en.xml", "autoinst_en.xml"],
-  # disable prev line and enable next line to install with german settings
-  #:kickstart_file => ["autoinst_de.xml", "autoinst_de.xml"],
-  :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
-  :ssh_host_port => "7222", :ssh_guest_port => "22",
-  :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
-  :shutdown_cmd => "shutdown -P now",
-  :postinstall_files => ["postinstall.sh"], :postinstall_timeout => "10000"
-})
diff --git a/templates/openSUSE-11.4-DVD-x86_64/definition.rb b/templates/openSUSE-11.4-DVD-x86_64/definition.rb
deleted file mode 100644
index fb04db35..00000000
--- a/templates/openSUSE-11.4-DVD-x86_64/definition.rb
+++ /dev/null
@@ -1,28 +0,0 @@
-Veewee::Session.declare({
-  :os_type_id => 'OpenSUSE_64', :cpu_count => '1', :memory_size=> '512',
-  :disk_size => '20480', :disk_format => 'VDI', :hostiocache => 'off',
-  :iso_file => "openSUSE-11.4-DVD-x86_64.iso",
-  :iso_src => "http://download.opensuse.org/distribution/11.4/iso/openSUSE-11.4-DVD-x86_64.iso",
-  #:iso_src => "http://ftp.belnet.be/mirror/ftp.opensuse.org/distribution/11.4/iso/openSUSE-11.4-DVD-x86_64.iso",
-  :iso_md5 => "082ebfac494b41cd56b38fb4218c545d",
-  :iso_download_timeout => "1000",
-  :boot_wait => "10", :boot_cmd_sequence => [
-    '',
-    'linux netdevice=eth0 netsetup=dhcp',
-    ' install=cd:/',
-    ' lang=en_US autoyast=http://%IP%:%PORT%/autoinst_en.xml',
-    # disable prev line and enable next line to install with german settings
-    #' lang=de_DE autoyast=http://%IP%:%PORT%/autoinst_de.xml',
-    ' textmode=1',
-    ''
-   ],
-  :kickstart_port => "7122", :kickstart_timeout => "10000",
-  :kickstart_file => ["autoinst_en.xml", "autoinst_en.xml"],
-  # disable prev line and enable next line to install with german settings
-  #:kickstart_file => ["autoinst_de.xml", "autoinst_de.xml"],
-  :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
-  :ssh_host_port => "7222", :ssh_guest_port => "22",
-  :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
-  :shutdown_cmd => "shutdown -P now",
-  :postinstall_files => ["postinstall.sh"], :postinstall_timeout => "10000"
-})
diff --git a/templates/openSUSE-11.4-NET-i586/autoinst_de.xml b/templates/openSUSE-11.4-NET-i586/autoinst_de.xml
deleted file mode 100644
index b2d2162a..00000000
--- a/templates/openSUSE-11.4-NET-i586/autoinst_de.xml
+++ /dev/null
@@ -1,1278 +0,0 @@
-
-
-
-  
-    
-      
-        
-        openSUSE-updates
-        /
-      
-      
-        
-        openSUSE-non-oss
-        /
-      
-    
-  
-  
-    
-      
-        hd0
-        /dev/sda
-      
-    
-    
-      true
-      openSUSE 11.4 - 2.6.37.1-1.2
-      true
-      2
-      8
-    
-    
-      
-        ahci
-      
-      
-        ata_piix
-      
-      
-        ata_generic
-      
-      
-        thermal
-      
-      
-        processor
-      
-      
-        fan
-      
-    
-    grub
-    
-      
- resume=/dev/sda1 splash=silent quiet showopts - (hd0,1)/boot/vmlinuz-2.6.37.1-1.2-default - 1 - (hd0,1)/boot/initrd-2.6.37.1-1.2-default - 0 - openSUSE 11.4 - 2.6.37.1-1.2 - linux - /dev/sda2 - image -
-
- showopts apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe - (hd0,1)/boot/vmlinuz-2.6.37.1-1.2-default - (hd0,1)/boot/initrd-2.6.37.1-1.2-default - 1 - Failsafe -- openSUSE 11.4 - 2.6.37.1-1.2 - failsafe - /dev/sda2 - image -
-
-
- - false - - - no - no - no - sshd - sshd - sshd - - - - - - no - yes - no - no - nf_conntrack_netbios_ns - no - yes - no - yes - no - no - no - - - - - - - - - - - - - - - - - - - false - false - - - - - false - - - none - - - - true - true - true - true - false - true - - - - - - 100 - x - users - - - - 19 - x - floppy - - - - 1 - x - bin - daemon - - - 54 - x - lock - - - - 41 - x - xok - - - - 65533 - x - nobody - - - - 43 - x - modem - - - - 5 - x - tty - - - - 7 - x - lp - - - - 51 - ! - postfix - - - - 65534 - x - nogroup - nobody - - - 101 - ! - messagebus - - - - 59 - ! - maildrop - - - - 33 - x - video - vagrant - - - 3 - x - sys - - - - 15 - x - shadow - - - - 20 - x - cdrom - - - - 21 - x - console - - - - 42 - x - trusted - - - - 16 - x - dialout - - - - 10 - x - wheel - - - - 8 - x - www - - - - 40 - x - games - - - - 6 - x - disk - - - - 17 - x - audio - - - - 49 - x - ftp - - - - 9 - x - kmem - - - - 32 - x - public - - - - 103 - ! - tape - - - - 12 - x - mail - - - - 0 - x - root - - - - 2 - x - daemon - - - - 104 - ! - ntp - - - - 14 - x - uucp - - - - 62 - x - man - - - - 22 - x - utmp - - - - 13 - x - news - - - - 102 - ! - sshd - - - - - - - 127.0.0.1 - - localhost - - - - 127.0.0.2 - - vagrant-opensuse-114-x32.vagrantup.com vagrant-opensuse-114-x32 - - - - ::1 - - localhost ipv6-localhost ipv6-loopback - - - - fe00::0 - - ipv6-localnet - - - - ff00::0 - - ipv6-mcastprefix - - - - ff02::1 - - ipv6-allnodes - - - - ff02::2 - - ipv6-allrouters - - - - ff02::3 - - ipv6-allhosts - - - - - - german - - - de_DE - en_US,de_DE - - - - - false - false - dc=example,dc=com - 127.0.0.1 - true - false - true - member - false - exop - true - false - false - - - - - - AUTO - - - true - vagrantup.com - vagrant-opensuse-114-x32 - auto - - vagrantup.com - - true - - - - dhcp - eth0 - 82540EM Gigabit Ethernet Controller - nfsroot - no - - - true - false - - - eth0 - KERNELS - 0000:00:03.0 - - - - false - - - - auto - false - false - - false - - - - - false - false - - - - /dev/sda - true - - - true - false - swap - true - defaults - false - swap - device - 130 - 1 - - false - 525M - - - true - false - ext4 - true - acl,user_xattr - false - / - device - 131 - 2 - - false - max - - - - CT_DISK - all - - - - - - - - - - - - false - - - - localhost, 127.0.0.1 - - - - - - true - true - 0 - - - true - true - 0 - - - true - true - 0 - - - true - true - 0 - - - - 3 - - - sshd - 3 5 - - - - - true - - - kernel-default - - autoyast2 - binutils - binutils-gold - crda - gcc - gcc45 - glibc-devel - hicolor-icon-theme-branding-openSUSE - kernel-default-devel - kexec-tools - less - libgomp45 - libnl - linux-glibc-devel - make - ruby - ruby-devel - rubygems - sudo - vim - vim-data - wget - wireless-regdb - yast2-schema - yast2-trans-de - yast2-trans-en_US - - - base - sw_management - yast2_basis - yast2_install_wf - - - FastCGI - Mesa - PackageKit - PackageKit-branding-openSUSE - PackageKit-branding-upstream - PackageKit-lang - PolicyKit - a2ps - apache2 - apache2-itk - apache2-prefork - apache2-utils - apache2-worker - bash-lang - bea-stax-api - bundle-lang-common-ar - bundle-lang-common-ca - bundle-lang-common-cs - bundle-lang-common-da - bundle-lang-common-es - bundle-lang-common-fi - bundle-lang-common-fr - bundle-lang-common-hu - bundle-lang-common-it - bundle-lang-common-ja - bundle-lang-common-ko - bundle-lang-common-nb - bundle-lang-common-nl - bundle-lang-common-pl - bundle-lang-common-pt - bundle-lang-common-ru - bundle-lang-common-sv - bundle-lang-common-zh - bundle-lang-gnome-ar - bundle-lang-gnome-ca - bundle-lang-gnome-cs - bundle-lang-gnome-da - bundle-lang-gnome-de - bundle-lang-gnome-en - bundle-lang-gnome-es - bundle-lang-gnome-fi - bundle-lang-gnome-fr - bundle-lang-gnome-hu - bundle-lang-gnome-it - bundle-lang-gnome-ja - bundle-lang-gnome-ko - bundle-lang-gnome-nb - bundle-lang-gnome-nl - bundle-lang-gnome-pl - bundle-lang-gnome-pt - bundle-lang-gnome-ru - bundle-lang-gnome-sv - bundle-lang-gnome-zh - cifs-utils - coreutils-lang - cpio-lang - cracklib-dict-small - cups - cups-client - cups-libs - dbus-1-python - dbus-1-x11 - exim - fam - fonts-config - foomatic-filters - freeglut - ft2demos - fuse - gconf2 - gconf2-lang - gd - gdk-pixbuf-lang - gdk-pixbuf-query-loaders - ghostscript-fonts-other - ghostscript-fonts-std - ghostscript-library - ghostscript-x11 - giflib - glib2-branding-upstream - glib2-lang - gnome-icon-theme - gnome-keyring - gnome-keyring-lang - gnome-keyring-pam - gpg2-lang - graphviz - graphviz-gd - graphviz-gnome - gtk2-branding-openSUSE - gtk2-branding-upstream - gtk2-data - gtk2-engine-murrine - gtk2-immodule-amharic - gtk2-immodule-inuktitut - gtk2-immodule-thai - gtk2-immodule-vietnamese - gtk2-lang - gtk2-metatheme-sonar - gtk2-tools - gutenprint - gvfs - gvfs-backend-afc - gvfs-backends - gvfs-fuse - gvfs-lang - hplip - hplip-hpijs - icedtea-web - java-1_6_0-openjdk - java-1_6_0-openjdk-plugin - java-1_6_0-sun - java-ca-certificates - jline - jpackage-utils - keyutils - krb5-mini - lcms - libFLAC8 - libIDL-2-0 - libQtWebKit4 - libXi6 - libapr-util1 - libapr1 - libarchive2 - libasound2 - libatasmart4 - libatk-1_0-0 - libavahi-client3 - libavahi-common3 - libavahi-glib1 - libbluetooth3 - libcairo2 - libcdio12 - libcdio12-mini - libcdio_cdda0 - libcdio_paranoia0 - libdrm - libebl1 - libevtlog0 - libexif12 - libffi45 - libfreebl3 - libfuse2 - libgcj45 - libgcj45-jar - libgcr0 - libgdk_pixbuf-2_0-0 - libgdu-lang - libgdu0 - libgimpprint - libgirepository-1_0-1 - libgnome-keyring-lang - libgnome-keyring0 - libgp11-0 - libgp11-modules - libgphoto2 - libgphoto2-lang - libgtk-2_0-0 - libgvfscommon0 - libieee1284 - libjasper1 - libjpeg62 - liblcms1 - libldb0 - liblockdev1 - libltdl7 - libmng - libmysqlclient_r16 - libnet1 - libnih - libogg0 - libopenobex1 - libpackagekit-glib2-14 - libpango-1_0-0 - libpciaccess0 - libpixman-1-0 - libpng14-14 - libpoppler7 - libpq5 - libpulse0 - libpython2_7-1_0 - libqdialogsolver1 - libqt4 - libqt4-qt3support - libqt4-sql - libqt4-sql-mysql - libqt4-sql-postgresql - libqt4-sql-sqlite - libqt4-sql-unixODBC - libqt4-x11 - libsensors4 - libsmbclient0 - libsndfile - libsnmp25 - libsoftokn3 - libsoup-2_4-1 - libsqlite3-0 - libtalloc2 - libtdb1 - libtevent0 - libtiff3 - libvorbis0 - libvorbisenc2 - libwbclient0 - libxml2-python - lockdev - login-lang - m4 - mawk - metamail - metatheme-sonar-common - mozilla-nspr - mozilla-nss - mozilla-nss-certs - nginx-0.8 - obex-data-server - openSUSE-dynamic-wallpaper - openSUSE-release-livetree - orbit2 - pango-tools - poppler-data - poppler-tools - procmail - python - python-base - python-gobject - python-qt4 - python-sip - python-xml - readline-doc - rhino - ruby-fcgi - rubygem-actionmailer-2_3 - rubygem-actionpack-2_3 - rubygem-activerecord - rubygem-activerecord-2_3 - rubygem-activeresource-2_3 - rubygem-activesupport-2_3 - rubygem-daemon_controller - rubygem-fastthread - rubygem-file-tail - rubygem-gettext - rubygem-gettext_activerecord - rubygem-gettext_rails - rubygem-http_accept_language - rubygem-locale - rubygem-locale_rails - rubygem-passenger - rubygem-passenger-nginx - rubygem-polkit - rubygem-rack - rubygem-rails - rubygem-rails-2_3 - rubygem-rake - rubygem-rpam - rubygem-ruby-dbus - rubygem-spruz - rubygem-sqlite3 - rubygem-webyast-rake-tasks - samba - samba-client - sane-backends - sendmail - sg3_utils - sharutils - snmp-mibs - sonar-icon-theme - sqlite3 - syslog-ng - syslogd - systemd - systemd-sysvinit - systemtap - systemtap-runtime - tar-lang - timezone-java - udisks - unixODBC - upower-lang - upstart - util-linux-lang - wdiff - wdiff-lang - webyast-base-ws - xaw3d - xaw3dd - xdmbgrd - xkeyboard-config - xmlbeans - xmlbeans-mini - xorg-x11 - xorg-x11-driver-input - xorg-x11-fonts - xorg-x11-fonts-core - xorg-x11-libXdmcp - xorg-x11-libXv - xorg-x11-server - xorg-x11-xauth - xtermset - yast2-dbus-server - yast2-gtk - yast2-qt - yast2-qt-pkg - yast2-theme-openSUSE-Crystal - yast2-theme-openSUSE-Oxygen - - - - UTC - Europe/Berlin - - - - 100 - video - /home - -1 - /bin/bash - /etc/skel - 022 - - - - true - vagrant - 100 - /home/vagrant - - - - - 99999 - 0 - 7 - - /bin/bash - 1000 - $2a$05$RZAhNZ/UJnRgCUmDBH26deOF3ADehICISxvVz/Z8ypCnGRbJhceIW - vagrant - - - true - Games account - 100 - /var/games - - - - - - - - - /bin/bash - 12 - * - games - - - true - bin - 1 - /bin - - - - - - - - - /bin/bash - 1 - * - bin - - - true - nobody - 65533 - /var/lib/nobody - - - - - - - - - /bin/bash - 65534 - * - nobody - - - true - Printing daemon - 7 - /var/spool/lpd - - - - - - - - - /bin/bash - 4 - * - lp - - - true - Postfix Daemon - 51 - /var/spool/postfix - - - - - 99999 - 0 - 7 - - /bin/false - 51 - * - postfix - - - true - FTP account - 49 - /srv/ftp - - - - - - - - - /bin/bash - 40 - * - ftp - - - true - NFS statd daemon - 65534 - /var/lib/nfs - - - - - 99999 - 0 - 7 - - /sbin/nologin - 102 - * - statd - - - true - root - 0 - /root - - - - - - - - - /bin/bash - 0 - $2a$05$D0Dz9H1YnauSPfWgxe5/y.bWSL9gAO8DlBD/S1XFobWHafUFETWSe - root - - - true - Mailer daemon - 12 - /var/spool/clientmqueue - - - - - - - - - /bin/false - 8 - * - mail - - - true - Daemon - 2 - /sbin - - - - - - - - - /bin/bash - 2 - * - daemon - - - true - NTP daemon - 104 - /var/lib/ntp - - - - - 99999 - 0 - 7 - - /bin/false - 74 - * - ntp - - - true - User for D-Bus - 101 - /var/run/dbus - - - - - - 0 - 7 - - /bin/false - 100 - * - messagebus - - - true - Unix-to-Unix CoPy system - 14 - /etc/uucp - - - - - - - - - /bin/bash - 10 - * - uucp - - - true - WWW daemon apache - 8 - /var/lib/wwwrun - - - - - - - - - /bin/false - 30 - * - wwwrun - - - true - Manual pages viewer - 62 - /var/cache/man - - - - - - - - - /bin/bash - 13 - * - man - - - true - News system - 13 - /etc/news - - - - - - - - - /bin/bash - 9 - * - news - - - true - SSH daemon - 102 - /var/lib/sshd - - - - - - 0 - 7 - - /bin/false - 101 - * - sshd - - -
diff --git a/templates/openSUSE-11.4-NET-i586/autoinst_en.xml b/templates/openSUSE-11.4-NET-i586/autoinst_en.xml deleted file mode 100644 index 63e7c6d3..00000000 --- a/templates/openSUSE-11.4-NET-i586/autoinst_en.xml +++ /dev/null @@ -1,1278 +0,0 @@ - - - - - - - - openSUSE-updates - / - - - - openSUSE-non-oss - / - - - - - - - hd0 - /dev/sda - - - - true - openSUSE 11.4 - 2.6.37.1-1.2 - true - 2 - 8 - - - - ahci - - - ata_piix - - - ata_generic - - - thermal - - - processor - - - fan - - - grub - -
- resume=/dev/sda1 splash=silent quiet showopts - (hd0,1)/boot/vmlinuz-2.6.37.1-1.2-default - 1 - (hd0,1)/boot/initrd-2.6.37.1-1.2-default - 0 - openSUSE 11.4 - 2.6.37.1-1.2 - linux - /dev/sda2 - image -
-
- showopts apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe - (hd0,1)/boot/vmlinuz-2.6.37.1-1.2-default - (hd0,1)/boot/initrd-2.6.37.1-1.2-default - 1 - Failsafe -- openSUSE 11.4 - 2.6.37.1-1.2 - failsafe - /dev/sda2 - image -
-
-
- - false - - - no - no - no - sshd - sshd - sshd - - - - - - no - yes - no - no - nf_conntrack_netbios_ns - no - yes - no - yes - no - no - no - - - - - - - - - - - - - - - - - - - false - false - - - - - false - - - none - - - - true - true - true - true - false - true - - - - - - 100 - x - users - - - - 19 - x - floppy - - - - 1 - x - bin - daemon - - - 54 - x - lock - - - - 41 - x - xok - - - - 65533 - x - nobody - - - - 43 - x - modem - - - - 5 - x - tty - - - - 7 - x - lp - - - - 51 - ! - postfix - - - - 65534 - x - nogroup - nobody - - - 101 - ! - messagebus - - - - 59 - ! - maildrop - - - - 33 - x - video - vagrant - - - 3 - x - sys - - - - 15 - x - shadow - - - - 20 - x - cdrom - - - - 21 - x - console - - - - 42 - x - trusted - - - - 16 - x - dialout - - - - 10 - x - wheel - - - - 8 - x - www - - - - 40 - x - games - - - - 6 - x - disk - - - - 17 - x - audio - - - - 49 - x - ftp - - - - 9 - x - kmem - - - - 32 - x - public - - - - 103 - ! - tape - - - - 12 - x - mail - - - - 0 - x - root - - - - 2 - x - daemon - - - - 104 - ! - ntp - - - - 14 - x - uucp - - - - 62 - x - man - - - - 22 - x - utmp - - - - 13 - x - news - - - - 102 - ! - sshd - - - - - - - 127.0.0.1 - - localhost - - - - 127.0.0.2 - - vagrant-opensuse-114-x32.vagrantup.com vagrant-opensuse-114-x32 - - - - ::1 - - localhost ipv6-localhost ipv6-loopback - - - - fe00::0 - - ipv6-localnet - - - - ff00::0 - - ipv6-mcastprefix - - - - ff02::1 - - ipv6-allnodes - - - - ff02::2 - - ipv6-allrouters - - - - ff02::3 - - ipv6-allhosts - - - - - - english-us - - - en_US - en_US,de_DE - - - - - false - false - dc=example,dc=com - 127.0.0.1 - true - false - true - member - false - exop - true - false - false - - - - - - AUTO - - - true - vagrantup.com - vagrant-opensuse-114-x32 - auto - - vagrantup.com - - true - - - - dhcp - eth0 - 82540EM Gigabit Ethernet Controller - nfsroot - no - - - true - false - - - eth0 - KERNELS - 0000:00:03.0 - - - - false - - - - auto - false - false - - false - - - - - false - false - - - - /dev/sda - true - - - true - false - swap - true - defaults - false - swap - device - 130 - 1 - - false - 525M - - - true - false - ext4 - true - acl,user_xattr - false - / - device - 131 - 2 - - false - max - - - - CT_DISK - all - - - - - - - - - - - - false - - - - localhost, 127.0.0.1 - - - - - - true - true - 0 - - - true - true - 0 - - - true - true - 0 - - - true - true - 0 - - - - 3 - - - sshd - 3 5 - - - - - true - - - kernel-default - - autoyast2 - binutils - binutils-gold - crda - gcc - gcc45 - glibc-devel - hicolor-icon-theme-branding-openSUSE - kernel-default-devel - kexec-tools - less - libgomp45 - libnl - linux-glibc-devel - make - ruby - ruby-devel - rubygems - sudo - vim - vim-data - wget - wireless-regdb - yast2-schema - yast2-trans-de - yast2-trans-en_US - - - base - sw_management - yast2_basis - yast2_install_wf - - - FastCGI - Mesa - PackageKit - PackageKit-branding-openSUSE - PackageKit-branding-upstream - PackageKit-lang - PolicyKit - a2ps - apache2 - apache2-itk - apache2-prefork - apache2-utils - apache2-worker - bash-lang - bea-stax-api - bundle-lang-common-ar - bundle-lang-common-ca - bundle-lang-common-cs - bundle-lang-common-da - bundle-lang-common-es - bundle-lang-common-fi - bundle-lang-common-fr - bundle-lang-common-hu - bundle-lang-common-it - bundle-lang-common-ja - bundle-lang-common-ko - bundle-lang-common-nb - bundle-lang-common-nl - bundle-lang-common-pl - bundle-lang-common-pt - bundle-lang-common-ru - bundle-lang-common-sv - bundle-lang-common-zh - bundle-lang-gnome-ar - bundle-lang-gnome-ca - bundle-lang-gnome-cs - bundle-lang-gnome-da - bundle-lang-gnome-de - bundle-lang-gnome-en - bundle-lang-gnome-es - bundle-lang-gnome-fi - bundle-lang-gnome-fr - bundle-lang-gnome-hu - bundle-lang-gnome-it - bundle-lang-gnome-ja - bundle-lang-gnome-ko - bundle-lang-gnome-nb - bundle-lang-gnome-nl - bundle-lang-gnome-pl - bundle-lang-gnome-pt - bundle-lang-gnome-ru - bundle-lang-gnome-sv - bundle-lang-gnome-zh - cifs-utils - coreutils-lang - cpio-lang - cracklib-dict-small - cups - cups-client - cups-libs - dbus-1-python - dbus-1-x11 - exim - fam - fonts-config - foomatic-filters - freeglut - ft2demos - fuse - gconf2 - gconf2-lang - gd - gdk-pixbuf-lang - gdk-pixbuf-query-loaders - ghostscript-fonts-other - ghostscript-fonts-std - ghostscript-library - ghostscript-x11 - giflib - glib2-branding-upstream - glib2-lang - gnome-icon-theme - gnome-keyring - gnome-keyring-lang - gnome-keyring-pam - gpg2-lang - graphviz - graphviz-gd - graphviz-gnome - gtk2-branding-openSUSE - gtk2-branding-upstream - gtk2-data - gtk2-engine-murrine - gtk2-immodule-amharic - gtk2-immodule-inuktitut - gtk2-immodule-thai - gtk2-immodule-vietnamese - gtk2-lang - gtk2-metatheme-sonar - gtk2-tools - gutenprint - gvfs - gvfs-backend-afc - gvfs-backends - gvfs-fuse - gvfs-lang - hplip - hplip-hpijs - icedtea-web - java-1_6_0-openjdk - java-1_6_0-openjdk-plugin - java-1_6_0-sun - java-ca-certificates - jline - jpackage-utils - keyutils - krb5-mini - lcms - libFLAC8 - libIDL-2-0 - libQtWebKit4 - libXi6 - libapr-util1 - libapr1 - libarchive2 - libasound2 - libatasmart4 - libatk-1_0-0 - libavahi-client3 - libavahi-common3 - libavahi-glib1 - libbluetooth3 - libcairo2 - libcdio12 - libcdio12-mini - libcdio_cdda0 - libcdio_paranoia0 - libdrm - libebl1 - libevtlog0 - libexif12 - libffi45 - libfreebl3 - libfuse2 - libgcj45 - libgcj45-jar - libgcr0 - libgdk_pixbuf-2_0-0 - libgdu-lang - libgdu0 - libgimpprint - libgirepository-1_0-1 - libgnome-keyring-lang - libgnome-keyring0 - libgp11-0 - libgp11-modules - libgphoto2 - libgphoto2-lang - libgtk-2_0-0 - libgvfscommon0 - libieee1284 - libjasper1 - libjpeg62 - liblcms1 - libldb0 - liblockdev1 - libltdl7 - libmng - libmysqlclient_r16 - libnet1 - libnih - libogg0 - libopenobex1 - libpackagekit-glib2-14 - libpango-1_0-0 - libpciaccess0 - libpixman-1-0 - libpng14-14 - libpoppler7 - libpq5 - libpulse0 - libpython2_7-1_0 - libqdialogsolver1 - libqt4 - libqt4-qt3support - libqt4-sql - libqt4-sql-mysql - libqt4-sql-postgresql - libqt4-sql-sqlite - libqt4-sql-unixODBC - libqt4-x11 - libsensors4 - libsmbclient0 - libsndfile - libsnmp25 - libsoftokn3 - libsoup-2_4-1 - libsqlite3-0 - libtalloc2 - libtdb1 - libtevent0 - libtiff3 - libvorbis0 - libvorbisenc2 - libwbclient0 - libxml2-python - lockdev - login-lang - m4 - mawk - metamail - metatheme-sonar-common - mozilla-nspr - mozilla-nss - mozilla-nss-certs - nginx-0.8 - obex-data-server - openSUSE-dynamic-wallpaper - openSUSE-release-livetree - orbit2 - pango-tools - poppler-data - poppler-tools - procmail - python - python-base - python-gobject - python-qt4 - python-sip - python-xml - readline-doc - rhino - ruby-fcgi - rubygem-actionmailer-2_3 - rubygem-actionpack-2_3 - rubygem-activerecord - rubygem-activerecord-2_3 - rubygem-activeresource-2_3 - rubygem-activesupport-2_3 - rubygem-daemon_controller - rubygem-fastthread - rubygem-file-tail - rubygem-gettext - rubygem-gettext_activerecord - rubygem-gettext_rails - rubygem-http_accept_language - rubygem-locale - rubygem-locale_rails - rubygem-passenger - rubygem-passenger-nginx - rubygem-polkit - rubygem-rack - rubygem-rails - rubygem-rails-2_3 - rubygem-rake - rubygem-rpam - rubygem-ruby-dbus - rubygem-spruz - rubygem-sqlite3 - rubygem-webyast-rake-tasks - samba - samba-client - sane-backends - sendmail - sg3_utils - sharutils - snmp-mibs - sonar-icon-theme - sqlite3 - syslog-ng - syslogd - systemd - systemd-sysvinit - systemtap - systemtap-runtime - tar-lang - timezone-java - udisks - unixODBC - upower-lang - upstart - util-linux-lang - wdiff - wdiff-lang - webyast-base-ws - xaw3d - xaw3dd - xdmbgrd - xkeyboard-config - xmlbeans - xmlbeans-mini - xorg-x11 - xorg-x11-driver-input - xorg-x11-fonts - xorg-x11-fonts-core - xorg-x11-libXdmcp - xorg-x11-libXv - xorg-x11-server - xorg-x11-xauth - xtermset - yast2-dbus-server - yast2-gtk - yast2-qt - yast2-qt-pkg - yast2-theme-openSUSE-Crystal - yast2-theme-openSUSE-Oxygen - - - - UTC - Europe/Berlin - - - - 100 - video - /home - -1 - /bin/bash - /etc/skel - 022 - - - - true - vagrant - 100 - /home/vagrant - - - - - 99999 - 0 - 7 - - /bin/bash - 1000 - $2a$05$RZAhNZ/UJnRgCUmDBH26deOF3ADehICISxvVz/Z8ypCnGRbJhceIW - vagrant - - - true - Games account - 100 - /var/games - - - - - - - - - /bin/bash - 12 - * - games - - - true - bin - 1 - /bin - - - - - - - - - /bin/bash - 1 - * - bin - - - true - nobody - 65533 - /var/lib/nobody - - - - - - - - - /bin/bash - 65534 - * - nobody - - - true - Printing daemon - 7 - /var/spool/lpd - - - - - - - - - /bin/bash - 4 - * - lp - - - true - Postfix Daemon - 51 - /var/spool/postfix - - - - - 99999 - 0 - 7 - - /bin/false - 51 - * - postfix - - - true - FTP account - 49 - /srv/ftp - - - - - - - - - /bin/bash - 40 - * - ftp - - - true - NFS statd daemon - 65534 - /var/lib/nfs - - - - - 99999 - 0 - 7 - - /sbin/nologin - 102 - * - statd - - - true - root - 0 - /root - - - - - - - - - /bin/bash - 0 - $2a$05$D0Dz9H1YnauSPfWgxe5/y.bWSL9gAO8DlBD/S1XFobWHafUFETWSe - root - - - true - Mailer daemon - 12 - /var/spool/clientmqueue - - - - - - - - - /bin/false - 8 - * - mail - - - true - Daemon - 2 - /sbin - - - - - - - - - /bin/bash - 2 - * - daemon - - - true - NTP daemon - 104 - /var/lib/ntp - - - - - 99999 - 0 - 7 - - /bin/false - 74 - * - ntp - - - true - User for D-Bus - 101 - /var/run/dbus - - - - - - 0 - 7 - - /bin/false - 100 - * - messagebus - - - true - Unix-to-Unix CoPy system - 14 - /etc/uucp - - - - - - - - - /bin/bash - 10 - * - uucp - - - true - WWW daemon apache - 8 - /var/lib/wwwrun - - - - - - - - - /bin/false - 30 - * - wwwrun - - - true - Manual pages viewer - 62 - /var/cache/man - - - - - - - - - /bin/bash - 13 - * - man - - - true - News system - 13 - /etc/news - - - - - - - - - /bin/bash - 9 - * - news - - - true - SSH daemon - 102 - /var/lib/sshd - - - - - - 0 - 7 - - /bin/false - 101 - * - sshd - - -
diff --git a/templates/openSUSE-11.4-NET-i586/definition.rb b/templates/openSUSE-11.4-NET-i586/definition.rb deleted file mode 100644 index cd4d56f7..00000000 --- a/templates/openSUSE-11.4-NET-i586/definition.rb +++ /dev/null @@ -1,28 +0,0 @@ -Veewee::Session.declare({ - :os_type_id => 'OpenSUSE', :cpu_count => '1', :memory_size=> '512', - :disk_size => '20480', :disk_format => 'VDI', :hostiocache => 'off', - :iso_file => "openSUSE-11.4-NET-i586.iso", - :iso_src => "http://download.opensuse.org/distribution/11.4/iso/openSUSE-11.4-NET-i586.iso", - #:iso_src => "http://ftp.belnet.be/mirror/ftp.opensuse.org/distribution/11.4/iso/openSUSE-11.4-NET-i586.iso", - :iso_md5 => "a601cd207eb17d7f1b91049e1392a526", - :iso_download_timeout => "1000", - :boot_wait => "10", :boot_cmd_sequence => [ - '', - 'linux netdevice=eth0 netsetup=dhcp', - ' install=http://download.opensuse.org/distribution/11.4/repo/oss/ insecure=1', - ' lang=en_US autoyast=http://%IP%:%PORT%/autoinst_en.xml', - # disable prev line and enable next line to install with german settings - #' lang=de_DE autoyast=http://%IP%:%PORT%/autoinst_de.xml', - ' textmode=1', - '' - ], - :kickstart_port => "7122", :kickstart_timeout => "10000", - :kickstart_file => ["autoinst_en.xml", "autoinst_en.xml"], - # disable prev line and enable next line to install with german settings - #:kickstart_file => ["autoinst_de.xml", "autoinst_de.xml"], - :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", - :ssh_host_port => "7222", :ssh_guest_port => "22", - :sudo_cmd => "echo '%p'|sudo -S sh '%f'", - :shutdown_cmd => "shutdown -P now", - :postinstall_files => ["postinstall.sh"], :postinstall_timeout => "10000" -}) diff --git a/templates/openSUSE-11.4-NET-i586/postinstall.sh b/templates/openSUSE-11.4-NET-i586/postinstall.sh deleted file mode 100644 index 89e79ad4..00000000 --- a/templates/openSUSE-11.4-NET-i586/postinstall.sh +++ /dev/null @@ -1,48 +0,0 @@ -# -# postinstall.sh -# - -date > /etc/vagrant_box_build_time - -# install vagrant key -echo -e "\ninstall vagrant key ..." -mkdir -m 0700 /home/vagrant/.ssh -cd /home/vagrant/.ssh -wget --no-check-certificate -O authorized_keys https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub -chmod 0600 /home/vagrant/.ssh/authorized_keys -chown -R vagrant.users /home/vagrant/.ssh - -# update sudoers -echo -e "\nupdate sudoers ..." -echo -e "\n# added by veewee/postinstall.sh" >> /etc/sudoers -echo -e "vagrant ALL=(ALL) NOPASSWD: ALL\n" >> /etc/sudoers - -# speed-up remote logins -echo -e "\nspeed-up remote logins ..." -echo -e "\n# added by veewee/postinstall.sh" >> /etc/ssh/sshd_config -echo -e "UseDNS no\n" >> /etc/ssh/sshd_config - -# install chef and puppet -echo -e "\ninstall chef and puppet ..." -gem install chef --no-ri --no-rdoc -gem install puppet --no-ri --no-rdoc - -# remove zypper locks, preventing installation of additional packages, -# present because of the autoinst -echo -e "\nremove zypper package locks ..." -rm -f /etc/zypp/locks - -# install the virtualbox guest additions -echo -e "\ninstall the virtualbox guest additions ..." -zypper --non-interactive remove `rpm -qa virtualbox-guest-*` -VBOX_VERSION=$(cat /home/vagrant/.vbox_version) -cd /tmp -wget http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso -#wget http://192.168.178.10/VBoxGuestAdditions_$VBOX_VERSION.iso -mount -o loop VBoxGuestAdditions_$VBOX_VERSION.iso /mnt -sh /mnt/VBoxLinuxAdditions.run -umount /mnt -rm -f VBoxGuestAdditions_$VBOX_VERSION.iso - -echo -e "\nall done.\n" -exit diff --git a/templates/openSUSE-11.4-NET-x86_64/autoinst_de.xml b/templates/openSUSE-11.4-NET-x86_64/autoinst_de.xml deleted file mode 100644 index 78ef3e53..00000000 --- a/templates/openSUSE-11.4-NET-x86_64/autoinst_de.xml +++ /dev/null @@ -1,1453 +0,0 @@ - - - - - - - - openSUSE-updates - / - - - - openSUSE-non-oss - / - - - - - - - hd0 - /dev/sda - - - - true - openSUSE 11.4 - 2.6.37.1-1.2 - true - 2 - 8 - - - - thermal - - - ata_generic - - - processor - - - fan - - - grub - -
- resume=/dev/sda1 splash=silent quiet showopts - (hd0,1)/boot/vmlinuz-2.6.37.1-1.2-default - 1 - (hd0,1)/boot/initrd-2.6.37.1-1.2-default - 0 - openSUSE 11.4 - 2.6.37.1-1.2 - linux - /dev/sda2 - image -
-
- showopts apm=off noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe - (hd0,1)/boot/vmlinuz-2.6.37.1-1.2-default - (hd0,1)/boot/initrd-2.6.37.1-1.2-default - 1 - Failsafe -- openSUSE 11.4 - 2.6.37.1-1.2 - failsafe - /dev/sda2 - image -
-
-
- - false - - - no - no - no - sshd - sshd - sshd - - - - - - no - yes - no - no - nf_conntrack_netbios_ns - no - yes - no - yes - no - no - no - - - - - - - - - - - - - - - - - - - false - false - - - - - false - - - none - - - - true - true - true - true - false - true - - - - - - 100 - x - users - - - - 19 - x - floppy - - - - 1 - x - bin - daemon - - - 54 - x - lock - - - - 41 - x - xok - - - - 65533 - x - nobody - - - - 43 - x - modem - - - - 5 - x - tty - - - - 7 - x - lp - - - - 51 - ! - postfix - - - - 65534 - x - nogroup - nobody - - - 101 - ! - messagebus - - - - 59 - ! - maildrop - - - - 33 - x - video - vagrant - - - 3 - x - sys - - - - 15 - x - shadow - - - - 20 - x - cdrom - - - - 21 - x - console - - - - 42 - x - trusted - - - - 16 - x - dialout - - - - 10 - x - wheel - - - - 8 - x - www - - - - 40 - x - games - - - - 6 - x - disk - - - - 17 - x - audio - - - - 49 - x - ftp - - - - 9 - x - kmem - - - - 32 - x - public - - - - 103 - ! - tape - - - - 12 - x - mail - - - - 0 - x - root - - - - 2 - x - daemon - - - - 104 - ! - ntp - - - - 14 - x - uucp - - - - 62 - x - man - - - - 22 - x - utmp - - - - 13 - x - news - - - - 102 - ! - sshd - - - - - - - 127.0.0.1 - - localhost - - - - 127.0.0.2 - - vagrant-opensuse-114-x64.vagrantup.com vagrant-opensuse-114-x64 - - - - ::1 - - localhost ipv6-localhost ipv6-loopback - - - - fe00::0 - - ipv6-localnet - - - - ff00::0 - - ipv6-mcastprefix - - - - ff02::1 - - ipv6-allnodes - - - - ff02::2 - - ipv6-allrouters - - - - ff02::3 - - ipv6-allhosts - - - - - - german - - - de_DE - en_US,de_DE - - - - - false - false - dc=example,dc=com - 127.0.0.1 - true - false - true - member - false - exop - true - false - false - - - - - - AUTO - - - true - vagrantup.com - vagrant-opensuse-114-x64 - auto - - vagrantup.com - - true - - - - dhcp - eth0 - 82540EM Gigabit Ethernet Controller - nfsroot - no - - - true - false - - - eth0 - KERNELS - 0000:00:03.0 - - - - false - - - - auto - false - false - - false - - - - - false - false - - - - /dev/sda - true - - - true - false - swap - true - defaults - false - swap - device - 130 - 1 - - false - 525M - - - true - false - ext4 - true - acl,user_xattr - false - / - device - 131 - 2 - - false - max - - - - CT_DISK - all - - - - - - - - - - - - false - - - - localhost, 127.0.0.1 - - - - - - true - true - 0 - - - true - true - 0 - - - true - true - 0 - - - true - true - 0 - - - - 3 - - - sshd - 3 5 - - - - - true - - - kernel-default - - autoyast2 - binutils - binutils-gold - crda - gcc - gcc45 - glibc-devel - hicolor-icon-theme-branding-openSUSE - kernel-default-devel - kexec-tools - less - libgomp45 - libnl - linux-glibc-devel - make - ruby - ruby-devel - rubygems - sudo - vim - vim-data - wget - wireless-regdb - yast2-schema - yast2-trans-de - yast2-trans-en_US - - - base - sw_management - yast2_basis - yast2_install_wf - - - ConsoleKit-32bit - FastCGI - Mesa - Mesa-32bit - PackageKit - PackageKit-branding-openSUSE - PackageKit-branding-upstream - PackageKit-lang - PolicyKit - PolicyKit-32bit - a2ps - alsa-oss - alsa-oss-32bit - apache2 - apache2-itk - apache2-prefork - apache2-utils - apache2-worker - bash-lang - bea-stax-api - bind-libs-32bit - bundle-lang-common-ar - bundle-lang-common-ca - bundle-lang-common-cs - bundle-lang-common-da - bundle-lang-common-es - bundle-lang-common-fi - bundle-lang-common-fr - bundle-lang-common-hu - bundle-lang-common-it - bundle-lang-common-ja - bundle-lang-common-ko - bundle-lang-common-nb - bundle-lang-common-nl - bundle-lang-common-pl - bundle-lang-common-pt - bundle-lang-common-ru - bundle-lang-common-sv - bundle-lang-common-zh - bundle-lang-gnome-ar - bundle-lang-gnome-ca - bundle-lang-gnome-cs - bundle-lang-gnome-da - bundle-lang-gnome-de - bundle-lang-gnome-en - bundle-lang-gnome-es - bundle-lang-gnome-fi - bundle-lang-gnome-fr - bundle-lang-gnome-hu - bundle-lang-gnome-it - bundle-lang-gnome-ja - bundle-lang-gnome-ko - bundle-lang-gnome-nb - bundle-lang-gnome-nl - bundle-lang-gnome-pl - bundle-lang-gnome-pt - bundle-lang-gnome-ru - bundle-lang-gnome-sv - bundle-lang-gnome-zh - cifs-utils - coreutils-lang - cpio-lang - cracklib-dict-small - cups - cups-client - cups-libs - cups-libs-32bit - cyrus-sasl-32bit - dbus-1-32bit - dbus-1-glib-32bit - dbus-1-python - dbus-1-x11 - device-mapper-32bit - exim - fam - fam-32bit - file-32bit - fontconfig-32bit - fonts-config - foomatic-filters - freeglut - ft2demos - fuse - gconf2 - gconf2-32bit - gconf2-lang - gd - gd-32bit - gdbm-32bit - gdk-pixbuf-lang - gdk-pixbuf-query-loaders - gdk-pixbuf-query-loaders-32bit - ghostscript-fonts-other - ghostscript-fonts-std - ghostscript-library - ghostscript-x11 - giflib - giflib-32bit - glib2-branding-upstream - glib2-lang - glibc-locale-32bit - gnome-icon-theme - gnome-keyring - gnome-keyring-lang - gnome-keyring-pam - gpg2-lang - graphviz - graphviz-gd - graphviz-gnome - gtk2-branding-openSUSE - gtk2-branding-upstream - gtk2-data - gtk2-engine-murrine - gtk2-immodule-amharic - gtk2-immodule-inuktitut - gtk2-immodule-thai - gtk2-immodule-vietnamese - gtk2-lang - gtk2-metatheme-sonar - gtk2-tools - gtk2-tools-32bit - gutenprint - gvfs - gvfs-backend-afc - gvfs-backends - gvfs-fuse - gvfs-lang - hplip - hplip-hpijs - icedtea-web - java-1_6_0-openjdk - java-1_6_0-openjdk-plugin - java-1_6_0-sun - java-ca-certificates - jline - jpackage-utils - keyutils - keyutils-libs-32bit - krb5-32bit - krb5-mini - lcms - libFLAC8 - libFLAC8-32bit - libIDL-2-0 - libIDL-2-0-32bit - libQtWebKit4 - libQtWebKit4-32bit - libXi6 - libXi6-32bit - libacl-32bit - libaio-32bit - libapr-util1 - libapr1 - libarchive2 - libasm1-32bit - libasound2 - libasound2-32bit - libassuan0-32bit - libatasmart4 - libatk-1_0-0 - libatk-1_0-0-32bit - libattr-32bit - libaudit1-32bit - libavahi-client3 - libavahi-client3-32bit - libavahi-common3 - libavahi-common3-32bit - libavahi-glib1 - libavahi-glib1-32bit - libblkid1-32bit - libbluetooth3 - libbz2-1-32bit - libcairo2 - libcairo2-32bit - libcap-ng0-32bit - libcap2-32bit - libcdio12 - libcdio12-32bit - libcdio12-mini - libcdio_cdda0 - libcdio_paranoia0 - libcloog0-32bit - libcom_err2-32bit - libcrack2-32bit - libcryptsetup1-32bit - libcurl4-32bit - libdb-4_8-32bit - libdrm - libdrm-32bit - libdw1-32bit - libebl1 - libelf1-32bit - libevtlog0 - libexif12 - libexif12-32bit - libexpat1-32bit - libext2fs2-32bit - libffi45 - libffi45-32bit - libfreebl3 - libfreebl3-32bit - libfreetype6-32bit - libfuse2 - libfuse2-32bit - libgcc45-32bit - libgcj45 - libgcj45-32bit - libgcj45-jar - libgcr0 - libgcr0-32bit - libgcrypt11-32bit - libgdk_pixbuf-2_0-0 - libgdk_pixbuf-2_0-0-32bit - libgdu-lang - libgdu0 - libgimpprint - libgio-2_0-0-32bit - libgirepository-1_0-1 - libglib-2_0-0-32bit - libgmodule-2_0-0-32bit - libgmp10-32bit - libgmpxx4-32bit - libgnome-keyring-lang - libgnome-keyring0 - libgnome-keyring0-32bit - libgnutls26-32bit - libgobject-2_0-0-32bit - libgp11-0 - libgp11-0-32bit - libgp11-modules - libgpg-error0-32bit - libgphoto2 - libgphoto2-32bit - libgphoto2-lang - libgthread-2_0-0-32bit - libgtk-2_0-0 - libgtk-2_0-0-32bit - libgudev-1_0-0-32bit - libgvfscommon0 - libgvfscommon0-32bit - libidn-32bit - libieee1284 - libieee1284-32bit - libjasper1 - libjasper1-32bit - libjpeg62 - libjpeg62-32bit - liblcms1 - liblcms1-32bit - libldap-2_4-2-32bit - libldb0 - liblockdev1 - liblockdev1-32bit - libltdl7 - libltdl7-32bit - liblua5_1-32bit - liblzma5-32bit - libmng - libmng-32bit - libmodman1-32bit - libmount1-32bit - libmpc2-32bit - libmpfr4-32bit - libmysqlclient_r16 - libmysqlclient_r16-32bit - libncurses6-32bit - libnet1 - libnih - libnscd-32bit - libogg0 - libogg0-32bit - libopenobex1 - libopenssl1_0_0-32bit - libpackagekit-glib2-14 - libpango-1_0-0 - libpango-1_0-0-32bit - libparted0-32bit - libpciaccess0 - libpciaccess0-32bit - libpcre0-32bit - libpixman-1-0 - libpixman-1-0-32bit - libpng14-14 - libpng14-14-32bit - libpolkit0-32bit - libpoppler7 - libpopt0-32bit - libppl9-32bit - libppl_c4-32bit - libpq5 - libpq5-32bit - libproxy1-32bit - libpth20-32bit - libpulse0 - libpulse0-32bit - libpython2_7-1_0 - libpython2_7-1_0-32bit - libqdialogsolver1 - libqt4 - libqt4-32bit - libqt4-qt3support - libqt4-qt3support-32bit - libqt4-sql - libqt4-sql-32bit - libqt4-sql-mysql - libqt4-sql-postgresql - libqt4-sql-sqlite - libqt4-sql-unixODBC - libqt4-x11 - libqt4-x11-32bit - libreadline6-32bit - libreiserfs-32bit - libselinux1-32bit - libsensors4 - libsensors4-32bit - libsepol1-32bit - libsmbclient0 - libsmbclient0-32bit - libsndfile - libsndfile-32bit - libsnmp25 - libsnmp25-32bit - libsoftokn3 - libsoftokn3-32bit - libsoup-2_4-1 - libsoup-2_4-1-32bit - libsqlite3-0 - libsqlite3-0-32bit - libssh2-1-32bit - libstdc++45-32bit - libtalloc2 - libtalloc2-32bit - libtasn1-3-32bit - libtdb1 - libtdb1-32bit - libtevent0 - libtiff3 - libtiff3-32bit - libudev0-32bit - libusb-0_1-4-32bit - libusb-1_0-0-32bit - libuuid1-32bit - libvorbis0 - libvorbis0-32bit - libvorbisenc2 - libvorbisenc2-32bit - libwbclient0 - libwbclient0-32bit - libxcrypt-32bit - libxml2-32bit - libxml2-python - libxslt-32bit - lockdev - login-lang - m4 - mawk - metamail - metatheme-sonar-common - mozilla-nspr - mozilla-nspr-32bit - mozilla-nss - mozilla-nss-32bit - mozilla-nss-certs - mozilla-nss-certs-32bit - nginx-0.8 - nspluginwrapper - obex-data-server - openSUSE-dynamic-wallpaper - openSUSE-release-livetree - openslp-32bit - orbit2 - orbit2-32bit - pam-32bit - pango-tools - pango-tools-32bit - pciutils-32bit - perl-32bit - perl-base-32bit - poppler-data - poppler-tools - procmail - python - python-base - python-gobject - python-qt4 - python-sip - python-xml - readline-doc - rhino - rpm-32bit - ruby-fcgi - rubygem-actionmailer-2_3 - rubygem-actionpack-2_3 - rubygem-activerecord - rubygem-activerecord-2_3 - rubygem-activeresource-2_3 - rubygem-activesupport-2_3 - rubygem-daemon_controller - rubygem-fastthread - rubygem-file-tail - rubygem-gettext - rubygem-gettext_activerecord - rubygem-gettext_rails - rubygem-http_accept_language - rubygem-locale - rubygem-locale_rails - rubygem-passenger - rubygem-passenger-nginx - rubygem-polkit - rubygem-rack - rubygem-rails - rubygem-rails-2_3 - rubygem-rake - rubygem-rpam - rubygem-ruby-dbus - rubygem-spruz - rubygem-sqlite3 - rubygem-webyast-rake-tasks - samba - samba-client - sane-backends - sane-backends-32bit - sendmail - sg3_utils - sharutils - snmp-mibs - sonar-icon-theme - sqlite3 - sysfsutils-32bit - syslog-ng - syslogd - systemd - systemd-sysvinit - systemtap - systemtap-runtime - tar-lang - tcpd-32bit - timezone-java - udisks - unixODBC - unixODBC-32bit - upower-lang - upstart - util-linux-lang - wdiff - wdiff-lang - webyast-base-ws - xaw3d - xaw3dd - xdmbgrd - xkeyboard-config - xmlbeans - xmlbeans-mini - xorg-x11 - xorg-x11-driver-input - xorg-x11-fonts - xorg-x11-fonts-core - xorg-x11-libICE-32bit - xorg-x11-libSM-32bit - xorg-x11-libX11-32bit - xorg-x11-libXau-32bit - xorg-x11-libXdmcp - xorg-x11-libXdmcp-32bit - xorg-x11-libXext-32bit - xorg-x11-libXfixes-32bit - xorg-x11-libXmu-32bit - xorg-x11-libXp-32bit - xorg-x11-libXpm-32bit - xorg-x11-libXprintUtil-32bit - xorg-x11-libXrender-32bit - xorg-x11-libXt-32bit - xorg-x11-libXv - xorg-x11-libXv-32bit - xorg-x11-libfontenc-32bit - xorg-x11-libs-32bit - xorg-x11-libxcb-32bit - xorg-x11-libxkbfile-32bit - xorg-x11-server - xorg-x11-xauth - xtermset - yast2-dbus-server - yast2-gtk - yast2-qt - yast2-qt-pkg - yast2-theme-openSUSE-Crystal - yast2-theme-openSUSE-Oxygen - zlib-32bit - - - - UTC - Europe/Berlin - - - - 100 - video - /home - -1 - /bin/bash - /etc/skel - 022 - - - - true - vagrant - 100 - /home/vagrant - - - - - 99999 - 0 - 7 - - /bin/bash - 1000 - $2a$05$.0dJNh7VY.yVB1dyzWEvauA06gE3KH0EjV9Vuf8Evf8O19JPRtu/q - vagrant - - - true - Games account - 100 - /var/games - - - - - - - - - /bin/bash - 12 - * - games - - - true - bin - 1 - /bin - - - - - - - - - /bin/bash - 1 - * - bin - - - true - nobody - 65533 - /var/lib/nobody - - - - - - - - - /bin/bash - 65534 - * - nobody - - - true - Printing daemon - 7 - /var/spool/lpd - - - - - - - - - /bin/bash - 4 - * - lp - - - true - Postfix Daemon - 51 - /var/spool/postfix - - - - - 99999 - 0 - 7 - - /bin/false - 51 - * - postfix - - - true - FTP account - 49 - /srv/ftp - - - - - - - - - /bin/bash - 40 - * - ftp - - - true - NFS statd daemon - 65534 - /var/lib/nfs - - - - - 99999 - 0 - 7 - - /sbin/nologin - 102 - * - statd - - - true - root - 0 - /root - - - - - - - - - /bin/bash - 0 - $2a$05$cNqWckWtmc/gqeC9Ye0q3OfLNx3i6RawvdlYIMAMjkHbOkpvY8d2S - root - - - true - Mailer daemon - 12 - /var/spool/clientmqueue - - - - - - - - - /bin/false - 8 - * - mail - - - true - Daemon - 2 - /sbin - - - - - - - - - /bin/bash - 2 - * - daemon - - - true - NTP daemon - 104 - /var/lib/ntp - - - - - 99999 - 0 - 7 - - /bin/false - 74 - * - ntp - - - true - User for D-Bus - 101 - /var/run/dbus - - - - - - 0 - 7 - - /bin/false - 100 - * - messagebus - - - true - Unix-to-Unix CoPy system - 14 - /etc/uucp - - - - - - - - - /bin/bash - 10 - * - uucp - - - true - WWW daemon apache - 8 - /var/lib/wwwrun - - - - - - - - - /bin/false - 30 - * - wwwrun - - - true - Manual pages viewer - 62 - /var/cache/man - - - - - - - - - /bin/bash - 13 - * - man - - - true - News system - 13 - /etc/news - - - - - - - - - /bin/bash - 9 - * - news - - - true - SSH daemon - 102 - /var/lib/sshd - - - - - - 0 - 7 - - /bin/false - 101 - * - sshd - - -
diff --git a/templates/openSUSE-11.4-NET-x86_64/autoinst_en.xml b/templates/openSUSE-11.4-NET-x86_64/autoinst_en.xml deleted file mode 100644 index 0029987b..00000000 --- a/templates/openSUSE-11.4-NET-x86_64/autoinst_en.xml +++ /dev/null @@ -1,1453 +0,0 @@ - - - - - - - - openSUSE-updates - / - - - - openSUSE-non-oss - / - - - - - - - hd0 - /dev/sda - - - - true - openSUSE 11.4 - 2.6.37.1-1.2 - true - 2 - 8 - - - - thermal - - - ata_generic - - - processor - - - fan - - - grub - -
- resume=/dev/sda1 splash=silent quiet showopts - (hd0,1)/boot/vmlinuz-2.6.37.1-1.2-default - 1 - (hd0,1)/boot/initrd-2.6.37.1-1.2-default - 0 - openSUSE 11.4 - 2.6.37.1-1.2 - linux - /dev/sda2 - image -
-
- showopts apm=off noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe - (hd0,1)/boot/vmlinuz-2.6.37.1-1.2-default - (hd0,1)/boot/initrd-2.6.37.1-1.2-default - 1 - Failsafe -- openSUSE 11.4 - 2.6.37.1-1.2 - failsafe - /dev/sda2 - image -
-
-
- - false - - - no - no - no - sshd - sshd - sshd - - - - - - no - yes - no - no - nf_conntrack_netbios_ns - no - yes - no - yes - no - no - no - - - - - - - - - - - - - - - - - - - false - false - - - - - false - - - none - - - - true - true - true - true - false - true - - - - - - 100 - x - users - - - - 19 - x - floppy - - - - 1 - x - bin - daemon - - - 54 - x - lock - - - - 41 - x - xok - - - - 65533 - x - nobody - - - - 43 - x - modem - - - - 5 - x - tty - - - - 7 - x - lp - - - - 51 - ! - postfix - - - - 65534 - x - nogroup - nobody - - - 101 - ! - messagebus - - - - 59 - ! - maildrop - - - - 33 - x - video - vagrant - - - 3 - x - sys - - - - 15 - x - shadow - - - - 20 - x - cdrom - - - - 21 - x - console - - - - 42 - x - trusted - - - - 16 - x - dialout - - - - 10 - x - wheel - - - - 8 - x - www - - - - 40 - x - games - - - - 6 - x - disk - - - - 17 - x - audio - - - - 49 - x - ftp - - - - 9 - x - kmem - - - - 32 - x - public - - - - 103 - ! - tape - - - - 12 - x - mail - - - - 0 - x - root - - - - 2 - x - daemon - - - - 104 - ! - ntp - - - - 14 - x - uucp - - - - 62 - x - man - - - - 22 - x - utmp - - - - 13 - x - news - - - - 102 - ! - sshd - - - - - - - 127.0.0.1 - - localhost - - - - 127.0.0.2 - - vagrant-opensuse-114-x64.vagrantup.com vagrant-opensuse-114-x64 - - - - ::1 - - localhost ipv6-localhost ipv6-loopback - - - - fe00::0 - - ipv6-localnet - - - - ff00::0 - - ipv6-mcastprefix - - - - ff02::1 - - ipv6-allnodes - - - - ff02::2 - - ipv6-allrouters - - - - ff02::3 - - ipv6-allhosts - - - - - - english-us - - - en_US - en_US,de_DE - - - - - false - false - dc=example,dc=com - 127.0.0.1 - true - false - true - member - false - exop - true - false - false - - - - - - AUTO - - - true - vagrantup.com - vagrant-opensuse-114-x64 - auto - - vagrantup.com - - true - - - - dhcp - eth0 - 82540EM Gigabit Ethernet Controller - nfsroot - no - - - true - false - - - eth0 - KERNELS - 0000:00:03.0 - - - - false - - - - auto - false - false - - false - - - - - false - false - - - - /dev/sda - true - - - true - false - swap - true - defaults - false - swap - device - 130 - 1 - - false - 525M - - - true - false - ext4 - true - acl,user_xattr - false - / - device - 131 - 2 - - false - max - - - - CT_DISK - all - - - - - - - - - - - - false - - - - localhost, 127.0.0.1 - - - - - - true - true - 0 - - - true - true - 0 - - - true - true - 0 - - - true - true - 0 - - - - 3 - - - sshd - 3 5 - - - - - true - - - kernel-default - - autoyast2 - binutils - binutils-gold - crda - gcc - gcc45 - glibc-devel - hicolor-icon-theme-branding-openSUSE - kernel-default-devel - kexec-tools - less - libgomp45 - libnl - linux-glibc-devel - make - ruby - ruby-devel - rubygems - sudo - vim - vim-data - wget - wireless-regdb - yast2-schema - yast2-trans-de - yast2-trans-en_US - - - base - sw_management - yast2_basis - yast2_install_wf - - - ConsoleKit-32bit - FastCGI - Mesa - Mesa-32bit - PackageKit - PackageKit-branding-openSUSE - PackageKit-branding-upstream - PackageKit-lang - PolicyKit - PolicyKit-32bit - a2ps - alsa-oss - alsa-oss-32bit - apache2 - apache2-itk - apache2-prefork - apache2-utils - apache2-worker - bash-lang - bea-stax-api - bind-libs-32bit - bundle-lang-common-ar - bundle-lang-common-ca - bundle-lang-common-cs - bundle-lang-common-da - bundle-lang-common-es - bundle-lang-common-fi - bundle-lang-common-fr - bundle-lang-common-hu - bundle-lang-common-it - bundle-lang-common-ja - bundle-lang-common-ko - bundle-lang-common-nb - bundle-lang-common-nl - bundle-lang-common-pl - bundle-lang-common-pt - bundle-lang-common-ru - bundle-lang-common-sv - bundle-lang-common-zh - bundle-lang-gnome-ar - bundle-lang-gnome-ca - bundle-lang-gnome-cs - bundle-lang-gnome-da - bundle-lang-gnome-de - bundle-lang-gnome-en - bundle-lang-gnome-es - bundle-lang-gnome-fi - bundle-lang-gnome-fr - bundle-lang-gnome-hu - bundle-lang-gnome-it - bundle-lang-gnome-ja - bundle-lang-gnome-ko - bundle-lang-gnome-nb - bundle-lang-gnome-nl - bundle-lang-gnome-pl - bundle-lang-gnome-pt - bundle-lang-gnome-ru - bundle-lang-gnome-sv - bundle-lang-gnome-zh - cifs-utils - coreutils-lang - cpio-lang - cracklib-dict-small - cups - cups-client - cups-libs - cups-libs-32bit - cyrus-sasl-32bit - dbus-1-32bit - dbus-1-glib-32bit - dbus-1-python - dbus-1-x11 - device-mapper-32bit - exim - fam - fam-32bit - file-32bit - fontconfig-32bit - fonts-config - foomatic-filters - freeglut - ft2demos - fuse - gconf2 - gconf2-32bit - gconf2-lang - gd - gd-32bit - gdbm-32bit - gdk-pixbuf-lang - gdk-pixbuf-query-loaders - gdk-pixbuf-query-loaders-32bit - ghostscript-fonts-other - ghostscript-fonts-std - ghostscript-library - ghostscript-x11 - giflib - giflib-32bit - glib2-branding-upstream - glib2-lang - glibc-locale-32bit - gnome-icon-theme - gnome-keyring - gnome-keyring-lang - gnome-keyring-pam - gpg2-lang - graphviz - graphviz-gd - graphviz-gnome - gtk2-branding-openSUSE - gtk2-branding-upstream - gtk2-data - gtk2-engine-murrine - gtk2-immodule-amharic - gtk2-immodule-inuktitut - gtk2-immodule-thai - gtk2-immodule-vietnamese - gtk2-lang - gtk2-metatheme-sonar - gtk2-tools - gtk2-tools-32bit - gutenprint - gvfs - gvfs-backend-afc - gvfs-backends - gvfs-fuse - gvfs-lang - hplip - hplip-hpijs - icedtea-web - java-1_6_0-openjdk - java-1_6_0-openjdk-plugin - java-1_6_0-sun - java-ca-certificates - jline - jpackage-utils - keyutils - keyutils-libs-32bit - krb5-32bit - krb5-mini - lcms - libFLAC8 - libFLAC8-32bit - libIDL-2-0 - libIDL-2-0-32bit - libQtWebKit4 - libQtWebKit4-32bit - libXi6 - libXi6-32bit - libacl-32bit - libaio-32bit - libapr-util1 - libapr1 - libarchive2 - libasm1-32bit - libasound2 - libasound2-32bit - libassuan0-32bit - libatasmart4 - libatk-1_0-0 - libatk-1_0-0-32bit - libattr-32bit - libaudit1-32bit - libavahi-client3 - libavahi-client3-32bit - libavahi-common3 - libavahi-common3-32bit - libavahi-glib1 - libavahi-glib1-32bit - libblkid1-32bit - libbluetooth3 - libbz2-1-32bit - libcairo2 - libcairo2-32bit - libcap-ng0-32bit - libcap2-32bit - libcdio12 - libcdio12-32bit - libcdio12-mini - libcdio_cdda0 - libcdio_paranoia0 - libcloog0-32bit - libcom_err2-32bit - libcrack2-32bit - libcryptsetup1-32bit - libcurl4-32bit - libdb-4_8-32bit - libdrm - libdrm-32bit - libdw1-32bit - libebl1 - libelf1-32bit - libevtlog0 - libexif12 - libexif12-32bit - libexpat1-32bit - libext2fs2-32bit - libffi45 - libffi45-32bit - libfreebl3 - libfreebl3-32bit - libfreetype6-32bit - libfuse2 - libfuse2-32bit - libgcc45-32bit - libgcj45 - libgcj45-32bit - libgcj45-jar - libgcr0 - libgcr0-32bit - libgcrypt11-32bit - libgdk_pixbuf-2_0-0 - libgdk_pixbuf-2_0-0-32bit - libgdu-lang - libgdu0 - libgimpprint - libgio-2_0-0-32bit - libgirepository-1_0-1 - libglib-2_0-0-32bit - libgmodule-2_0-0-32bit - libgmp10-32bit - libgmpxx4-32bit - libgnome-keyring-lang - libgnome-keyring0 - libgnome-keyring0-32bit - libgnutls26-32bit - libgobject-2_0-0-32bit - libgp11-0 - libgp11-0-32bit - libgp11-modules - libgpg-error0-32bit - libgphoto2 - libgphoto2-32bit - libgphoto2-lang - libgthread-2_0-0-32bit - libgtk-2_0-0 - libgtk-2_0-0-32bit - libgudev-1_0-0-32bit - libgvfscommon0 - libgvfscommon0-32bit - libidn-32bit - libieee1284 - libieee1284-32bit - libjasper1 - libjasper1-32bit - libjpeg62 - libjpeg62-32bit - liblcms1 - liblcms1-32bit - libldap-2_4-2-32bit - libldb0 - liblockdev1 - liblockdev1-32bit - libltdl7 - libltdl7-32bit - liblua5_1-32bit - liblzma5-32bit - libmng - libmng-32bit - libmodman1-32bit - libmount1-32bit - libmpc2-32bit - libmpfr4-32bit - libmysqlclient_r16 - libmysqlclient_r16-32bit - libncurses6-32bit - libnet1 - libnih - libnscd-32bit - libogg0 - libogg0-32bit - libopenobex1 - libopenssl1_0_0-32bit - libpackagekit-glib2-14 - libpango-1_0-0 - libpango-1_0-0-32bit - libparted0-32bit - libpciaccess0 - libpciaccess0-32bit - libpcre0-32bit - libpixman-1-0 - libpixman-1-0-32bit - libpng14-14 - libpng14-14-32bit - libpolkit0-32bit - libpoppler7 - libpopt0-32bit - libppl9-32bit - libppl_c4-32bit - libpq5 - libpq5-32bit - libproxy1-32bit - libpth20-32bit - libpulse0 - libpulse0-32bit - libpython2_7-1_0 - libpython2_7-1_0-32bit - libqdialogsolver1 - libqt4 - libqt4-32bit - libqt4-qt3support - libqt4-qt3support-32bit - libqt4-sql - libqt4-sql-32bit - libqt4-sql-mysql - libqt4-sql-postgresql - libqt4-sql-sqlite - libqt4-sql-unixODBC - libqt4-x11 - libqt4-x11-32bit - libreadline6-32bit - libreiserfs-32bit - libselinux1-32bit - libsensors4 - libsensors4-32bit - libsepol1-32bit - libsmbclient0 - libsmbclient0-32bit - libsndfile - libsndfile-32bit - libsnmp25 - libsnmp25-32bit - libsoftokn3 - libsoftokn3-32bit - libsoup-2_4-1 - libsoup-2_4-1-32bit - libsqlite3-0 - libsqlite3-0-32bit - libssh2-1-32bit - libstdc++45-32bit - libtalloc2 - libtalloc2-32bit - libtasn1-3-32bit - libtdb1 - libtdb1-32bit - libtevent0 - libtiff3 - libtiff3-32bit - libudev0-32bit - libusb-0_1-4-32bit - libusb-1_0-0-32bit - libuuid1-32bit - libvorbis0 - libvorbis0-32bit - libvorbisenc2 - libvorbisenc2-32bit - libwbclient0 - libwbclient0-32bit - libxcrypt-32bit - libxml2-32bit - libxml2-python - libxslt-32bit - lockdev - login-lang - m4 - mawk - metamail - metatheme-sonar-common - mozilla-nspr - mozilla-nspr-32bit - mozilla-nss - mozilla-nss-32bit - mozilla-nss-certs - mozilla-nss-certs-32bit - nginx-0.8 - nspluginwrapper - obex-data-server - openSUSE-dynamic-wallpaper - openSUSE-release-livetree - openslp-32bit - orbit2 - orbit2-32bit - pam-32bit - pango-tools - pango-tools-32bit - pciutils-32bit - perl-32bit - perl-base-32bit - poppler-data - poppler-tools - procmail - python - python-base - python-gobject - python-qt4 - python-sip - python-xml - readline-doc - rhino - rpm-32bit - ruby-fcgi - rubygem-actionmailer-2_3 - rubygem-actionpack-2_3 - rubygem-activerecord - rubygem-activerecord-2_3 - rubygem-activeresource-2_3 - rubygem-activesupport-2_3 - rubygem-daemon_controller - rubygem-fastthread - rubygem-file-tail - rubygem-gettext - rubygem-gettext_activerecord - rubygem-gettext_rails - rubygem-http_accept_language - rubygem-locale - rubygem-locale_rails - rubygem-passenger - rubygem-passenger-nginx - rubygem-polkit - rubygem-rack - rubygem-rails - rubygem-rails-2_3 - rubygem-rake - rubygem-rpam - rubygem-ruby-dbus - rubygem-spruz - rubygem-sqlite3 - rubygem-webyast-rake-tasks - samba - samba-client - sane-backends - sane-backends-32bit - sendmail - sg3_utils - sharutils - snmp-mibs - sonar-icon-theme - sqlite3 - sysfsutils-32bit - syslog-ng - syslogd - systemd - systemd-sysvinit - systemtap - systemtap-runtime - tar-lang - tcpd-32bit - timezone-java - udisks - unixODBC - unixODBC-32bit - upower-lang - upstart - util-linux-lang - wdiff - wdiff-lang - webyast-base-ws - xaw3d - xaw3dd - xdmbgrd - xkeyboard-config - xmlbeans - xmlbeans-mini - xorg-x11 - xorg-x11-driver-input - xorg-x11-fonts - xorg-x11-fonts-core - xorg-x11-libICE-32bit - xorg-x11-libSM-32bit - xorg-x11-libX11-32bit - xorg-x11-libXau-32bit - xorg-x11-libXdmcp - xorg-x11-libXdmcp-32bit - xorg-x11-libXext-32bit - xorg-x11-libXfixes-32bit - xorg-x11-libXmu-32bit - xorg-x11-libXp-32bit - xorg-x11-libXpm-32bit - xorg-x11-libXprintUtil-32bit - xorg-x11-libXrender-32bit - xorg-x11-libXt-32bit - xorg-x11-libXv - xorg-x11-libXv-32bit - xorg-x11-libfontenc-32bit - xorg-x11-libs-32bit - xorg-x11-libxcb-32bit - xorg-x11-libxkbfile-32bit - xorg-x11-server - xorg-x11-xauth - xtermset - yast2-dbus-server - yast2-gtk - yast2-qt - yast2-qt-pkg - yast2-theme-openSUSE-Crystal - yast2-theme-openSUSE-Oxygen - zlib-32bit - - - - UTC - Europe/Berlin - - - - 100 - video - /home - -1 - /bin/bash - /etc/skel - 022 - - - - true - vagrant - 100 - /home/vagrant - - - - - 99999 - 0 - 7 - - /bin/bash - 1000 - $2a$05$.0dJNh7VY.yVB1dyzWEvauA06gE3KH0EjV9Vuf8Evf8O19JPRtu/q - vagrant - - - true - Games account - 100 - /var/games - - - - - - - - - /bin/bash - 12 - * - games - - - true - bin - 1 - /bin - - - - - - - - - /bin/bash - 1 - * - bin - - - true - nobody - 65533 - /var/lib/nobody - - - - - - - - - /bin/bash - 65534 - * - nobody - - - true - Printing daemon - 7 - /var/spool/lpd - - - - - - - - - /bin/bash - 4 - * - lp - - - true - Postfix Daemon - 51 - /var/spool/postfix - - - - - 99999 - 0 - 7 - - /bin/false - 51 - * - postfix - - - true - FTP account - 49 - /srv/ftp - - - - - - - - - /bin/bash - 40 - * - ftp - - - true - NFS statd daemon - 65534 - /var/lib/nfs - - - - - 99999 - 0 - 7 - - /sbin/nologin - 102 - * - statd - - - true - root - 0 - /root - - - - - - - - - /bin/bash - 0 - $2a$05$cNqWckWtmc/gqeC9Ye0q3OfLNx3i6RawvdlYIMAMjkHbOkpvY8d2S - root - - - true - Mailer daemon - 12 - /var/spool/clientmqueue - - - - - - - - - /bin/false - 8 - * - mail - - - true - Daemon - 2 - /sbin - - - - - - - - - /bin/bash - 2 - * - daemon - - - true - NTP daemon - 104 - /var/lib/ntp - - - - - 99999 - 0 - 7 - - /bin/false - 74 - * - ntp - - - true - User for D-Bus - 101 - /var/run/dbus - - - - - - 0 - 7 - - /bin/false - 100 - * - messagebus - - - true - Unix-to-Unix CoPy system - 14 - /etc/uucp - - - - - - - - - /bin/bash - 10 - * - uucp - - - true - WWW daemon apache - 8 - /var/lib/wwwrun - - - - - - - - - /bin/false - 30 - * - wwwrun - - - true - Manual pages viewer - 62 - /var/cache/man - - - - - - - - - /bin/bash - 13 - * - man - - - true - News system - 13 - /etc/news - - - - - - - - - /bin/bash - 9 - * - news - - - true - SSH daemon - 102 - /var/lib/sshd - - - - - - 0 - 7 - - /bin/false - 101 - * - sshd - - -
diff --git a/templates/openSUSE-11.4-NET-x86_64/definition.rb b/templates/openSUSE-11.4-NET-x86_64/definition.rb deleted file mode 100644 index 5fc4f13b..00000000 --- a/templates/openSUSE-11.4-NET-x86_64/definition.rb +++ /dev/null @@ -1,28 +0,0 @@ -Veewee::Session.declare({ - :os_type_id => 'OpenSUSE_64', :cpu_count => '1', :memory_size=> '512', - :disk_size => '20480', :disk_format => 'VDI', :hostiocache => 'off', - :iso_file => "openSUSE-11.4-NET-x86_64.iso", - :iso_src => "http://download.opensuse.org/distribution/11.4/iso/openSUSE-11.4-NET-x86_64.iso", - #:iso_src => "http://ftp.belnet.be/mirror/ftp.opensuse.org/distribution/11.4/iso/openSUSE-11.4-NET-x86_64.iso", - :iso_md5 => "bb0dc0124d5d2e3292ec96717132b136", - :iso_download_timeout => "1000", - :boot_wait => "10", :boot_cmd_sequence => [ - '', - 'linux netdevice=eth0 netsetup=dhcp', - ' install=http://download.opensuse.org/distribution/11.4/repo/oss/ insecure=1', - ' lang=en_US autoyast=http://%IP%:%PORT%/autoinst_en.xml', - # disable prev line and enable next line to install with german settings - #' lang=de_DE autoyast=http://%IP%:%PORT%/autoinst_de.xml', - ' textmode=1', - '' - ], - :kickstart_port => "7122", :kickstart_timeout => "10000", - :kickstart_file => ["autoinst_en.xml", "autoinst_en.xml"], - # disable prev line and enable next line to install with german settings - #:kickstart_file => ["autoinst_de.xml", "autoinst_de.xml"], - :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", - :ssh_host_port => "7222", :ssh_guest_port => "22", - :sudo_cmd => "echo '%p'|sudo -S sh '%f'", - :shutdown_cmd => "shutdown -P now", - :postinstall_files => ["postinstall.sh"], :postinstall_timeout => "10000" -}) diff --git a/templates/openSUSE-11.4-NET-x86_64/postinstall.sh b/templates/openSUSE-11.4-NET-x86_64/postinstall.sh deleted file mode 100644 index 89e79ad4..00000000 --- a/templates/openSUSE-11.4-NET-x86_64/postinstall.sh +++ /dev/null @@ -1,48 +0,0 @@ -# -# postinstall.sh -# - -date > /etc/vagrant_box_build_time - -# install vagrant key -echo -e "\ninstall vagrant key ..." -mkdir -m 0700 /home/vagrant/.ssh -cd /home/vagrant/.ssh -wget --no-check-certificate -O authorized_keys https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub -chmod 0600 /home/vagrant/.ssh/authorized_keys -chown -R vagrant.users /home/vagrant/.ssh - -# update sudoers -echo -e "\nupdate sudoers ..." -echo -e "\n# added by veewee/postinstall.sh" >> /etc/sudoers -echo -e "vagrant ALL=(ALL) NOPASSWD: ALL\n" >> /etc/sudoers - -# speed-up remote logins -echo -e "\nspeed-up remote logins ..." -echo -e "\n# added by veewee/postinstall.sh" >> /etc/ssh/sshd_config -echo -e "UseDNS no\n" >> /etc/ssh/sshd_config - -# install chef and puppet -echo -e "\ninstall chef and puppet ..." -gem install chef --no-ri --no-rdoc -gem install puppet --no-ri --no-rdoc - -# remove zypper locks, preventing installation of additional packages, -# present because of the autoinst -echo -e "\nremove zypper package locks ..." -rm -f /etc/zypp/locks - -# install the virtualbox guest additions -echo -e "\ninstall the virtualbox guest additions ..." -zypper --non-interactive remove `rpm -qa virtualbox-guest-*` -VBOX_VERSION=$(cat /home/vagrant/.vbox_version) -cd /tmp -wget http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso -#wget http://192.168.178.10/VBoxGuestAdditions_$VBOX_VERSION.iso -mount -o loop VBoxGuestAdditions_$VBOX_VERSION.iso /mnt -sh /mnt/VBoxLinuxAdditions.run -umount /mnt -rm -f VBoxGuestAdditions_$VBOX_VERSION.iso - -echo -e "\nall done.\n" -exit diff --git a/templates/openSUSE-11.4-DVD-i586/autoinst_de.xml b/templates/openSUSE-11.4/autoinst_32_de.xml similarity index 100% rename from templates/openSUSE-11.4-DVD-i586/autoinst_de.xml rename to templates/openSUSE-11.4/autoinst_32_de.xml diff --git a/templates/openSUSE-11.4-DVD-i586/autoinst_en.xml b/templates/openSUSE-11.4/autoinst_32_en.xml similarity index 100% rename from templates/openSUSE-11.4-DVD-i586/autoinst_en.xml rename to templates/openSUSE-11.4/autoinst_32_en.xml diff --git a/templates/openSUSE-11.4-DVD-x86_64/autoinst_de.xml b/templates/openSUSE-11.4/autoinst_64_de.xml similarity index 100% rename from templates/openSUSE-11.4-DVD-x86_64/autoinst_de.xml rename to templates/openSUSE-11.4/autoinst_64_de.xml diff --git a/templates/openSUSE-11.4-DVD-x86_64/autoinst_en.xml b/templates/openSUSE-11.4/autoinst_64_en.xml similarity index 100% rename from templates/openSUSE-11.4-DVD-x86_64/autoinst_en.xml rename to templates/openSUSE-11.4/autoinst_64_en.xml diff --git a/templates/openSUSE-11.4/definition.rb b/templates/openSUSE-11.4/definition.rb new file mode 100644 index 00000000..308dddb2 --- /dev/null +++ b/templates/openSUSE-11.4/definition.rb @@ -0,0 +1,5 @@ +# +# change opensuse_64_dvd_en to one of configurations in *.yml in this directory +# use the yml files to configure +# +Veewee::Definition.declare_yaml('definition.yml', 'opensuse_64_dvd_en.yml') diff --git a/templates/openSUSE-11.4/definition.yml b/templates/openSUSE-11.4/definition.yml new file mode 100644 index 00000000..aebf7be9 --- /dev/null +++ b/templates/openSUSE-11.4/definition.yml @@ -0,0 +1,21 @@ +--- +:cpu_count: '1' +:memory_size=> '512' +:disk_size: '20480' +:disk_format: 'VDI' +:hostiocache: 'off' +:iso_download_timeout: "1000" +:boot_wait: "10" +:kickstart_port: "7122" +:kickstart_timeout: "300" +:ssh_login_timeout: "10000" +:ssh_user: "vagrant" +:ssh_password: "vagrant" +:ssh_key: "" +:ssh_host_port: "7222" +:ssh_guest_port: "22" +:sudo_cmd: "echo '%p'|sudo -S sh '%f'" +:shutdown_cmd: "shutdown -P now" +:postinstall_files: + - "postinstall.sh" +:postinstall_timeout: "10000" diff --git a/templates/openSUSE-11.4/definition_32_dvd_de.yml b/templates/openSUSE-11.4/definition_32_dvd_de.yml new file mode 100644 index 00000000..60582ddf --- /dev/null +++ b/templates/openSUSE-11.4/definition_32_dvd_de.yml @@ -0,0 +1,15 @@ +--- +:os_type_id: 'OpenSUSE' +:iso_file: "openSUSE-11.4-DVD-i586.iso" +:iso_src: "http://download.opensuse.org/distribution/11.4/iso/openSUSE-11.4-DVD-i586.iso" +:iso_md5: "5f6d6d67c3e256b2513311f4ed650515" +:boot_cmd_sequence: + '' + 'linux netdevice=eth0 netsetup=dhcp' + ' install=cd:/' + ' lang=de_DE autoyast=http://%IP%:%PORT%/autoinst_32_de.xml' + ' textmode=1' + '' +:kickstart_file: + - "autoinst_32_de.xml" + - "autoinst_32_de.xml" diff --git a/templates/openSUSE-11.4/definition_32_dvd_en.yml b/templates/openSUSE-11.4/definition_32_dvd_en.yml new file mode 100644 index 00000000..204fba41 --- /dev/null +++ b/templates/openSUSE-11.4/definition_32_dvd_en.yml @@ -0,0 +1,15 @@ +--- +:os_type_id: 'OpenSUSE' +:iso_file: "openSUSE-11.4-DVD-i586.iso" +:iso_src: "http://download.opensuse.org/distribution/11.4/iso/openSUSE-11.4-DVD-i586.iso" +:iso_md5: "5f6d6d67c3e256b2513311f4ed650515" +:boot_cmd_sequence: + '' + 'linux netdevice=eth0 netsetup=dhcp' + ' install=cd:/' + ' lang=en_US autoyast=http://%IP%:%PORT%/autoinst_32_en.xml' + ' textmode=1' + '' +:kickstart_file: + - "autoinst_32_en.xml" + - "autoinst_32_en.xml" diff --git a/templates/openSUSE-11.4/definition_32_net_de.yml b/templates/openSUSE-11.4/definition_32_net_de.yml new file mode 100644 index 00000000..57d4d24d --- /dev/null +++ b/templates/openSUSE-11.4/definition_32_net_de.yml @@ -0,0 +1,15 @@ +--- +:os_type_id: 'OpenSUSE' +:iso_file: "openSUSE-11.4-NET-i586.iso" +:iso_src: "http://download.opensuse.org/distribution/11.4/iso/openSUSE-11.4-NET-i586.iso" +:iso_md5: "a601cd207eb17d7f1b91049e1392a526" +:boot_cmd_sequence: + '' + 'linux netdevice=eth0 netsetup=dhcp' + ' install=cd:/' + ' lang=de_DE autoyast=http://%IP%:%PORT%/autoinst_32_de.xml' + ' textmode=1' + '' +:kickstart_file: + - "autoinst_32_de.xml" + - "autoinst_32_de.xml" diff --git a/templates/openSUSE-11.4/definition_32_net_en.yml b/templates/openSUSE-11.4/definition_32_net_en.yml new file mode 100644 index 00000000..de6c9967 --- /dev/null +++ b/templates/openSUSE-11.4/definition_32_net_en.yml @@ -0,0 +1,15 @@ +--- +:os_type_id: 'OpenSUSE' +:iso_file: "openSUSE-11.4-NET-i586.iso" +:iso_src: "http://download.opensuse.org/distribution/11.4/iso/openSUSE-11.4-NET-i586.iso" +:iso_md5: "a601cd207eb17d7f1b91049e1392a526" +:boot_cmd_sequence: + '' + 'linux netdevice=eth0 netsetup=dhcp' + ' install=cd:/' + ' lang=en_US autoyast=http://%IP%:%PORT%/autoinst_32_en.xml' + ' textmode=1' + '' +:kickstart_file: + - "autoinst_32_en.xml" + - "autoinst_32_en.xml" diff --git a/templates/openSUSE-11.4/definition_64_dvd_de.yml b/templates/openSUSE-11.4/definition_64_dvd_de.yml new file mode 100644 index 00000000..44b5381f --- /dev/null +++ b/templates/openSUSE-11.4/definition_64_dvd_de.yml @@ -0,0 +1,15 @@ +--- +:os_type_id: 'OpenSUSE_64' +:iso_file: "openSUSE-11.4-DVD-x86_64.iso" +:iso_src: "http://download.opensuse.org/distribution/11.4/iso/openSUSE-11.4-DVD-x86_64.iso" +:iso_md5: "082ebfac494b41cd56b38fb4218c545d" +:boot_cmd_sequence: + '' + 'linux netdevice=eth0 netsetup=dhcp' + ' install=cd:/' + ' lang=de_DE autoyast=http://%IP%:%PORT%/autoinst_64_de.xml' + ' textmode=1' + '' +:kickstart_file: + - "autoinst_64_de.xml" + - "autoinst_64_de.xml" diff --git a/templates/openSUSE-11.4/definition_64_dvd_en.yml b/templates/openSUSE-11.4/definition_64_dvd_en.yml new file mode 100644 index 00000000..c8a13379 --- /dev/null +++ b/templates/openSUSE-11.4/definition_64_dvd_en.yml @@ -0,0 +1,15 @@ +--- +:os_type_id: 'OpenSUSE_64' +:iso_file: "openSUSE-11.4-DVD-x86_64.iso" +:iso_src: "http://download.opensuse.org/distribution/11.4/iso/openSUSE-11.4-DVD-x86_64.iso" +:iso_md5: "082ebfac494b41cd56b38fb4218c545d" +:boot_cmd_sequence: + '' + 'linux netdevice=eth0 netsetup=dhcp' + ' install=cd:/' + ' lang=en_US autoyast=http://%IP%:%PORT%/autoinst_64_en.xml' + ' textmode=1' + '' +:kickstart_file: + - "autoinst_64_en.xml" + - "autoinst_64_en.xml" diff --git a/templates/openSUSE-11.4/definition_64_net_de.yml b/templates/openSUSE-11.4/definition_64_net_de.yml new file mode 100644 index 00000000..2199874f --- /dev/null +++ b/templates/openSUSE-11.4/definition_64_net_de.yml @@ -0,0 +1,15 @@ +--- +:os_type_id: 'OpenSUSE_64' +:iso_file: "openSUSE-11.4-NET-x86_64.iso" +:iso_src: "http://download.opensuse.org/distribution/11.4/iso/openSUSE-11.4-NET-x86_64.iso" +:iso_md5: "bb0dc0124d5d2e3292ec96717132b136" +:boot_cmd_sequence: + '' + 'linux netdevice=eth0 netsetup=dhcp' + ' install=http://download.opensuse.org/distribution/11.4/repo/oss/ insecure=1' + ' lang=de_DE autoyast=http://%IP%:%PORT%/autoinst_64_de.xml' + ' textmode=1' + '' +:kickstart_file: + - "autoinst_64_de.xml" + - "autoinst_64_de.xml" diff --git a/templates/openSUSE-11.4/definition_64_net_en.yml b/templates/openSUSE-11.4/definition_64_net_en.yml new file mode 100644 index 00000000..506b0728 --- /dev/null +++ b/templates/openSUSE-11.4/definition_64_net_en.yml @@ -0,0 +1,15 @@ +--- +:os_type_id: 'OpenSUSE_64' +:iso_file: "openSUSE-11.4-NET-x86_64.iso" +:iso_src: "http://download.opensuse.org/distribution/11.4/iso/openSUSE-11.4-NET-x86_64.iso" +:iso_md5: "bb0dc0124d5d2e3292ec96717132b136" +:boot_cmd_sequence: + '' + 'linux netdevice=eth0 netsetup=dhcp' + ' install=http://download.opensuse.org/distribution/11.4/repo/oss/ insecure=1' + ' lang=en_US autoyast=http://%IP%:%PORT%/autoinst_64_en.xml' + ' textmode=1' + '' +:kickstart_file: + - "autoinst_64_en.xml" + - "autoinst_64_en.xml" diff --git a/templates/openSUSE-11.4-DVD-i586/postinstall.sh b/templates/openSUSE-11.4/postinstall.sh similarity index 100% rename from templates/openSUSE-11.4-DVD-i586/postinstall.sh rename to templates/openSUSE-11.4/postinstall.sh diff --git a/templates/openSUSE-12.1-DVD+NET-i586/definition.rb b/templates/openSUSE-12.1-DVD+NET-i586/definition.rb deleted file mode 100644 index 9869b8fc..00000000 --- a/templates/openSUSE-12.1-DVD+NET-i586/definition.rb +++ /dev/null @@ -1,44 +0,0 @@ -Veewee::Session.declare({ - :os_type_id => 'OpenSUSE', - :cpu_count => '1', - :memory_size => '512', - :disk_size => '20480', - :disk_format => 'VDI', - :hostiocache => 'off', - :iso_file => "openSUSE-12.1-DVD-i586.iso", - :iso_src => "http://download.opensuse.org/distribution/12.1/iso/openSUSE-12.1-DVD-i586.iso", - :iso_md5 => "22b4d6bfdb11f5bdd36a05f9968a780c", - ### disable prev three lines and enable next three lines for NET install - #:iso_file => "openSUSE-12.1-NET-i586.iso", - #:iso_src => "http://download.opensuse.org/distribution/12.1/iso/openSUSE-12.1-NET-i586.iso", - #:iso_md5 => "9122b633938a4747e05399386e6b202b", - :iso_download_timeout => "1000", - :boot_wait => "10", - :boot_cmd_sequence => [ - '', - 'linux netdevice=eth0 netsetup=dhcp', - ' install=cd:/', - ### disable prev line and enable next line for NET install - #' install=http://download.opensuse.org/distribution/12.1/repo/oss/ insecure=1', - ' lang=en_US autoyast=http://%IP%:%PORT%/autoinst_en.xml', - ### disable prev line and enable next line to install with german settings - #' lang=de_DE autoyast=http://%IP%:%PORT%/autoinst_de.xml', - ' textmode=1', - '' - ], - :kickstart_port => "7122", - :kickstart_timeout => "10000", - :kickstart_file => ["autoinst_en.xml", "autoinst_en.xml"], - ### disable prev line and enable next line to install with german settings - #:kickstart_file => ["autoinst_de.xml", "autoinst_de.xml"], - :ssh_login_timeout => "10000", - :ssh_user => "vagrant", - :ssh_password => "vagrant", - :ssh_key => "", - :ssh_host_port => "7222", - :ssh_guest_port => "22", - :sudo_cmd => "echo '%p'|sudo -S sh '%f'", - :shutdown_cmd => "shutdown -P now", - :postinstall_files => ["postinstall.sh"], - :postinstall_timeout => "10000" -}) diff --git a/templates/openSUSE-12.1-DVD+NET-i586/postinstall.sh b/templates/openSUSE-12.1-DVD+NET-i586/postinstall.sh deleted file mode 100644 index 89e79ad4..00000000 --- a/templates/openSUSE-12.1-DVD+NET-i586/postinstall.sh +++ /dev/null @@ -1,48 +0,0 @@ -# -# postinstall.sh -# - -date > /etc/vagrant_box_build_time - -# install vagrant key -echo -e "\ninstall vagrant key ..." -mkdir -m 0700 /home/vagrant/.ssh -cd /home/vagrant/.ssh -wget --no-check-certificate -O authorized_keys https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub -chmod 0600 /home/vagrant/.ssh/authorized_keys -chown -R vagrant.users /home/vagrant/.ssh - -# update sudoers -echo -e "\nupdate sudoers ..." -echo -e "\n# added by veewee/postinstall.sh" >> /etc/sudoers -echo -e "vagrant ALL=(ALL) NOPASSWD: ALL\n" >> /etc/sudoers - -# speed-up remote logins -echo -e "\nspeed-up remote logins ..." -echo -e "\n# added by veewee/postinstall.sh" >> /etc/ssh/sshd_config -echo -e "UseDNS no\n" >> /etc/ssh/sshd_config - -# install chef and puppet -echo -e "\ninstall chef and puppet ..." -gem install chef --no-ri --no-rdoc -gem install puppet --no-ri --no-rdoc - -# remove zypper locks, preventing installation of additional packages, -# present because of the autoinst -echo -e "\nremove zypper package locks ..." -rm -f /etc/zypp/locks - -# install the virtualbox guest additions -echo -e "\ninstall the virtualbox guest additions ..." -zypper --non-interactive remove `rpm -qa virtualbox-guest-*` -VBOX_VERSION=$(cat /home/vagrant/.vbox_version) -cd /tmp -wget http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso -#wget http://192.168.178.10/VBoxGuestAdditions_$VBOX_VERSION.iso -mount -o loop VBoxGuestAdditions_$VBOX_VERSION.iso /mnt -sh /mnt/VBoxLinuxAdditions.run -umount /mnt -rm -f VBoxGuestAdditions_$VBOX_VERSION.iso - -echo -e "\nall done.\n" -exit diff --git a/templates/openSUSE-12.1-DVD+NET-x86_64/definition.rb b/templates/openSUSE-12.1-DVD+NET-x86_64/definition.rb deleted file mode 100644 index 9546743a..00000000 --- a/templates/openSUSE-12.1-DVD+NET-x86_64/definition.rb +++ /dev/null @@ -1,44 +0,0 @@ -Veewee::Session.declare({ - :os_type_id => 'OpenSUSE_64', - :cpu_count => '1', - :memory_size => '512', - :disk_size => '20480', - :disk_format => 'VDI', - :hostiocache => 'off', - :iso_file => "openSUSE-12.1-DVD-x86_64.iso", - :iso_src => "http://download.opensuse.org/distribution/12.1/iso/openSUSE-12.1-DVD-x86_64.iso", - :iso_md5 => "4cfe8229111ef723ae7aa541fd2c87b7", - ### disable prev three lines and enable next three lines for NET install - #:iso_file => "openSUSE-12.1-NET-x86_64.iso", - #:iso_src => "http://download.opensuse.org/distribution/12.1/iso/openSUSE-12.1-NET-x86_64.iso", - #:iso_md5 => "4b6f9142faadd95a25a7d81ebd656acf", - :iso_download_timeout => "1000", - :boot_wait => "10", - :boot_cmd_sequence => [ - '', - 'linux netdevice=eth0 netsetup=dhcp', - ' install=cd:/', - ### disable prev line and enable next line for NET install - #' install=http://download.opensuse.org/distribution/12.1/repo/oss/ insecure=1', - ' lang=en_US autoyast=http://%IP%:%PORT%/autoinst_en.xml', - ### disable prev line and enable next line to install with german settings - #' lang=de_DE autoyast=http://%IP%:%PORT%/autoinst_de.xml', - ' textmode=1', - '' - ], - :kickstart_port => "7122", - :kickstart_timeout => "10000", - :kickstart_file => ["autoinst_en.xml", "autoinst_en.xml"], - ### disable prev line and enable next line to install with german settings - #:kickstart_file => ["autoinst_de.xml", "autoinst_de.xml"], - :ssh_login_timeout => "10000", - :ssh_user => "vagrant", - :ssh_password => "vagrant", - :ssh_key => "", - :ssh_host_port => "7222", - :ssh_guest_port => "22", - :sudo_cmd => "echo '%p'|sudo -S sh '%f'", - :shutdown_cmd => "shutdown -P now", - :postinstall_files => ["postinstall.sh"], - :postinstall_timeout => "10000" -}) diff --git a/templates/openSUSE-12.1-DVD+NET-x86_64/postinstall.sh b/templates/openSUSE-12.1-DVD+NET-x86_64/postinstall.sh deleted file mode 100644 index 89e79ad4..00000000 --- a/templates/openSUSE-12.1-DVD+NET-x86_64/postinstall.sh +++ /dev/null @@ -1,48 +0,0 @@ -# -# postinstall.sh -# - -date > /etc/vagrant_box_build_time - -# install vagrant key -echo -e "\ninstall vagrant key ..." -mkdir -m 0700 /home/vagrant/.ssh -cd /home/vagrant/.ssh -wget --no-check-certificate -O authorized_keys https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub -chmod 0600 /home/vagrant/.ssh/authorized_keys -chown -R vagrant.users /home/vagrant/.ssh - -# update sudoers -echo -e "\nupdate sudoers ..." -echo -e "\n# added by veewee/postinstall.sh" >> /etc/sudoers -echo -e "vagrant ALL=(ALL) NOPASSWD: ALL\n" >> /etc/sudoers - -# speed-up remote logins -echo -e "\nspeed-up remote logins ..." -echo -e "\n# added by veewee/postinstall.sh" >> /etc/ssh/sshd_config -echo -e "UseDNS no\n" >> /etc/ssh/sshd_config - -# install chef and puppet -echo -e "\ninstall chef and puppet ..." -gem install chef --no-ri --no-rdoc -gem install puppet --no-ri --no-rdoc - -# remove zypper locks, preventing installation of additional packages, -# present because of the autoinst -echo -e "\nremove zypper package locks ..." -rm -f /etc/zypp/locks - -# install the virtualbox guest additions -echo -e "\ninstall the virtualbox guest additions ..." -zypper --non-interactive remove `rpm -qa virtualbox-guest-*` -VBOX_VERSION=$(cat /home/vagrant/.vbox_version) -cd /tmp -wget http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso -#wget http://192.168.178.10/VBoxGuestAdditions_$VBOX_VERSION.iso -mount -o loop VBoxGuestAdditions_$VBOX_VERSION.iso /mnt -sh /mnt/VBoxLinuxAdditions.run -umount /mnt -rm -f VBoxGuestAdditions_$VBOX_VERSION.iso - -echo -e "\nall done.\n" -exit diff --git a/templates/openSUSE-12.1-DVD+NET-i586/autoinst_de.xml b/templates/openSUSE-12.1/autoinst_32_de.xml similarity index 100% rename from templates/openSUSE-12.1-DVD+NET-i586/autoinst_de.xml rename to templates/openSUSE-12.1/autoinst_32_de.xml diff --git a/templates/openSUSE-12.1-DVD+NET-i586/autoinst_en.xml b/templates/openSUSE-12.1/autoinst_32_en.xml similarity index 100% rename from templates/openSUSE-12.1-DVD+NET-i586/autoinst_en.xml rename to templates/openSUSE-12.1/autoinst_32_en.xml diff --git a/templates/openSUSE-12.1-DVD+NET-x86_64/autoinst_de.xml b/templates/openSUSE-12.1/autoinst_64_de.xml similarity index 100% rename from templates/openSUSE-12.1-DVD+NET-x86_64/autoinst_de.xml rename to templates/openSUSE-12.1/autoinst_64_de.xml diff --git a/templates/openSUSE-12.1-DVD+NET-x86_64/autoinst_en.xml b/templates/openSUSE-12.1/autoinst_64_en.xml similarity index 100% rename from templates/openSUSE-12.1-DVD+NET-x86_64/autoinst_en.xml rename to templates/openSUSE-12.1/autoinst_64_en.xml diff --git a/templates/openSUSE-12.1/definition.rb b/templates/openSUSE-12.1/definition.rb new file mode 100644 index 00000000..308dddb2 --- /dev/null +++ b/templates/openSUSE-12.1/definition.rb @@ -0,0 +1,5 @@ +# +# change opensuse_64_dvd_en to one of configurations in *.yml in this directory +# use the yml files to configure +# +Veewee::Definition.declare_yaml('definition.yml', 'opensuse_64_dvd_en.yml') diff --git a/templates/openSUSE-12.1/definition.yml b/templates/openSUSE-12.1/definition.yml new file mode 100644 index 00000000..5f71f26b --- /dev/null +++ b/templates/openSUSE-12.1/definition.yml @@ -0,0 +1,21 @@ +--- +:cpu_count: '1' +:memory_size: '512' +:disk_size: '20480' +:disk_format: 'VDI' +:hostiocache: 'off' +:iso_download_timeout: "1000" +:boot_wait: "10" +:kickstart_port: "7122" +:kickstart_timeout: "300" +:ssh_login_timeout: "10000" +:ssh_user: "vagrant" +:ssh_password: "vagrant" +:ssh_key: "" +:ssh_host_port: "7222" +:ssh_guest_port: "22" +:sudo_cmd: "echo '%p'|sudo -S sh '%f'" +:shutdown_cmd: "shutdown -P now" +:postinstall_files: + - "postinstall.sh" +:postinstall_timeout: "10000" diff --git a/templates/openSUSE-12.1/opensuse_32_dvd_de.yml b/templates/openSUSE-12.1/opensuse_32_dvd_de.yml new file mode 100644 index 00000000..3d1a1a71 --- /dev/null +++ b/templates/openSUSE-12.1/opensuse_32_dvd_de.yml @@ -0,0 +1,14 @@ +--- +:os_type_id: 'OpenSUSE' +:iso_file: "openSUSE-12.1-DVD-i586.iso" +:iso_src: "http://download.opensuse.org/distribution/12.1/iso/openSUSE-12.1-DVD-i586.iso" +:iso_md5: "22b4d6bfdb11f5bdd36a05f9968a780c" +:boot_cmd_sequence: + - '' + - 'linux netdevice=eth0 netsetup=dhcp textmode=1' + - ' install=cd:/' + - ' lang=de_DE autoyast=http://%IP%:%PORT%/autoinst_32_de.xml' + - '' +:kickstart_file: + - "autoinst_32_de.xml" + - "autoinst_32_de.xml" diff --git a/templates/openSUSE-12.1/opensuse_32_dvd_en.yml b/templates/openSUSE-12.1/opensuse_32_dvd_en.yml new file mode 100644 index 00000000..3d1f6db5 --- /dev/null +++ b/templates/openSUSE-12.1/opensuse_32_dvd_en.yml @@ -0,0 +1,14 @@ +--- +:os_type_id: 'OpenSUSE' +:iso_file: "openSUSE-12.1-DVD-i586.iso" +:iso_src: "http://download.opensuse.org/distribution/12.1/iso/openSUSE-12.1-DVD-i586.iso" +:iso_md5: "22b4d6bfdb11f5bdd36a05f9968a780c" +:boot_cmd_sequence: + - '' + - 'linux netdevice=eth0 netsetup=dhcp textmode=1' + - ' install=cd:/' + - ' lang=en_US autoyast=http://%IP%:%PORT%/autoinst_32_en.xml' + - '' +:kickstart_file: + - "autoinst_32_en.xml" + - "autoinst_32_en.xml" diff --git a/templates/openSUSE-12.1/opensuse_32_net_de.yml b/templates/openSUSE-12.1/opensuse_32_net_de.yml new file mode 100644 index 00000000..25a3581d --- /dev/null +++ b/templates/openSUSE-12.1/opensuse_32_net_de.yml @@ -0,0 +1,14 @@ +--- +:os_type_id: 'OpenSUSE' +:iso_file: "openSUSE-12.1-NET-i586.iso" +:iso_src: "http://download.opensuse.org/distribution/12.1/iso/openSUSE-12.1-NET-i586.iso" +:iso_md5: "9122b633938a4747e05399386e6b202b" +:boot_cmd_sequence: + - '' + - 'linux netdevice=eth0 netsetup=dhcp textmode=1' + - ' install=http://download.opensuse.org/distribution/12.1/repo/oss/ insecure=1' + - ' lang=de_DE autoyast=http://%IP%:%PORT%/autoinst_32_de.xml' + - '' +:kickstart_file: + - "autoinst_32_de.xml" + - "autoinst_32_de.xml" diff --git a/templates/openSUSE-12.1/opensuse_32_net_en.yml b/templates/openSUSE-12.1/opensuse_32_net_en.yml new file mode 100644 index 00000000..2373a52d --- /dev/null +++ b/templates/openSUSE-12.1/opensuse_32_net_en.yml @@ -0,0 +1,14 @@ +--- +:os_type_id: 'OpenSUSE' +:iso_file: "openSUSE-12.1-NET-i586.iso" +:iso_src: "http://download.opensuse.org/distribution/12.1/iso/openSUSE-12.1-NET-i586.iso" +:iso_md5: "9122b633938a4747e05399386e6b202b" +:boot_cmd_sequence: + - '' + - 'linux netdevice=eth0 netsetup=dhcp textmode=1' + - ' install=http://download.opensuse.org/distribution/12.1/repo/oss/ insecure=1' + - ' lang=en_US autoyast=http://%IP%:%PORT%/autoinst_32_en.xml' + - '' +:kickstart_file: + - "autoinst_32_en.xml" + - "autoinst_32_en.xml" diff --git a/templates/openSUSE-12.1/opensuse_64_dvd_de.yml b/templates/openSUSE-12.1/opensuse_64_dvd_de.yml new file mode 100644 index 00000000..e4589c90 --- /dev/null +++ b/templates/openSUSE-12.1/opensuse_64_dvd_de.yml @@ -0,0 +1,14 @@ +--- +:os_type_id: 'OpenSUSE_64' +:iso_file: "openSUSE-12.1-DVD-x86_64.iso" +:iso_src: "http://download.opensuse.org/distribution/12.1/iso/openSUSE-12.1-DVD-x86_64.iso" +:iso_md5: "4cfe8229111ef723ae7aa541fd2c87b7" +:boot_cmd_sequence: + - '' + - 'linux netdevice=eth0 netsetup=dhcp textmode=1' + - ' install=cd:/' + - ' lang=de_DE autoyast=http://%IP%:%PORT%/autoinst_64_de.xml' + - '' +:kickstart_file: + - "autoinst_64_de.xml" + - "autoinst_64_de.xml" diff --git a/templates/openSUSE-12.1/opensuse_64_dvd_en.yml b/templates/openSUSE-12.1/opensuse_64_dvd_en.yml new file mode 100644 index 00000000..62d7f458 --- /dev/null +++ b/templates/openSUSE-12.1/opensuse_64_dvd_en.yml @@ -0,0 +1,14 @@ +--- +:os_type_id: 'OpenSUSE_64' +:iso_file: "openSUSE-12.1-DVD-x86_64.iso" +:iso_src: "http://download.opensuse.org/distribution/12.1/iso/openSUSE-12.1-DVD-x86_64.iso" +:iso_md5: "4cfe8229111ef723ae7aa541fd2c87b7" +:boot_cmd_sequence: + - '' + - 'linux netdevice=eth0 netsetup=dhcp textmode=1' + - ' install=cd:/' + - ' lang=en_US autoyast=http://%IP%:%PORT%/autoinst_64_en.xml' + - '' +:kickstart_file: + - "autoinst_64_en.xml" + - "autoinst_64_en.xml" diff --git a/templates/openSUSE-12.1/opensuse_64_net_de.yml b/templates/openSUSE-12.1/opensuse_64_net_de.yml new file mode 100644 index 00000000..65fb950e --- /dev/null +++ b/templates/openSUSE-12.1/opensuse_64_net_de.yml @@ -0,0 +1,14 @@ +--- +:os_type_id: 'OpenSUSE_64' +:iso_file: "openSUSE-12.1-NET-x86_64.iso" +:iso_src: "http://download.opensuse.org/distribution/12.1/iso/openSUSE-12.1-NET-x86_64.iso" +:iso_md5: "4b6f9142faadd95a25a7d81ebd656acf" +:boot_cmd_sequence: + - '' + - 'linux netdevice=eth0 netsetup=dhcp textmode=1' + - ' install=http://download.opensuse.org/distribution/12.1/repo/oss/ insecure=1' + - ' lang=de_DE autoyast=http://%IP%:%PORT%/autoinst_64_de.xml' + - '' +:kickstart_file: + - "autoinst_64_de.xml" + - "autoinst_64_de.xml" diff --git a/templates/openSUSE-12.1/opensuse_64_net_en.yml b/templates/openSUSE-12.1/opensuse_64_net_en.yml new file mode 100644 index 00000000..17eab73a --- /dev/null +++ b/templates/openSUSE-12.1/opensuse_64_net_en.yml @@ -0,0 +1,14 @@ +--- +:os_type_id: 'OpenSUSE_64' +:iso_file: "openSUSE-12.1-NET-x86_64.iso" +:iso_src: "http://download.opensuse.org/distribution/12.1/iso/openSUSE-12.1-NET-x86_64.iso" +:iso_md5: "4b6f9142faadd95a25a7d81ebd656acf" +:boot_cmd_sequence: + - '' + - 'linux netdevice=eth0 netsetup=dhcp textmode=1' + - ' install=http://download.opensuse.org/distribution/12.1/repo/oss/ insecure=1' + - ' lang=en_US autoyast=http://%IP%:%PORT%/autoinst_64_en.xml' + - '' +:kickstart_file: + - "autoinst_64_en.xml" + - "autoinst_64_en.xml" diff --git a/templates/openSUSE-11.4-DVD-x86_64/postinstall.sh b/templates/openSUSE-12.1/postinstall.sh similarity index 100% rename from templates/openSUSE-11.4-DVD-x86_64/postinstall.sh rename to templates/openSUSE-12.1/postinstall.sh diff --git a/templates/openSUSE-12.3-x86_64-NET_EN/definition.rb b/templates/openSUSE-12.3-x86_64-NET_EN/definition.rb deleted file mode 100644 index 5e0532bb..00000000 --- a/templates/openSUSE-12.3-x86_64-NET_EN/definition.rb +++ /dev/null @@ -1,37 +0,0 @@ -Veewee::Definition.declare({ - :os_type_id => 'OpenSUSE_64', - :cpu_count => '2', - :memory_size => '1024', - :disk_size => '20480', - :disk_format => 'VDI', - :hostiocache => 'off', - :iso_file => "openSUSE-12.3-NET-x86_64.iso", - :iso_src => "http://download.opensuse.org/distribution/12.3/iso/openSUSE-12.3-NET-x86_64.iso", - :iso_md5 => "0ef3c2f301b05f52e9c98cff3f799744", - :iso_download_timeout => "1000", - :boot_wait => "10", - :boot_cmd_sequence => [ - '', - 'linux netdevice=eth0 netsetup=dhcp', - ' install=http://download.opensuse.org/distribution/12.3/repo/oss/ insecure=1', - ' lang=en_US autoyast=http://%IP%:%PORT%/autoinst.xml', - ' textmode=1', - '' - ], - :kickstart_port => "7122", - :kickstart_timeout => "10000", - :kickstart_file => ["autoinst.xml", "autoinst.xml"], - :ssh_login_timeout => "10000", - :ssh_user => "root", - :ssh_password => "vagrant", - :ssh_key => "", - :ssh_host_port => "7222", - :ssh_guest_port => "22", - :sudo_cmd => "echo '%p'|sudo -S sh '%f'", - :shutdown_cmd => "shutdown -P now", - :postinstall_files => ["postinstall.sh", "virtualbox.sh"], - :postinstall_timeout => "10000", - :hooks => { - :before_ssh => Proc.new { sleep 10 } - }, -}) diff --git a/templates/openSUSE-12.3-x86_64-NET_EN/README.md b/templates/openSUSE-12.3/README.md similarity index 100% rename from templates/openSUSE-12.3-x86_64-NET_EN/README.md rename to templates/openSUSE-12.3/README.md diff --git a/templates/openSUSE-12.3-x86_64-NET_EN/autoinst.xml b/templates/openSUSE-12.3/autoinst.xml similarity index 100% rename from templates/openSUSE-12.3-x86_64-NET_EN/autoinst.xml rename to templates/openSUSE-12.3/autoinst.xml diff --git a/templates/openSUSE-12.3/definition.rb b/templates/openSUSE-12.3/definition.rb new file mode 100644 index 00000000..f6dcb471 --- /dev/null +++ b/templates/openSUSE-12.3/definition.rb @@ -0,0 +1,2 @@ + +Veewee::Definition.declare_yaml('definition.yml', :hooks => { :before_ssh => Proc.new { sleep 10 } }) diff --git a/templates/openSUSE-12.3/definition.yml b/templates/openSUSE-12.3/definition.yml new file mode 100644 index 00000000..4869a50f --- /dev/null +++ b/templates/openSUSE-12.3/definition.yml @@ -0,0 +1,36 @@ +--- +:os_type_id: 'OpenSUSE_64' +:cpu_count: '2' +:memory_size: '1024' +:disk_size: '20480' +:disk_format: 'VDI' +:hostiocache: 'off' +:iso_file: "openSUSE-12.3-NET-x86_64.iso" +:iso_src: "http://download.opensuse.org/distribution/12.3/iso/openSUSE-12.3-NET-x86_64.iso" +:iso_md5: "0ef3c2f301b05f52e9c98cff3f799744" +:iso_download_timeout: "1000" +:boot_wait: "10" +:boot_cmd_sequence: + - '' + - 'linux netdevice=eth0 netsetup=dhcp' + - ' install=http://download.opensuse.org/distribution/12.3/repo/oss/ insecure=1' + - ' lang=en_US autoyast=http://%IP%:%PORT%/autoinst.xml' + - ' textmode=1' + - '' +:kickstart_port: "7122" +:kickstart_timeout: "300" +:kickstart_file: + - "autoinst.xml" + - "autoinst.xml" +:ssh_login_timeout: "10000" +:ssh_user: "root" +:ssh_password: "vagrant" +:ssh_key: "" +:ssh_host_port: "7222" +:ssh_guest_port: "22" +:sudo_cmd: "echo '%p'|sudo -S sh '%f'" +:shutdown_cmd: "shutdown -P now" +:postinstall_files: + - "postinstall.sh" + - "virtualbox.sh" +:postinstall_timeout: "10000" diff --git a/templates/openSUSE-12.3-x86_64-NET_EN/postinstall.sh b/templates/openSUSE-12.3/postinstall.sh similarity index 100% rename from templates/openSUSE-12.3-x86_64-NET_EN/postinstall.sh rename to templates/openSUSE-12.3/postinstall.sh diff --git a/templates/openSUSE-12.3-x86_64-NET_EN/virtualbox.sh b/templates/openSUSE-12.3/virtualbox.sh similarity index 100% rename from templates/openSUSE-12.3-x86_64-NET_EN/virtualbox.sh rename to templates/openSUSE-12.3/virtualbox.sh diff --git a/templates/openSUSE-13.1/autoinst.xml b/templates/openSUSE-13.1/autoinst.xml new file mode 100644 index 00000000..6b092b7e --- /dev/null +++ b/templates/openSUSE-13.1/autoinst.xml @@ -0,0 +1,937 @@ + + + + + + + + grub2 + + + false + + + false + false + + + + + false + false + false + false + true + + + + true + true + true + true + false + true + + + align_optimal + false + + + + + 1000 + x + users + + + + english-us + + + en_US + + + + true + false + + + enp0s3 + ATTR{address} + 08:00:27:da:26:e0 + + + + false + + + + + /dev/sda + true + + + true + btrfs + true + defaults,noatime + / + path + max + + + + CT_DISK + all + + + + + false + true + 10 + + + false + true + 2 + + + false + true + 3 + + + false + true + 10 + + + + 3 + + + sshd + enable + 3 5 + + + + + + + + + + + + + UTC + Europe/Berlin + + + + 100 + + /home + -1 + true + /bin/bash + /etc/skel + 022 + + + + false + vagrant + 1000 + /home/vagrant + /bin/bash + 1000 + vagrant + vagrant + + + root + vagrant + false + /bin/bash + + + + + http://download.opensuse.org/distribution/13.1/repo/oss/ + kernel-default + + bison + gcc + gcc-c++ + glibc-locale + iputils + kernel-default-devel + less + libtool + nmap + make + ruby-devel + sudo + zypper + vim + + + kernel-vanilla + mingetty + bash-doc + bash-lang + coreutils-lang + cpio-lang + fuse + glib-networking + glib2-lang + gpg2-lang + grub2-i386-efi + readline-doc + sed-lang + shared-mime-info-lang + sysvinit + tar-lang + upower-lang + util-linux-lang + vim-data + xdg-utils + xz-lang + zypper-log + PackageKit + PackageKit-lang + chromium-desktop-gnome + chromium-desktop-kde + chromium-suid-helper + kernel-debug-base + kernel-ec2-base + kernel-trace-base + cracklib-dict-full + libevtlog0 + libfam0-gamin + libgsasl7 + libntlm0 + libproxy1-32bit + libqt4-sql-32bit + libxkbcommon0 + gconf2 + gconf2-lang + gcr-lang + gdk-pixbuf-lang + gettext-runtime-mini + glib-networking-lang + gnome-keyring + gnome-keyring-lang + gsettings-desktop-schemas + gsettings-desktop-schemas-lang + gstreamer-0_10 + gstreamer-0_10-lang + gtk2-lang + gtk3-immodule-amharic + gtk3-immodule-inuktitut + gtk3-immodule-thai + gtk3-immodule-vietnamese + gtk3-lang + gvfs + kernel-default-base + keyutils + krb5-mini + libgphoto2-6 + libgphoto2-6-lang + libsoup-lang + postfix + python + susehelp + syslogd + sysvinit-init + udisks2 + udisks2-lang + PackageKit-branding-basedonopensuse + PackageKit-branding-upstream + chromium-ffmpegsumo + gio-branding-basedonopensuse + gtk2-branding-basedonopensuse + gtk3-branding-basedonopensuse + libenchant1-32bit + libgsasl-lang + libqt4-x11 + gstreamer-plugins-base + Mesa + gstreamer + libqt4 + gnome-online-accounts + kernel-desktop + gnome-icon-theme + yelp + pam-32bit + mozilla-nss + libwebkitgtk3-lang + gnome-online-accounts-lang + mawk + gstreamer-lang + gstreamer-plugins-base-lang + gtk3-tools + gvfs-lang + json-glib-lang + libgnome-keyring-lang + libsecret-lang + msmtp-mta + yelp-lang + gtk2-tools + at-spi2-core + hicolor-icon-theme + sgml-skel + docbook_4 + openSUSE-release-ftp + openSUSE-release-livetree-x11 + desktop-file-utils + libyui-gtk-pkg5 + perl-URI + perl-libwww-perl + p11-kit-nss-trust + alsa + glibc-32bit + gnome-keyring-pam + libcanberra0 + libyui-qt-pkg5 + gnome-vfs2 + libbonobo + libgnome + libqt4-sql-sqlite + m4 + procmail + hunspell + kernel-xen + perl-HTML-Parser + sendmail + sharutils + PackageKit-gstreamer-plugin + alsa-plugins + glibc-locale-32bit + gtk3-metatheme-adwaita + iso_ent + libgirepository-1_0-1 + libpulse0 + libqt4-sql + libqt4-sql-mysql + libsqlite3-0 + libxml2-tools + metatheme-adwaita-common + obex-data-server + python3 + recode + rsyslog + systemd-logger + systemd-presets-branding-basedonopensuse + cantarell-fonts + cups-libs + gcr-viewer + gdk-pixbuf-query-loaders + gtk2-metatheme-adwaita + libcairo2 + libfreebl3 + libgstreamer-0_10-0 + libgtk-3-0 + libjpeg62 + orbit2 + perl-HTML-Tagset + psmisc + unixODBC + Mesa-32bit + Mesa-libGL1 + alsa-oss + dialog + gtk2-branding-openSUSE + gtk3-branding-openSUSE + gvfs-backends + libfreebl3-32bit + libgstreamer-1_0-0 + libgtk-2_0-0 + libjpeg8 + libmtp9 + libmysqlclient18 + libpixman-1-0 + libpq5 + libqt4-sql-postgresql + libqt4-sql-unixODBC + libsoftokn3 + libvisual + libyui-qt5 + lockdev + unzip-rcc + perl-IO-Socket-SSL + perl-Tie-IxHash + perl-TimeDate + python3-base + bind-libs-32bit + yelp-xsl + gnome-vfs2-32bit + kernel-pae-base + libXaw7-32bit + libXdmcp6-32bit + libXevie1-32bit + libXmu6-32bit + libXmuu1-32bit + libXtst6-32bit + libadns1-32bit + libaio1-32bit + libaugeas0-32bit + libbluetooth3-32bit + libcloog-isl4-32bit + libext2fs2-32bit + libfam0-32bit + libgck-1-0-32bit + libgcr-3-1-32bit + libicu51_2-32bit + libisl10-32bit + liblcms1-32bit + libmpc3-32bit + libmpfr4-32bit + Mesa-libEGL1 + Mesa-libglapi0 + libnl1-32bit + libnl3-200-32bit + alsa-oss-32bit + alsa-utils + libpackagekit-glib2-16-32bit + libpci3-32bit + cyrus-sasl-32bit + libreadline6-32bit + libreiserfs-0_3-0-32bit + exim + libsoup-2_4-1-32bit + fontconfig-32bit + gcr-data + gcr-prompter + gdk-pixbuf-query-loaders-32bit + girepository-1_0 + gnome-vfs2-lang + gptfdisk + gtk2-data + gtk2-immodule-amharic + gtk2-immodule-inuktitut + gtk2-immodule-thai + gtk2-immodule-vietnamese + gtk2-theming-engine-adwaita + gtk2-tools-32bit + gtk3-data + gtk3-theming-engine-adwaita + gtk3-tools-32bit + gvfs-backend-afc + gvfs-fuse + hunspell-tools + libwayland-cursor0-32bit + info2html + krb5-32bit + libFLAC8 + libIDL-2-0 + libX11-xcb1 + libXcomposite1 + libXcursor1 + libXdamage1 + libXevie1 + libXfixes3 + libXi6 + libXrandr2 + libXss1 + libXtst6 + libXv1 + libXxf86vm1 + libarchive13 + libasound2 + libaspell15 + libatk-1_0-0 + libatk-bridge-2_0-0 + libavahi-client3 + libavahi-common3 + libbluetooth3 + libbonobo-lang + libcairo-gobject2 + libcdda_interface0 + libcdda_paranoia0 + libcdio14 + libdrm2 + libdrm_intel1 + libdrm_nouveau2 + libdrm_radeon1 + libenchant1 + libexif12 + libfam0 + libffi4-32bit + libgbm1 + libgcc_s1-32bit + libgck-1-0 + libgck-modules-gnome-keyring + libgcr-3-1 + libgdk_pixbuf-2_0-0 + libgnome-keyring0 + libgnome-lang + libgnutls28 + libgoa-1_0-0 + libgoa-backend-1_0-1 + libgstapp-1_0-0 + libgstaudio-1_0-0 + libgstfft-1_0-0 + libgstpbutils-1_0-0 + libgstriff-1_0-0 + libgsttag-1_0-0 + libgstvideo-1_0-0 + libgthread-2_0-0 + libgvfscommon0 + libharfbuzz-icu0 + libharfbuzz0 + libhogweed2 + libicu51_2 + libicu51_2-data + libxkbcommon0-32bit + libjasper1 + libjavascriptcoregtk-3_0-0 + libjson-glib-1_0-0 + liblcms1 + liblcms2-2 + libltdl7 + libmng1 + libncurses6-32bit + libnettle4 + libogg0 + liborc-0_4-0 + libp11-kit0-32bit + libpango-1_0-0 + libpciaccess0 + libsamplerate0 + libsecret-1-0 + libsmbclient0 + libsndfile1 + libsoftokn3-32bit + libspeex1 + libstdc++6-32bit + libtalloc2 + libtheora0 + libtiff5 + libvorbis0 + libvorbisenc2 + libvorbisfile3 + libwayland-client0 + libwayland-cursor0 + libwayland-server0 + libxcb-dri2-0 + libxcb-glx0 + libxcb-render0 + libxcb-shm0 + libxcb-xfixes0 + mozilla-nss-certs-32bit + pango-tools + pango-tools-32bit + perl-HTML-Tidy + perl-HTTP-Message + perl-Net-DBus + perl-Text-Wrapper + perl-X11-Protocol + perl-XML-XPathEngine + rpm-32bit + sharutils-lang + sound-theme-freedesktop + syslog-service + Mesa-libEGL1-32bit + Mesa-libGL1-32bit + Mesa-libglapi0-32bit + PackageKit-backend-zypp + PackageKit-branding-openSUSE + bundle-lang-common-cs + bundle-lang-common-da + bundle-lang-common-de + bundle-lang-common-el + bundle-lang-common-es + bundle-lang-common-fr + bundle-lang-common-hu + bundle-lang-common-it + bundle-lang-common-ja + bundle-lang-common-pl + bundle-lang-common-pt + bundle-lang-common-ru + bundle-lang-common-zh + bundle-lang-gnome-cs + bundle-lang-gnome-da + bundle-lang-gnome-de + bundle-lang-gnome-el + bundle-lang-gnome-en + bundle-lang-gnome-es + bundle-lang-gnome-fr + bundle-lang-gnome-hu + bundle-lang-gnome-it + bundle-lang-gnome-ja + bundle-lang-gnome-pl + bundle-lang-gnome-pt + bundle-lang-gnome-ru + bundle-lang-gnome-zh + unixODBC-32bit + cups-libs-32bit + device-mapper-32bit + kmod-compat + libFLAC8-32bit + libICE6-32bit + libIDL-2-0-32bit + libLLVM + libLLVM-32bit + libSM6-32bit + libX11-6-32bit + libX11-xcb1-32bit + libXau6-32bit + libXcomposite1-32bit + libXcursor1-32bit + libXdamage1-32bit + libXext6-32bit + libXfixes3-32bit + libXft2-32bit + libXi6-32bit + libXinerama1-32bit + libXpm4-32bit + libXrandr2-32bit + libXrender1-32bit + libXss1-32bit + libXt6-32bit + libXv1-32bit + libXxf86vm1-32bit + libacl1-32bit + libasound2-32bit + libatasmart4 + libatk-1_0-0-32bit + libatk-bridge-2_0-0-32bit + libatspi0 + libatspi0-32bit + libattr1-32bit + libaudit1-32bit + libavahi-glib1 + libblkid1-32bit + libbluray1 + libbonobo-32bit + libbz2-1-32bit + libcairo-gobject2-32bit + libcairo2-32bit + libcanberra0-32bit + libcap2-32bit + libcdio_cdda1 + libcdio_paranoia1 + libcolord2 + libcolord2-32bit + libcom_err2-32bit + libcrack2-32bit + libcryptsetup4-32bit + libdb-4_8-32bit + libdbus-1-3-32bit + libdcerpc-binding0 + libdcerpc-binding0-32bit + libdcerpc0 + libdcerpc0-32bit + libdialog11 + libdrm2-32bit + libdrm_intel1-32bit + libdrm_nouveau2-32bit + libdrm_radeon1-32bit + libedit0-32bit + libelf1-32bit + libestr0 + libexif12-32bit + libexpat1-32bit + libfreetype6-32bit + libgbm1-32bit + libgcrypt11-32bit + libgdbm4-32bit + libgdk_pixbuf-2_0-0-32bit + libgensec0 + libgensec0-32bit + libgeoclue0 + libgio-2_0-0-32bit + libglib-2_0-0-32bit + libgmodule-2_0-0-32bit + libgmp10-32bit + libgnutls28-32bit + libgobject-2_0-0-32bit + libgpg-error0-32bit + libgphoto2-6-32bit + libgraphite2-3 + libgraphite2-3-32bit + libgssglue1-32bit + libgstreamer-0_10-0-32bit + libgthread-2_0-0-32bit + libgtk-2_0-0-32bit + libgtk-3-0-32bit + libharfbuzz0-32bit + libhogweed2-32bit + libjasper1-32bit + libjbig2 + libjbig2-32bit + libjpeg8-32bit + libjson0 + libjson0-32bit + libkeyutils1-32bit + liblcms2-2-32bit + libldap-2_4-2-32bit + libldb1 + libldb1-32bit + liblockdev1 + liblockdev1-32bit + libltdl7-32bit + liblua5_1-32bit + liblzma5-32bit + libmagic1-32bit + libmount1-32bit + libncurses5-32bit + libndr-krb5pac0 + libndr-krb5pac0-32bit + libndr-nbt0 + libndr-nbt0-32bit + libndr-standard0 + libndr-standard0-32bit + bundle-lang-common-ar + libndr0 + bundle-lang-common-ca + libndr0-32bit + bundle-lang-common-fi + bundle-lang-common-ko + bundle-lang-common-nb + bundle-lang-common-nl + bundle-lang-common-sv + bundle-lang-gnome-ar + bundle-lang-gnome-ca + bundle-lang-gnome-fi + bundle-lang-gnome-ko + libnet1 + bundle-lang-gnome-nb + bundle-lang-gnome-nl + bundle-lang-gnome-sv + libnetapi0 + libnetapi0-32bit + libnettle4-32bit + libogg0-32bit + libopenobex1 + libopenssl1_0_0-32bit + libopus0 + libpackagekit-glib2-16 + libpango-1_0-0-32bit + libpciaccess0-32bit + libpcre1-32bit + libpdb0 + libpdb0-32bit + libpixman-1-0-32bit + libpng16-16-32bit + libpopt0-32bit + libprotobuf8 + libpulse0-32bit + libpython2_7-1_0-32bit + libpython3_3m1_0 + libqt4-32bit + librest0 + libsamba-credentials0 + libsamba-credentials0-32bit + libsamba-hostconfig0 + libsamba-hostconfig0-32bit + libsamba-util0 + libsamba-util0-32bit + libsamdb0 + libsamdb0-32bit + libselinux1-32bit + libsemanage1-32bit + libsepol1-32bit + libsmbclient-raw0 + libsmbclient-raw0-32bit + libsmbconf0 + libsmbconf0-32bit + libsmbldap0 + libsmbldap0-32bit + libsndfile1-32bit + libsoup-2_4-1 + libspeex1-32bit + libsqlite3-0-32bit + libtalloc2-32bit + libtasn1-6-32bit + libtdb1 + libtdb1-32bit + libtelepathy-glib0 + libtevent-util0 + libtevent-util0-32bit + libtevent0 + libtevent0-32bit + libtidyp-1_04-0 + libtiff5-32bit + libtirpc1-32bit + libudev1-32bit + libudisks2-0 + libusb-0_1-4-32bit + libusb-1_0-0-32bit + libustr-1_0-1-32bit + libuuid1-32bit + dbus-1-glib-32bit + libvorbis0-32bit + libvorbisenc2-32bit + libvorbisfile3-32bit + libwayland-client0-32bit + libwayland-server0-32bit + libwbclient0 + libwbclient0-32bit + libwebkitgtk-3_0-0 + libwebp4 + libwrap0-32bit + libxcb-dri2-0-32bit + libxcb-glx0-32bit + libxcb-render0-32bit + libxcb-shm0-32bit + libxcb-xfixes0-32bit + libxcb1-32bit + libxml2-2-32bit + libxslt1-32bit + libyelp0 + libyui-gtk5 + libz1-32bit + metamail + mozilla-nspr-32bit + mozilla-nss-32bit + mozilla-nss-certs + gconf2-32bit + orbit2-32bit + gio-branding-upstream + perl-32bit + perl-Data-Dump + perl-Encode-Locale + perl-File-Listing + perl-HTTP-Cookies + perl-HTTP-Daemon + perl-HTTP-Date + perl-HTTP-Negotiate + perl-IO-HTML + perl-LWP-MediaTypes + perl-LWP-Protocol-https + perl-Net-HTTP + perl-Net-LibIDN + perl-Net-SSLeay + perl-WWW-RobotRules + perl-XML-Twig + systemd-mini + pytalloc + pytalloc-32bit + samba-libs + samba-libs-32bit + gtk2-branding-upstream + gtk3-branding-upstream + susehelp_cz + susehelp_de + susehelp_en + susehelp_es + susehelp_fr + susehelp_hu + susehelp_it + systemd-32bit + hunspell-32bit + libudev-mini1 + xaw3d + udev-mini + systemd-mini-sysvinit + libarchive13-32bit + libasm1-32bit + libaspell15-32bit + libassuan0-32bit + libavahi-client3-32bit + libavahi-common3-32bit + libavahi-glib1-32bit + libbluray1-32bit + gtk3-branding-SLED + libcap-ng0-32bit + libcdda_interface0-32bit + libcdda_paranoia0-32bit + libcdio14-32bit + libcdio_cdda1-32bit + libcdio_paranoia1-32bit + libcroco-0_6-3-32bit + libcurl4-32bit + libdw1-32bit + libelf0-32bit + libevent-2_0-5-32bit + libfam0-gamin-32bit + libfuse2-32bit + libgeoclue0-32bit + libgnome-32bit + libgnome-keyring0-32bit + libgoa-1_0-0-32bit + libgoa-backend-1_0-1-32bit + libgstapp-1_0-0-32bit + libgstaudio-1_0-0-32bit + libgstfft-1_0-0-32bit + libgstpbutils-1_0-0-32bit + libgstreamer-1_0-0-32bit + libgstriff-1_0-0-32bit + libgsttag-1_0-0-32bit + libgstvideo-1_0-0-32bit + libgudev-1_0-0-32bit + libgvfscommon0-32bit + libharfbuzz-icu0-32bit + libidn11-32bit + libimobiledevice4-32bit + libjavascriptcoregtk-3_0-0-32bit + libjpeg62-32bit + libjson-glib-1_0-0-32bit + gtk2-branding-SLED + libmng1-32bit + libmodman1-32bit + libmozjs-17_0-32bit + libmysqlclient18-32bit + libnfnetlink0-32bit + libopus0-32bit + liborc-0_4-0-32bit + libparted0-32bit + libplist1-32bit + libpolkit0-32bit + libprotobuf8-32bit + libpth20-32bit + libpython3_3m1_0-32bit + librest0-32bit + libsamplerate0-32bit + libsecret-1-0-32bit + libsmbclient0-32bit + libssh2-1-32bit + libtelepathy-glib0-32bit + libtheora0-32bit + libusbmuxd2-32bit + libutempter0-32bit + libvisual-32bit + libwebkitgtk-3_0-0-32bit + libwebp4-32bit + gettext-runtime-32bit + libzio1-32bit + kernel-debug + kernel-desktop-base + kernel-xen-base + libpq5-32bit + libqt4-x11-32bit + openslp-32bit + sysfsutils-32bit + xaw3dd + branding-basedonopensuse + kernel-pae + chromium + syslog-ng + wallpaper-branding-basedonopensuse + kernel-ec2 + kernel-trace + msmtp + + + diff --git a/templates/openSUSE-13.1/definition.rb b/templates/openSUSE-13.1/definition.rb new file mode 100644 index 00000000..f4d3d1be --- /dev/null +++ b/templates/openSUSE-13.1/definition.rb @@ -0,0 +1,5 @@ +# +# change opensuse_64_dvd to one of configurations in *.yml in this directory +# use the yml files to configure +# +Veewee::Definition.declare_yaml('definition.yml', 'opensuse_64_dvd.yml') diff --git a/templates/openSUSE-13.1/definition.yml b/templates/openSUSE-13.1/definition.yml new file mode 100644 index 00000000..2da68fff --- /dev/null +++ b/templates/openSUSE-13.1/definition.yml @@ -0,0 +1,24 @@ +--- +:cpu_count: '2' +:memory_size: '1024' +:disk_size: '20480' +:disk_format: 'VDI' +:hostiocache: 'off' +:iso_download_timeout: "1000" +:boot_wait: "10" +:kickstart_port: "7122" +:kickstart_timeout: "10000" +:kickstart_file: + - "autoinst.xml" + - "autoinst.xml" +:ssh_login_timeout: "10000" +:ssh_user: "root" +:ssh_password: "vagrant" +:ssh_key: [] +:ssh_host_port: "7222" +:ssh_guest_port: "22" +:sudo_cmd: "echo '%p'|sudo -S sh '%f'" +:shutdown_cmd: "shutdown -P now" +:postinstall_files: + - "postinstall.sh" +:postinstall_timeout: "10000" diff --git a/templates/openSUSE-13.1/opensuse_32_dvd.yml b/templates/openSUSE-13.1/opensuse_32_dvd.yml new file mode 100644 index 00000000..c4564917 --- /dev/null +++ b/templates/openSUSE-13.1/opensuse_32_dvd.yml @@ -0,0 +1,8 @@ +:os_type_id: OpenSUSE +:iso_file: "openSUSE-13.1-DVD-i586.iso" +:iso_src: "http://download.opensuse.org/distribution/13.1/iso/openSUSE-13.1-DVD-i586.iso" +:iso_md5: "1bd6223430910f6d5a168d4e19171462" +:boot_cmd_sequence: + - '' + - 'linux netdevice=enp0s3 netsetup=dhcp install=cd:/ lang=en_US autoyast=http://%IP%:%PORT%/autoinst.xml textmode=1' + - '' diff --git a/templates/openSUSE-13.1/opensuse_32_net.yml b/templates/openSUSE-13.1/opensuse_32_net.yml new file mode 100644 index 00000000..6a21b83b --- /dev/null +++ b/templates/openSUSE-13.1/opensuse_32_net.yml @@ -0,0 +1,9 @@ +:os_type_id: OpenSUSE +:iso_file: "openSUSE-13.1-NET-i586.iso" +:iso_src: "http://download.opensuse.org/distribution/13.1/iso/openSUSE-13.1-NET-i586.iso" +:iso_md5: "6d3c77f72ae4318439ddf5ad890b7687" +:boot_cmd_sequence: + - '' + - 'linux netdevice=enp0s3 netsetup=dhcp install=http://download.opensuse.org/distribution/13.1/repo/oss/' + - ' insecure=1 lang=en_US autoyast=http://%IP%:%PORT%/autoinst.xml textmode=1' + - '' diff --git a/templates/openSUSE-13.1/opensuse_64_dvd.yml b/templates/openSUSE-13.1/opensuse_64_dvd.yml new file mode 100644 index 00000000..fcd65b3d --- /dev/null +++ b/templates/openSUSE-13.1/opensuse_64_dvd.yml @@ -0,0 +1,9 @@ +--- +:os_type_id: OpenSUSE_64 +:iso_file: "openSUSE-13.1-DVD-x86_64.iso" +:iso_src: "http://download.opensuse.org/distribution/13.1/iso/openSUSE-13.1-DVD-x86_64.iso" +:iso_md5: "1096c9c67fc8a67a94a32d04a15e909d" +:boot_cmd_sequence: + - '' + - 'linux netdevice=enp0s3 netsetup=dhcp install=cd:/ lang=en_US autoyast=http://%IP%:%PORT%/autoinst.xml textmode=1' + - '' diff --git a/templates/openSUSE-13.1/opensuse_64_net.yml b/templates/openSUSE-13.1/opensuse_64_net.yml new file mode 100644 index 00000000..6b303932 --- /dev/null +++ b/templates/openSUSE-13.1/opensuse_64_net.yml @@ -0,0 +1,10 @@ +--- +:os_type_id: OpenSUSE_64 +:iso_file: "openSUSE-13.1-NET-x86_64.iso" +:iso_src: "http://download.opensuse.org/distribution/13.1/iso/openSUSE-13.1-NET-x86_64.iso" +:iso_md5: "6c0d656895cbd92f34de61d98ca364ea" +:boot_cmd_sequence: + - '' + - 'linux netdevice=enp0s3 netsetup=dhcp install=http://download.opensuse.org/distribution/13.1/repo/oss/' + - ' insecure=1 lang=en_US autoyast=http://%IP%:%PORT%/autoinst.xml textmode=1' + - '' diff --git a/templates/openSUSE-13.1/postinstall.sh b/templates/openSUSE-13.1/postinstall.sh new file mode 100644 index 00000000..7b1e4a87 --- /dev/null +++ b/templates/openSUSE-13.1/postinstall.sh @@ -0,0 +1,50 @@ +# +# postinstall.sh +# + +date > /etc/vagrant_box_build_time + +# remove zypper package locks +rm -f /etc/zypp/locks + +# install vagrant key +mkdir -pm 700 /home/vagrant/.ssh +curl -Lo /home/vagrant/.ssh/authorized_keys 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' +chmod 0600 /home/vagrant/.ssh/authorized_keys +chown -R vagrant: /home/vagrant/.ssh + +# install VBoxGuestAdditions +if + test -f .vbox_version +then + mount -o loop VBoxGuestAdditions_$(cat .vbox_version).iso /mnt + yes|sh /mnt/VBoxLinuxAdditions.run + umount /mnt + + # Start the newly build driver + /etc/init.d/vboxadd start + + # Make a temporary mount point + mkdir /tmp/veewee-validation + + # Test mount the veewee-validation + mount -t vboxsf veewee-validation /tmp/veewee-validation +fi + +# set vagrant sudo +printf "%b" " +# added by veewee/postinstall.sh +vagrant ALL=(ALL) NOPASSWD: ALL +" >> /etc/sudoers + +# speed-up remote logins +printf "%b" " +# added by veewee/postinstall.sh +UseDNS no +" >> /etc/ssh/sshd_config + +# disable gem docs +echo "gem: --no-ri --no-rdoc" >/etc/gemrc + +# install chef +#gem install chech diff --git a/templates/openbsd50_amd64/definition.rb b/templates/openbsd50_amd64/definition.rb index 139516a0..90c8aa7a 100644 --- a/templates/openbsd50_amd64/definition.rb +++ b/templates/openbsd50_amd64/definition.rb @@ -76,7 +76,7 @@ 'no', 'reboot' ], - :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "", + :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "", :ssh_login_timeout => "10000", :ssh_user => "root", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "sh '%f'", diff --git a/templates/openbsd50_i386/definition.rb b/templates/openbsd50_i386/definition.rb index d4829c8c..6ba7f9fb 100644 --- a/templates/openbsd50_i386/definition.rb +++ b/templates/openbsd50_i386/definition.rb @@ -75,7 +75,7 @@ 'no', 'reboot' ], - :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "", + :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "", :ssh_login_timeout => "10000", :ssh_user => "root", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "sh '%f'", diff --git a/templates/openbsd52_amd64/definition.rb b/templates/openbsd52_amd64/definition.rb index 8d0247f0..9a22c14d 100644 --- a/templates/openbsd52_amd64/definition.rb +++ b/templates/openbsd52_amd64/definition.rb @@ -76,7 +76,7 @@ 'reboot', ''*6 ], - :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "", + :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "", :ssh_login_timeout => "10000", :ssh_user => "root", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "sh '%f'", diff --git a/templates/openbsd52_i386/definition.rb b/templates/openbsd52_i386/definition.rb index 2a037dd8..a8f5c2b1 100644 --- a/templates/openbsd52_i386/definition.rb +++ b/templates/openbsd52_i386/definition.rb @@ -72,7 +72,7 @@ 'reboot', ''*6 ], - :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "", + :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "", :ssh_login_timeout => "10000", :ssh_user => "root", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "sh '%f'", diff --git a/templates/openbsd52_i386_snap/definition.rb b/templates/openbsd52_i386_snap/definition.rb index 0cae4d8f..040c34c2 100644 --- a/templates/openbsd52_i386_snap/definition.rb +++ b/templates/openbsd52_i386_snap/definition.rb @@ -72,7 +72,7 @@ 'reboot', ''*6 ], - :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "", + :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "", :ssh_login_timeout => "10000", :ssh_user => "root", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "sh '%f'", diff --git a/templates/openbsd53_amd64/definition.rb b/templates/openbsd53_amd64/definition.rb index c24fd83f..43a28340 100644 --- a/templates/openbsd53_amd64/definition.rb +++ b/templates/openbsd53_amd64/definition.rb @@ -75,7 +75,7 @@ 'reboot', ''*6 ], - :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "", + :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "", :ssh_login_timeout => "10000", :ssh_user => "root", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "sh '%f'", diff --git a/templates/openbsd53_i386/definition.rb b/templates/openbsd53_i386/definition.rb index 3a394c32..a1107795 100644 --- a/templates/openbsd53_i386/definition.rb +++ b/templates/openbsd53_i386/definition.rb @@ -75,7 +75,7 @@ 'reboot', ''*6 ], - :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "", + :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "", :ssh_login_timeout => "10000", :ssh_user => "root", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "sh '%f'", diff --git a/templates/openbsd54_amd64/definition.rb b/templates/openbsd54_amd64/definition.rb index 6b4549b8..74f211e3 100644 --- a/templates/openbsd54_amd64/definition.rb +++ b/templates/openbsd54_amd64/definition.rb @@ -75,7 +75,7 @@ 'reboot', ''*6 ], - :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "", + :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "", :ssh_login_timeout => "10000", :ssh_user => "root", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "sh '%f'", diff --git a/templates/openbsd54_i386/definition.rb b/templates/openbsd54_i386/definition.rb index 5ebb94d9..52c95a5f 100644 --- a/templates/openbsd54_i386/definition.rb +++ b/templates/openbsd54_i386/definition.rb @@ -75,7 +75,7 @@ 'reboot', ''*6 ], - :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "", + :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "", :ssh_login_timeout => "10000", :ssh_user => "root", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "sh '%f'", diff --git a/templates/openbsd55_amd64/definition.rb b/templates/openbsd55_amd64/definition.rb index 253ce3be..61e67fe5 100644 --- a/templates/openbsd55_amd64/definition.rb +++ b/templates/openbsd55_amd64/definition.rb @@ -77,7 +77,7 @@ 'reboot', ''*6 ], - :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "", + :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "", :ssh_login_timeout => "10000", :ssh_user => "root", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "sh '%f'", diff --git a/templates/openbsd55_i386/definition.rb b/templates/openbsd55_i386/definition.rb index 4f7e9dee..bdc7ac4c 100644 --- a/templates/openbsd55_i386/definition.rb +++ b/templates/openbsd55_i386/definition.rb @@ -77,7 +77,7 @@ 'reboot', ''*6 ], - :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "", + :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "", :ssh_login_timeout => "10000", :ssh_user => "root", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "sh '%f'", diff --git a/templates/openindiana-148-ai-x86/definition.rb b/templates/openindiana-148-ai-x86/definition.rb index 04cd75b5..8fd48e1c 100644 --- a/templates/openindiana-148-ai-x86/definition.rb +++ b/templates/openindiana-148-ai-x86/definition.rb @@ -40,7 +40,7 @@ 'sleep 3; tail -f /tmp/install_log' ], - :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "default.xml", + :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "default.xml", :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "echo '%p'|sudo -S bash ./%f", diff --git a/templates/openindiana-151a7-text-x86/definition.rb b/templates/openindiana-151a7-text-x86/definition.rb index a0a2cafb..288c8077 100644 --- a/templates/openindiana-151a7-text-x86/definition.rb +++ b/templates/openindiana-151a7-text-x86/definition.rb @@ -37,7 +37,7 @@ # login as vagrant 'vagrant'*2, ], - :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "default.xml", + :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "default.xml", :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "echo '%p'|sudo -S bash ./%f", diff --git a/templates/opensuse-11.4-i386-experimental/README b/templates/opensuse-11.4-i386-experimental/README deleted file mode 100644 index 728db678..00000000 --- a/templates/opensuse-11.4-i386-experimental/README +++ /dev/null @@ -1,11 +0,0 @@ -Additional - edit partitions add set the label (root/home) - disable autoinstall (so we can add the network by bus) - select autoyast2 as part of the inital installation to create the autoyast.xml - -zypper install autoyast -zypper install vim -yast2 autoyast - - -# yast2 clone_system diff --git a/templates/opensuse-11.4-i386-experimental/autoinst.xml b/templates/opensuse-11.4-i386-experimental/autoinst.xml deleted file mode 100644 index 79a52314..00000000 --- a/templates/opensuse-11.4-i386-experimental/autoinst.xml +++ /dev/null @@ -1,1269 +0,0 @@ - - - - - - - - - - hd0 - /dev/sda - - - - true - openSUSE 11.4 - 2.6.37.1-1.2 - true - 2 - 8 - - - - ahci - - - ata_piix - - - ata_generic - - - thermal - - - processor - - - fan - - - grub - -
- resume=/dev/sda1 splash=silent quiet showopts - (hd0,1)/boot/vmlinuz-2.6.37.1-1.2-default - 1 - (hd0,1)/boot/initrd-2.6.37.1-1.2-default - 0 - openSUSE 11.4 - 2.6.37.1-1.2 - linux - /dev/sda2 - image -
-
- showopts apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe - (hd0,1)/boot/vmlinuz-2.6.37.1-1.2-default - (hd0,1)/boot/initrd-2.6.37.1-1.2-default - 1 - Failsafe -- openSUSE 11.4 - 2.6.37.1-1.2 - failsafe - /dev/sda2 - image -
-
-
- - false - - - no - no - no - sshd - sshd - sshd - - - - - - no - yes - no - no - nf_conntrack_netbios_ns - no - yes - no - yes - no - no - no - - - - - - - - - - - - - - - - - - - false - false - - - - - false - - - none - - - - true - true - true - true - false - true - - - - - - 100 - x - users - - - - 19 - x - floppy - - - - 1 - x - bin - daemon - - - 54 - x - lock - - - - 41 - x - xok - - - - 65533 - x - nobody - - - - 43 - x - modem - - - - 5 - x - tty - - - - 7 - x - lp - - - - 51 - ! - postfix - - - - 65534 - x - nogroup - nobody - - - 101 - ! - messagebus - - - - 59 - ! - maildrop - - - - 33 - x - video - vagrant - - - 3 - x - sys - - - - 15 - x - shadow - - - - 20 - x - cdrom - - - - 21 - x - console - - - - 42 - x - trusted - - - - 16 - x - dialout - - - - 10 - x - wheel - - - - 8 - x - www - - - - 40 - x - games - - - - 6 - x - disk - - - - 17 - x - audio - - - - 49 - x - ftp - - - - 9 - x - kmem - - - - 32 - x - public - - - - 103 - ! - tape - - - - 12 - x - mail - - - - 0 - x - root - - - - 2 - x - daemon - - - - 104 - ! - ntp - - - - 14 - x - uucp - - - - 62 - x - man - - - - 22 - x - utmp - - - - 13 - x - news - - - - 102 - ! - sshd - - - - - - - 127.0.0.1 - - localhost - - - - 127.0.0.2 - - vagrant-opensuse.vagrantup.com vagrant-opensuse - - - - ::1 - - localhost ipv6-localhost ipv6-loopback - - - - fe00::0 - - ipv6-localnet - - - - ff00::0 - - ipv6-mcastprefix - - - - ff02::1 - - ipv6-allnodes - - - - ff02::2 - - ipv6-allrouters - - - - ff02::3 - - ipv6-allhosts - - - - - - - - 1.0 - - - belgian - - - en_US - - - - - - false - false - dc=example,dc=com - 127.0.0.1 - true - false - true - member - false - exop - true - false - false - - - - - - AUTO - - - true - vagrantup.com - vagrant-opensuse - auto - - vagrantup.com - - true - - - - dhcp - eth0 - 82540EM Gigabit Ethernet Controller - nfsroot - no - - - true - false - - - eth0 - KERNELS - 0000:00:03.0 - - - - false - - - - auto - false - false - - false - - - - - false - false - - - - /dev/sda - true - - - true - false - swap - true - defaults - false - swap - device - 130 - 1 - - false - 574782976 - - - true - false - ext4 - true - acl,user_xattr - false - / - device - 131 - 2 - - false - 5362580992 - - - true - false - ext4 - true - acl,user_xattr - false - /home - device - 131 - 3 - - false - 4669472256 - - - - CT_DISK - all - - - - - - - - - - - - false - - - - localhost, 127.0.0.1 - - - - - - true - true - 0 - - - true - true - 0 - - - true - true - 0 - - - true - true - 0 - - - - 3 - - - - - - autoyast2 - crda - hicolor-icon-theme-branding-openSUSE - kexec-tools - libnl - virtualbox-guest-kmp-default - virtualbox-guest-tools - virtualbox-guest-x11 - wireless-regdb - yast2-schema - yast2-trans-en_US - - - base - sw_management - yast2_basis - yast2_install_wf - - - FastCGI - Mesa - PackageKit - PackageKit-branding-openSUSE - PackageKit-branding-upstream - PackageKit-lang - PolicyKit - a2ps - apache2 - apache2-itk - apache2-prefork - apache2-utils - apache2-worker - bash-lang - bea-stax-api - bundle-lang-common-ar - bundle-lang-common-ca - bundle-lang-common-cs - bundle-lang-common-da - bundle-lang-common-de - bundle-lang-common-es - bundle-lang-common-fi - bundle-lang-common-fr - bundle-lang-common-hu - bundle-lang-common-it - bundle-lang-common-ja - bundle-lang-common-ko - bundle-lang-common-nb - bundle-lang-common-nl - bundle-lang-common-pl - bundle-lang-common-pt - bundle-lang-common-ru - bundle-lang-common-sv - bundle-lang-common-zh - bundle-lang-gnome-ar - bundle-lang-gnome-ca - bundle-lang-gnome-cs - bundle-lang-gnome-da - bundle-lang-gnome-de - bundle-lang-gnome-en - bundle-lang-gnome-es - bundle-lang-gnome-fi - bundle-lang-gnome-fr - bundle-lang-gnome-hu - bundle-lang-gnome-it - bundle-lang-gnome-ja - bundle-lang-gnome-ko - bundle-lang-gnome-nb - bundle-lang-gnome-nl - bundle-lang-gnome-pl - bundle-lang-gnome-pt - bundle-lang-gnome-ru - bundle-lang-gnome-sv - bundle-lang-gnome-zh - cifs-utils - coreutils-lang - cpio-lang - cpp - cpp45 - cracklib-dict-small - cups - cups-client - cups-libs - dbus-1-python - dbus-1-x11 - exim - fam - fonts-config - foomatic-filters - freeglut - ft2demos - fuse - gconf2 - gconf2-lang - gd - gdk-pixbuf-lang - gdk-pixbuf-query-loaders - ghostscript-fonts-other - ghostscript-fonts-std - ghostscript-library - ghostscript-x11 - giflib - glib2-branding-upstream - glib2-lang - gnome-icon-theme - gnome-keyring - gnome-keyring-lang - gnome-keyring-pam - gpg2-lang - graphviz - graphviz-gd - graphviz-gnome - gtk2-branding-openSUSE - gtk2-branding-upstream - gtk2-data - gtk2-engine-murrine - gtk2-immodule-amharic - gtk2-immodule-inuktitut - gtk2-immodule-thai - gtk2-immodule-vietnamese - gtk2-lang - gtk2-metatheme-sonar - gtk2-tools - gutenprint - gvfs - gvfs-backend-afc - gvfs-backends - gvfs-fuse - gvfs-lang - hplip - hplip-hpijs - java-1_6_0-openjdk - java-1_6_0-openjdk-plugin - java-1_6_0-sun - jline - jpackage-utils - keyutils - krb5-mini - lcms - libFLAC8 - libIDL-2-0 - libQtWebKit4 - libXi6 - libapr-util1 - libapr1 - libarchive2 - libasound2 - libatasmart4 - libatk-1_0-0 - libavahi-client3 - libavahi-common3 - libavahi-glib1 - libbluetooth3 - libcairo2 - libcdio12 - libcdio12-mini - libcdio_cdda0 - libcdio_paranoia0 - libcloog0 - libdrm - libevtlog0 - libexif12 - libffi45 - libfuse2 - libgcj45 - libgcj45-jar - libgcr0 - libgdk_pixbuf-2_0-0 - libgdu-lang - libgdu0 - libgimpprint - libgirepository-1_0-1 - libgmp10 - libgmpxx4 - libgnome-keyring-lang - libgnome-keyring0 - libgp11-0 - libgp11-modules - libgphoto2 - libgphoto2-lang - libgtk-2_0-0 - libgvfscommon0 - libieee1284 - libjasper1 - libjpeg62 - liblcms1 - libldb0 - liblockdev1 - libltdl7 - libmng - libmpc2 - libmpfr4 - libmysqlclient_r16 - libnet1 - libnih - libogg0 - libopenobex1 - libpackagekit-glib2-14 - libpango-1_0-0 - libpciaccess0 - libpixman-1-0 - libpng14-14 - libpoppler7 - libppl9 - libppl_c4 - libpq5 - libpulse0 - libpython2_7-1_0 - libqdialogsolver1 - libqt4 - libqt4-qt3support - libqt4-sql - libqt4-sql-mysql - libqt4-sql-postgresql - libqt4-sql-sqlite - libqt4-sql-unixODBC - libqt4-x11 - libsensors4 - libsmbclient0 - libsndfile - libsnmp25 - libsoup-2_4-1 - libsqlite3-0 - libtalloc2 - libtdb1 - libtevent0 - libtiff3 - libvorbis0 - libvorbisenc2 - libwbclient0 - libxml2-python - lockdev - login-lang - m4 - make - mawk - metamail - metatheme-sonar-common - nginx-0.8 - obex-data-server - openSUSE-dynamic-wallpaper - openSUSE-release-ftp - openSUSE-release-livetree - orbit2 - pango-tools - poppler-data - poppler-tools - procmail - python - python-base - python-gobject - python-qt4 - python-sip - python-xml - readline-doc - rhino - ruby - ruby-devel - ruby-fcgi - rubygem-actionmailer-2_3 - rubygem-actionpack-2_3 - rubygem-activerecord - rubygem-activerecord-2_3 - rubygem-activeresource-2_3 - rubygem-activesupport-2_3 - rubygem-daemon_controller - rubygem-fastthread - rubygem-file-tail - rubygem-gettext - rubygem-gettext_activerecord - rubygem-gettext_rails - rubygem-http_accept_language - rubygem-locale - rubygem-locale_rails - rubygem-passenger - rubygem-passenger-nginx - rubygem-polkit - rubygem-rack - rubygem-rails - rubygem-rails-2_3 - rubygem-rake - rubygem-rpam - rubygem-ruby-dbus - rubygem-spruz - rubygem-sqlite3 - rubygem-webyast-rake-tasks - rubygems - samba - samba-client - sane-backends - sendmail - sg3_utils - sharutils - snmp-mibs - sonar-icon-theme - sqlite3 - syslog-ng - syslogd - systemd - systemd-sysvinit - tar-lang - timezone-java - udisks - unixODBC - upower-lang - upstart - util-linux-lang - wdiff - wdiff-lang - webyast-base-ws - xaw3d - xaw3dd - xdmbgrd - xkeyboard-config - xmlbeans - xmlbeans-mini - xorg-x11 - xorg-x11-driver-input - xorg-x11-fonts - xorg-x11-fonts-core - xorg-x11-libXdmcp - xorg-x11-libXv - xorg-x11-server - xorg-x11-xauth - xtermset - yast2-dbus-server - yast2-gtk - yast2-qt - yast2-qt-pkg - yast2-theme-openSUSE-Crystal - yast2-theme-openSUSE-Oxygen - - - - UTC - Europe/Brussels - - - - 100 - video - /home - -1 - /bin/bash - /etc/skel - 022 - - - - true - vagrant - 100 - /home/vagrant - - - - - 99999 - 0 - 7 - - /bin/bash - 1000 - $2a$05$TkTmPBSY9Ex/X2DFYwcdwOgvAQQ.iU0Nkcy.jTWF.7emEMsJ7vqrK - vagrant - - - true - Games account - 100 - /var/games - - - - - - - - - /bin/bash - 12 - * - games - - - true - bin - 1 - /bin - - - - - - - - - /bin/bash - 1 - * - bin - - - true - nobody - 65533 - /var/lib/nobody - - - - - - - - - /bin/bash - 65534 - * - nobody - - - true - Printing daemon - 7 - /var/spool/lpd - - - - - - - - - /bin/bash - 4 - * - lp - - - true - Postfix Daemon - 51 - /var/spool/postfix - - - - - 99999 - 0 - 7 - - /bin/false - 51 - * - postfix - - - true - FTP account - 49 - /srv/ftp - - - - - - - - - /bin/bash - 40 - * - ftp - - - true - NFS statd daemon - 65534 - /var/lib/nfs - - - - - 99999 - 0 - 7 - - /sbin/nologin - 102 - * - statd - - - true - root - 0 - /root - - - - - - - - - /bin/bash - 0 - $2a$05$fVC665/9MiTEz2.avquNrudxR02AVnfOZvHw2pgjeLWuOFlIiCa/e - root - - - true - Mailer daemon - 12 - /var/spool/clientmqueue - - - - - - - - - /bin/false - 8 - * - mail - - - true - Daemon - 2 - /sbin - - - - - - - - - /bin/bash - 2 - * - daemon - - - true - NTP daemon - 104 - /var/lib/ntp - - - - - 99999 - 0 - 7 - - /bin/false - 74 - * - ntp - - - true - User for D-Bus - 101 - /var/run/dbus - - - - - - 0 - 7 - - /bin/false - 100 - * - messagebus - - - true - Unix-to-Unix CoPy system - 14 - /etc/uucp - - - - - - - - - /bin/bash - 10 - * - uucp - - - true - WWW daemon apache - 8 - /var/lib/wwwrun - - - - - - - - - /bin/false - 30 - * - wwwrun - - - true - Manual pages viewer - 62 - /var/cache/man - - - - - - - - - /bin/bash - 13 - * - man - - - true - News system - 13 - /etc/news - - - - - - - - - /bin/bash - 9 - * - news - - - true - SSH daemon - 102 - /var/lib/sshd - - - - - - 0 - 7 - - /bin/false - 101 - * - sshd - - -
diff --git a/templates/opensuse-11.4-i386-experimental/autoinst.xml.generated b/templates/opensuse-11.4-i386-experimental/autoinst.xml.generated deleted file mode 100644 index 60f01356..00000000 --- a/templates/opensuse-11.4-i386-experimental/autoinst.xml.generated +++ /dev/null @@ -1,1269 +0,0 @@ - - - - - - - - - - hd0 - /dev/disk/by-id/ata-VBOX_HARDDISK_VB73eb7a74-4abe1ef6 - - - - true - openSUSE 11.4 - 2.6.37.1-1.2 - true - 2 - 8 - - - - ahci - - - ata_piix - - - ata_generic - - - thermal - - - processor - - - fan - - - grub - -
- resume=/dev/disk/by-id/ata-VBOX_HARDDISK_VB73eb7a74-4abe1ef6-part1 splash=silent quiet showopts - (hd0,1)/boot/vmlinuz-2.6.37.1-1.2-default - 1 - (hd0,1)/boot/initrd-2.6.37.1-1.2-default - 0 - openSUSE 11.4 - 2.6.37.1-1.2 - linux - /dev/disk/by-label/root - image -
-
- showopts apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe - (hd0,1)/boot/vmlinuz-2.6.37.1-1.2-default - (hd0,1)/boot/initrd-2.6.37.1-1.2-default - 1 - Failsafe -- openSUSE 11.4 - 2.6.37.1-1.2 - failsafe - /dev/disk/by-label/root - image -
-
-
- - false - - - no - no - no - sshd - sshd - sshd - - - - - - no - yes - no - no - nf_conntrack_netbios_ns - no - yes - no - yes - no - no - no - - - - - - - - - - - - - - - - - - - false - false - - - - - false - - - none - - - - true - true - true - true - false - true - - - - - - 100 - x - users - - - - 19 - x - floppy - - - - 1 - x - bin - daemon - - - 54 - x - lock - - - - 41 - x - xok - - - - 65533 - x - nobody - - - - 43 - x - modem - - - - 5 - x - tty - - - - 7 - x - lp - - - - 51 - ! - postfix - - - - 65534 - x - nogroup - nobody - - - 101 - ! - messagebus - - - - 59 - ! - maildrop - - - - 33 - x - video - vagrant - - - 3 - x - sys - - - - 15 - x - shadow - - - - 20 - x - cdrom - - - - 21 - x - console - - - - 42 - x - trusted - - - - 16 - x - dialout - - - - 10 - x - wheel - - - - 8 - x - www - - - - 40 - x - games - - - - 6 - x - disk - - - - 17 - x - audio - - - - 49 - x - ftp - - - - 9 - x - kmem - - - - 32 - x - public - - - - 103 - ! - tape - - - - 12 - x - mail - - - - 0 - x - root - - - - 2 - x - daemon - - - - 104 - ! - ntp - - - - 14 - x - uucp - - - - 62 - x - man - - - - 22 - x - utmp - - - - 13 - x - news - - - - 102 - ! - sshd - - - - - - - 127.0.0.1 - - localhost - - - - 127.0.0.2 - - vagrant-opensuse.vagrantup.com vagrant-opensuse - - - - ::1 - - localhost ipv6-localhost ipv6-loopback - - - - fe00::0 - - ipv6-localnet - - - - ff00::0 - - ipv6-mcastprefix - - - - ff02::1 - - ipv6-allnodes - - - - ff02::2 - - ipv6-allrouters - - - - ff02::3 - - ipv6-allhosts - - - - - - - - 1.0 - - - belgian - - - en_US - - - - - - false - false - dc=example,dc=com - 127.0.0.1 - true - false - true - member - false - exop - true - false - false - - - - - - AUTO - - - true - vagrantup.com - vagrant-opensuse - auto - - vagrantup.com - - true - - - - dhcp - eth0 - 82540EM Gigabit Ethernet Controller - nfsroot - no - - - true - false - - - eth0 - KERNELS - 0000:00:03.0 - - - - false - - - - auto - false - false - - false - - - - - false - false - - - - /dev/sda - true - - - true - false - swap - true - defaults - false - swap - id - 130 - 1 - - false - 574782976 - - - true - false - ext4 - true - acl,user_xattr - false - / - label - 131 - 2 - - false - 5362580992 - - - true - false - ext4 - true - acl,user_xattr - false - /home - label - 131 - 3 - - false - 4669472256 - - - - CT_DISK - all - - - - - - - - - - - - false - - - - localhost, 127.0.0.1 - - - - - - true - true - 0 - - - true - true - 0 - - - true - true - 0 - - - true - true - 0 - - - - 3 - - - - - - autoyast2 - crda - hicolor-icon-theme-branding-openSUSE - kexec-tools - libnl - virtualbox-guest-kmp-default - virtualbox-guest-tools - virtualbox-guest-x11 - wireless-regdb - yast2-schema - yast2-trans-en_US - - - base - sw_management - yast2_basis - yast2_install_wf - - - FastCGI - Mesa - PackageKit - PackageKit-branding-openSUSE - PackageKit-branding-upstream - PackageKit-lang - PolicyKit - a2ps - apache2 - apache2-itk - apache2-prefork - apache2-utils - apache2-worker - bash-lang - bea-stax-api - bundle-lang-common-ar - bundle-lang-common-ca - bundle-lang-common-cs - bundle-lang-common-da - bundle-lang-common-de - bundle-lang-common-es - bundle-lang-common-fi - bundle-lang-common-fr - bundle-lang-common-hu - bundle-lang-common-it - bundle-lang-common-ja - bundle-lang-common-ko - bundle-lang-common-nb - bundle-lang-common-nl - bundle-lang-common-pl - bundle-lang-common-pt - bundle-lang-common-ru - bundle-lang-common-sv - bundle-lang-common-zh - bundle-lang-gnome-ar - bundle-lang-gnome-ca - bundle-lang-gnome-cs - bundle-lang-gnome-da - bundle-lang-gnome-de - bundle-lang-gnome-en - bundle-lang-gnome-es - bundle-lang-gnome-fi - bundle-lang-gnome-fr - bundle-lang-gnome-hu - bundle-lang-gnome-it - bundle-lang-gnome-ja - bundle-lang-gnome-ko - bundle-lang-gnome-nb - bundle-lang-gnome-nl - bundle-lang-gnome-pl - bundle-lang-gnome-pt - bundle-lang-gnome-ru - bundle-lang-gnome-sv - bundle-lang-gnome-zh - cifs-utils - coreutils-lang - cpio-lang - cpp - cpp45 - cracklib-dict-small - cups - cups-client - cups-libs - dbus-1-python - dbus-1-x11 - exim - fam - fonts-config - foomatic-filters - freeglut - ft2demos - fuse - gconf2 - gconf2-lang - gd - gdk-pixbuf-lang - gdk-pixbuf-query-loaders - ghostscript-fonts-other - ghostscript-fonts-std - ghostscript-library - ghostscript-x11 - giflib - glib2-branding-upstream - glib2-lang - gnome-icon-theme - gnome-keyring - gnome-keyring-lang - gnome-keyring-pam - gpg2-lang - graphviz - graphviz-gd - graphviz-gnome - gtk2-branding-openSUSE - gtk2-branding-upstream - gtk2-data - gtk2-engine-murrine - gtk2-immodule-amharic - gtk2-immodule-inuktitut - gtk2-immodule-thai - gtk2-immodule-vietnamese - gtk2-lang - gtk2-metatheme-sonar - gtk2-tools - gutenprint - gvfs - gvfs-backend-afc - gvfs-backends - gvfs-fuse - gvfs-lang - hplip - hplip-hpijs - java-1_6_0-openjdk - java-1_6_0-openjdk-plugin - java-1_6_0-sun - jline - jpackage-utils - keyutils - krb5-mini - lcms - libFLAC8 - libIDL-2-0 - libQtWebKit4 - libXi6 - libapr-util1 - libapr1 - libarchive2 - libasound2 - libatasmart4 - libatk-1_0-0 - libavahi-client3 - libavahi-common3 - libavahi-glib1 - libbluetooth3 - libcairo2 - libcdio12 - libcdio12-mini - libcdio_cdda0 - libcdio_paranoia0 - libcloog0 - libdrm - libevtlog0 - libexif12 - libffi45 - libfuse2 - libgcj45 - libgcj45-jar - libgcr0 - libgdk_pixbuf-2_0-0 - libgdu-lang - libgdu0 - libgimpprint - libgirepository-1_0-1 - libgmp10 - libgmpxx4 - libgnome-keyring-lang - libgnome-keyring0 - libgp11-0 - libgp11-modules - libgphoto2 - libgphoto2-lang - libgtk-2_0-0 - libgvfscommon0 - libieee1284 - libjasper1 - libjpeg62 - liblcms1 - libldb0 - liblockdev1 - libltdl7 - libmng - libmpc2 - libmpfr4 - libmysqlclient_r16 - libnet1 - libnih - libogg0 - libopenobex1 - libpackagekit-glib2-14 - libpango-1_0-0 - libpciaccess0 - libpixman-1-0 - libpng14-14 - libpoppler7 - libppl9 - libppl_c4 - libpq5 - libpulse0 - libpython2_7-1_0 - libqdialogsolver1 - libqt4 - libqt4-qt3support - libqt4-sql - libqt4-sql-mysql - libqt4-sql-postgresql - libqt4-sql-sqlite - libqt4-sql-unixODBC - libqt4-x11 - libsensors4 - libsmbclient0 - libsndfile - libsnmp25 - libsoup-2_4-1 - libsqlite3-0 - libtalloc2 - libtdb1 - libtevent0 - libtiff3 - libvorbis0 - libvorbisenc2 - libwbclient0 - libxml2-python - lockdev - login-lang - m4 - make - mawk - metamail - metatheme-sonar-common - nginx-0.8 - obex-data-server - openSUSE-dynamic-wallpaper - openSUSE-release-ftp - openSUSE-release-livetree - orbit2 - pango-tools - poppler-data - poppler-tools - procmail - python - python-base - python-gobject - python-qt4 - python-sip - python-xml - readline-doc - rhino - ruby - ruby-devel - ruby-fcgi - rubygem-actionmailer-2_3 - rubygem-actionpack-2_3 - rubygem-activerecord - rubygem-activerecord-2_3 - rubygem-activeresource-2_3 - rubygem-activesupport-2_3 - rubygem-daemon_controller - rubygem-fastthread - rubygem-file-tail - rubygem-gettext - rubygem-gettext_activerecord - rubygem-gettext_rails - rubygem-http_accept_language - rubygem-locale - rubygem-locale_rails - rubygem-passenger - rubygem-passenger-nginx - rubygem-polkit - rubygem-rack - rubygem-rails - rubygem-rails-2_3 - rubygem-rake - rubygem-rpam - rubygem-ruby-dbus - rubygem-spruz - rubygem-sqlite3 - rubygem-webyast-rake-tasks - rubygems - samba - samba-client - sane-backends - sendmail - sg3_utils - sharutils - snmp-mibs - sonar-icon-theme - sqlite3 - syslog-ng - syslogd - systemd - systemd-sysvinit - tar-lang - timezone-java - udisks - unixODBC - upower-lang - upstart - util-linux-lang - wdiff - wdiff-lang - webyast-base-ws - xaw3d - xaw3dd - xdmbgrd - xkeyboard-config - xmlbeans - xmlbeans-mini - xorg-x11 - xorg-x11-driver-input - xorg-x11-fonts - xorg-x11-fonts-core - xorg-x11-libXdmcp - xorg-x11-libXv - xorg-x11-server - xorg-x11-xauth - xtermset - yast2-dbus-server - yast2-gtk - yast2-qt - yast2-qt-pkg - yast2-theme-openSUSE-Crystal - yast2-theme-openSUSE-Oxygen - - - - UTC - Europe/Brussels - - - - 100 - video - /home - -1 - /bin/bash - /etc/skel - 022 - - - - true - vagrant - 100 - /home/vagrant - - - - - 99999 - 0 - 7 - - /bin/bash - 1000 - $2a$05$TkTmPBSY9Ex/X2DFYwcdwOgvAQQ.iU0Nkcy.jTWF.7emEMsJ7vqrK - vagrant - - - true - Games account - 100 - /var/games - - - - - - - - - /bin/bash - 12 - * - games - - - true - bin - 1 - /bin - - - - - - - - - /bin/bash - 1 - * - bin - - - true - nobody - 65533 - /var/lib/nobody - - - - - - - - - /bin/bash - 65534 - * - nobody - - - true - Printing daemon - 7 - /var/spool/lpd - - - - - - - - - /bin/bash - 4 - * - lp - - - true - Postfix Daemon - 51 - /var/spool/postfix - - - - - 99999 - 0 - 7 - - /bin/false - 51 - * - postfix - - - true - FTP account - 49 - /srv/ftp - - - - - - - - - /bin/bash - 40 - * - ftp - - - true - NFS statd daemon - 65534 - /var/lib/nfs - - - - - 99999 - 0 - 7 - - /sbin/nologin - 102 - * - statd - - - true - root - 0 - /root - - - - - - - - - /bin/bash - 0 - $2a$05$fVC665/9MiTEz2.avquNrudxR02AVnfOZvHw2pgjeLWuOFlIiCa/e - root - - - true - Mailer daemon - 12 - /var/spool/clientmqueue - - - - - - - - - /bin/false - 8 - * - mail - - - true - Daemon - 2 - /sbin - - - - - - - - - /bin/bash - 2 - * - daemon - - - true - NTP daemon - 104 - /var/lib/ntp - - - - - 99999 - 0 - 7 - - /bin/false - 74 - * - ntp - - - true - User for D-Bus - 101 - /var/run/dbus - - - - - - 0 - 7 - - /bin/false - 100 - * - messagebus - - - true - Unix-to-Unix CoPy system - 14 - /etc/uucp - - - - - - - - - /bin/bash - 10 - * - uucp - - - true - WWW daemon apache - 8 - /var/lib/wwwrun - - - - - - - - - /bin/false - 30 - * - wwwrun - - - true - Manual pages viewer - 62 - /var/cache/man - - - - - - - - - /bin/bash - 13 - * - man - - - true - News system - 13 - /etc/news - - - - - - - - - /bin/bash - 9 - * - news - - - true - SSH daemon - 102 - /var/lib/sshd - - - - - - 0 - 7 - - /bin/false - 101 - * - sshd - - -
diff --git a/templates/opensuse-11.4-i386-experimental/autoinst.xml.tweaked b/templates/opensuse-11.4-i386-experimental/autoinst.xml.tweaked deleted file mode 100644 index 79a52314..00000000 --- a/templates/opensuse-11.4-i386-experimental/autoinst.xml.tweaked +++ /dev/null @@ -1,1269 +0,0 @@ - - - - - - - - - - hd0 - /dev/sda - - - - true - openSUSE 11.4 - 2.6.37.1-1.2 - true - 2 - 8 - - - - ahci - - - ata_piix - - - ata_generic - - - thermal - - - processor - - - fan - - - grub - -
- resume=/dev/sda1 splash=silent quiet showopts - (hd0,1)/boot/vmlinuz-2.6.37.1-1.2-default - 1 - (hd0,1)/boot/initrd-2.6.37.1-1.2-default - 0 - openSUSE 11.4 - 2.6.37.1-1.2 - linux - /dev/sda2 - image -
-
- showopts apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe - (hd0,1)/boot/vmlinuz-2.6.37.1-1.2-default - (hd0,1)/boot/initrd-2.6.37.1-1.2-default - 1 - Failsafe -- openSUSE 11.4 - 2.6.37.1-1.2 - failsafe - /dev/sda2 - image -
-
-
- - false - - - no - no - no - sshd - sshd - sshd - - - - - - no - yes - no - no - nf_conntrack_netbios_ns - no - yes - no - yes - no - no - no - - - - - - - - - - - - - - - - - - - false - false - - - - - false - - - none - - - - true - true - true - true - false - true - - - - - - 100 - x - users - - - - 19 - x - floppy - - - - 1 - x - bin - daemon - - - 54 - x - lock - - - - 41 - x - xok - - - - 65533 - x - nobody - - - - 43 - x - modem - - - - 5 - x - tty - - - - 7 - x - lp - - - - 51 - ! - postfix - - - - 65534 - x - nogroup - nobody - - - 101 - ! - messagebus - - - - 59 - ! - maildrop - - - - 33 - x - video - vagrant - - - 3 - x - sys - - - - 15 - x - shadow - - - - 20 - x - cdrom - - - - 21 - x - console - - - - 42 - x - trusted - - - - 16 - x - dialout - - - - 10 - x - wheel - - - - 8 - x - www - - - - 40 - x - games - - - - 6 - x - disk - - - - 17 - x - audio - - - - 49 - x - ftp - - - - 9 - x - kmem - - - - 32 - x - public - - - - 103 - ! - tape - - - - 12 - x - mail - - - - 0 - x - root - - - - 2 - x - daemon - - - - 104 - ! - ntp - - - - 14 - x - uucp - - - - 62 - x - man - - - - 22 - x - utmp - - - - 13 - x - news - - - - 102 - ! - sshd - - - - - - - 127.0.0.1 - - localhost - - - - 127.0.0.2 - - vagrant-opensuse.vagrantup.com vagrant-opensuse - - - - ::1 - - localhost ipv6-localhost ipv6-loopback - - - - fe00::0 - - ipv6-localnet - - - - ff00::0 - - ipv6-mcastprefix - - - - ff02::1 - - ipv6-allnodes - - - - ff02::2 - - ipv6-allrouters - - - - ff02::3 - - ipv6-allhosts - - - - - - - - 1.0 - - - belgian - - - en_US - - - - - - false - false - dc=example,dc=com - 127.0.0.1 - true - false - true - member - false - exop - true - false - false - - - - - - AUTO - - - true - vagrantup.com - vagrant-opensuse - auto - - vagrantup.com - - true - - - - dhcp - eth0 - 82540EM Gigabit Ethernet Controller - nfsroot - no - - - true - false - - - eth0 - KERNELS - 0000:00:03.0 - - - - false - - - - auto - false - false - - false - - - - - false - false - - - - /dev/sda - true - - - true - false - swap - true - defaults - false - swap - device - 130 - 1 - - false - 574782976 - - - true - false - ext4 - true - acl,user_xattr - false - / - device - 131 - 2 - - false - 5362580992 - - - true - false - ext4 - true - acl,user_xattr - false - /home - device - 131 - 3 - - false - 4669472256 - - - - CT_DISK - all - - - - - - - - - - - - false - - - - localhost, 127.0.0.1 - - - - - - true - true - 0 - - - true - true - 0 - - - true - true - 0 - - - true - true - 0 - - - - 3 - - - - - - autoyast2 - crda - hicolor-icon-theme-branding-openSUSE - kexec-tools - libnl - virtualbox-guest-kmp-default - virtualbox-guest-tools - virtualbox-guest-x11 - wireless-regdb - yast2-schema - yast2-trans-en_US - - - base - sw_management - yast2_basis - yast2_install_wf - - - FastCGI - Mesa - PackageKit - PackageKit-branding-openSUSE - PackageKit-branding-upstream - PackageKit-lang - PolicyKit - a2ps - apache2 - apache2-itk - apache2-prefork - apache2-utils - apache2-worker - bash-lang - bea-stax-api - bundle-lang-common-ar - bundle-lang-common-ca - bundle-lang-common-cs - bundle-lang-common-da - bundle-lang-common-de - bundle-lang-common-es - bundle-lang-common-fi - bundle-lang-common-fr - bundle-lang-common-hu - bundle-lang-common-it - bundle-lang-common-ja - bundle-lang-common-ko - bundle-lang-common-nb - bundle-lang-common-nl - bundle-lang-common-pl - bundle-lang-common-pt - bundle-lang-common-ru - bundle-lang-common-sv - bundle-lang-common-zh - bundle-lang-gnome-ar - bundle-lang-gnome-ca - bundle-lang-gnome-cs - bundle-lang-gnome-da - bundle-lang-gnome-de - bundle-lang-gnome-en - bundle-lang-gnome-es - bundle-lang-gnome-fi - bundle-lang-gnome-fr - bundle-lang-gnome-hu - bundle-lang-gnome-it - bundle-lang-gnome-ja - bundle-lang-gnome-ko - bundle-lang-gnome-nb - bundle-lang-gnome-nl - bundle-lang-gnome-pl - bundle-lang-gnome-pt - bundle-lang-gnome-ru - bundle-lang-gnome-sv - bundle-lang-gnome-zh - cifs-utils - coreutils-lang - cpio-lang - cpp - cpp45 - cracklib-dict-small - cups - cups-client - cups-libs - dbus-1-python - dbus-1-x11 - exim - fam - fonts-config - foomatic-filters - freeglut - ft2demos - fuse - gconf2 - gconf2-lang - gd - gdk-pixbuf-lang - gdk-pixbuf-query-loaders - ghostscript-fonts-other - ghostscript-fonts-std - ghostscript-library - ghostscript-x11 - giflib - glib2-branding-upstream - glib2-lang - gnome-icon-theme - gnome-keyring - gnome-keyring-lang - gnome-keyring-pam - gpg2-lang - graphviz - graphviz-gd - graphviz-gnome - gtk2-branding-openSUSE - gtk2-branding-upstream - gtk2-data - gtk2-engine-murrine - gtk2-immodule-amharic - gtk2-immodule-inuktitut - gtk2-immodule-thai - gtk2-immodule-vietnamese - gtk2-lang - gtk2-metatheme-sonar - gtk2-tools - gutenprint - gvfs - gvfs-backend-afc - gvfs-backends - gvfs-fuse - gvfs-lang - hplip - hplip-hpijs - java-1_6_0-openjdk - java-1_6_0-openjdk-plugin - java-1_6_0-sun - jline - jpackage-utils - keyutils - krb5-mini - lcms - libFLAC8 - libIDL-2-0 - libQtWebKit4 - libXi6 - libapr-util1 - libapr1 - libarchive2 - libasound2 - libatasmart4 - libatk-1_0-0 - libavahi-client3 - libavahi-common3 - libavahi-glib1 - libbluetooth3 - libcairo2 - libcdio12 - libcdio12-mini - libcdio_cdda0 - libcdio_paranoia0 - libcloog0 - libdrm - libevtlog0 - libexif12 - libffi45 - libfuse2 - libgcj45 - libgcj45-jar - libgcr0 - libgdk_pixbuf-2_0-0 - libgdu-lang - libgdu0 - libgimpprint - libgirepository-1_0-1 - libgmp10 - libgmpxx4 - libgnome-keyring-lang - libgnome-keyring0 - libgp11-0 - libgp11-modules - libgphoto2 - libgphoto2-lang - libgtk-2_0-0 - libgvfscommon0 - libieee1284 - libjasper1 - libjpeg62 - liblcms1 - libldb0 - liblockdev1 - libltdl7 - libmng - libmpc2 - libmpfr4 - libmysqlclient_r16 - libnet1 - libnih - libogg0 - libopenobex1 - libpackagekit-glib2-14 - libpango-1_0-0 - libpciaccess0 - libpixman-1-0 - libpng14-14 - libpoppler7 - libppl9 - libppl_c4 - libpq5 - libpulse0 - libpython2_7-1_0 - libqdialogsolver1 - libqt4 - libqt4-qt3support - libqt4-sql - libqt4-sql-mysql - libqt4-sql-postgresql - libqt4-sql-sqlite - libqt4-sql-unixODBC - libqt4-x11 - libsensors4 - libsmbclient0 - libsndfile - libsnmp25 - libsoup-2_4-1 - libsqlite3-0 - libtalloc2 - libtdb1 - libtevent0 - libtiff3 - libvorbis0 - libvorbisenc2 - libwbclient0 - libxml2-python - lockdev - login-lang - m4 - make - mawk - metamail - metatheme-sonar-common - nginx-0.8 - obex-data-server - openSUSE-dynamic-wallpaper - openSUSE-release-ftp - openSUSE-release-livetree - orbit2 - pango-tools - poppler-data - poppler-tools - procmail - python - python-base - python-gobject - python-qt4 - python-sip - python-xml - readline-doc - rhino - ruby - ruby-devel - ruby-fcgi - rubygem-actionmailer-2_3 - rubygem-actionpack-2_3 - rubygem-activerecord - rubygem-activerecord-2_3 - rubygem-activeresource-2_3 - rubygem-activesupport-2_3 - rubygem-daemon_controller - rubygem-fastthread - rubygem-file-tail - rubygem-gettext - rubygem-gettext_activerecord - rubygem-gettext_rails - rubygem-http_accept_language - rubygem-locale - rubygem-locale_rails - rubygem-passenger - rubygem-passenger-nginx - rubygem-polkit - rubygem-rack - rubygem-rails - rubygem-rails-2_3 - rubygem-rake - rubygem-rpam - rubygem-ruby-dbus - rubygem-spruz - rubygem-sqlite3 - rubygem-webyast-rake-tasks - rubygems - samba - samba-client - sane-backends - sendmail - sg3_utils - sharutils - snmp-mibs - sonar-icon-theme - sqlite3 - syslog-ng - syslogd - systemd - systemd-sysvinit - tar-lang - timezone-java - udisks - unixODBC - upower-lang - upstart - util-linux-lang - wdiff - wdiff-lang - webyast-base-ws - xaw3d - xaw3dd - xdmbgrd - xkeyboard-config - xmlbeans - xmlbeans-mini - xorg-x11 - xorg-x11-driver-input - xorg-x11-fonts - xorg-x11-fonts-core - xorg-x11-libXdmcp - xorg-x11-libXv - xorg-x11-server - xorg-x11-xauth - xtermset - yast2-dbus-server - yast2-gtk - yast2-qt - yast2-qt-pkg - yast2-theme-openSUSE-Crystal - yast2-theme-openSUSE-Oxygen - - - - UTC - Europe/Brussels - - - - 100 - video - /home - -1 - /bin/bash - /etc/skel - 022 - - - - true - vagrant - 100 - /home/vagrant - - - - - 99999 - 0 - 7 - - /bin/bash - 1000 - $2a$05$TkTmPBSY9Ex/X2DFYwcdwOgvAQQ.iU0Nkcy.jTWF.7emEMsJ7vqrK - vagrant - - - true - Games account - 100 - /var/games - - - - - - - - - /bin/bash - 12 - * - games - - - true - bin - 1 - /bin - - - - - - - - - /bin/bash - 1 - * - bin - - - true - nobody - 65533 - /var/lib/nobody - - - - - - - - - /bin/bash - 65534 - * - nobody - - - true - Printing daemon - 7 - /var/spool/lpd - - - - - - - - - /bin/bash - 4 - * - lp - - - true - Postfix Daemon - 51 - /var/spool/postfix - - - - - 99999 - 0 - 7 - - /bin/false - 51 - * - postfix - - - true - FTP account - 49 - /srv/ftp - - - - - - - - - /bin/bash - 40 - * - ftp - - - true - NFS statd daemon - 65534 - /var/lib/nfs - - - - - 99999 - 0 - 7 - - /sbin/nologin - 102 - * - statd - - - true - root - 0 - /root - - - - - - - - - /bin/bash - 0 - $2a$05$fVC665/9MiTEz2.avquNrudxR02AVnfOZvHw2pgjeLWuOFlIiCa/e - root - - - true - Mailer daemon - 12 - /var/spool/clientmqueue - - - - - - - - - /bin/false - 8 - * - mail - - - true - Daemon - 2 - /sbin - - - - - - - - - /bin/bash - 2 - * - daemon - - - true - NTP daemon - 104 - /var/lib/ntp - - - - - 99999 - 0 - 7 - - /bin/false - 74 - * - ntp - - - true - User for D-Bus - 101 - /var/run/dbus - - - - - - 0 - 7 - - /bin/false - 100 - * - messagebus - - - true - Unix-to-Unix CoPy system - 14 - /etc/uucp - - - - - - - - - /bin/bash - 10 - * - uucp - - - true - WWW daemon apache - 8 - /var/lib/wwwrun - - - - - - - - - /bin/false - 30 - * - wwwrun - - - true - Manual pages viewer - 62 - /var/cache/man - - - - - - - - - /bin/bash - 13 - * - man - - - true - News system - 13 - /etc/news - - - - - - - - - /bin/bash - 9 - * - news - - - true - SSH daemon - 102 - /var/lib/sshd - - - - - - 0 - 7 - - /bin/false - 101 - * - sshd - - -
diff --git a/templates/opensuse-11.4-i386-experimental/definition.rb b/templates/opensuse-11.4-i386-experimental/definition.rb deleted file mode 100644 index 74dbc6dd..00000000 --- a/templates/opensuse-11.4-i386-experimental/definition.rb +++ /dev/null @@ -1,31 +0,0 @@ -Veewee::Definition.declare({ - :cpu_count => '1', :memory_size=> '384', - :disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off', - :os_type_id => 'OpenSUSE', - :iso_file => "openSUSE-11.4-DVD-i586.iso", - :iso_src => "http://download.opensuse.org/distribution/11.4/iso/openSUSE-11.4-DVD-i586.iso", - #:iso_src => "http://ftp.belnet.be/mirror/ftp.opensuse.org/distribution/11.4/iso/openSUSE-11.4-DVD-i586.iso", - :iso_md5 => "5f6d6d67c3e256b2513311f4ed650515", - :iso_download_timeout => "1000", - :boot_wait => "10", :boot_cmd_sequence => [ - '', - 'linux', - #'/install/vmlinuz noapic preseed/url=http://%IP%:%PORT%/preseed.cfg ', - ' netdevice=eth0', - ' netsetup=dhcp', - ' instmode=dvd', - #' install=file://mnt/suse', - ' textmode=1 autoyast=http://%IP%:%PORT%/autoinst.xml', - #'hostname=%NAME% ', - #'initrd=/install/initrd.gz -- ' - '' - ], - :kickstart_port => "7122", :kickstart_timeout => "10000", - #We need this twice, as it is read twice - :kickstart_file => ["autoinst.xml","autoinst.xml"], - :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", - :ssh_host_port => "7222", :ssh_guest_port => "22", - :sudo_cmd => "echo '%p'|sudo -S sh '%f'", - :shutdown_cmd => "shutdown -P now", - :postinstall_files => [ "postinstall.sh"], :postinstall_timeout => "10000" -}) diff --git a/templates/opensuse-11.4-i386-experimental/postinstall.sh b/templates/opensuse-11.4-i386-experimental/postinstall.sh deleted file mode 100644 index 5277860e..00000000 --- a/templates/opensuse-11.4-i386-experimental/postinstall.sh +++ /dev/null @@ -1,90 +0,0 @@ -#Inspired by https://github.com/fnichol/wiki-notes/wiki/Creating-An-openSUSE-11.3-x32-Vagrant-Box - -date > /etc/vagrant_box_build_time - -zypper --non-interactive refresh -# zypper --non-interactive up - -# /sbin/shutdown -r now && exit -# Install VirtualBox Guest Additions -# Install some pre-requisites needed for the Guest Additions package and remove the system-installed package: -zypper --non-interactive install make gcc -zypper --non-interactive install kernel-default-devel -zypper --non-interactive remove virtualbox-ose-guest-kmp-default \ - virtualbox-ose-guest-tools xorg-x11-driver-virtualbox-ose - -# Fix remote login -echo 'UseDNS no' >> /etc/ssh/sshd_config - -#install ruby -zypper --non-interactive install ruby ruby-devel rubygems -gem install chef --no-ri --no-rdoc -gem install puppet --no-ri --no-rdoc -sudo zypper --non-interactive refresh -sudo zypper --non-interactive up -# -#/sbin/shutdown -hP now && exit - - -#Installing vagrant keys -zypper --non-interactive install wget -mkdir /home/vagrant/.ssh -chmod 700 /home/vagrant/.ssh -cd /home/vagrant/.ssh -wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O authorized_keys -chown -R vagrant /home/vagrant/.ssh - -#Installing the virtualbox guest additions -VBOX_VERSION=$(cat /home/vagrant/.vbox_version) -cd /tmp -wget http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso -mount -o loop VBoxGuestAdditions_$VBOX_VERSION.iso /mnt -sh /mnt/VBoxLinuxAdditions.run -umount /mnt - -rm VBoxGuestAdditions_$VBOX_VERSION.iso -exit - - - -sudo zypper --non-interactive refresh -sudo zypper --non-interactive up -sudo /sbin/shutdown -r now && exit -Install VirtualBox Guest Additions -Install some pre-requisites needed for the Guest Additions package and remove the system-installed package: -sudo zypper --non-interactive install make gcc -sudo zypper --non-interactive install kernel-default-devel -sudo zypper --non-interactive remove virtualbox-ose-guest-kmp-default \ - virtualbox-ose-guest-tools xorg-x11-driver-virtualbox-ose -Now mount the Guest Additions from the Devices -> Install Guest Additions VirtualBox menu. Next, mount the iso and install the additions: -sudo mkdir -p /media/cdrom -sudo mount /dev/cdrom /media/cdrom -(cd /media/cdrom && sudo sh VBoxLinuxAdditions.run) -sudo umount /media/cdrom -Note: The installer will complain about not finding "the X.Org or XFree86 Window System" which is fine and expected. -Remove the disk from the virtual drive by clicking the CD-ROM icon and choosing from the flyout menu. -Prepare SSH Configuration -Install the public key that Vagrant uses when SSHing into the virtual machine: -sudo zypper --non-interactive install curl -mkdir -p ~/.ssh -chmod 0700 ~/.ssh -curl -o ~/.ssh/authorized_keys \ - https://github.com/mitchellh/vagrant/raw/master/keys/vagrant.pub -chmod 0600 ~/.ssh/authorized_keys -Edit the sshd configuration to prevent DNS resolution (speedup logins): -sudo bash -c "echo 'UseDNS no' >> /etc/ssh/sshd_config" -Install Ruby, Chef, And Puppet -Thankfully, openSUSE comes with a decently up to date ruby (1.8.7) and a non-crippled rubygems (currently 1.3.7), so this is straight forward: -sudo zypper --non-interactive install ruby ruby-devel rubygems -Install the chef and puppet gems so they are ready for the provisioners: -sudo gem install chef --no-ri --no-rdoc -sudo gem install puppet --no-ri --no-rdoc -Update Message Of The Day -Modify the message of the day (to match the default Vagrant box): -sudo bash -c "echo 'Welcome to your Vagrant-built virtual machine.' > /etc/motd" -Final Cleanup -Run one last update and cleanup: -sudo zypper --non-interactive refresh -sudo zypper --non-interactive up -Finally, shutdown the virtual machine: -sudo /sbin/shutdown -hP now && exit diff --git a/templates/scientificlinux-5.7-i386/definition.rb b/templates/scientificlinux-5.7-i386/definition.rb index 34eecc1f..a6fe308a 100644 --- a/templates/scientificlinux-5.7-i386/definition.rb +++ b/templates/scientificlinux-5.7-i386/definition.rb @@ -7,7 +7,7 @@ :iso_md5 => "e0a2bfb50febc493204f30e314637b10", :iso_download_timeout => 1000, :boot_wait => "10", :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg' ], - :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg", + :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "echo '%p'|sudo -S sh '%f'", diff --git a/templates/scientificlinux-5.7-x86_64/definition.rb b/templates/scientificlinux-5.7-x86_64/definition.rb index e7921fc6..9ad890bc 100644 --- a/templates/scientificlinux-5.7-x86_64/definition.rb +++ b/templates/scientificlinux-5.7-x86_64/definition.rb @@ -7,7 +7,7 @@ :iso_md5 => "f37b442e0ce3ec18360a11c3676a285b", :iso_download_timeout => 1000, :boot_wait => "10", :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg' ], - :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg", + :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "echo '%p'|sudo -S sh '%f'", diff --git a/templates/scientificlinux-5.9-i386/definition.rb b/templates/scientificlinux-5.9-i386/definition.rb index efff8412..e9f4b4b5 100644 --- a/templates/scientificlinux-5.9-i386/definition.rb +++ b/templates/scientificlinux-5.9-i386/definition.rb @@ -7,7 +7,7 @@ :iso_md5 => "2b8c469f3b4495a094f926287ea31f89", :iso_download_timeout => 1000, :boot_wait => "10", :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg' ], - :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg", + :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "echo '%p'|sudo -S sh '%f'", diff --git a/templates/scientificlinux-5.9-x86_64/definition.rb b/templates/scientificlinux-5.9-x86_64/definition.rb index 516bd065..2b9c61d3 100644 --- a/templates/scientificlinux-5.9-x86_64/definition.rb +++ b/templates/scientificlinux-5.9-x86_64/definition.rb @@ -7,7 +7,7 @@ :iso_md5 => "ce5bdd399b9441598cb1cfbe9e341d93", :iso_download_timeout => 1000, :boot_wait => "10", :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg' ], - :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg", + :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "echo '%p'|sudo -S sh '%f'", diff --git a/templates/scientificlinux-6.1-i386-netboot/chef.sh b/templates/scientificlinux-6.1-i386-netboot/chef.sh index 33ec6c91..0e2cfea5 100644 --- a/templates/scientificlinux-6.1-i386-netboot/chef.sh +++ b/templates/scientificlinux-6.1-i386-netboot/chef.sh @@ -1 +1,4 @@ +# Install Chef +gem install --no-ri --no-rdoc mime-types -v '1.16' gem install --no-ri --no-rdoc chef + diff --git a/templates/scientificlinux-6.1-i386-netboot/definition.rb b/templates/scientificlinux-6.1-i386-netboot/definition.rb index 655086f4..cbdb4a6c 100644 --- a/templates/scientificlinux-6.1-i386-netboot/definition.rb +++ b/templates/scientificlinux-6.1-i386-netboot/definition.rb @@ -13,7 +13,7 @@ :boot_wait => "15", :boot_cmd_sequence => [ ' text ks=http://%IP%:%PORT%/ks.cfg' ], :kickstart_port => "7122", - :kickstart_timeout => 10000, + :kickstart_timeout => 300, :kickstart_file => "ks.cfg", :ssh_login_timeout => "100", :ssh_user => "vagrant", diff --git a/templates/scientificlinux-6.1-x86_64-netboot/chef.sh b/templates/scientificlinux-6.1-x86_64-netboot/chef.sh index 33ec6c91..0e2cfea5 100644 --- a/templates/scientificlinux-6.1-x86_64-netboot/chef.sh +++ b/templates/scientificlinux-6.1-x86_64-netboot/chef.sh @@ -1 +1,4 @@ +# Install Chef +gem install --no-ri --no-rdoc mime-types -v '1.16' gem install --no-ri --no-rdoc chef + diff --git a/templates/scientificlinux-6.1-x86_64-netboot/definition.rb b/templates/scientificlinux-6.1-x86_64-netboot/definition.rb index 96f465c7..c7598007 100644 --- a/templates/scientificlinux-6.1-x86_64-netboot/definition.rb +++ b/templates/scientificlinux-6.1-x86_64-netboot/definition.rb @@ -14,7 +14,7 @@ :boot_wait => "15", :boot_cmd_sequence => [ ' text ks=http://%IP%:%PORT%/ks.cfg' ], :kickstart_port => "7122", - :kickstart_timeout => 10000, + :kickstart_timeout => 300, :kickstart_file => "ks.cfg", :ssh_login_timeout => "100", :ssh_user => "vagrant", diff --git a/templates/scientificlinux-6.2-i386-netboot/chef.sh b/templates/scientificlinux-6.2-i386-netboot/chef.sh index 33ec6c91..0e2cfea5 100644 --- a/templates/scientificlinux-6.2-i386-netboot/chef.sh +++ b/templates/scientificlinux-6.2-i386-netboot/chef.sh @@ -1 +1,4 @@ +# Install Chef +gem install --no-ri --no-rdoc mime-types -v '1.16' gem install --no-ri --no-rdoc chef + diff --git a/templates/scientificlinux-6.2-i386-netboot/definition.rb b/templates/scientificlinux-6.2-i386-netboot/definition.rb index 998c5b24..9d760307 100644 --- a/templates/scientificlinux-6.2-i386-netboot/definition.rb +++ b/templates/scientificlinux-6.2-i386-netboot/definition.rb @@ -14,7 +14,7 @@ :boot_wait => "15", :boot_cmd_sequence => [ ' text ks=http://%IP%:%PORT%/ks.cfg' ], :kickstart_port => "7122", - :kickstart_timeout => 10000, + :kickstart_timeout => 300, :kickstart_file => "ks.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/scientificlinux-6.2-x86_64-netboot/chef.sh b/templates/scientificlinux-6.2-x86_64-netboot/chef.sh index 33ec6c91..0e2cfea5 100644 --- a/templates/scientificlinux-6.2-x86_64-netboot/chef.sh +++ b/templates/scientificlinux-6.2-x86_64-netboot/chef.sh @@ -1 +1,4 @@ +# Install Chef +gem install --no-ri --no-rdoc mime-types -v '1.16' gem install --no-ri --no-rdoc chef + diff --git a/templates/scientificlinux-6.2-x86_64-netboot/definition.rb b/templates/scientificlinux-6.2-x86_64-netboot/definition.rb index 423f56eb..a2a37b08 100644 --- a/templates/scientificlinux-6.2-x86_64-netboot/definition.rb +++ b/templates/scientificlinux-6.2-x86_64-netboot/definition.rb @@ -14,7 +14,7 @@ :boot_wait => "15", :boot_cmd_sequence => [ ' text ks=http://%IP%:%PORT%/ks.cfg' ], :kickstart_port => "7122", - :kickstart_timeout => 10000, + :kickstart_timeout => 300, :kickstart_file => "ks.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/scientificlinux-6.3-i386-netboot/chef.sh b/templates/scientificlinux-6.3-i386-netboot/chef.sh index 33ec6c91..0e2cfea5 100644 --- a/templates/scientificlinux-6.3-i386-netboot/chef.sh +++ b/templates/scientificlinux-6.3-i386-netboot/chef.sh @@ -1 +1,4 @@ +# Install Chef +gem install --no-ri --no-rdoc mime-types -v '1.16' gem install --no-ri --no-rdoc chef + diff --git a/templates/scientificlinux-6.3-i386-netboot/definition.rb b/templates/scientificlinux-6.3-i386-netboot/definition.rb index 32ee70ae..d7ab4e08 100644 --- a/templates/scientificlinux-6.3-i386-netboot/definition.rb +++ b/templates/scientificlinux-6.3-i386-netboot/definition.rb @@ -14,7 +14,7 @@ :boot_wait => "15", :boot_cmd_sequence => [ ' text ks=http://%IP%:%PORT%/ks.cfg' ], :kickstart_port => "7122", - :kickstart_timeout => 10000, + :kickstart_timeout => 300, :kickstart_file => "ks.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/scientificlinux-6.3-x86_64-netboot/chef.sh b/templates/scientificlinux-6.3-x86_64-netboot/chef.sh index 33ec6c91..0e2cfea5 100644 --- a/templates/scientificlinux-6.3-x86_64-netboot/chef.sh +++ b/templates/scientificlinux-6.3-x86_64-netboot/chef.sh @@ -1 +1,4 @@ +# Install Chef +gem install --no-ri --no-rdoc mime-types -v '1.16' gem install --no-ri --no-rdoc chef + diff --git a/templates/scientificlinux-6.3-x86_64-netboot/definition.rb b/templates/scientificlinux-6.3-x86_64-netboot/definition.rb index 3c71565a..b9bc5f0c 100644 --- a/templates/scientificlinux-6.3-x86_64-netboot/definition.rb +++ b/templates/scientificlinux-6.3-x86_64-netboot/definition.rb @@ -14,7 +14,7 @@ :boot_wait => "15", :boot_cmd_sequence => [ ' text ks=http://%IP%:%PORT%/ks.cfg' ], :kickstart_port => "7122", - :kickstart_timeout => 10000, + :kickstart_timeout => 300, :kickstart_file => "ks.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/scientificlinux-6.4-i386-netboot/chef.sh b/templates/scientificlinux-6.4-i386-netboot/chef.sh index 754ea6d5..0e2cfea5 100644 --- a/templates/scientificlinux-6.4-i386-netboot/chef.sh +++ b/templates/scientificlinux-6.4-i386-netboot/chef.sh @@ -1,3 +1,4 @@ # Install Chef +gem install --no-ri --no-rdoc mime-types -v '1.16' gem install --no-ri --no-rdoc chef diff --git a/templates/scientificlinux-6.4-i386-netboot/definition.rb b/templates/scientificlinux-6.4-i386-netboot/definition.rb index e0b16551..7fd39e20 100644 --- a/templates/scientificlinux-6.4-i386-netboot/definition.rb +++ b/templates/scientificlinux-6.4-i386-netboot/definition.rb @@ -14,7 +14,7 @@ ' text ks=http://%IP%:%PORT%/ks.cfg' ], :kickstart_port => "7122", - :kickstart_timeout => 10000, + :kickstart_timeout => 300, :kickstart_file => "ks.cfg", :ssh_login_timeout => "10000", :ssh_user => "veewee", diff --git a/templates/scientificlinux-6.4-x86_64-netboot/chef.sh b/templates/scientificlinux-6.4-x86_64-netboot/chef.sh index 754ea6d5..0e2cfea5 100644 --- a/templates/scientificlinux-6.4-x86_64-netboot/chef.sh +++ b/templates/scientificlinux-6.4-x86_64-netboot/chef.sh @@ -1,3 +1,4 @@ # Install Chef +gem install --no-ri --no-rdoc mime-types -v '1.16' gem install --no-ri --no-rdoc chef diff --git a/templates/scientificlinux-6.4-x86_64-netboot/definition.rb b/templates/scientificlinux-6.4-x86_64-netboot/definition.rb index e3a94ba6..2646d8d6 100644 --- a/templates/scientificlinux-6.4-x86_64-netboot/definition.rb +++ b/templates/scientificlinux-6.4-x86_64-netboot/definition.rb @@ -14,7 +14,7 @@ ' text ks=http://%IP%:%PORT%/ks.cfg' ], :kickstart_port => "7122", - :kickstart_timeout => 10000, + :kickstart_timeout => 300, :kickstart_file => "ks.cfg", :ssh_login_timeout => "10000", :ssh_user => "veewee", diff --git a/templates/scientificlinux-6.5-i386-netboot/definition.rb b/templates/scientificlinux-6.5-i386-netboot/definition.rb index 884c7a26..39fb58d9 100644 --- a/templates/scientificlinux-6.5-i386-netboot/definition.rb +++ b/templates/scientificlinux-6.5-i386-netboot/definition.rb @@ -14,7 +14,7 @@ ' text ks=http://%IP%:%PORT%/ks.cfg' ], :kickstart_port => "7122", - :kickstart_timeout => 10000, + :kickstart_timeout => 300, :kickstart_file => "ks.cfg", :ssh_login_timeout => "10000", :ssh_user => "veewee", diff --git a/templates/scientificlinux-6.5-x86_64-netboot/definition.rb b/templates/scientificlinux-6.5-x86_64-netboot/definition.rb index 8b1b711c..04884ae4 100644 --- a/templates/scientificlinux-6.5-x86_64-netboot/definition.rb +++ b/templates/scientificlinux-6.5-x86_64-netboot/definition.rb @@ -14,7 +14,7 @@ ' text ks=http://%IP%:%PORT%/ks.cfg' ], :kickstart_port => "7122", - :kickstart_timeout => 10000, + :kickstart_timeout => 300, :kickstart_file => "ks.cfg", :ssh_login_timeout => "10000", :ssh_user => "veewee", diff --git a/templates/solaris-10-ga-x86/README.md b/templates/solaris-10-ga-x86/README.md index ac203b55..3be7f964 100644 --- a/templates/solaris-10-ga-x86/README.md +++ b/templates/solaris-10-ga-x86/README.md @@ -22,18 +22,16 @@ It also shuts down the box in the process, to allow packaging. 3. Export the basebox and use it freely. - - To to this, from the definition folder execute (or provide the correct paths to the Vagrantfile.pkg): - + ``` - vagrant package --vagrantfile Vagrantfile.pkg --base 'vagrant-solaris10' --output 'vagrant-solaris10.box' + veewee vbox export 'vagrant-solaris10' ``` You may find some issues if you run this command from your veewee installation, due to the relationship between vagrant and veewee. It's advisable to switch to the system's ruby (`rvm use system`) and running the command directly from the definition folder. - - + + #Migration to VMWare VirtualBox VMs can easily be migrated to VMWare but, in the case of Solaris 10 (at least), some differences regarding the use of IDE and SCSI render the migrated box unusable. -An easier migration process is to be created, but for the time being take a look at [the following blog entry](https://blogs.oracle.com/VirtualGuru/entry/3_fix_hw_difference_between) and additionally to [this](http://www.horizonsystems.com/forum/13-virtualization-central/54-solaris-10-x8664-conversion-to-vmware-howto) and [similar](http://prefetch.net/blog/index.php/2007/08/18/repairing-the-solaris-dev-and-devices-directories/) [entries](http://communities.vmware.com/message/728713). \ No newline at end of file +An easier migration process is to be created, but for the time being take a look at [the following blog entry](https://blogs.oracle.com/VirtualGuru/entry/3_fix_hw_difference_between) and additionally to [this](http://www.horizonsystems.com/forum/13-virtualization-central/54-solaris-10-x8664-conversion-to-vmware-howto) and [similar](http://prefetch.net/blog/index.php/2007/08/18/repairing-the-solaris-dev-and-devices-directories/) [entries](http://communities.vmware.com/message/728713). diff --git a/templates/solaris-10-ga-x86/chef.sh b/templates/solaris-10-ga-x86/chef.sh index a4e409bb..770fc029 100644 --- a/templates/solaris-10-ga-x86/chef.sh +++ b/templates/solaris-10-ga-x86/chef.sh @@ -1,10 +1,7 @@ # Chef needs these /opt/csw/bin/pkgutil -y -i CSWgmake /opt/csw/bin/pkgutil -y -i CSWgcc4g++ CSWgcc4core +/opt/csw/bin/pkgutil -y -i CSWcurl -# These are needed to get a compiler working -# Mainly because chef depends on compiling some native gems -PATH=/opt/csw/bin:/opt/csw/gnu/:/opt/csw/gcc4/bin:$PATH -export PATH - -/opt/csw/bin/gem install chef --no-ri --no-rdoc +# Install Chef +curl -L https://www.opscode.com/chef/install.sh | bash diff --git a/templates/solaris-10-ga-x86/cleanup.sh b/templates/solaris-10-ga-x86/cleanup.sh index b20c61d4..605f90cb 100644 --- a/templates/solaris-10-ga-x86/cleanup.sh +++ b/templates/solaris-10-ga-x86/cleanup.sh @@ -15,4 +15,4 @@ while getopts :f opt; do pfexec /usr/sbin/poweroff >/dev/null ;; esac -done \ No newline at end of file +done diff --git a/templates/solaris-10-ga-x86/definition.rb b/templates/solaris-10-ga-x86/definition.rb index 954b8436..c0e1eecf 100644 --- a/templates/solaris-10-ga-x86/definition.rb +++ b/templates/solaris-10-ga-x86/definition.rb @@ -1,8 +1,9 @@ Veewee::Definition.declare({ :cpu_count => '1', :memory_size=> '768', #Disk size needs to be 12Gig + - :disk_size => '65140', :disk_format => 'VDI', :hostiocache => 'off', :hwvirtex => 'on', - :os_type_id => 'Solaris_64', + :disk_size => '65140', :disk_format => 'VDI', :hostiocache => 'off', + :virtualbox => { :vm_options => [ "hwvirtex" => "on" ] }, + :os_type_id => 'OpenSolaris_64', :iso_file => "sol-10-u11-ga-x86-dvd.iso", :iso_src => "", :iso_download_instructions => "- You need to download this manually as there is no automated way to do it\n"+ @@ -12,7 +13,7 @@ "- For other version: changed the iso filename+checksum\n", :iso_md5 => "aae1452bb3d56baa3dcb8866ce7e4a08", :iso_download_timeout => 1000, - :boot_wait => "10", :boot_cmd_sequence => [ + :boot_wait => "10", :boot_cmd_sequence => [ 'e', 'e', ''*22, diff --git a/templates/solaris-10-ga-x86/postinstall.sh b/templates/solaris-10-ga-x86/postinstall.sh index c3d258d9..ab5373c6 100644 --- a/templates/solaris-10-ga-x86/postinstall.sh +++ b/templates/solaris-10-ga-x86/postinstall.sh @@ -10,6 +10,10 @@ PATH=/usr/bin:/usr/sbin:$PATH export PATH yes|/usr/sbin/pkgadd -d http://mirror.opencsw.org/opencsw/pkgutil-`uname -p`.pkg all + +# Uncomment this and pick a fast mirror from http://mirror.opencsw.org/status/ +# echo "mirror=http://www.grangefields.co.uk/mirrors/csw/testing" >> /etc/opt/csw/pkgutil.conf + /opt/csw/bin/pkgutil -U # get 'sudo' @@ -48,7 +52,7 @@ echo "LookupClientHostnames=no" >> /etc/ssh/sshd_config # ## no solaris2.11 .... mkheaders here ! needs some fixing ?? ## /opt/csw/gcc4/libexec/gcc/i386-pc-solaris2.10/4.3.3/install-tools/mkheaders -#/opt/csw/gcc4/libexec/gcc/i386-pc-solaris2.8/4.3.3/install-tools/mkheaders +#/opt/csw/gcc4/libexec/gcc/i386-pc-solaris2.8/4.3.3/install-tools/mkheaders # #/opt/csw/sbin/alternatives --display rbconfig18 #/opt/csw/sbin/alternatives --set rbconfig18 /opt/csw/lib/ruby/1.8/i386-solaris2.9/rbconfig.rb.gcc4 @@ -87,4 +91,4 @@ lofiadm -d /dev/lofi/1 -exit \ No newline at end of file +exit diff --git a/templates/solaris-11-express-i386/definition.rb b/templates/solaris-11-express-i386/definition.rb index 7e6d414c..ad9ecc13 100644 --- a/templates/solaris-11-express-i386/definition.rb +++ b/templates/solaris-11-express-i386/definition.rb @@ -46,7 +46,7 @@ 'sleep 3; tail -f /tmp/install_log' ], - :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "default.xml", + :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "default.xml", :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "echo '%p'|sudo -S bash ./%f", diff --git a/templates/ubuntu-10.04.2-amd64-netboot/definition.rb b/templates/ubuntu-10.04.2-amd64-netboot/definition.rb index afd0b3f9..1775eec2 100644 --- a/templates/ubuntu-10.04.2-amd64-netboot/definition.rb +++ b/templates/ubuntu-10.04.2-amd64-netboot/definition.rb @@ -14,7 +14,7 @@ 'console-setup/ask_detect=false console-setup/modelcode=pc105 console-setup/layoutcode=us ', 'initrd=initrd.gz -- ' ], - :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "preseed.cfg", + :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "echo '%p'|sudo -S sh '%f'", diff --git a/templates/ubuntu-10.04.2-amd64-netboot/postinstall.sh b/templates/ubuntu-10.04.2-amd64-netboot/postinstall.sh index 8ab2b8e8..0e905323 100644 --- a/templates/ubuntu-10.04.2-amd64-netboot/postinstall.sh +++ b/templates/ubuntu-10.04.2-amd64-netboot/postinstall.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # postinstall.sh created from Mitchell's official lucid32/64 baseboxes date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-10.04.2-server-i386-netboot/definition.rb b/templates/ubuntu-10.04.2-server-i386-netboot/definition.rb index 4b2447d3..1d5db1ac 100644 --- a/templates/ubuntu-10.04.2-server-i386-netboot/definition.rb +++ b/templates/ubuntu-10.04.2-server-i386-netboot/definition.rb @@ -14,7 +14,7 @@ 'console-setup/ask_detect=false console-setup/modelcode=pc105 console-setup/layoutcode=us ', 'initrd=initrd.gz -- ' ], - :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "preseed.cfg", + :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "echo '%p'|sudo -S sh '%f'", diff --git a/templates/ubuntu-10.04.2-server-i386-netboot/postinstall.sh b/templates/ubuntu-10.04.2-server-i386-netboot/postinstall.sh index 8ab2b8e8..0e905323 100644 --- a/templates/ubuntu-10.04.2-server-i386-netboot/postinstall.sh +++ b/templates/ubuntu-10.04.2-server-i386-netboot/postinstall.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # postinstall.sh created from Mitchell's official lucid32/64 baseboxes date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-10.04.3-server-amd64-alt/postinstall.sh b/templates/ubuntu-10.04.3-server-amd64-alt/postinstall.sh index 3936054e..b06a06a3 100755 --- a/templates/ubuntu-10.04.3-server-amd64-alt/postinstall.sh +++ b/templates/ubuntu-10.04.3-server-amd64-alt/postinstall.sh @@ -1,4 +1,10 @@ #!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # postinstall.sh created from Mitchell's official lucid32/64 baseboxes # Extended by hedgehog consistent with the designation - alternate # Provides: diff --git a/templates/ubuntu-10.04.3-server-amd64/base.sh b/templates/ubuntu-10.04.3-server-amd64/base.sh index f70a828a..7d80319f 100644 --- a/templates/ubuntu-10.04.3-server-amd64/base.sh +++ b/templates/ubuntu-10.04.3-server-amd64/base.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # etc., and remove optional things to trim down the machine. apt-get -y update apt-get -y upgrade @@ -8,4 +15,4 @@ apt-get clean # Setup sudo to allow no-password sudo for "admin" cp /etc/sudoers /etc/sudoers.orig sed -i -e '/Defaults\s\+env_reset/a Defaults\texempt_group=admin' /etc/sudoers -sed -i -e 's/%admin ALL=(ALL) ALL/%admin ALL=NOPASSWD:ALL/g' /etc/sudoers \ No newline at end of file +sed -i -e 's/%admin ALL=(ALL) ALL/%admin ALL=NOPASSWD:ALL/g' /etc/sudoers diff --git a/templates/ubuntu-10.04.3-server-amd64/chef.sh b/templates/ubuntu-10.04.3-server-amd64/chef.sh index a85ed5fc..4d6fabff 100644 --- a/templates/ubuntu-10.04.3-server-amd64/chef.sh +++ b/templates/ubuntu-10.04.3-server-amd64/chef.sh @@ -1,2 +1,9 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Installing chef -/opt/ruby/bin/gem install chef --no-ri --no-rdoc \ No newline at end of file +/opt/ruby/bin/gem install chef --no-ri --no-rdoc diff --git a/templates/ubuntu-10.04.3-server-amd64/cleanup.sh b/templates/ubuntu-10.04.3-server-amd64/cleanup.sh index 8ec8a182..06597401 100644 --- a/templates/ubuntu-10.04.3-server-amd64/cleanup.sh +++ b/templates/ubuntu-10.04.3-server-amd64/cleanup.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Remove items used for building, since they aren't needed anymore apt-get -y remove linux-headers-$(uname -r) build-essential apt-get -y autoremove diff --git a/templates/ubuntu-10.04.3-server-amd64/puppet.sh b/templates/ubuntu-10.04.3-server-amd64/puppet.sh index ee83c1e1..7ba7411d 100644 --- a/templates/ubuntu-10.04.3-server-amd64/puppet.sh +++ b/templates/ubuntu-10.04.3-server-amd64/puppet.sh @@ -1 +1,8 @@ -/opt/ruby/bin/gem install puppet --no-ri --no-rdoc \ No newline at end of file +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + +/opt/ruby/bin/gem install puppet --no-ri --no-rdoc diff --git a/templates/ubuntu-10.04.3-server-amd64/ruby.sh b/templates/ubuntu-10.04.3-server-amd64/ruby.sh index e072c935..f375a099 100644 --- a/templates/ubuntu-10.04.3-server-amd64/ruby.sh +++ b/templates/ubuntu-10.04.3-server-amd64/ruby.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Install Ruby from source in /opt so that users of Vagrant # can install their own Rubies using packages or however. # We must install the 1.8.x series since Puppet doesn't support @@ -21,4 +28,4 @@ rm -rf rubygems-1.7.2* # Add /opt/ruby/bin to the global path as the last resort so # Ruby, RubyGems, and Chef/Puppet are visible -echo 'PATH=$PATH:/opt/ruby/bin/'> /etc/profile.d/ruby.sh \ No newline at end of file +echo 'PATH=$PATH:/opt/ruby/bin/'> /etc/profile.d/ruby.sh diff --git a/templates/ubuntu-10.04.3-server-amd64/vagrant.sh b/templates/ubuntu-10.04.3-server-amd64/vagrant.sh index 439bbc8a..0a7bb552 100644 --- a/templates/ubuntu-10.04.3-server-amd64/vagrant.sh +++ b/templates/ubuntu-10.04.3-server-amd64/vagrant.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Installing the virtualbox guest additions if test -f /home/veewee/.vbox_version then diff --git a/templates/ubuntu-10.04.3-server-amd64/virtualbox.sh b/templates/ubuntu-10.04.3-server-amd64/virtualbox.sh index d279b1c2..ae524e88 100644 --- a/templates/ubuntu-10.04.3-server-amd64/virtualbox.sh +++ b/templates/ubuntu-10.04.3-server-amd64/virtualbox.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Installing the virtualbox guest additions if test -f /home/veewee/.vbox_version then diff --git a/templates/ubuntu-10.04.3-server-i386/definition.rb b/templates/ubuntu-10.04.3-server-i386/definition.rb index 6eb2baa9..f1103250 100644 --- a/templates/ubuntu-10.04.3-server-i386/definition.rb +++ b/templates/ubuntu-10.04.3-server-i386/definition.rb @@ -15,7 +15,7 @@ 'console-setup/ask_detect=false console-setup/modelcode=pc105 console-setup/layoutcode=us ', 'initrd=/install/initrd.gz -- ' ], - :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "preseed.cfg", + :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "echo '%p'|sudo -S sh '%f'", diff --git a/templates/ubuntu-10.04.3-server-i386/postinstall.sh b/templates/ubuntu-10.04.3-server-i386/postinstall.sh index 83281e62..0b6448b8 100644 --- a/templates/ubuntu-10.04.3-server-i386/postinstall.sh +++ b/templates/ubuntu-10.04.3-server-i386/postinstall.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # postinstall.sh created from Mitchell's official lucid32/64 baseboxes date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-10.04.4-server-amd64-netboot/base.sh b/templates/ubuntu-10.04.4-server-amd64-netboot/base.sh index 3d1c4123..dcf5039d 100644 --- a/templates/ubuntu-10.04.4-server-amd64-netboot/base.sh +++ b/templates/ubuntu-10.04.4-server-amd64-netboot/base.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Apt-install various things necessary for Ruby, guest additions, # etc., and remove optional things to trim down the machine. apt-get -y update diff --git a/templates/ubuntu-10.04.4-server-amd64-netboot/chef.sh b/templates/ubuntu-10.04.4-server-amd64-netboot/chef.sh index 6ee1ee90..4d6fabff 100644 --- a/templates/ubuntu-10.04.4-server-amd64-netboot/chef.sh +++ b/templates/ubuntu-10.04.4-server-amd64-netboot/chef.sh @@ -1,2 +1,9 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Installing chef /opt/ruby/bin/gem install chef --no-ri --no-rdoc diff --git a/templates/ubuntu-10.04.4-server-amd64-netboot/cleanup.sh b/templates/ubuntu-10.04.4-server-amd64-netboot/cleanup.sh index 267f0411..dea5600a 100644 --- a/templates/ubuntu-10.04.4-server-amd64-netboot/cleanup.sh +++ b/templates/ubuntu-10.04.4-server-amd64-netboot/cleanup.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Remove items used for building, since they aren't needed anymore apt-get -y remove linux-headers-$(uname -r) build-essential apt-get -y autoremove diff --git a/templates/ubuntu-10.04.4-server-amd64-netboot/definition.rb b/templates/ubuntu-10.04.4-server-amd64-netboot/definition.rb index f32f1527..2e55de7b 100644 --- a/templates/ubuntu-10.04.4-server-amd64-netboot/definition.rb +++ b/templates/ubuntu-10.04.4-server-amd64-netboot/definition.rb @@ -19,7 +19,7 @@ 'initrd=initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-10.04.4-server-amd64-netboot/puppet.sh b/templates/ubuntu-10.04.4-server-amd64-netboot/puppet.sh index b13b450d..365947ee 100644 --- a/templates/ubuntu-10.04.4-server-amd64-netboot/puppet.sh +++ b/templates/ubuntu-10.04.4-server-amd64-netboot/puppet.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Prepare puppetlabs repo wget http://apt.puppetlabs.com/puppetlabs-release-lucid.deb dpkg -i puppetlabs-release-lucid.deb diff --git a/templates/ubuntu-10.04.4-server-amd64-netboot/ruby.sh b/templates/ubuntu-10.04.4-server-amd64-netboot/ruby.sh index 3ecad68a..f13145b0 100644 --- a/templates/ubuntu-10.04.4-server-amd64-netboot/ruby.sh +++ b/templates/ubuntu-10.04.4-server-amd64-netboot/ruby.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + i# Install Ruby from source in /opt so that users of Vagrant # can install their own Rubies using packages or however. # We must install the 1.8.x series since Puppet doesn't support diff --git a/templates/ubuntu-10.04.4-server-amd64-netboot/vagrant.sh b/templates/ubuntu-10.04.4-server-amd64-netboot/vagrant.sh index 0173f53e..589c3ff9 100644 --- a/templates/ubuntu-10.04.4-server-amd64-netboot/vagrant.sh +++ b/templates/ubuntu-10.04.4-server-amd64-netboot/vagrant.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + date > /etc/vagrant_box_build_time # Setup sudo to allow no-password sudo for "sudo" diff --git a/templates/ubuntu-10.04.4-server-amd64-netboot/virtualbox.sh b/templates/ubuntu-10.04.4-server-amd64-netboot/virtualbox.sh index 4bc4a9ea..4ca7cbd7 100644 --- a/templates/ubuntu-10.04.4-server-amd64-netboot/virtualbox.sh +++ b/templates/ubuntu-10.04.4-server-amd64-netboot/virtualbox.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Installing the virtualbox guest additions apt-get -y install dkms VBOX_VERSION=$(cat /home/vagrant/.vbox_version) diff --git a/templates/ubuntu-10.04.4-server-amd64-netboot/vmfusion.sh b/templates/ubuntu-10.04.4-server-amd64-netboot/vmfusion.sh index 6be11307..eb0e5022 100644 --- a/templates/ubuntu-10.04.4-server-amd64-netboot/vmfusion.sh +++ b/templates/ubuntu-10.04.4-server-amd64-netboot/vmfusion.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + cd /tmp mkdir -p /mnt/cdrom mount -o loop /home/vagrant/linux.iso /mnt/cdrom diff --git a/templates/ubuntu-10.04.4-server-amd64-netboot/zerodisk.sh b/templates/ubuntu-10.04.4-server-amd64-netboot/zerodisk.sh index 938075a3..ebb1ccf4 100644 --- a/templates/ubuntu-10.04.4-server-amd64-netboot/zerodisk.sh +++ b/templates/ubuntu-10.04.4-server-amd64-netboot/zerodisk.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Zero out the free space to save space in the final image: dd if=/dev/zero of=/EMPTY bs=1M rm -f /EMPTY diff --git a/templates/ubuntu-10.04.4-server-amd64/base.sh b/templates/ubuntu-10.04.4-server-amd64/base.sh index 3d1c4123..dcf5039d 100644 --- a/templates/ubuntu-10.04.4-server-amd64/base.sh +++ b/templates/ubuntu-10.04.4-server-amd64/base.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Apt-install various things necessary for Ruby, guest additions, # etc., and remove optional things to trim down the machine. apt-get -y update diff --git a/templates/ubuntu-10.04.4-server-amd64/chef.sh b/templates/ubuntu-10.04.4-server-amd64/chef.sh index 6ee1ee90..4d6fabff 100644 --- a/templates/ubuntu-10.04.4-server-amd64/chef.sh +++ b/templates/ubuntu-10.04.4-server-amd64/chef.sh @@ -1,2 +1,9 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Installing chef /opt/ruby/bin/gem install chef --no-ri --no-rdoc diff --git a/templates/ubuntu-10.04.4-server-amd64/cleanup.sh b/templates/ubuntu-10.04.4-server-amd64/cleanup.sh index 267f0411..dea5600a 100644 --- a/templates/ubuntu-10.04.4-server-amd64/cleanup.sh +++ b/templates/ubuntu-10.04.4-server-amd64/cleanup.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Remove items used for building, since they aren't needed anymore apt-get -y remove linux-headers-$(uname -r) build-essential apt-get -y autoremove diff --git a/templates/ubuntu-10.04.4-server-amd64/definition.rb b/templates/ubuntu-10.04.4-server-amd64/definition.rb index e51d4fe1..60927c7e 100644 --- a/templates/ubuntu-10.04.4-server-amd64/definition.rb +++ b/templates/ubuntu-10.04.4-server-amd64/definition.rb @@ -20,7 +20,7 @@ 'initrd=/install/initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-10.04.4-server-amd64/puppet.sh b/templates/ubuntu-10.04.4-server-amd64/puppet.sh index b13b450d..365947ee 100644 --- a/templates/ubuntu-10.04.4-server-amd64/puppet.sh +++ b/templates/ubuntu-10.04.4-server-amd64/puppet.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Prepare puppetlabs repo wget http://apt.puppetlabs.com/puppetlabs-release-lucid.deb dpkg -i puppetlabs-release-lucid.deb diff --git a/templates/ubuntu-10.04.4-server-amd64/ruby.sh b/templates/ubuntu-10.04.4-server-amd64/ruby.sh index 3ecad68a..f13145b0 100644 --- a/templates/ubuntu-10.04.4-server-amd64/ruby.sh +++ b/templates/ubuntu-10.04.4-server-amd64/ruby.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + i# Install Ruby from source in /opt so that users of Vagrant # can install their own Rubies using packages or however. # We must install the 1.8.x series since Puppet doesn't support diff --git a/templates/ubuntu-10.04.4-server-amd64/vagrant.sh b/templates/ubuntu-10.04.4-server-amd64/vagrant.sh index 0173f53e..589c3ff9 100644 --- a/templates/ubuntu-10.04.4-server-amd64/vagrant.sh +++ b/templates/ubuntu-10.04.4-server-amd64/vagrant.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + date > /etc/vagrant_box_build_time # Setup sudo to allow no-password sudo for "sudo" diff --git a/templates/ubuntu-10.04.4-server-amd64/virtualbox.sh b/templates/ubuntu-10.04.4-server-amd64/virtualbox.sh index 4bc4a9ea..4ca7cbd7 100644 --- a/templates/ubuntu-10.04.4-server-amd64/virtualbox.sh +++ b/templates/ubuntu-10.04.4-server-amd64/virtualbox.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Installing the virtualbox guest additions apt-get -y install dkms VBOX_VERSION=$(cat /home/vagrant/.vbox_version) diff --git a/templates/ubuntu-10.04.4-server-amd64/vmfusion.sh b/templates/ubuntu-10.04.4-server-amd64/vmfusion.sh index 6be11307..eb0e5022 100644 --- a/templates/ubuntu-10.04.4-server-amd64/vmfusion.sh +++ b/templates/ubuntu-10.04.4-server-amd64/vmfusion.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + cd /tmp mkdir -p /mnt/cdrom mount -o loop /home/vagrant/linux.iso /mnt/cdrom diff --git a/templates/ubuntu-10.04.4-server-amd64/zerodisk.sh b/templates/ubuntu-10.04.4-server-amd64/zerodisk.sh index 938075a3..ebb1ccf4 100644 --- a/templates/ubuntu-10.04.4-server-amd64/zerodisk.sh +++ b/templates/ubuntu-10.04.4-server-amd64/zerodisk.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Zero out the free space to save space in the final image: dd if=/dev/zero of=/EMPTY bs=1M rm -f /EMPTY diff --git a/templates/ubuntu-10.04.4-server-i386-netboot/base.sh b/templates/ubuntu-10.04.4-server-i386-netboot/base.sh index 3d1c4123..dcf5039d 100644 --- a/templates/ubuntu-10.04.4-server-i386-netboot/base.sh +++ b/templates/ubuntu-10.04.4-server-i386-netboot/base.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Apt-install various things necessary for Ruby, guest additions, # etc., and remove optional things to trim down the machine. apt-get -y update diff --git a/templates/ubuntu-10.04.4-server-i386-netboot/chef.sh b/templates/ubuntu-10.04.4-server-i386-netboot/chef.sh index 6ee1ee90..4d6fabff 100644 --- a/templates/ubuntu-10.04.4-server-i386-netboot/chef.sh +++ b/templates/ubuntu-10.04.4-server-i386-netboot/chef.sh @@ -1,2 +1,9 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Installing chef /opt/ruby/bin/gem install chef --no-ri --no-rdoc diff --git a/templates/ubuntu-10.04.4-server-i386-netboot/cleanup.sh b/templates/ubuntu-10.04.4-server-i386-netboot/cleanup.sh index 267f0411..dea5600a 100644 --- a/templates/ubuntu-10.04.4-server-i386-netboot/cleanup.sh +++ b/templates/ubuntu-10.04.4-server-i386-netboot/cleanup.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Remove items used for building, since they aren't needed anymore apt-get -y remove linux-headers-$(uname -r) build-essential apt-get -y autoremove diff --git a/templates/ubuntu-10.04.4-server-i386-netboot/definition.rb b/templates/ubuntu-10.04.4-server-i386-netboot/definition.rb index a8ca40a7..ad836cf9 100644 --- a/templates/ubuntu-10.04.4-server-i386-netboot/definition.rb +++ b/templates/ubuntu-10.04.4-server-i386-netboot/definition.rb @@ -19,7 +19,7 @@ 'initrd=initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-10.04.4-server-i386-netboot/puppet.sh b/templates/ubuntu-10.04.4-server-i386-netboot/puppet.sh index b13b450d..365947ee 100644 --- a/templates/ubuntu-10.04.4-server-i386-netboot/puppet.sh +++ b/templates/ubuntu-10.04.4-server-i386-netboot/puppet.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Prepare puppetlabs repo wget http://apt.puppetlabs.com/puppetlabs-release-lucid.deb dpkg -i puppetlabs-release-lucid.deb diff --git a/templates/ubuntu-10.04.4-server-i386-netboot/ruby.sh b/templates/ubuntu-10.04.4-server-i386-netboot/ruby.sh index 3ecad68a..f13145b0 100644 --- a/templates/ubuntu-10.04.4-server-i386-netboot/ruby.sh +++ b/templates/ubuntu-10.04.4-server-i386-netboot/ruby.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + i# Install Ruby from source in /opt so that users of Vagrant # can install their own Rubies using packages or however. # We must install the 1.8.x series since Puppet doesn't support diff --git a/templates/ubuntu-10.04.4-server-i386-netboot/vagrant.sh b/templates/ubuntu-10.04.4-server-i386-netboot/vagrant.sh index 0173f53e..589c3ff9 100644 --- a/templates/ubuntu-10.04.4-server-i386-netboot/vagrant.sh +++ b/templates/ubuntu-10.04.4-server-i386-netboot/vagrant.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + date > /etc/vagrant_box_build_time # Setup sudo to allow no-password sudo for "sudo" diff --git a/templates/ubuntu-10.04.4-server-i386-netboot/virtualbox.sh b/templates/ubuntu-10.04.4-server-i386-netboot/virtualbox.sh index 4bc4a9ea..4ca7cbd7 100644 --- a/templates/ubuntu-10.04.4-server-i386-netboot/virtualbox.sh +++ b/templates/ubuntu-10.04.4-server-i386-netboot/virtualbox.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Installing the virtualbox guest additions apt-get -y install dkms VBOX_VERSION=$(cat /home/vagrant/.vbox_version) diff --git a/templates/ubuntu-10.04.4-server-i386-netboot/vmfusion.sh b/templates/ubuntu-10.04.4-server-i386-netboot/vmfusion.sh index 6be11307..eb0e5022 100644 --- a/templates/ubuntu-10.04.4-server-i386-netboot/vmfusion.sh +++ b/templates/ubuntu-10.04.4-server-i386-netboot/vmfusion.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + cd /tmp mkdir -p /mnt/cdrom mount -o loop /home/vagrant/linux.iso /mnt/cdrom diff --git a/templates/ubuntu-10.04.4-server-i386-netboot/zerodisk.sh b/templates/ubuntu-10.04.4-server-i386-netboot/zerodisk.sh index 938075a3..ebb1ccf4 100644 --- a/templates/ubuntu-10.04.4-server-i386-netboot/zerodisk.sh +++ b/templates/ubuntu-10.04.4-server-i386-netboot/zerodisk.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Zero out the free space to save space in the final image: dd if=/dev/zero of=/EMPTY bs=1M rm -f /EMPTY diff --git a/templates/ubuntu-10.04.4-server-i386/base.sh b/templates/ubuntu-10.04.4-server-i386/base.sh index 3d1c4123..dcf5039d 100644 --- a/templates/ubuntu-10.04.4-server-i386/base.sh +++ b/templates/ubuntu-10.04.4-server-i386/base.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Apt-install various things necessary for Ruby, guest additions, # etc., and remove optional things to trim down the machine. apt-get -y update diff --git a/templates/ubuntu-10.04.4-server-i386/chef.sh b/templates/ubuntu-10.04.4-server-i386/chef.sh index 6ee1ee90..4d6fabff 100644 --- a/templates/ubuntu-10.04.4-server-i386/chef.sh +++ b/templates/ubuntu-10.04.4-server-i386/chef.sh @@ -1,2 +1,9 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Installing chef /opt/ruby/bin/gem install chef --no-ri --no-rdoc diff --git a/templates/ubuntu-10.04.4-server-i386/cleanup.sh b/templates/ubuntu-10.04.4-server-i386/cleanup.sh index 267f0411..dea5600a 100644 --- a/templates/ubuntu-10.04.4-server-i386/cleanup.sh +++ b/templates/ubuntu-10.04.4-server-i386/cleanup.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Remove items used for building, since they aren't needed anymore apt-get -y remove linux-headers-$(uname -r) build-essential apt-get -y autoremove diff --git a/templates/ubuntu-10.04.4-server-i386/definition.rb b/templates/ubuntu-10.04.4-server-i386/definition.rb index 19ec0636..aeb48af5 100644 --- a/templates/ubuntu-10.04.4-server-i386/definition.rb +++ b/templates/ubuntu-10.04.4-server-i386/definition.rb @@ -20,7 +20,7 @@ 'initrd=/install/initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-10.04.4-server-i386/puppet.sh b/templates/ubuntu-10.04.4-server-i386/puppet.sh index b13b450d..365947ee 100644 --- a/templates/ubuntu-10.04.4-server-i386/puppet.sh +++ b/templates/ubuntu-10.04.4-server-i386/puppet.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Prepare puppetlabs repo wget http://apt.puppetlabs.com/puppetlabs-release-lucid.deb dpkg -i puppetlabs-release-lucid.deb diff --git a/templates/ubuntu-10.04.4-server-i386/ruby.sh b/templates/ubuntu-10.04.4-server-i386/ruby.sh index 3ecad68a..f13145b0 100644 --- a/templates/ubuntu-10.04.4-server-i386/ruby.sh +++ b/templates/ubuntu-10.04.4-server-i386/ruby.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + i# Install Ruby from source in /opt so that users of Vagrant # can install their own Rubies using packages or however. # We must install the 1.8.x series since Puppet doesn't support diff --git a/templates/ubuntu-10.04.4-server-i386/vagrant.sh b/templates/ubuntu-10.04.4-server-i386/vagrant.sh index 0173f53e..589c3ff9 100644 --- a/templates/ubuntu-10.04.4-server-i386/vagrant.sh +++ b/templates/ubuntu-10.04.4-server-i386/vagrant.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + date > /etc/vagrant_box_build_time # Setup sudo to allow no-password sudo for "sudo" diff --git a/templates/ubuntu-10.04.4-server-i386/virtualbox.sh b/templates/ubuntu-10.04.4-server-i386/virtualbox.sh index 4bc4a9ea..4ca7cbd7 100644 --- a/templates/ubuntu-10.04.4-server-i386/virtualbox.sh +++ b/templates/ubuntu-10.04.4-server-i386/virtualbox.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Installing the virtualbox guest additions apt-get -y install dkms VBOX_VERSION=$(cat /home/vagrant/.vbox_version) diff --git a/templates/ubuntu-10.04.4-server-i386/vmfusion.sh b/templates/ubuntu-10.04.4-server-i386/vmfusion.sh index 6be11307..eb0e5022 100644 --- a/templates/ubuntu-10.04.4-server-i386/vmfusion.sh +++ b/templates/ubuntu-10.04.4-server-i386/vmfusion.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + cd /tmp mkdir -p /mnt/cdrom mount -o loop /home/vagrant/linux.iso /mnt/cdrom diff --git a/templates/ubuntu-10.04.4-server-i386/zerodisk.sh b/templates/ubuntu-10.04.4-server-i386/zerodisk.sh index 938075a3..ebb1ccf4 100644 --- a/templates/ubuntu-10.04.4-server-i386/zerodisk.sh +++ b/templates/ubuntu-10.04.4-server-i386/zerodisk.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Zero out the free space to save space in the final image: dd if=/dev/zero of=/EMPTY bs=1M rm -f /EMPTY diff --git a/templates/ubuntu-10.10-server-amd64-netboot/definition.rb b/templates/ubuntu-10.10-server-amd64-netboot/definition.rb index 45250264..39e2782b 100644 --- a/templates/ubuntu-10.10-server-amd64-netboot/definition.rb +++ b/templates/ubuntu-10.10-server-amd64-netboot/definition.rb @@ -15,7 +15,7 @@ 'console-setup/ask_detect=false console-setup/modelcode=pc105 console-setup/layoutcode=us ', ' -- ' ], - :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "preseed.cfg", + :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "echo '%p'|sudo -S sh '%f'", diff --git a/templates/ubuntu-10.10-server-amd64-netboot/postinstall.sh b/templates/ubuntu-10.10-server-amd64-netboot/postinstall.sh index 8ab2b8e8..0e905323 100644 --- a/templates/ubuntu-10.10-server-amd64-netboot/postinstall.sh +++ b/templates/ubuntu-10.10-server-amd64-netboot/postinstall.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # postinstall.sh created from Mitchell's official lucid32/64 baseboxes date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-10.10-server-amd64/base.sh b/templates/ubuntu-10.10-server-amd64/base.sh index 388e41f4..5add117f 100644 --- a/templates/ubuntu-10.10-server-amd64/base.sh +++ b/templates/ubuntu-10.10-server-amd64/base.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Replace all ubuntu mirror with the old-release mirror sed -i -e 's@http://.*.ubuntu.com@http://old-releases.ubuntu.com@' /etc/apt/sources.list diff --git a/templates/ubuntu-10.10-server-amd64/chef.sh b/templates/ubuntu-10.10-server-amd64/chef.sh index a85ed5fc..4d6fabff 100644 --- a/templates/ubuntu-10.10-server-amd64/chef.sh +++ b/templates/ubuntu-10.10-server-amd64/chef.sh @@ -1,2 +1,9 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Installing chef -/opt/ruby/bin/gem install chef --no-ri --no-rdoc \ No newline at end of file +/opt/ruby/bin/gem install chef --no-ri --no-rdoc diff --git a/templates/ubuntu-10.10-server-amd64/cleanup.sh b/templates/ubuntu-10.10-server-amd64/cleanup.sh index 3764aa5e..fc15bfe2 100644 --- a/templates/ubuntu-10.10-server-amd64/cleanup.sh +++ b/templates/ubuntu-10.10-server-amd64/cleanup.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Remove items used for building, since they aren't needed anymore apt-get -y remove linux-headers-$(uname -r) build-essential apt-get -y clean diff --git a/templates/ubuntu-10.10-server-amd64/postinstall.sh b/templates/ubuntu-10.10-server-amd64/postinstall.sh index 8ab2b8e8..0e905323 100644 --- a/templates/ubuntu-10.10-server-amd64/postinstall.sh +++ b/templates/ubuntu-10.10-server-amd64/postinstall.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # postinstall.sh created from Mitchell's official lucid32/64 baseboxes date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-10.10-server-amd64/puppet.sh b/templates/ubuntu-10.10-server-amd64/puppet.sh index ee83c1e1..7ba7411d 100644 --- a/templates/ubuntu-10.10-server-amd64/puppet.sh +++ b/templates/ubuntu-10.10-server-amd64/puppet.sh @@ -1 +1,8 @@ -/opt/ruby/bin/gem install puppet --no-ri --no-rdoc \ No newline at end of file +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + +/opt/ruby/bin/gem install puppet --no-ri --no-rdoc diff --git a/templates/ubuntu-10.10-server-amd64/ruby.sh b/templates/ubuntu-10.10-server-amd64/ruby.sh index 40fb5a8e..8cb3a422 100644 --- a/templates/ubuntu-10.10-server-amd64/ruby.sh +++ b/templates/ubuntu-10.10-server-amd64/ruby.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Install Ruby from source in /opt so that users of Vagrant # can install their own Rubies using packages or however. # We must install the 1.8.x series since Puppet doesn't support diff --git a/templates/ubuntu-10.10-server-amd64/vagrant.sh b/templates/ubuntu-10.10-server-amd64/vagrant.sh index 439bbc8a..0a7bb552 100644 --- a/templates/ubuntu-10.10-server-amd64/vagrant.sh +++ b/templates/ubuntu-10.10-server-amd64/vagrant.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Installing the virtualbox guest additions if test -f /home/veewee/.vbox_version then diff --git a/templates/ubuntu-10.10-server-amd64/virtualbox.sh b/templates/ubuntu-10.10-server-amd64/virtualbox.sh index d279b1c2..ae524e88 100644 --- a/templates/ubuntu-10.10-server-amd64/virtualbox.sh +++ b/templates/ubuntu-10.10-server-amd64/virtualbox.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Installing the virtualbox guest additions if test -f /home/veewee/.vbox_version then diff --git a/templates/ubuntu-10.10-server-i386-netboot/definition.rb b/templates/ubuntu-10.10-server-i386-netboot/definition.rb index 4cd36256..ae966b22 100644 --- a/templates/ubuntu-10.10-server-i386-netboot/definition.rb +++ b/templates/ubuntu-10.10-server-i386-netboot/definition.rb @@ -15,7 +15,7 @@ 'console-setup/ask_detect=false console-setup/modelcode=pc105 console-setup/layoutcode=us ', ' -- ' ], - :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "preseed.cfg", + :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "echo '%p'|sudo -S sh '%f'", diff --git a/templates/ubuntu-10.10-server-i386-netboot/postinstall.sh b/templates/ubuntu-10.10-server-i386-netboot/postinstall.sh index 8ab2b8e8..0e905323 100644 --- a/templates/ubuntu-10.10-server-i386-netboot/postinstall.sh +++ b/templates/ubuntu-10.10-server-i386-netboot/postinstall.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # postinstall.sh created from Mitchell's official lucid32/64 baseboxes date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-10.10-server-i386/definition.rb b/templates/ubuntu-10.10-server-i386/definition.rb index 9e637115..37be9564 100644 --- a/templates/ubuntu-10.10-server-i386/definition.rb +++ b/templates/ubuntu-10.10-server-i386/definition.rb @@ -15,7 +15,7 @@ 'console-setup/ask_detect=false console-setup/modelcode=pc105 console-setup/layoutcode=us ', 'initrd=/install/initrd.gz -- ' ], - :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "preseed.cfg", + :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "echo '%p'|sudo -S sh '%f'", diff --git a/templates/ubuntu-10.10-server-i386/postinstall.sh b/templates/ubuntu-10.10-server-i386/postinstall.sh index 8ab2b8e8..0e905323 100644 --- a/templates/ubuntu-10.10-server-i386/postinstall.sh +++ b/templates/ubuntu-10.10-server-i386/postinstall.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # postinstall.sh created from Mitchell's official lucid32/64 baseboxes date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-11.04-server-amd64/apt-upgrade.sh b/templates/ubuntu-11.04-server-amd64/apt-upgrade.sh index ed83c486..d16c2470 100644 --- a/templates/ubuntu-11.04-server-amd64/apt-upgrade.sh +++ b/templates/ubuntu-11.04-server-amd64/apt-upgrade.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Upgrade all to the latest versions apt-get -y update apt-get -y upgrade diff --git a/templates/ubuntu-11.04-server-amd64/chef.sh b/templates/ubuntu-11.04-server-amd64/chef.sh index 85dcbc0c..35a9c72c 100644 --- a/templates/ubuntu-11.04-server-amd64/chef.sh +++ b/templates/ubuntu-11.04-server-amd64/chef.sh @@ -1 +1,8 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + /opt/ruby/bin/gem install chef --no-ri --no-rdoc diff --git a/templates/ubuntu-11.04-server-amd64/definition.rb b/templates/ubuntu-11.04-server-amd64/definition.rb index c956aa82..ff668e22 100644 --- a/templates/ubuntu-11.04-server-amd64/definition.rb +++ b/templates/ubuntu-11.04-server-amd64/definition.rb @@ -24,7 +24,7 @@ 'kbd-chooser/method=us ', '-- ' ], - :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "preseed.cfg", + :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "echo '%p'|sudo -S sh '%f'", diff --git a/templates/ubuntu-11.04-server-amd64/network-cleanup.sh b/templates/ubuntu-11.04-server-amd64/network-cleanup.sh index 71266d56..2ad67d82 100644 --- a/templates/ubuntu-11.04-server-amd64/network-cleanup.sh +++ b/templates/ubuntu-11.04-server-amd64/network-cleanup.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Removing leftover leases and persistent rules echo "cleaning up dhcp leases" rm /var/lib/dhcp3/* diff --git a/templates/ubuntu-11.04-server-amd64/nfs-client.sh b/templates/ubuntu-11.04-server-amd64/nfs-client.sh index f37bdf3b..e5d5bfdf 100644 --- a/templates/ubuntu-11.04-server-amd64/nfs-client.sh +++ b/templates/ubuntu-11.04-server-amd64/nfs-client.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Install NFS client apt-get -y install nfs-common apt-get clean diff --git a/templates/ubuntu-11.04-server-amd64/puppet.sh b/templates/ubuntu-11.04-server-amd64/puppet.sh index 6d793958..7ba7411d 100644 --- a/templates/ubuntu-11.04-server-amd64/puppet.sh +++ b/templates/ubuntu-11.04-server-amd64/puppet.sh @@ -1 +1,8 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + /opt/ruby/bin/gem install puppet --no-ri --no-rdoc diff --git a/templates/ubuntu-11.04-server-amd64/remove-build-essentials.sh b/templates/ubuntu-11.04-server-amd64/remove-build-essentials.sh index 8e789cdb..f6f92305 100644 --- a/templates/ubuntu-11.04-server-amd64/remove-build-essentials.sh +++ b/templates/ubuntu-11.04-server-amd64/remove-build-essentials.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Remove items used for building, since they aren't needed anymore apt-get -y remove linux-headers-$(uname -r) build-essential apt-get -y autoremove diff --git a/templates/ubuntu-11.04-server-amd64/ruby.sh b/templates/ubuntu-11.04-server-amd64/ruby.sh index 7ac8578b..1b078221 100644 --- a/templates/ubuntu-11.04-server-amd64/ruby.sh +++ b/templates/ubuntu-11.04-server-amd64/ruby.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Needed packages apt-get -y install linux-headers-$(uname -r) build-essential apt-get -y install zlib1g-dev libssl-dev libreadline5-dev diff --git a/templates/ubuntu-11.04-server-amd64/ssh-keys.sh b/templates/ubuntu-11.04-server-amd64/ssh-keys.sh index b2808fa4..d97d8a15 100644 --- a/templates/ubuntu-11.04-server-amd64/ssh-keys.sh +++ b/templates/ubuntu-11.04-server-amd64/ssh-keys.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Installing vagrant keys mkdir /home/vagrant/.ssh chmod 700 /home/vagrant/.ssh diff --git a/templates/ubuntu-11.04-server-amd64/sudo.sh b/templates/ubuntu-11.04-server-amd64/sudo.sh index a418f5d5..d7c17392 100644 --- a/templates/ubuntu-11.04-server-amd64/sudo.sh +++ b/templates/ubuntu-11.04-server-amd64/sudo.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Setup sudo to allow no-password sudo for "admin" cp /etc/sudoers /etc/sudoers.orig sed -i -e '/Defaults\s\+env_reset/a Defaults\texempt_group=admin' /etc/sudoers diff --git a/templates/ubuntu-11.04-server-amd64/timestamp.sh b/templates/ubuntu-11.04-server-amd64/timestamp.sh index c9b2c6e8..44afc574 100644 --- a/templates/ubuntu-11.04-server-amd64/timestamp.sh +++ b/templates/ubuntu-11.04-server-amd64/timestamp.sh @@ -1 +1,8 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-11.04-server-amd64/vbox_additions.sh b/templates/ubuntu-11.04-server-amd64/vbox_additions.sh index b18d18d0..7b1221d2 100644 --- a/templates/ubuntu-11.04-server-amd64/vbox_additions.sh +++ b/templates/ubuntu-11.04-server-amd64/vbox_additions.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Installing the virtualbox guest additions if test -e /home/vagrant/.vbox_version; then VBOX_VERSION=$(cat /home/vagrant/.vbox_version) diff --git a/templates/ubuntu-11.04-server-amd64/zero-disk.sh b/templates/ubuntu-11.04-server-amd64/zero-disk.sh index 938075a3..ebb1ccf4 100644 --- a/templates/ubuntu-11.04-server-amd64/zero-disk.sh +++ b/templates/ubuntu-11.04-server-amd64/zero-disk.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Zero out the free space to save space in the final image: dd if=/dev/zero of=/EMPTY bs=1M rm -f /EMPTY diff --git a/templates/ubuntu-11.04-server-i386/definition.rb b/templates/ubuntu-11.04-server-i386/definition.rb index 97e71ed6..492a173c 100644 --- a/templates/ubuntu-11.04-server-i386/definition.rb +++ b/templates/ubuntu-11.04-server-i386/definition.rb @@ -15,7 +15,7 @@ 'keyboard-configuration/layout=USA keyboard-configuration/variant=USA console-setup/ask_detect=false ', 'initrd=/install/initrd.gz -- ' ], - :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "preseed.cfg", + :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "echo '%p'|sudo -S sh '%f'", diff --git a/templates/ubuntu-11.04-server-i386/postinstall.sh b/templates/ubuntu-11.04-server-i386/postinstall.sh index 14e40c7e..1dc0c400 100644 --- a/templates/ubuntu-11.04-server-i386/postinstall.sh +++ b/templates/ubuntu-11.04-server-i386/postinstall.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # postinstall.sh created from Mitchell's official lucid32/64 baseboxes date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-11.10-server-amd64-ishaya/definition.rb b/templates/ubuntu-11.10-server-amd64-ishaya/definition.rb index 3ce56e13..e8e73b36 100644 --- a/templates/ubuntu-11.10-server-amd64-ishaya/definition.rb +++ b/templates/ubuntu-11.10-server-amd64-ishaya/definition.rb @@ -15,7 +15,7 @@ 'keyboard-configuration/layout=USA keyboard-configuration/variant=USA console-setup/ask_detect=false ', 'initrd=/install/initrd.gz -- ' ], - :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "preseed.cfg", + :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "echo '%p'|sudo -S sh '%f'", diff --git a/templates/ubuntu-11.10-server-amd64-ishaya/postinstall.sh b/templates/ubuntu-11.10-server-amd64-ishaya/postinstall.sh index 1292a99a..660a7c12 100644 --- a/templates/ubuntu-11.10-server-amd64-ishaya/postinstall.sh +++ b/templates/ubuntu-11.10-server-amd64-ishaya/postinstall.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # postinstall.sh created from Mitchell's official lucid32/64 baseboxes date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-11.10-server-amd64-ruby192/definition.rb b/templates/ubuntu-11.10-server-amd64-ruby192/definition.rb index 3ce56e13..e8e73b36 100644 --- a/templates/ubuntu-11.10-server-amd64-ruby192/definition.rb +++ b/templates/ubuntu-11.10-server-amd64-ruby192/definition.rb @@ -15,7 +15,7 @@ 'keyboard-configuration/layout=USA keyboard-configuration/variant=USA console-setup/ask_detect=false ', 'initrd=/install/initrd.gz -- ' ], - :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "preseed.cfg", + :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "echo '%p'|sudo -S sh '%f'", diff --git a/templates/ubuntu-11.10-server-amd64-ruby192/postinstall.sh b/templates/ubuntu-11.10-server-amd64-ruby192/postinstall.sh index 67018253..3a2cb7fc 100644 --- a/templates/ubuntu-11.10-server-amd64-ruby192/postinstall.sh +++ b/templates/ubuntu-11.10-server-amd64-ruby192/postinstall.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # postinstall.sh created from Mitchell's official lucid32/64 baseboxes date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-11.10-server-amd64-rvm/definition.rb b/templates/ubuntu-11.10-server-amd64-rvm/definition.rb index 89cba12a..3c2ef81d 100644 --- a/templates/ubuntu-11.10-server-amd64-rvm/definition.rb +++ b/templates/ubuntu-11.10-server-amd64-rvm/definition.rb @@ -20,7 +20,7 @@ 'initrd=/install/initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-11.10-server-amd64-rvm/postinstall.sh b/templates/ubuntu-11.10-server-amd64-rvm/postinstall.sh index 08cf4398..5bf1658b 100644 --- a/templates/ubuntu-11.10-server-amd64-rvm/postinstall.sh +++ b/templates/ubuntu-11.10-server-amd64-rvm/postinstall.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # postinstall.sh created from Mitchell's official lucid32/64 baseboxes date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-11.10-server-amd64/definition.rb b/templates/ubuntu-11.10-server-amd64/definition.rb index 5626a28d..99b39bc0 100644 --- a/templates/ubuntu-11.10-server-amd64/definition.rb +++ b/templates/ubuntu-11.10-server-amd64/definition.rb @@ -20,7 +20,7 @@ 'initrd=/install/initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-11.10-server-amd64/postinstall.sh b/templates/ubuntu-11.10-server-amd64/postinstall.sh index bd79b7af..8b9ec24c 100644 --- a/templates/ubuntu-11.10-server-amd64/postinstall.sh +++ b/templates/ubuntu-11.10-server-amd64/postinstall.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # postinstall.sh created from Mitchell's official lucid32/64 baseboxes date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-11.10-server-i386/definition.rb b/templates/ubuntu-11.10-server-i386/definition.rb index 43399ef4..0fdce8f9 100644 --- a/templates/ubuntu-11.10-server-i386/definition.rb +++ b/templates/ubuntu-11.10-server-i386/definition.rb @@ -20,7 +20,7 @@ 'initrd=/install/initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-11.10-server-i386/postinstall.sh b/templates/ubuntu-11.10-server-i386/postinstall.sh index bd79b7af..8b9ec24c 100644 --- a/templates/ubuntu-11.10-server-i386/postinstall.sh +++ b/templates/ubuntu-11.10-server-i386/postinstall.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # postinstall.sh created from Mitchell's official lucid32/64 baseboxes date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-12.04.1-server-amd64-packages/definition.rb b/templates/ubuntu-12.04.1-server-amd64-packages/definition.rb index e5bd122b..7a3d4f69 100644 --- a/templates/ubuntu-12.04.1-server-amd64-packages/definition.rb +++ b/templates/ubuntu-12.04.1-server-amd64-packages/definition.rb @@ -20,7 +20,7 @@ 'initrd=/install/initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-12.04.1-server-amd64-packages/postinstall.sh b/templates/ubuntu-12.04.1-server-amd64-packages/postinstall.sh index 8c7c3e67..b04ad909 100644 --- a/templates/ubuntu-12.04.1-server-amd64-packages/postinstall.sh +++ b/templates/ubuntu-12.04.1-server-amd64-packages/postinstall.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # postinstall.sh created from Mitchell's official lucid32/64 baseboxes date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-12.04.1-server-amd64/definition.rb b/templates/ubuntu-12.04.1-server-amd64/definition.rb index 7099bb7a..a6315421 100644 --- a/templates/ubuntu-12.04.1-server-amd64/definition.rb +++ b/templates/ubuntu-12.04.1-server-amd64/definition.rb @@ -20,7 +20,7 @@ 'initrd=/install/initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-12.04.1-server-amd64/postinstall.sh b/templates/ubuntu-12.04.1-server-amd64/postinstall.sh index 4a55950e..f8a324c8 100644 --- a/templates/ubuntu-12.04.1-server-amd64/postinstall.sh +++ b/templates/ubuntu-12.04.1-server-amd64/postinstall.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # postinstall.sh created from Mitchell's official lucid32/64 baseboxes date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-12.04.1-server-i386-packages/definition.rb b/templates/ubuntu-12.04.1-server-i386-packages/definition.rb index 3b3867b1..abbf199b 100644 --- a/templates/ubuntu-12.04.1-server-i386-packages/definition.rb +++ b/templates/ubuntu-12.04.1-server-i386-packages/definition.rb @@ -20,7 +20,7 @@ 'initrd=/install/initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-12.04.1-server-i386-packages/postinstall.sh b/templates/ubuntu-12.04.1-server-i386-packages/postinstall.sh index bce9a4f6..cc9c3d67 100644 --- a/templates/ubuntu-12.04.1-server-i386-packages/postinstall.sh +++ b/templates/ubuntu-12.04.1-server-i386-packages/postinstall.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # postinstall.sh created from Mitchell's official lucid32/64 baseboxes date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-12.04.1-server-i386/definition.rb b/templates/ubuntu-12.04.1-server-i386/definition.rb index 3b3867b1..abbf199b 100644 --- a/templates/ubuntu-12.04.1-server-i386/definition.rb +++ b/templates/ubuntu-12.04.1-server-i386/definition.rb @@ -20,7 +20,7 @@ 'initrd=/install/initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-12.04.1-server-i386/postinstall.sh b/templates/ubuntu-12.04.1-server-i386/postinstall.sh index f936f970..1a2497ce 100644 --- a/templates/ubuntu-12.04.1-server-i386/postinstall.sh +++ b/templates/ubuntu-12.04.1-server-i386/postinstall.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # postinstall.sh created from Mitchell's official lucid32/64 baseboxes date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-12.04.2-desktop-amd64/definition.rb b/templates/ubuntu-12.04.2-desktop-amd64/definition.rb index 44386a37..1267ff0a 100644 --- a/templates/ubuntu-12.04.2-desktop-amd64/definition.rb +++ b/templates/ubuntu-12.04.2-desktop-amd64/definition.rb @@ -21,7 +21,7 @@ 'initrd=/install/initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-12.04.2-desktop-amd64/postinstall.sh b/templates/ubuntu-12.04.2-desktop-amd64/postinstall.sh index e0e3ca83..75228515 100644 --- a/templates/ubuntu-12.04.2-desktop-amd64/postinstall.sh +++ b/templates/ubuntu-12.04.2-desktop-amd64/postinstall.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # postinstall.sh created from Mitchell's official lucid32/64 baseboxes date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-12.04.2-server-amd64-netboot/definition.rb b/templates/ubuntu-12.04.2-server-amd64-netboot/definition.rb index 77ec594c..c1ad1156 100644 --- a/templates/ubuntu-12.04.2-server-amd64-netboot/definition.rb +++ b/templates/ubuntu-12.04.2-server-amd64-netboot/definition.rb @@ -21,7 +21,7 @@ 'initrd=initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-12.04.2-server-amd64-netboot/postinstall.sh b/templates/ubuntu-12.04.2-server-amd64-netboot/postinstall.sh index f936f970..1a2497ce 100644 --- a/templates/ubuntu-12.04.2-server-amd64-netboot/postinstall.sh +++ b/templates/ubuntu-12.04.2-server-amd64-netboot/postinstall.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # postinstall.sh created from Mitchell's official lucid32/64 baseboxes date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-12.04.2-server-amd64-packages/definition.rb b/templates/ubuntu-12.04.2-server-amd64-packages/definition.rb index d649f2c9..9c862d00 100644 --- a/templates/ubuntu-12.04.2-server-amd64-packages/definition.rb +++ b/templates/ubuntu-12.04.2-server-amd64-packages/definition.rb @@ -20,7 +20,7 @@ 'initrd=/install/initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-12.04.2-server-amd64-packages/postinstall.sh b/templates/ubuntu-12.04.2-server-amd64-packages/postinstall.sh index a09a6728..bb6cfe74 100644 --- a/templates/ubuntu-12.04.2-server-amd64-packages/postinstall.sh +++ b/templates/ubuntu-12.04.2-server-amd64-packages/postinstall.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # postinstall.sh created from Mitchell's official lucid32/64 baseboxes date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-12.04.2-server-amd64/base.sh b/templates/ubuntu-12.04.2-server-amd64/base.sh index a3dff6e8..1648927e 100644 --- a/templates/ubuntu-12.04.2-server-amd64/base.sh +++ b/templates/ubuntu-12.04.2-server-amd64/base.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Apt-install various things necessary for Ruby, guest additions, # etc., and remove optional things to trim down the machine. @@ -10,7 +17,7 @@ apt-get clean # Set up sudo ( cat <<'EOP' -%vagrant ALL=NOPASSWD:ALL +%vagrant ALL=(ALL) NOPASSWD: ALL EOP ) > /tmp/vagrant chmod 0440 /tmp/vagrant diff --git a/templates/ubuntu-12.04.2-server-amd64/chef.sh b/templates/ubuntu-12.04.2-server-amd64/chef.sh index 150f5efb..c87966d7 100644 --- a/templates/ubuntu-12.04.2-server-amd64/chef.sh +++ b/templates/ubuntu-12.04.2-server-amd64/chef.sh @@ -1,2 +1,9 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Install Chef curl -L https://www.opscode.com/chef/install.sh | sudo bash diff --git a/templates/ubuntu-12.04.2-server-amd64/cleanup.sh b/templates/ubuntu-12.04.2-server-amd64/cleanup.sh index f3569cb8..d9e4b8d7 100644 --- a/templates/ubuntu-12.04.2-server-amd64/cleanup.sh +++ b/templates/ubuntu-12.04.2-server-amd64/cleanup.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Remove items used for building, since they aren't needed anymore apt-get -y remove linux-headers-$(uname -r) build-essential diff --git a/templates/ubuntu-12.04.2-server-amd64/definition.rb b/templates/ubuntu-12.04.2-server-amd64/definition.rb index 212f0bac..554bcf90 100644 --- a/templates/ubuntu-12.04.2-server-amd64/definition.rb +++ b/templates/ubuntu-12.04.2-server-amd64/definition.rb @@ -20,7 +20,7 @@ 'initrd=/install/initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-12.04.2-server-amd64/puppet.sh b/templates/ubuntu-12.04.2-server-amd64/puppet.sh index f34671d7..ae84c9c2 100644 --- a/templates/ubuntu-12.04.2-server-amd64/puppet.sh +++ b/templates/ubuntu-12.04.2-server-amd64/puppet.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Prepare puppetlabs repo wget http://apt.puppetlabs.com/puppetlabs-release-precise.deb dpkg -i puppetlabs-release-precise.deb diff --git a/templates/ubuntu-12.04.2-server-amd64/ruby.sh b/templates/ubuntu-12.04.2-server-amd64/ruby.sh index 4556effe..e575a42b 100644 --- a/templates/ubuntu-12.04.2-server-amd64/ruby.sh +++ b/templates/ubuntu-12.04.2-server-amd64/ruby.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Install Ruby from source in /opt so that users of Vagrant # can install their own Rubies using packages or however. diff --git a/templates/ubuntu-12.04.2-server-amd64/vagrant.sh b/templates/ubuntu-12.04.2-server-amd64/vagrant.sh index 17fd40fb..081adfc2 100644 --- a/templates/ubuntu-12.04.2-server-amd64/vagrant.sh +++ b/templates/ubuntu-12.04.2-server-amd64/vagrant.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + date > /etc/vagrant_box_build_time # Setup sudo to allow no-password sudo for "sudo" diff --git a/templates/ubuntu-12.04.2-server-amd64/virtualbox.sh b/templates/ubuntu-12.04.2-server-amd64/virtualbox.sh index 1594c8cc..9d0fc830 100644 --- a/templates/ubuntu-12.04.2-server-amd64/virtualbox.sh +++ b/templates/ubuntu-12.04.2-server-amd64/virtualbox.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Without libdbus virtualbox would not start automatically after compile apt-get -y install --no-install-recommends libdbus-1-3 diff --git a/templates/ubuntu-12.04.2-server-amd64/vmfusion.sh b/templates/ubuntu-12.04.2-server-amd64/vmfusion.sh index d654a02c..7b1b839e 100644 --- a/templates/ubuntu-12.04.2-server-amd64/vmfusion.sh +++ b/templates/ubuntu-12.04.2-server-amd64/vmfusion.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + cd /tmp mkdir -p /mnt/cdrom mount -o loop /home/vagrant/linux.iso /mnt/cdrom diff --git a/templates/ubuntu-12.04.2-server-amd64/vmtools.sh b/templates/ubuntu-12.04.2-server-amd64/vmtools.sh index 33c979dd..ca1b848c 100644 --- a/templates/ubuntu-12.04.2-server-amd64/vmtools.sh +++ b/templates/ubuntu-12.04.2-server-amd64/vmtools.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + if test -f .vmfusion_version ; then [15/436] cd /tmp diff --git a/templates/ubuntu-12.04.2-server-amd64/zerodisk.sh b/templates/ubuntu-12.04.2-server-amd64/zerodisk.sh index 938075a3..ebb1ccf4 100644 --- a/templates/ubuntu-12.04.2-server-amd64/zerodisk.sh +++ b/templates/ubuntu-12.04.2-server-amd64/zerodisk.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Zero out the free space to save space in the final image: dd if=/dev/zero of=/EMPTY bs=1M rm -f /EMPTY diff --git a/templates/ubuntu-12.04.2-server-i386-netboot/definition.rb b/templates/ubuntu-12.04.2-server-i386-netboot/definition.rb index 2d3427d5..dfe0f5f7 100644 --- a/templates/ubuntu-12.04.2-server-i386-netboot/definition.rb +++ b/templates/ubuntu-12.04.2-server-i386-netboot/definition.rb @@ -21,7 +21,7 @@ 'initrd=initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-12.04.2-server-i386-netboot/postinstall.sh b/templates/ubuntu-12.04.2-server-i386-netboot/postinstall.sh index f936f970..1a2497ce 100644 --- a/templates/ubuntu-12.04.2-server-i386-netboot/postinstall.sh +++ b/templates/ubuntu-12.04.2-server-i386-netboot/postinstall.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # postinstall.sh created from Mitchell's official lucid32/64 baseboxes date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-12.04.2-server-i386-packages/definition.rb b/templates/ubuntu-12.04.2-server-i386-packages/definition.rb index bdea2a43..7632d657 100644 --- a/templates/ubuntu-12.04.2-server-i386-packages/definition.rb +++ b/templates/ubuntu-12.04.2-server-i386-packages/definition.rb @@ -20,7 +20,7 @@ 'initrd=/install/initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-12.04.2-server-i386-packages/postinstall.sh b/templates/ubuntu-12.04.2-server-i386-packages/postinstall.sh index bce9a4f6..cc9c3d67 100644 --- a/templates/ubuntu-12.04.2-server-i386-packages/postinstall.sh +++ b/templates/ubuntu-12.04.2-server-i386-packages/postinstall.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # postinstall.sh created from Mitchell's official lucid32/64 baseboxes date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-12.04.2-server-i386/definition.rb b/templates/ubuntu-12.04.2-server-i386/definition.rb index bdea2a43..7632d657 100644 --- a/templates/ubuntu-12.04.2-server-i386/definition.rb +++ b/templates/ubuntu-12.04.2-server-i386/definition.rb @@ -20,7 +20,7 @@ 'initrd=/install/initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-12.04.2-server-i386/postinstall.sh b/templates/ubuntu-12.04.2-server-i386/postinstall.sh index f936f970..1a2497ce 100644 --- a/templates/ubuntu-12.04.2-server-i386/postinstall.sh +++ b/templates/ubuntu-12.04.2-server-i386/postinstall.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # postinstall.sh created from Mitchell's official lucid32/64 baseboxes date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-12.04.3-desktop-i386/definition.rb b/templates/ubuntu-12.04.3-desktop-i386/definition.rb index a2d7a29b..b2e76b44 100644 --- a/templates/ubuntu-12.04.3-desktop-i386/definition.rb +++ b/templates/ubuntu-12.04.3-desktop-i386/definition.rb @@ -21,7 +21,7 @@ 'initrd=/install/initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-12.04.3-server-amd64-parallels/base.sh b/templates/ubuntu-12.04.3-server-amd64-parallels/base.sh new file mode 100644 index 00000000..8df1b26a --- /dev/null +++ b/templates/ubuntu-12.04.3-server-amd64-parallels/base.sh @@ -0,0 +1,20 @@ + +# Apt-install various things necessary for Ruby, guest additions, +# etc., and remove optional things to trim down the machine. +apt-get -y update +apt-get -y upgrade +apt-get -y install gcc build-essential linux-headers-$(uname -r) +apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev libyaml-dev +apt-get -y install vim curl +apt-get clean + +# Set up sudo +( cat <<'EOP' +%vagrant ALL=(ALL) NOPASSWD: ALL +EOP +) > /tmp/vagrant +chmod 0440 /tmp/vagrant +mv /tmp/vagrant /etc/sudoers.d/ + +# Install NFS client +apt-get -y install nfs-common diff --git a/templates/CentOS-5.10-i386/chef.sh b/templates/ubuntu-12.04.3-server-amd64-parallels/chef.sh old mode 100755 new mode 100644 similarity index 98% rename from templates/CentOS-5.10-i386/chef.sh rename to templates/ubuntu-12.04.3-server-amd64-parallels/chef.sh index 9ea4fb83..150f5efb --- a/templates/CentOS-5.10-i386/chef.sh +++ b/templates/ubuntu-12.04.3-server-amd64-parallels/chef.sh @@ -1,3 +1,2 @@ # Install Chef - curl -L https://www.opscode.com/chef/install.sh | sudo bash diff --git a/templates/ubuntu-12.04.3-server-amd64-parallels/cleanup.sh b/templates/ubuntu-12.04.3-server-amd64-parallels/cleanup.sh new file mode 100644 index 00000000..f3569cb8 --- /dev/null +++ b/templates/ubuntu-12.04.3-server-amd64-parallels/cleanup.sh @@ -0,0 +1,23 @@ +# Remove items used for building, since they aren't needed anymore + +apt-get -y remove linux-headers-$(uname -r) build-essential +apt-get -y autoremove + +#Clean up tmp +rm -rf /tmp/* + +# Removing leftover leases and persistent rules +echo "cleaning up dhcp leases" +rm /var/lib/dhcp/* + +# Make sure Udev doesn't block our network +# http://6.ptmc.org/?p=164 +echo "cleaning up udev rules" +rm /etc/udev/rules.d/70-persistent-net.rules +mkdir /etc/udev/rules.d/70-persistent-net.rules +rm -rf /dev/.udev/ +rm /lib/udev/rules.d/75-persistent-net-generator.rules + +echo "Adding a 2 sec delay to the interface up, to make the dhclient happy" +echo "pre-up sleep 2" >> /etc/network/interfaces +exit diff --git a/templates/ubuntu-12.04.3-server-amd64-parallels/definition.rb b/templates/ubuntu-12.04.3-server-amd64-parallels/definition.rb new file mode 100644 index 00000000..ea78cd0f --- /dev/null +++ b/templates/ubuntu-12.04.3-server-amd64-parallels/definition.rb @@ -0,0 +1,44 @@ +Veewee::Session.declare({ + :cpu_count => '1', + :memory_size=> '512', + :disk_size => '10140', + :disk_format => 'VDI', + :hostiocache => 'off', + :os_type_id => 'Ubuntu_64', + :iso_file => "ubuntu-12.04.3-server-amd64.iso", + :iso_src => "http://releases.ubuntu.com/12.04/ubuntu-12.04.3-server-amd64.iso", + :iso_md5 => '2cbe868812a871242cdcdd8f2fd6feb9', + :iso_download_timeout => "1000", + :boot_wait => "4", + :boot_cmd_sequence => [ + '', + '/install/vmlinuz noapic preseed/url=http://%IP%:%PORT%/preseed.cfg ', + 'debian-installer=en_US auto locale=en_US kbd-chooser/method=us ', + 'hostname=%NAME% ', + 'fb=false debconf/frontend=noninteractive ', + 'keyboard-configuration/modelcode=SKIP keyboard-configuration/layout=USA keyboard-configuration/variant=USA console-setup/ask_detect=false ', + 'initrd=/install/initrd.gz -- ' +], + :kickstart_port => "7122", + :kickstart_timeout => "300", + :kickstart_file => "preseed.cfg", + :ssh_login_timeout => "10000", + :ssh_user => "vagrant", + :ssh_password => "vagrant", + :ssh_key => "", + :ssh_host_port => "7222", + :ssh_guest_port => "22", + :sudo_cmd => "echo '%p'|sudo -S sh '%f'", + :shutdown_cmd => "shutdown -P now", + :postinstall_files => [ + "base.sh", + "vagrant.sh", + "parallels.sh", + "ruby.sh", + "puppet.sh", + "chef.sh", + "cleanup.sh", + "zerodisk.sh" + ], + :postinstall_timeout => "10000" +}) diff --git a/templates/ubuntu-12.04.3-server-amd64-parallels/parallels.sh b/templates/ubuntu-12.04.3-server-amd64-parallels/parallels.sh new file mode 100644 index 00000000..4cf25f94 --- /dev/null +++ b/templates/ubuntu-12.04.3-server-amd64-parallels/parallels.sh @@ -0,0 +1,4 @@ +PARALLELS_TOOLS_ISO=prl-tools-lin.iso +mount -o loop $PARALLELS_TOOLS_ISO /media/cdrom +/media/cdrom/install --install-unattended-with-deps --progress +umount /media/cdrom \ No newline at end of file diff --git a/templates/ubuntu-12.04.3-server-amd64-parallels/preseed.cfg b/templates/ubuntu-12.04.3-server-amd64-parallels/preseed.cfg new file mode 100644 index 00000000..61df5949 --- /dev/null +++ b/templates/ubuntu-12.04.3-server-amd64-parallels/preseed.cfg @@ -0,0 +1,87 @@ +## Options to set on the command line +d-i debian-installer/locale string en_US.utf8 +d-i console-setup/ask_detect boolean false +d-i console-setup/layout string USA + +#d-i netcfg/get_hostname string dummy +d-i netcfg/get_hostname string unassigned-hostname +d-i netcfg/get_domain string unassigned-domain + +# Continue without a default route +# Not working , specify a dummy in the DHCP +#d-i netcfg/no_default_route boolean + +d-i time/zone string UTC +d-i clock-setup/utc-auto boolean true +d-i clock-setup/utc boolean true + +d-i kbd-chooser/method select American English + +d-i netcfg/wireless_wep string + +d-i base-installer/kernel/override-image string linux-server +#d-i base-installer/kernel/override-image string linux-image-2.6.32-21-generic + +# Choices: Dialog, Readline, Gnome, Kde, Editor, Noninteractive +d-i debconf debconf/frontend select Noninteractive + +d-i pkgsel/install-language-support boolean false +tasksel tasksel/first multiselect standard, ubuntu-server + +#d-i partman-auto/method string regular +d-i partman-auto/method string lvm +#d-i partman-auto/purge_lvm_from_device boolean true + +d-i partman-lvm/confirm boolean true +d-i partman-lvm/device_remove_lvm boolean true +d-i partman-auto/choose_recipe select atomic + +d-i partman/confirm_write_new_label boolean true +d-i partman/confirm_nooverwrite boolean true +d-i partman/choose_partition select finish +d-i partman/confirm boolean true + +#http://ubuntu-virginia.ubuntuforums.org/showthread.php?p=9626883 +#Message: "write the changes to disk and configure lvm preseed" +#http://serverfault.com/questions/189328/ubuntu-kickstart-installation-using-lvm-waits-for-input +#preseed partman-lvm/confirm_nooverwrite boolean true + +# Write the changes to disks and configure LVM? +d-i partman-lvm/confirm boolean true +d-i partman-lvm/confirm_nooverwrite boolean true +d-i partman-auto-lvm/guided_size string max + +## Default user, we can get away with a recipe to change this +d-i passwd/user-fullname string vagrant +d-i passwd/username string vagrant +d-i passwd/user-password password vagrant +d-i passwd/user-password-again password vagrant +d-i user-setup/encrypt-home boolean false +d-i user-setup/allow-password-weak boolean true + +## minimum is puppet and ssh and ntp +# Individual additional packages to install +d-i pkgsel/include string openssh-server ntp + +# Whether to upgrade packages after debootstrap. +# Allowed values: none, safe-upgrade, full-upgrade +d-i pkgsel/upgrade select full-upgrade + +d-i grub-installer/only_debian boolean true +d-i grub-installer/with_other_os boolean true +d-i finish-install/reboot_in_progress note + +#For the update +d-i pkgsel/update-policy select none + +# debconf-get-selections --install +#Use mirror +#d-i apt-setup/use_mirror boolean true +#d-i mirror/country string manual +#choose-mirror-bin mirror/protocol string http +#choose-mirror-bin mirror/http/hostname string 192.168.4.150 +#choose-mirror-bin mirror/http/directory string /ubuntu +#choose-mirror-bin mirror/suite select maverick +#d-i debian-installer/allow_unauthenticated string true + +choose-mirror-bin mirror/http/proxy string diff --git a/templates/ubuntu-12.04.3-server-amd64-parallels/puppet.sh b/templates/ubuntu-12.04.3-server-amd64-parallels/puppet.sh new file mode 100644 index 00000000..f34671d7 --- /dev/null +++ b/templates/ubuntu-12.04.3-server-amd64-parallels/puppet.sh @@ -0,0 +1,7 @@ +# Prepare puppetlabs repo +wget http://apt.puppetlabs.com/puppetlabs-release-precise.deb +dpkg -i puppetlabs-release-precise.deb +apt-get update + +# Install puppet/facter +apt-get install -y puppet facter diff --git a/templates/ubuntu-12.04.3-server-amd64-parallels/ruby.sh b/templates/ubuntu-12.04.3-server-amd64-parallels/ruby.sh new file mode 100644 index 00000000..4556effe --- /dev/null +++ b/templates/ubuntu-12.04.3-server-amd64-parallels/ruby.sh @@ -0,0 +1,26 @@ +# Install Ruby from source in /opt so that users of Vagrant +# can install their own Rubies using packages or however. + +apt-get -y install libyaml-0-2 +RUBY_VERSION=1.9.3-p392 +wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-$RUBY_VERSION.tar.gz +tar xvzf ruby-$RUBY_VERSION.tar.gz +cd ruby-$RUBY_VERSION +./configure --prefix=/opt/ruby +make +make install +cd .. +rm -rf ruby-$RUBY_VERSION + +# Install RubyGems 1.8.25 +RUBYGEMS_VERSION=1.8.25 +wget http://production.cf.rubygems.org/rubygems/rubygems-$RUBYGEMS_VERSION.tgz +tar xzf rubygems-$RUBYGEMS_VERSION.tgz +cd rubygems-$RUBYGEMS_VERSION +/opt/ruby/bin/ruby setup.rb +cd .. +rm -rf rubygems-$RUBYGEMS_VERSION + +# Add /opt/ruby/bin to the global path as the last resort so +# Ruby, RubyGems, and Chef/Puppet are visible +echo 'PATH=$PATH:/opt/ruby/bin/'> /etc/profile.d/vagrantruby.sh diff --git a/templates/ubuntu-12.04.3-server-amd64-parallels/vagrant.sh b/templates/ubuntu-12.04.3-server-amd64-parallels/vagrant.sh new file mode 100644 index 00000000..17fd40fb --- /dev/null +++ b/templates/ubuntu-12.04.3-server-amd64-parallels/vagrant.sh @@ -0,0 +1,12 @@ +date > /etc/vagrant_box_build_time + +# Setup sudo to allow no-password sudo for "sudo" +usermod -a -G sudo vagrant + +# Installing vagrant keys +mkdir /home/vagrant/.ssh +chmod 700 /home/vagrant/.ssh +cd /home/vagrant/.ssh +wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O authorized_keys +chmod 600 /home/vagrant/.ssh/authorized_keys +chown -R vagrant /home/vagrant/.ssh diff --git a/templates/ubuntu-12.04.3-server-amd64-parallels/vmtools.sh b/templates/ubuntu-12.04.3-server-amd64-parallels/vmtools.sh new file mode 100644 index 00000000..33c979dd --- /dev/null +++ b/templates/ubuntu-12.04.3-server-amd64-parallels/vmtools.sh @@ -0,0 +1,33 @@ +if test -f .vmfusion_version ; then [15/436] + + cd /tmp + mkdir -p /mnt/cdrom + mount -o loop /home/vagrant/linux.iso /mnt/cdrom + tar zxvf /mnt/cdrom/VMwareTools-*.tar.gz -C /tmp/ + /tmp/vmware-tools-distrib/vmware-install.pl -d + rm /home/vagrant/linux.iso + umount /mnt/cdrom + +fi + +if test -f .vbox_version ; then [3/436] + + # Without libdbus virtualbox would not start automatically after compile + apt-get -y install --no-install-recommends libdbus-1-3 + + # The netboot installs the VirtualBox support (old) so we have to remove it + /etc/init.d/virtualbox-ose-guest-utils stop + rmmod vboxguest + aptitude -y purge virtualbox-ose-guest-x11 virtualbox-ose-guest-dkms virtualbox-ose-guest-utils + aptitude -y install dkms + + # Install the VirtualBox guest additions + VBOX_VERSION=$(cat /home/vagrant/.vbox_version) + VBOX_ISO=VBoxGuestAdditions_$VBOX_VERSION.iso + mount -o loop $VBOX_ISO /mnt + yes|sh /mnt/VBoxLinuxAdditions.run + umount /mnt + + #Cleanup VirtualBox + rm $VBOX_ISO +fi diff --git a/templates/ubuntu-12.04.3-server-amd64-parallels/zerodisk.sh b/templates/ubuntu-12.04.3-server-amd64-parallels/zerodisk.sh new file mode 100644 index 00000000..938075a3 --- /dev/null +++ b/templates/ubuntu-12.04.3-server-amd64-parallels/zerodisk.sh @@ -0,0 +1,3 @@ +# Zero out the free space to save space in the final image: +dd if=/dev/zero of=/EMPTY bs=1M +rm -f /EMPTY diff --git a/templates/ubuntu-12.04.3-server-amd64/base.sh b/templates/ubuntu-12.04.3-server-amd64/base.sh index 0d3d8d84..b248b02f 100644 --- a/templates/ubuntu-12.04.3-server-amd64/base.sh +++ b/templates/ubuntu-12.04.3-server-amd64/base.sh @@ -11,7 +11,7 @@ apt-get clean # Set up sudo ( cat <<'EOP' -%vagrant ALL=NOPASSWD:ALL +%vagrant ALL=(ALL) NOPASSWD: ALL EOP ) > /tmp/vagrant chmod 0440 /tmp/vagrant diff --git a/templates/ubuntu-12.04.3-server-amd64/definition.rb b/templates/ubuntu-12.04.3-server-amd64/definition.rb index 3d6b72d8..0b0efd1d 100644 --- a/templates/ubuntu-12.04.3-server-amd64/definition.rb +++ b/templates/ubuntu-12.04.3-server-amd64/definition.rb @@ -20,7 +20,7 @@ 'initrd=/install/initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-12.04.3-server-i386/definition.rb b/templates/ubuntu-12.04.3-server-i386/definition.rb index 2d660223..ec03ffac 100644 --- a/templates/ubuntu-12.04.3-server-i386/definition.rb +++ b/templates/ubuntu-12.04.3-server-i386/definition.rb @@ -20,7 +20,7 @@ 'initrd=/install/initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-12.04.4-server-amd64/definition.rb b/templates/ubuntu-12.04.4-server-amd64/definition.rb index 6a6882e5..b8b9a404 100644 --- a/templates/ubuntu-12.04.4-server-amd64/definition.rb +++ b/templates/ubuntu-12.04.4-server-amd64/definition.rb @@ -20,7 +20,7 @@ 'initrd=/install/initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-12.04.4-server-i386/definition.rb b/templates/ubuntu-12.04.4-server-i386/definition.rb index 428fcc71..365c14bc 100644 --- a/templates/ubuntu-12.04.4-server-i386/definition.rb +++ b/templates/ubuntu-12.04.4-server-i386/definition.rb @@ -20,7 +20,7 @@ 'initrd=/install/initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-12.10-desktop-amd64/definition.rb b/templates/ubuntu-12.10-desktop-amd64/definition.rb index 12239a0e..b9f90fe2 100644 --- a/templates/ubuntu-12.10-desktop-amd64/definition.rb +++ b/templates/ubuntu-12.10-desktop-amd64/definition.rb @@ -21,7 +21,7 @@ 'initrd=/install/initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-12.10-desktop-amd64/postinstall.sh b/templates/ubuntu-12.10-desktop-amd64/postinstall.sh index 17e20b4a..cd7caa09 100644 --- a/templates/ubuntu-12.10-desktop-amd64/postinstall.sh +++ b/templates/ubuntu-12.10-desktop-amd64/postinstall.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # postinstall.sh created from Mitchell's official lucid32/64 baseboxes date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-12.10-server-amd64-packages/base.sh b/templates/ubuntu-12.10-server-amd64-packages/base.sh index ed9aa3bb..02ade858 100644 --- a/templates/ubuntu-12.10-server-amd64-packages/base.sh +++ b/templates/ubuntu-12.10-server-amd64-packages/base.sh @@ -1,3 +1,5 @@ +#!/bin/bash + if [ -f .veewee_params ] then . .veewee_params diff --git a/templates/ubuntu-12.10-server-amd64-packages/chef.sh b/templates/ubuntu-12.10-server-amd64-packages/chef.sh index cd119586..75f5faf4 100644 --- a/templates/ubuntu-12.10-server-amd64-packages/chef.sh +++ b/templates/ubuntu-12.10-server-amd64-packages/chef.sh @@ -1,3 +1,5 @@ +#!/bin/bash + if [ -f .veewee_params ] then . .veewee_params diff --git a/templates/ubuntu-12.10-server-amd64-packages/cleanup.sh b/templates/ubuntu-12.10-server-amd64-packages/cleanup.sh index 4779c1e4..c32b0760 100644 --- a/templates/ubuntu-12.10-server-amd64-packages/cleanup.sh +++ b/templates/ubuntu-12.10-server-amd64-packages/cleanup.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Remove items used for building, since they aren't needed anymore echo "removing unnessary packages" apt-get -y remove linux-headers-$(uname -r) build-essential diff --git a/templates/ubuntu-12.10-server-amd64-packages/definition.rb b/templates/ubuntu-12.10-server-amd64-packages/definition.rb index cb93acd1..199c98d3 100644 --- a/templates/ubuntu-12.10-server-amd64-packages/definition.rb +++ b/templates/ubuntu-12.10-server-amd64-packages/definition.rb @@ -20,7 +20,7 @@ 'initrd=/install/initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-12.10-server-amd64-packages/puppet.sh b/templates/ubuntu-12.10-server-amd64-packages/puppet.sh index 94ea6af9..7cc9a8ec 100644 --- a/templates/ubuntu-12.10-server-amd64-packages/puppet.sh +++ b/templates/ubuntu-12.10-server-amd64-packages/puppet.sh @@ -1,3 +1,5 @@ +#!/bin/bash + if [ -f .veewee_params ] then . .veewee_params diff --git a/templates/ubuntu-12.10-server-amd64-packages/ruby.sh b/templates/ubuntu-12.10-server-amd64-packages/ruby.sh index c1dc046b..f25c7a3c 100644 --- a/templates/ubuntu-12.10-server-amd64-packages/ruby.sh +++ b/templates/ubuntu-12.10-server-amd64-packages/ruby.sh @@ -1,3 +1,5 @@ +#!/bin/bash + if [ -f .veewee_params ] then . .veewee_params diff --git a/templates/ubuntu-12.10-server-amd64-packages/vagrant.sh b/templates/ubuntu-12.10-server-amd64-packages/vagrant.sh index 69cbd36d..24795688 100644 --- a/templates/ubuntu-12.10-server-amd64-packages/vagrant.sh +++ b/templates/ubuntu-12.10-server-amd64-packages/vagrant.sh @@ -1,3 +1,5 @@ +#!/bin/bash + if [ -f .veewee_params ] then . .veewee_params diff --git a/templates/ubuntu-12.10-server-amd64-packages/virtualbox.sh b/templates/ubuntu-12.10-server-amd64-packages/virtualbox.sh index b63013f9..f094b5c5 100644 --- a/templates/ubuntu-12.10-server-amd64-packages/virtualbox.sh +++ b/templates/ubuntu-12.10-server-amd64-packages/virtualbox.sh @@ -1,3 +1,5 @@ +#!/bin/bash + if [ -f .veewee_params ] then . .veewee_params diff --git a/templates/ubuntu-12.10-server-amd64-packages/zerodisk.sh b/templates/ubuntu-12.10-server-amd64-packages/zerodisk.sh index 90381469..46e84c70 100644 --- a/templates/ubuntu-12.10-server-amd64-packages/zerodisk.sh +++ b/templates/ubuntu-12.10-server-amd64-packages/zerodisk.sh @@ -1,3 +1,5 @@ +#!/bin/bash + if [ -f .veewee_params ] then . .veewee_params diff --git a/templates/ubuntu-12.10-server-amd64/definition.rb b/templates/ubuntu-12.10-server-amd64/definition.rb index 3794aa34..bb3131fd 100644 --- a/templates/ubuntu-12.10-server-amd64/definition.rb +++ b/templates/ubuntu-12.10-server-amd64/definition.rb @@ -20,7 +20,7 @@ 'initrd=/install/initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-12.10-server-amd64/postinstall.sh b/templates/ubuntu-12.10-server-amd64/postinstall.sh index f4eb5d06..28224c63 100644 --- a/templates/ubuntu-12.10-server-amd64/postinstall.sh +++ b/templates/ubuntu-12.10-server-amd64/postinstall.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # postinstall.sh created from Mitchell's official lucid32/64 baseboxes date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-12.10-server-i386-packages/base.sh b/templates/ubuntu-12.10-server-i386-packages/base.sh index ed9aa3bb..02ade858 100644 --- a/templates/ubuntu-12.10-server-i386-packages/base.sh +++ b/templates/ubuntu-12.10-server-i386-packages/base.sh @@ -1,3 +1,5 @@ +#!/bin/bash + if [ -f .veewee_params ] then . .veewee_params diff --git a/templates/ubuntu-12.10-server-i386-packages/chef.sh b/templates/ubuntu-12.10-server-i386-packages/chef.sh index cd119586..75f5faf4 100644 --- a/templates/ubuntu-12.10-server-i386-packages/chef.sh +++ b/templates/ubuntu-12.10-server-i386-packages/chef.sh @@ -1,3 +1,5 @@ +#!/bin/bash + if [ -f .veewee_params ] then . .veewee_params diff --git a/templates/ubuntu-12.10-server-i386-packages/cleanup.sh b/templates/ubuntu-12.10-server-i386-packages/cleanup.sh index 4779c1e4..c32b0760 100644 --- a/templates/ubuntu-12.10-server-i386-packages/cleanup.sh +++ b/templates/ubuntu-12.10-server-i386-packages/cleanup.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Remove items used for building, since they aren't needed anymore echo "removing unnessary packages" apt-get -y remove linux-headers-$(uname -r) build-essential diff --git a/templates/ubuntu-12.10-server-i386-packages/definition.rb b/templates/ubuntu-12.10-server-i386-packages/definition.rb index 2713d540..5052e9d0 100644 --- a/templates/ubuntu-12.10-server-i386-packages/definition.rb +++ b/templates/ubuntu-12.10-server-i386-packages/definition.rb @@ -20,7 +20,7 @@ 'initrd=/install/initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-12.10-server-i386-packages/puppet.sh b/templates/ubuntu-12.10-server-i386-packages/puppet.sh index 94ea6af9..7cc9a8ec 100644 --- a/templates/ubuntu-12.10-server-i386-packages/puppet.sh +++ b/templates/ubuntu-12.10-server-i386-packages/puppet.sh @@ -1,3 +1,5 @@ +#!/bin/bash + if [ -f .veewee_params ] then . .veewee_params diff --git a/templates/ubuntu-12.10-server-i386-packages/ruby.sh b/templates/ubuntu-12.10-server-i386-packages/ruby.sh index c1dc046b..f25c7a3c 100644 --- a/templates/ubuntu-12.10-server-i386-packages/ruby.sh +++ b/templates/ubuntu-12.10-server-i386-packages/ruby.sh @@ -1,3 +1,5 @@ +#!/bin/bash + if [ -f .veewee_params ] then . .veewee_params diff --git a/templates/ubuntu-12.10-server-i386-packages/vagrant.sh b/templates/ubuntu-12.10-server-i386-packages/vagrant.sh index 69cbd36d..24795688 100644 --- a/templates/ubuntu-12.10-server-i386-packages/vagrant.sh +++ b/templates/ubuntu-12.10-server-i386-packages/vagrant.sh @@ -1,3 +1,5 @@ +#!/bin/bash + if [ -f .veewee_params ] then . .veewee_params diff --git a/templates/ubuntu-12.10-server-i386-packages/virtualbox.sh b/templates/ubuntu-12.10-server-i386-packages/virtualbox.sh index b63013f9..f094b5c5 100644 --- a/templates/ubuntu-12.10-server-i386-packages/virtualbox.sh +++ b/templates/ubuntu-12.10-server-i386-packages/virtualbox.sh @@ -1,3 +1,5 @@ +#!/bin/bash + if [ -f .veewee_params ] then . .veewee_params diff --git a/templates/ubuntu-12.10-server-i386-packages/zerodisk.sh b/templates/ubuntu-12.10-server-i386-packages/zerodisk.sh index 90381469..46e84c70 100644 --- a/templates/ubuntu-12.10-server-i386-packages/zerodisk.sh +++ b/templates/ubuntu-12.10-server-i386-packages/zerodisk.sh @@ -1,3 +1,5 @@ +#!/bin/bash + if [ -f .veewee_params ] then . .veewee_params diff --git a/templates/ubuntu-12.10-server-i386/definition.rb b/templates/ubuntu-12.10-server-i386/definition.rb index 35ba4890..ad2f0e50 100644 --- a/templates/ubuntu-12.10-server-i386/definition.rb +++ b/templates/ubuntu-12.10-server-i386/definition.rb @@ -20,7 +20,7 @@ 'initrd=/install/initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-12.10-server-i386/postinstall.sh b/templates/ubuntu-12.10-server-i386/postinstall.sh index 00d163dd..6ba68337 100644 --- a/templates/ubuntu-12.10-server-i386/postinstall.sh +++ b/templates/ubuntu-12.10-server-i386/postinstall.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # postinstall.sh created from Mitchell's official lucid32/64 baseboxes date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-13.04-minimal-i386-rvm/definition.rb b/templates/ubuntu-13.04-minimal-i386-rvm/definition.rb new file mode 100644 index 00000000..727c0538 --- /dev/null +++ b/templates/ubuntu-13.04-minimal-i386-rvm/definition.rb @@ -0,0 +1,35 @@ +Veewee::Session.declare({ + :cpu_count => '1', + :memory_size=> '1024', + :disk_size => '10140', + :disk_format => 'VDI', + :hostiocache => 'off', + :os_type_id => 'Ubuntu', + :iso_file => "ubuntu-13.04-mini-i386.iso", + :iso_src => "http://archive.ubuntu.com/ubuntu/dists/raring/main/installer-i386/current/images/netboot/mini.iso", + :iso_md5 => 'a8f31cd33629c43d711d95bcb21ed9d8', + :iso_download_timeout => "1000", + :boot_wait => "4", + :boot_cmd_sequence => [ + '', + 'linux vga=788 noapic preseed/url=http://%IP%:%PORT%/preseed.cfg ', + 'debian-installer=en_US auto locale=en_US kbd-chooser/method=us ', + 'hostname=%NAME% ', + 'fb=false debconf/frontend=noninteractive ', + 'keyboard-configuration/modelcode=SKIP keyboard-configuration/layout=USA keyboard-configuration/variant=USA console-setup/ask_detect=false ', + 'initrd=initrd.gz -- quiet ' +], + :kickstart_port => "7122", + :kickstart_timeout => "300", + :kickstart_file => "preseed.cfg", + :ssh_login_timeout => "10000", + :ssh_user => "vagrant", + :ssh_password => "vagrant", + :ssh_key => "", + :ssh_host_port => "7222", + :ssh_guest_port => "22", + :sudo_cmd => "echo '%p'|sudo -S sh '%f'", + :shutdown_cmd => "shutdown -P now", + :postinstall_files => [ "postinstall.sh"], + :postinstall_timeout => "10000" +}) diff --git a/templates/ubuntu-13.04-minimal-i386-rvm/postinstall.sh b/templates/ubuntu-13.04-minimal-i386-rvm/postinstall.sh new file mode 100644 index 00000000..3c469a7d --- /dev/null +++ b/templates/ubuntu-13.04-minimal-i386-rvm/postinstall.sh @@ -0,0 +1,84 @@ +# postinstall.sh created from Mitchell's official lucid32/64 baseboxes + +date > /etc/vagrant_box_build_time + + +# Apt-install various things necessary for Ruby, guest additions, +# etc., and remove optional things to trim down the machine. +apt-get -y update +apt-get -y upgrade +apt-get -y install linux-headers-$(uname -r) build-essential +apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev libyaml-dev +apt-get -y install wget curl mc p7zip-full +apt-get clean + +# Installing the virtualbox guest additions +apt-get -y install dkms +VBOX_VERSION=$(cat /home/vagrant/.vbox_version) +mount -o loop VBoxGuestAdditions_$VBOX_VERSION.iso /mnt +sh /mnt/VBoxLinuxAdditions.run +umount /mnt + +rm VBoxGuestAdditions_$VBOX_VERSION.iso + +cd /tmp + +echo progress-bar >> /home/vagrant/.curlrc +chown vagrant:vagrant /home/vagrant/.curlrc + +# Setup sudo to allow no-password sudo for "admin" +groupadd -r admin +usermod -a -G admin vagrant +cp /etc/sudoers /etc/sudoers.orig +sed -i -e '/Defaults\s\+env_reset/a Defaults\texempt_group=admin' /etc/sudoers +sed -i -e 's/%admin ALL=(ALL) ALL/%admin ALL=NOPASSWD:ALL/g' /etc/sudoers + +# Add puppet user and group +#adduser --system --group --home /var/lib/puppet puppet + +# Install NFS client +apt-get -y install nfs-common + +# Install RVM and Ruby. +curl -L https://get.rvm.io | bash -s head --ruby +/etc/profile.d/rvm.sh +/usr/local/rvm/bin/rvm use ruby --default +usermod -a -G rvm vagrant +/usr/local/rvm/bin/gem update --system +/usr/local/rvm/bin/gem update + +# Installing chef & Puppet +/usr/local/rvm/bin/gem install chef --no-ri --no-rdoc +/usr/local/rvm/bin/gem install puppet --no-ri --no-rdoc + +# Installing vagrant keys +mkdir /home/vagrant/.ssh +chmod 700 /home/vagrant/.ssh +cd /home/vagrant/.ssh +wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O authorized_keys +chmod 600 /home/vagrant/.ssh/authorized_keys +chown -R vagrant /home/vagrant/.ssh + +# Remove items used for building, since they aren't needed anymore +apt-get -y remove linux-headers-$(uname -r) build-essential +apt-get -y autoremove + +# Zero out the free space to save space in the final image: +dd if=/dev/zero of=/EMPTY bs=1M +rm -f /EMPTY + +# Removing leftover leases and persistent rules +echo "cleaning up dhcp leases" +rm /var/lib/dhcp/* + +# Make sure Udev doesn't block our network +# http://6.ptmc.org/?p=164 +echo "cleaning up udev rules" +rm /etc/udev/rules.d/70-persistent-net.rules +mkdir /etc/udev/rules.d/70-persistent-net.rules +rm -rf /dev/.udev/ +rm /lib/udev/rules.d/75-persistent-net-generator.rules + +echo "Adding a 2 sec delay to the interface up, to make the dhclient happy" +echo "pre-up sleep 2" >> /etc/network/interfaces +exit diff --git a/templates/ubuntu-13.04-minimal-i386-rvm/preseed.cfg b/templates/ubuntu-13.04-minimal-i386-rvm/preseed.cfg new file mode 100644 index 00000000..dd2fe042 --- /dev/null +++ b/templates/ubuntu-13.04-minimal-i386-rvm/preseed.cfg @@ -0,0 +1,93 @@ +## Options to set on the command line +d-i debian-installer/locale string en_US.utf8 +d-i console-setup/ask_detect boolean false +d-i console-setup/layout string us + +#d-i netcfg/get_hostname string dummy +d-i netcfg/get_hostname string unassigned-hostname +d-i netcfg/get_domain string unassigned-domain + +# Continue without a default route +# Not working , specify a dummy in the DHCP +#d-i netcfg/no_default_route boolean + +d-i time/zone string UTC +d-i clock-setup/utc-auto boolean true +d-i clock-setup/utc boolean true + +d-i kbd-chooser/method select American English + +d-i netcfg/wireless_wep string + +d-i base-installer/kernel/override-image string linux-server +#d-i base-installer/kernel/override-image string linux-image-2.6.32-21-generic + +# Choices: Dialog, Readline, Gnome, Kde, Editor, Noninteractive +d-i debconf debconf/frontend select Noninteractive + +d-i pkgsel/install-language-support boolean false +tasksel tasksel/first multiselect standard, ubuntu-server + +#d-i partman-auto/method string regular +d-i partman-auto/method string lvm +#d-i partman-auto/purge_lvm_from_device boolean true + +d-i partman-lvm/confirm boolean true +d-i partman-lvm/device_remove_lvm boolean true +d-i partman-auto/choose_recipe select atomic + +d-i partman/confirm_write_new_label boolean true +d-i partman/confirm_nooverwrite boolean true +d-i partman/choose_partition select finish +d-i partman/confirm boolean true + +#http://ubuntu-virginia.ubuntuforums.org/showthread.php?p=9626883 +#Message: "write the changes to disk and configure lvm preseed" +#http://serverfault.com/questions/189328/ubuntu-kickstart-installation-using-lvm-waits-for-input +#preseed partman-lvm/confirm_nooverwrite boolean true + +# Write the changes to disks and configure LVM? +d-i partman-lvm/confirm boolean true +d-i partman-lvm/confirm_nooverwrite boolean true +d-i partman-auto-lvm/guided_size string max + +## Default user, we can get away with a recipe to change this +d-i passwd/user-fullname string vagrant +d-i passwd/username string vagrant +d-i passwd/user-password password vagrant +d-i passwd/user-password-again password vagrant +d-i user-setup/encrypt-home boolean false +d-i user-setup/allow-password-weak boolean true + +## minimum is puppet and ssh and ntp +# Individual additional packages to install +d-i pkgsel/include string openssh-server ntp + +# Whether to upgrade packages after debootstrap. +# Allowed values: none, safe-upgrade, full-upgrade +d-i pkgsel/upgrade select full-upgrade + +d-i grub-installer/only_debian boolean true +d-i grub-installer/with_other_os boolean true +d-i finish-install/reboot_in_progress note + +#For the update +d-i pkgsel/update-policy select none + +# debconf-get-selections --install +#Use mirror +#d-i apt-setup/use_mirror boolean true +#d-i mirror/country string manual +#choose-mirror-bin mirror/protocol string http +#choose-mirror-bin mirror/http/hostname string 192.168.4.150 +#choose-mirror-bin mirror/http/directory string /ubuntu +#choose-mirror-bin mirror/suite select maverick +#d-i debian-installer/allow_unauthenticated string true + +choose-mirror-bin mirror/http/proxy string + +d-i mirror/country string manual +d-i mirror/http/hostname string archive.ubuntu.com +d-i mirror/http/directory string /ubuntu +d-i mirror/proxy string +d-i mirror/http/mirror select us.archive.ubuntu.com diff --git a/templates/ubuntu-13.04-server-amd64-rvm/apt.sh b/templates/ubuntu-13.04-server-amd64-rvm/apt.sh index 0a424f85..c2ccb64d 100644 --- a/templates/ubuntu-13.04-server-amd64-rvm/apt.sh +++ b/templates/ubuntu-13.04-server-amd64-rvm/apt.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + apt-get -y update apt-get -y upgrade apt-get -y install linux-headers-$(uname -r) build-essential @@ -5,4 +12,4 @@ apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev libyaml-dev apt-get -y install vim apt-get -y install dkms apt-get -y install nfs-common -apt-get -y install curl \ No newline at end of file +apt-get -y install curl diff --git a/templates/ubuntu-13.04-server-amd64-rvm/build_time.sh b/templates/ubuntu-13.04-server-amd64-rvm/build_time.sh index c9b2c6e8..44afc574 100644 --- a/templates/ubuntu-13.04-server-amd64-rvm/build_time.sh +++ b/templates/ubuntu-13.04-server-amd64-rvm/build_time.sh @@ -1 +1,8 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-13.04-server-amd64-rvm/chef.sh b/templates/ubuntu-13.04-server-amd64-rvm/chef.sh index 98130a03..ad8bed9a 100644 --- a/templates/ubuntu-13.04-server-amd64-rvm/chef.sh +++ b/templates/ubuntu-13.04-server-amd64-rvm/chef.sh @@ -1 +1,8 @@ -gem install chef -v 11.4.4 --no-ri --no-rdoc \ No newline at end of file +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + +gem install chef -v 11.4.4 --no-ri --no-rdoc diff --git a/templates/ubuntu-13.04-server-amd64-rvm/cleanup.sh b/templates/ubuntu-13.04-server-amd64-rvm/cleanup.sh index 33f8d6ec..3aeab908 100644 --- a/templates/ubuntu-13.04-server-amd64-rvm/cleanup.sh +++ b/templates/ubuntu-13.04-server-amd64-rvm/cleanup.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + apt-get -y autoremove dd if=/dev/zero of=/EMPTY bs=1M diff --git a/templates/ubuntu-13.04-server-amd64-rvm/definition.rb b/templates/ubuntu-13.04-server-amd64-rvm/definition.rb index 50e62b74..48030d7c 100644 --- a/templates/ubuntu-13.04-server-amd64-rvm/definition.rb +++ b/templates/ubuntu-13.04-server-amd64-rvm/definition.rb @@ -20,7 +20,7 @@ 'initrd=/install/initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-13.04-server-amd64-rvm/puppet.sh b/templates/ubuntu-13.04-server-amd64-rvm/puppet.sh index c641fe9c..cb8693d5 100644 --- a/templates/ubuntu-13.04-server-amd64-rvm/puppet.sh +++ b/templates/ubuntu-13.04-server-amd64-rvm/puppet.sh @@ -1 +1,8 @@ -gem install puppet -v 3.2.2 --no-ri --no-rdoc \ No newline at end of file +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + +gem install puppet -v 3.2.2 --no-ri --no-rdoc diff --git a/templates/ubuntu-13.04-server-amd64-rvm/rvm.sh b/templates/ubuntu-13.04-server-amd64-rvm/rvm.sh index 252fca8f..7a05b687 100644 --- a/templates/ubuntu-13.04-server-amd64-rvm/rvm.sh +++ b/templates/ubuntu-13.04-server-amd64-rvm/rvm.sh @@ -1,7 +1,14 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + curl -L get.rvm.io | bash -s stable usermod --append --groups rvm vagrant RVM=/usr/local/rvm/bin/rvm $RVM install ree-1.8.7-2011.12 $RVM install 2.0.0-p195 $RVM alias create default 2.0.0-p195 -$RVM rubygems 1.8.25 \ No newline at end of file +$RVM rubygems 1.8.25 diff --git a/templates/ubuntu-13.04-server-amd64-rvm/sudo.sh b/templates/ubuntu-13.04-server-amd64-rvm/sudo.sh index 65ccf166..37fc8e66 100644 --- a/templates/ubuntu-13.04-server-amd64-rvm/sudo.sh +++ b/templates/ubuntu-13.04-server-amd64-rvm/sudo.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + groupadd -r admin usermod -a -G admin vagrant cp /etc/sudoers /etc/sudoers.orig diff --git a/templates/ubuntu-13.04-server-amd64-rvm/vagrant.sh b/templates/ubuntu-13.04-server-amd64-rvm/vagrant.sh index 10efd34b..84b6512d 100644 --- a/templates/ubuntu-13.04-server-amd64-rvm/vagrant.sh +++ b/templates/ubuntu-13.04-server-amd64-rvm/vagrant.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + mkdir /home/vagrant/.ssh chmod 700 /home/vagrant/.ssh cd /home/vagrant/.ssh diff --git a/templates/ubuntu-13.04-server-amd64-rvm/vbox.sh b/templates/ubuntu-13.04-server-amd64-rvm/vbox.sh index a05dd658..e15c9ef3 100644 --- a/templates/ubuntu-13.04-server-amd64-rvm/vbox.sh +++ b/templates/ubuntu-13.04-server-amd64-rvm/vbox.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Without libdbus virtualbox would not start automatically after compile apt-get -y install --no-install-recommends libdbus-1-3 diff --git a/templates/ubuntu-13.04-server-amd64/apt.sh b/templates/ubuntu-13.04-server-amd64/apt.sh index 49774eed..50a64b41 100644 --- a/templates/ubuntu-13.04-server-amd64/apt.sh +++ b/templates/ubuntu-13.04-server-amd64/apt.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + apt-get -y update apt-get -y upgrade apt-get -y install linux-headers-$(uname -r) build-essential diff --git a/templates/ubuntu-13.04-server-amd64/build_time.sh b/templates/ubuntu-13.04-server-amd64/build_time.sh index c9b2c6e8..44afc574 100644 --- a/templates/ubuntu-13.04-server-amd64/build_time.sh +++ b/templates/ubuntu-13.04-server-amd64/build_time.sh @@ -1 +1,8 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-13.04-server-amd64/chef.sh b/templates/ubuntu-13.04-server-amd64/chef.sh index a0a9e3b4..fd1d02ec 100644 --- a/templates/ubuntu-13.04-server-amd64/chef.sh +++ b/templates/ubuntu-13.04-server-amd64/chef.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + GEM=/opt/ruby/bin/gem $GEM install chef --no-ri --no-rdoc diff --git a/templates/ubuntu-13.04-server-amd64/cleanup.sh b/templates/ubuntu-13.04-server-amd64/cleanup.sh index 33f8d6ec..3aeab908 100644 --- a/templates/ubuntu-13.04-server-amd64/cleanup.sh +++ b/templates/ubuntu-13.04-server-amd64/cleanup.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + apt-get -y autoremove dd if=/dev/zero of=/EMPTY bs=1M diff --git a/templates/ubuntu-13.04-server-amd64/definition.rb b/templates/ubuntu-13.04-server-amd64/definition.rb index 4040474d..367edc96 100644 --- a/templates/ubuntu-13.04-server-amd64/definition.rb +++ b/templates/ubuntu-13.04-server-amd64/definition.rb @@ -20,7 +20,7 @@ 'initrd=/install/initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-13.04-server-amd64/puppet.sh b/templates/ubuntu-13.04-server-amd64/puppet.sh index d9c68221..10999b5e 100644 --- a/templates/ubuntu-13.04-server-amd64/puppet.sh +++ b/templates/ubuntu-13.04-server-amd64/puppet.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + GEM=/opt/ruby/bin/gem adduser --system --group --home /var/lib/puppet puppet diff --git a/templates/ubuntu-13.04-server-amd64/ruby.sh b/templates/ubuntu-13.04-server-amd64/ruby.sh index 0cb1e353..22d027e2 100644 --- a/templates/ubuntu-13.04-server-amd64/ruby.sh +++ b/templates/ubuntu-13.04-server-amd64/ruby.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + apt-get -y install libyaml-0-2 RUBY_VERSION=1.9.3-p392 diff --git a/templates/ubuntu-13.04-server-amd64/sudo.sh b/templates/ubuntu-13.04-server-amd64/sudo.sh index 65ccf166..37fc8e66 100644 --- a/templates/ubuntu-13.04-server-amd64/sudo.sh +++ b/templates/ubuntu-13.04-server-amd64/sudo.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + groupadd -r admin usermod -a -G admin vagrant cp /etc/sudoers /etc/sudoers.orig diff --git a/templates/ubuntu-13.04-server-amd64/vagrant.sh b/templates/ubuntu-13.04-server-amd64/vagrant.sh index 10efd34b..84b6512d 100644 --- a/templates/ubuntu-13.04-server-amd64/vagrant.sh +++ b/templates/ubuntu-13.04-server-amd64/vagrant.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + mkdir /home/vagrant/.ssh chmod 700 /home/vagrant/.ssh cd /home/vagrant/.ssh diff --git a/templates/ubuntu-13.04-server-amd64/vbox.sh b/templates/ubuntu-13.04-server-amd64/vbox.sh index a05dd658..e15c9ef3 100644 --- a/templates/ubuntu-13.04-server-amd64/vbox.sh +++ b/templates/ubuntu-13.04-server-amd64/vbox.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + # Without libdbus virtualbox would not start automatically after compile apt-get -y install --no-install-recommends libdbus-1-3 diff --git a/templates/ubuntu-13.10-server-amd64/definition.rb b/templates/ubuntu-13.10-server-amd64/definition.rb index 7db9e7b9..36d7017e 100644 --- a/templates/ubuntu-13.10-server-amd64/definition.rb +++ b/templates/ubuntu-13.10-server-amd64/definition.rb @@ -20,7 +20,7 @@ 'initrd=/install/initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-14.04-server-amd64/definition.rb b/templates/ubuntu-14.04-server-amd64/definition.rb index d0be6d92..b52b3c1c 100644 --- a/templates/ubuntu-14.04-server-amd64/definition.rb +++ b/templates/ubuntu-14.04-server-amd64/definition.rb @@ -20,7 +20,7 @@ 'initrd=/install/initrd.gz -- ' ], :kickstart_port => "7122", - :kickstart_timeout => "10000", + :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", diff --git a/templates/ubuntu-14.10-server-amd64/apt.sh b/templates/ubuntu-14.10-server-amd64/apt.sh new file mode 100644 index 00000000..49774eed --- /dev/null +++ b/templates/ubuntu-14.10-server-amd64/apt.sh @@ -0,0 +1,7 @@ +apt-get -y update +apt-get -y upgrade +apt-get -y install linux-headers-$(uname -r) build-essential +apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev libyaml-dev +apt-get -y install vim +apt-get -y install dkms +apt-get -y install nfs-common diff --git a/templates/ubuntu-14.10-server-amd64/build_time.sh b/templates/ubuntu-14.10-server-amd64/build_time.sh new file mode 100644 index 00000000..c9b2c6e8 --- /dev/null +++ b/templates/ubuntu-14.10-server-amd64/build_time.sh @@ -0,0 +1 @@ +date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-14.10-server-amd64/chef.sh b/templates/ubuntu-14.10-server-amd64/chef.sh new file mode 100644 index 00000000..12870afc --- /dev/null +++ b/templates/ubuntu-14.10-server-amd64/chef.sh @@ -0,0 +1,3 @@ +GEM=/opt/ruby/bin/gem + +$GEM install chef --no-ri --no-rdoc -f diff --git a/templates/ubuntu-14.10-server-amd64/cleanup.sh b/templates/ubuntu-14.10-server-amd64/cleanup.sh new file mode 100644 index 00000000..dd5a3001 --- /dev/null +++ b/templates/ubuntu-14.10-server-amd64/cleanup.sh @@ -0,0 +1,16 @@ +apt-get -y autoremove + +dd if=/dev/zero of=/EMPTY bs=1M +rm -f /EMPTY + +echo "cleaning up dhcp leases" +rm /var/lib/dhcp/* + +echo "cleaning up udev rules" +rm -f /etc/udev/rules.d/70-persistent-net.rules +mkdir /etc/udev/rules.d/70-persistent-net.rules +rm -rf /dev/.udev/ +rm /lib/udev/rules.d/75-persistent-net-generator.rules + +echo "pre-up sleep 2" >> /etc/network/interfaces +exit diff --git a/templates/ubuntu-14.10-server-amd64/definition.rb b/templates/ubuntu-14.10-server-amd64/definition.rb new file mode 100644 index 00000000..0aca5755 --- /dev/null +++ b/templates/ubuntu-14.10-server-amd64/definition.rb @@ -0,0 +1,46 @@ +Veewee::Session.declare({ + :cpu_count => '1', + :memory_size => '512', + :disk_size => '65536', + :disk_format => 'VDI', + :hostiocache => 'off', + :os_type_id => 'Ubuntu_64', + :iso_file => "ubuntu-14.10-server-amd64.iso", + :iso_src => "http://releases.ubuntu.com/14.10/ubuntu-14.10-server-amd64.iso", + :iso_md5 => "91bd1cfba65417bfa04567e4f64b5c55", + :iso_download_timeout => "1000", + :boot_wait => "4", + :boot_cmd_sequence => [ + '', + '/install/vmlinuz noapic preseed/url=http://%IP%:%PORT%/preseed.cfg ', + 'debian-installer=en_US auto locale=en_US kbd-chooser/method=us ', + 'hostname=%NAME% ', + 'fb=false debconf/frontend=noninteractive ', + 'keyboard-configuration/modelcode=SKIP keyboard-configuration/layout=us keyboard-configuration/variant=us console-setup/ask_detect=false ', + 'initrd=/install/initrd.gz -- ' +], + :kickstart_port => "7122", + :kickstart_timeout => "300", + :kickstart_file => "preseed.cfg", + :ssh_login_timeout => "10000", + :ssh_user => "vagrant", + :ssh_password => "vagrant", + :ssh_key => "", + :ssh_host_port => "7222", + :ssh_guest_port => "22", + :sudo_cmd => "echo '%p'|sudo -S sh '%f'", + :shutdown_cmd => "shutdown -P now", + :postinstall_files => [ + "build_time.sh", + "apt.sh", + "sudo.sh", + "vagrant.sh", + "ruby.sh", + "chef.sh", + "puppet.sh", + "vbox.sh", + # "parallels.sh", + "cleanup.sh" + ], + :postinstall_timeout => "10000" +}) diff --git a/templates/ubuntu-14.10-server-amd64/parallels.sh b/templates/ubuntu-14.10-server-amd64/parallels.sh new file mode 100644 index 00000000..a9b4b935 --- /dev/null +++ b/templates/ubuntu-14.10-server-amd64/parallels.sh @@ -0,0 +1,9 @@ +# Install the Parallels Tools +PARALLELS_TOOLS_ISO=prl-tools-lin.iso +mount -o loop $PARALLELS_TOOLS_ISO /media/cdrom +/media/cdrom/install --install-unattended-with-deps --progress +umount /media/cdrom + +# Cleanup +# rm $PARALLELS_TOOLS_ISO + diff --git a/templates/ubuntu-14.10-server-amd64/preseed.cfg b/templates/ubuntu-14.10-server-amd64/preseed.cfg new file mode 100644 index 00000000..2ab89c1b --- /dev/null +++ b/templates/ubuntu-14.10-server-amd64/preseed.cfg @@ -0,0 +1,61 @@ +## Options to set on the command line +d-i debian-installer/locale string en_US.utf8 +d-i console-setup/ask_detect boolean false +d-i console-setup/layout string us + +d-i netcfg/get_hostname string unassigned-hostname +d-i netcfg/get_domain string unassigned-domain + +d-i time/zone string UTC +d-i clock-setup/utc-auto boolean true +d-i clock-setup/utc boolean true + +d-i kbd-chooser/method select American English + +d-i netcfg/wireless_wep string + +d-i base-installer/kernel/override-image string linux-server + +d-i debconf debconf/frontend select Noninteractive + +d-i pkgsel/install-language-support boolean false +tasksel tasksel/first multiselect standard, ubuntu-server + +d-i partman-auto/method string lvm + +d-i partman-lvm/confirm boolean true +d-i partman-lvm/device_remove_lvm boolean true +d-i partman-auto/choose_recipe select atomic + +d-i partman/confirm_write_new_label boolean true +d-i partman/confirm_nooverwrite boolean true +d-i partman/choose_partition select finish +d-i partman/confirm boolean true + +# Write the changes to disks and configure LVM? +d-i partman-lvm/confirm boolean true +d-i partman-lvm/confirm_nooverwrite boolean true +d-i partman-auto-lvm/guided_size string max + +# Default user +d-i passwd/user-fullname string vagrant +d-i passwd/username string vagrant +d-i passwd/user-password password vagrant +d-i passwd/user-password-again password vagrant +d-i user-setup/encrypt-home boolean false +d-i user-setup/allow-password-weak boolean true + +# Minimum packages (see postinstall.sh) +d-i pkgsel/include string openssh-server ntp + +# Upgrade packages after debootstrap? (none, safe-upgrade, full-upgrade) +# (note: set to none for speed) +d-i pkgsel/upgrade select none + +d-i grub-installer/only_debian boolean true +d-i grub-installer/with_other_os boolean true +d-i finish-install/reboot_in_progress note + +d-i pkgsel/update-policy select none + +choose-mirror-bin mirror/http/proxy string diff --git a/templates/ubuntu-14.10-server-amd64/puppet.sh b/templates/ubuntu-14.10-server-amd64/puppet.sh new file mode 100644 index 00000000..d9c68221 --- /dev/null +++ b/templates/ubuntu-14.10-server-amd64/puppet.sh @@ -0,0 +1,4 @@ +GEM=/opt/ruby/bin/gem + +adduser --system --group --home /var/lib/puppet puppet +$GEM install puppet --no-ri --no-rdoc diff --git a/templates/ubuntu-14.10-server-amd64/ruby.sh b/templates/ubuntu-14.10-server-amd64/ruby.sh new file mode 100644 index 00000000..41bc12a0 --- /dev/null +++ b/templates/ubuntu-14.10-server-amd64/ruby.sh @@ -0,0 +1,25 @@ +apt-get -y install libyaml-0-2 +RUBY_VERSION=2.0.0-p598 + +cd /tmp + +wget http://ftp.ruby-lang.org/pub/ruby/2.0/ruby-$RUBY_VERSION.tar.gz +tar xvzf ruby-$RUBY_VERSION.tar.gz +cd ruby-$RUBY_VERSION +./configure --prefix=/opt/ruby +make +make install +cd .. +rm -rf ruby-$RUBY_VERSION +rm ruby-$RUBY_VERSION.tar.gz + +RUBYGEMS_VERSION=2.4.5 +wget http://production.cf.rubygems.org/rubygems/rubygems-$RUBYGEMS_VERSION.tgz +tar xzf rubygems-$RUBYGEMS_VERSION.tgz +cd rubygems-$RUBYGEMS_VERSION +/opt/ruby/bin/ruby setup.rb +cd .. +rm -rf rubygems-$RUBYGEMS_VERSION +rm rubygems-$RUBYGEMS_VERSION.tgz + +echo 'PATH=$PATH:/opt/ruby/bin/' > /etc/profile.d/vagrantruby.sh diff --git a/templates/ubuntu-14.10-server-amd64/sudo.sh b/templates/ubuntu-14.10-server-amd64/sudo.sh new file mode 100644 index 00000000..65ccf166 --- /dev/null +++ b/templates/ubuntu-14.10-server-amd64/sudo.sh @@ -0,0 +1,5 @@ +groupadd -r admin +usermod -a -G admin vagrant +cp /etc/sudoers /etc/sudoers.orig +sed -i -e '/Defaults\s\+env_reset/a Defaults\texempt_group=admin' /etc/sudoers +sed -i -e 's/%admin ALL=(ALL) ALL/%admin ALL=NOPASSWD:ALL/g' /etc/sudoers diff --git a/templates/ubuntu-14.10-server-amd64/vagrant.sh b/templates/ubuntu-14.10-server-amd64/vagrant.sh new file mode 100644 index 00000000..10efd34b --- /dev/null +++ b/templates/ubuntu-14.10-server-amd64/vagrant.sh @@ -0,0 +1,6 @@ +mkdir /home/vagrant/.ssh +chmod 700 /home/vagrant/.ssh +cd /home/vagrant/.ssh +wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O authorized_keys +chmod 600 /home/vagrant/.ssh/authorized_keys +chown -R vagrant /home/vagrant/.ssh diff --git a/templates/ubuntu-14.10-server-amd64/vbox.sh b/templates/ubuntu-14.10-server-amd64/vbox.sh new file mode 100644 index 00000000..12703381 --- /dev/null +++ b/templates/ubuntu-14.10-server-amd64/vbox.sh @@ -0,0 +1,22 @@ +# Without libdbus virtualbox would not start automatically after compile +apt-get -y install --no-install-recommends libdbus-1-3 + +# Remove existing VirtualBox guest additions +/etc/init.d/virtualbox-ose-guest-utils stop +rmmod vboxguest +aptitude -y purge virtualbox-ose-guest-x11 virtualbox-ose-guest-dkms virtualbox-ose-guest-utils +aptitude -y install dkms + +# Install the VirtualBox guest additions +VBOX_VERSION=$(cat /home/vagrant/.vbox_version) +VBOX_ISO=VBoxGuestAdditions_$VBOX_VERSION.iso +mount -o loop $VBOX_ISO /mnt +yes|sh /mnt/VBoxLinuxAdditions.run +umount /mnt + +# Temporary fix for VirtualBox Additions version 4.3.10 +# issue #12879, see https://www.virtualbox.org/ticket/12879 +[ -e /usr/lib/VBoxGuestAdditions ] || ln -s /opt/VBoxGuestAdditions-$VBOX_VERSION/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions + +# Cleanup +rm $VBOX_ISO diff --git a/templates/ubuntu-8.04.4-server-amd64/definition.rb b/templates/ubuntu-8.04.4-server-amd64/definition.rb index d56b6769..93479f97 100644 --- a/templates/ubuntu-8.04.4-server-amd64/definition.rb +++ b/templates/ubuntu-8.04.4-server-amd64/definition.rb @@ -16,7 +16,7 @@ 'console-setup/ask_detect=false console-setup/modelcode=pc105 console-setup/layoutcode=us ', 'initrd=/install/initrd.gz -- ' ], - :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "preseed.cfg", + :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "echo '%p'|sudo -S sh '%f'", diff --git a/templates/ubuntu-8.04.4-server-amd64/postinstall.sh b/templates/ubuntu-8.04.4-server-amd64/postinstall.sh index 930b5337..09c0b924 100644 --- a/templates/ubuntu-8.04.4-server-amd64/postinstall.sh +++ b/templates/ubuntu-8.04.4-server-amd64/postinstall.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + #http://adrianbravo.tumblr.com/post/644860401 date > /etc/vagrant_box_build_time diff --git a/templates/ubuntu-8.04.4-server-i386/definition.rb b/templates/ubuntu-8.04.4-server-i386/definition.rb index 04cda441..6e19545a 100644 --- a/templates/ubuntu-8.04.4-server-i386/definition.rb +++ b/templates/ubuntu-8.04.4-server-i386/definition.rb @@ -16,7 +16,7 @@ 'console-setup/ask_detect=false console-setup/modelcode=pc105 console-setup/layoutcode=us ', 'initrd=/install/initrd.gz -- ' ], - :kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "preseed.cfg", + :kickstart_port => "7122", :kickstart_timeout => "300", :kickstart_file => "preseed.cfg", :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7222", :ssh_guest_port => "22", :sudo_cmd => "echo '%p'|sudo -S sh '%f'", diff --git a/templates/ubuntu-8.04.4-server-i386/postinstall.sh b/templates/ubuntu-8.04.4-server-i386/postinstall.sh index 930b5337..09c0b924 100644 --- a/templates/ubuntu-8.04.4-server-i386/postinstall.sh +++ b/templates/ubuntu-8.04.4-server-i386/postinstall.sh @@ -1,3 +1,10 @@ +#!/bin/bash + +if [ -f .veewee_params ] +then + . .veewee_params +fi + #http://adrianbravo.tumblr.com/post/644860401 date > /etc/vagrant_box_build_time diff --git a/templates/windows-2008R1-serverstandard-amd64/definition.rb b/templates/windows-2008R1-serverstandard-amd64/definition.rb index 30da17e6..a5672baa 100644 --- a/templates/windows-2008R1-serverstandard-amd64/definition.rb +++ b/templates/windows-2008R1-serverstandard-amd64/definition.rb @@ -18,13 +18,12 @@ :iso_download_timeout => "1000", :cpu_count => '1', - :memory_size=> '384', + :memory_size=> '384', :disk_size => '20280', :disk_format => 'VDI', :hostiocache => 'off', #:kickstart_port => "7122", - #:kickstart_ip => self.local_ip, we could set this manually, I wish we could push this to the - #:kickstart_timeout => 1000, + #:kickstart_timeout => 300, #:kickstart_file => ["VBoxWindowsAdditions-amd64.exe"], :floppy_files => [ @@ -38,7 +37,7 @@ :boot_wait => "50", # after 40 seconds, hit these keys to not enter a product key and fully automate the install # if your machine is slower it may take more time - :boot_cmd_sequence => [ + :boot_cmd_sequence => [ '', '', '' @@ -46,7 +45,7 @@ :ssh_login_timeout => "10000", # Actively attempt to ssh in for 10000 seconds - :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", + :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7233", :ssh_guest_port => "22", # And run postinstall.sh for up to 10000 seconds :postinstall_timeout => "10000", diff --git a/templates/windows-2008R1-serverweb-amd64/definition.rb b/templates/windows-2008R1-serverweb-amd64/definition.rb index fcb7cac7..2904ed8c 100644 --- a/templates/windows-2008R1-serverweb-amd64/definition.rb +++ b/templates/windows-2008R1-serverweb-amd64/definition.rb @@ -10,7 +10,7 @@ -# To get to 2008R1-SP2 you'l need +# To get to 2008R1-SP2 you'l need # 64bit # Windows Server 2008 Service Pack 2 and Windows Vista Service Pack 2 - Five Language Standalone for x64-based systems (KB948465) @@ -35,13 +35,12 @@ :iso_download_timeout => "1000", :cpu_count => '1', - :memory_size=> '384', + :memory_size=> '384', :disk_size => '20280', :disk_format => 'VDI', :hostiocache => 'off', #:kickstart_port => "7122", - #:kickstart_ip => self.local_ip, we could set this manually, I wish we could push this to the - #:kickstart_timeout => 1000, + #:kickstart_timeout => 300, #:kickstart_file => ["VBoxWindowsAdditions-amd64.exe"], :floppy_files => [ @@ -55,7 +54,7 @@ :boot_wait => "50", # after 40 seconds, hit these keys to not enter a product key and fully automate the install # if your machine is slower it may take more time - :boot_cmd_sequence => [ + :boot_cmd_sequence => [ '', '', '' @@ -63,7 +62,7 @@ :ssh_login_timeout => "10000", # Actively attempt to ssh in for 10000 seconds - :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", + :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7233", :ssh_guest_port => "22", # And run postinstall.sh for up to 10000 seconds :postinstall_timeout => "10000", diff --git a/templates/windows-2008R1-serverweb-i386/definition.rb b/templates/windows-2008R1-serverweb-i386/definition.rb index d45a4855..fb032e17 100644 --- a/templates/windows-2008R1-serverweb-i386/definition.rb +++ b/templates/windows-2008R1-serverweb-i386/definition.rb @@ -11,7 +11,7 @@ -# To get to 2008R1-SP2 you'l need +# To get to 2008R1-SP2 you'l need # 64bit # Windows Server 2008 Service Pack 2 and Windows Vista Service Pack 2 - Five Language Standalone for x64-based systems (KB948465) @@ -36,13 +36,12 @@ :iso_download_timeout => "1000", :cpu_count => '1', - :memory_size=> '384', + :memory_size=> '384', :disk_size => '20280', :disk_format => 'VDI', :hostiocache => 'off', #:kickstart_port => "7122", - #:kickstart_ip => self.local_ip, we could set this manually, I wish we could push this to the - #:kickstart_timeout => 1000, + #:kickstart_timeout => 300, #:kickstart_file => ["VBoxWindowsAdditions-amd64.exe"], :floppy_files => [ @@ -56,7 +55,7 @@ :boot_wait => "50", # after 40 seconds, hit these keys to not enter a product key and fully automate the install # if your machine is slower it may take more time - :boot_cmd_sequence => [ + :boot_cmd_sequence => [ '', '', '' @@ -64,7 +63,7 @@ :ssh_login_timeout => "10000", # Actively attempt to ssh in for 10000 seconds - :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", + :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7235", :ssh_guest_port => "22", # And run postinstall.sh for up to 10000 seconds :postinstall_timeout => "10000", diff --git a/templates/windows-2008R1-serverwebcore-amd64/definition.rb b/templates/windows-2008R1-serverwebcore-amd64/definition.rb index 1cf0bdbc..2ae4a19c 100644 --- a/templates/windows-2008R1-serverwebcore-amd64/definition.rb +++ b/templates/windows-2008R1-serverwebcore-amd64/definition.rb @@ -10,7 +10,7 @@ -# To get to 2008R1-SP2 you'l need +# To get to 2008R1-SP2 you'l need # 64bit # Windows Server 2008 Service Pack 2 and Windows Vista Service Pack 2 - Five Language Standalone for x64-based systems (KB948465) @@ -35,13 +35,12 @@ :iso_download_timeout => "1000", :cpu_count => '1', - :memory_size=> '384', + :memory_size=> '384', :disk_size => '20280', :disk_format => 'VDI', :hostiocache => 'off', #:kickstart_port => "7122", - #:kickstart_ip => self.local_ip, we could set this manually, I wish we could push this to the - #:kickstart_timeout => 1000, + #:kickstart_timeout => 300, #:kickstart_file => ["VBoxWindowsAdditions-amd64.exe"], :floppy_files => [ @@ -56,7 +55,7 @@ :boot_wait => "60", # after 40-60 seconds, hit these keys to not enter a product key and fully automate the install # if your machine is slower it may take more time - :boot_cmd_sequence => [ + :boot_cmd_sequence => [ '', '', '' @@ -64,7 +63,7 @@ :ssh_login_timeout => "10000", # Actively attempt to ssh in for 10000 seconds - :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", + :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", :ssh_host_port => "7234", :ssh_guest_port => "22", # And run postinstall.sh for up to 10000 seconds :postinstall_timeout => "10000", diff --git a/templates/windows-2012-serverstandard-amd64/Autounattend.xml b/templates/windows-2012-serverstandard-amd64/Autounattend.xml index 3f591566..ac14d2b0 100644 --- a/templates/windows-2012-serverstandard-amd64/Autounattend.xml +++ b/templates/windows-2012-serverstandard-amd64/Autounattend.xml @@ -37,7 +37,8 @@ - YC6KT-GKW9T-YTKYR-T4X34-R7VHC + + YC6KT-GKW9T-YTKYR-T4X34-R7VHC Never diff --git a/templates/windows-2012R2-serverdatacenter-amd64/Autounattend.xml b/templates/windows-2012R2-serverdatacenter-amd64/Autounattend.xml index f63e2fd3..71db4a2b 100644 --- a/templates/windows-2012R2-serverdatacenter-amd64/Autounattend.xml +++ b/templates/windows-2012R2-serverdatacenter-amd64/Autounattend.xml @@ -37,7 +37,8 @@ - W3GGN-FT8W3-Y4M27-J84CP-Q3VJ9 + + W3GGN-FT8W3-Y4M27-J84CP-Q3VJ9 Never diff --git a/test/build_realtest.rb b/test/build_realtest.rb index 87628f7e..60c17b15 100644 --- a/test/build_realtest.rb +++ b/test/build_realtest.rb @@ -40,15 +40,15 @@ def test_box_3_console_type assert_match(/bla/,result.stdout) } end - + # Are there as many disks as in disk_count? def test_box_4_check_disk_count - assert_nothing_raised { + assert_nothing_raised { result=@box.exec("lsblk -lo MODEL|grep -i harddisk|wc -l") assert_match(/#{@box.definition.disk_count}/,result.stdout) } end - + # Try shutdown def test_box_5_shutdown diff --git a/test/definitions/erb_definition/autorun0.erb b/test/definitions/erb_definition/autorun0.erb new file mode 100644 index 00000000..507d6358 --- /dev/null +++ b/test/definitions/erb_definition/autorun0.erb @@ -0,0 +1,8 @@ +#!/bin/bash + +echo "Testing one <%= definition.os_type_id %>" +<% if definition.iso_file =~ /netboot/ %> +echo netboot +<% else %> +echo DVD +<% end %> diff --git a/test/definitions/erb_definition/definition.rb b/test/definitions/erb_definition/definition.rb new file mode 100644 index 00000000..01af8ba0 --- /dev/null +++ b/test/definitions/erb_definition/definition.rb @@ -0,0 +1,24 @@ +Veewee::Definition.declare({ + :cpu_count => '1', :memory_size=> '512', + :disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off', + :os_type_id => 'Linux26', + :iso_file => "systemrescuecd-x86-2.3.1.iso", + :iso_src => "http://downloads.sourceforge.net/project/systemrescuecd/sysresccd-x86/2.3.1/systemrescuecd-x86-2.3.1.iso", + :iso_md5 => "8813aa38506f6e6be1c02e871eb898ca", + #:iso_file => "systemrescuecd-x86-2.0.0.iso", + #:iso_src => "http://downloads.sourceforge.net/project/systemrescuecd/sysresccd-x86/2.0.0/systemrescuecd-x86-2.0.0.iso", + #:iso_md5 => "51012e0bb943cff6367e5cea3a61cdbe", + :iso_download_timeout => "1000", + :boot_wait => "10", :boot_cmd_sequence => [ + ' raid=noautodetect setkmap=us dodhcp=eth0 fastboot dhcphostname=%NAME% rootpass=vagrant ar_source=http://%IP%:%PORT%/ autoruns=0 ar_nowait dns=127.0.0.1 nomodeset nodetect nodmraid nomadm edd=off quiet nosata nosound nosmp nohotplug acpi=off noresume load=eth1000 nonet noload=ipv6,floppy,md,raid10,raid456,raid1,raid0,multipath,linear,i2c_piix4,i2c_core,udev scandelay=0 nousb' + ], + :kickstart_port => "7122", :kickstart_timeout => "10000", + :kickstart_file => "autorun0.erb", + + :ssh_login_timeout => "10000", :ssh_user => "root", :ssh_password => "vagrant", :ssh_key => "", + :ssh_host_port => "7222", :ssh_guest_port => "22", + :sudo_cmd => "sh '%f'", + :shutdown_cmd => "shutdown -h -H now", + :postinstall_files => ["_disabled_postinstall.sh", "enabled_postinstall.sh" ], + :postinstall_timeout => "10000" +}) diff --git a/test/veewee/provider/core/helper/scancode_test.rb b/test/veewee/provider/core/helper/scancode_test.rb new file mode 100644 index 00000000..5055b01f --- /dev/null +++ b/test/veewee/provider/core/helper/scancode_test.rb @@ -0,0 +1,58 @@ +require 'test/unit' +require 'veewee/provider/core/helper/scancode' + +class TestVeeweeScancode < Test::Unit::TestCase + def setup + @helper = Veewee::Provider::Core::Helper::Scancode + end + + def test_simple_strings + assert_equal( + "1e 9e ", + @helper.string_to_keycode("a") + ) + end + + def test_specials + assert_equal( + "01 81 ", + @helper.string_to_keycode("") + ) + end + + def test_specials_lowercase + assert_equal( + "01 81 ", + @helper.string_to_keycode("") + ) + end + + def test_spaces + assert_equal( + "39 b9 ", + @helper.string_to_keycode(" ") + ) + end + + def test_regexps + assert_equal( + "wait11 ", + @helper.string_to_keycode("") + ) + end + + def test_regexps + assert_equal( + "wait ", + @helper.string_to_keycode("") + ) + end + + def test_combinations + assert_equal( + "wait10 01 81 1e 9e 39 b9 30 b0 ", + @helper.string_to_keycode("a b") + ) + end + +end diff --git a/test/veewee/provider/core/helper/web_test.rb b/test/veewee/provider/core/helper/web_test.rb new file mode 100644 index 00000000..80b12bb5 --- /dev/null +++ b/test/veewee/provider/core/helper/web_test.rb @@ -0,0 +1,30 @@ +`VBoxManage -v` rescue nil +if $?.success? + +require 'test/unit' +require 'veewee' + +class TestVeeweeDownload < Test::Unit::TestCase + def setup + @definition_dir = File.expand_path("../../../../../definitions", __FILE__) + @definition_name = "erb_definition" + ve = Veewee::Environment.new({ :definition_dir => @definition_dir }) + @box = ve.providers["virtualbox"].get_box(@definition_name) + end + + def test_box_1_build + assert_equal( + "\ +#!/bin/bash + +echo \"Testing one Linux26\" + +echo DVD + +", + @box.send(:read_content, File.join(@definition_dir, @definition_name, "autorun0.erb")) + ) + end +end + +end diff --git a/veewee.gemspec b/veewee.gemspec index a44cf8d9..ec8c524b 100644 --- a/veewee.gemspec +++ b/veewee.gemspec @@ -5,6 +5,7 @@ Gem::Specification.new do |s| s.name = "veewee" s.version = Veewee::VERSION s.platform = Gem::Platform::RUBY + s.license = 'MIT' s.authors = ["Patrick Debois"] s.email = ["patrick.debois@jedi.be"] s.homepage = "http://github.com/jedi4ever/veewee/" @@ -18,7 +19,12 @@ Gem::Specification.new do |s| # Currently locked to 2.2.0 # if specifying to >= 2.2.0 it would use 2.3 and bundler would go in a resolver loop # DEBUG_RESOLVER=1 bundle install - s.add_dependency "net-ssh", ">= 2.2.0" + if RUBY_VERSION > "2.0.0" + s.add_dependency "net-ssh", ">= 2.2.0" + else + s.add_dependency "net-ssh", "~> 2.2" + end + s.add_dependency "net-scp", "~> 1.2" s.add_dependency "mime-types", "~> 1.16" s.add_dependency "popen4", "~> 0.1.2" @@ -26,7 +32,7 @@ Gem::Specification.new do |s| s.add_dependency "highline" s.add_dependency "json" #s.add_dependency "json", ">= 1.5.1", "< 1.8.0" - s.add_dependency "progressbar" + s.add_dependency "progressbar", "0.21.0" s.add_dependency "i18n" #s.add_dependency "cucumber", ">=1.0.0" s.add_dependency "ansi", "~> 1.3.0" @@ -34,16 +40,18 @@ Gem::Specification.new do |s| s.add_dependency "fog", "~> 1.8" s.add_dependency "childprocess" s.add_dependency "grit" - s.add_dependency "fission", "0.4.0" + s.add_dependency "fission", "0.5.0" + s.add_dependency "to_slug" s.add_dependency "os", "~> 0.9.6" + s.add_dependency "gem-content", "~>1.0" - s.required_ruby_version = '>= 1.9.2' + s.required_ruby_version = '>= 1.9.3' # Modified dependency version, as libxml-ruby dependency has been removed in version 2.1.1 # See : https://github.com/ckruse/CFPropertyList/issues/14 # See : https://github.com/jedi4ever/veewee/issues/6 #s.add_dependency "CFPropertyList", ">= 2.1.1" -# s.add_dependency "libvirt" + #s.add_dependency "libvirt" s.add_development_dependency "rspec", "~> 2.5" s.add_development_dependency "bundler", ">= 1.0.0" @@ -52,4 +60,8 @@ Gem::Specification.new do |s| s.files = `git ls-files`.split("\n") s.executables = `git ls-files`.split("\n").map { |f| f =~ /^bin\/(.*)/ ? $1 : nil }.compact s.require_path = 'lib' + + s.metadata = { + "veewee-templates" => "templates" + } end