Start moving guest configuration out into plugins
This commit is contained in:
parent
a23fee4848
commit
dd459170dd
|
@ -115,15 +115,6 @@ module Vagrant
|
||||||
@commands ||= Registry.new
|
@commands ||= Registry.new
|
||||||
end
|
end
|
||||||
|
|
||||||
# Global registry of config keys that are available.
|
|
||||||
#
|
|
||||||
# This registry is used to look up the keys for `config` objects.
|
|
||||||
# For example, `config.vagrant` looks up the `:vagrant` config key
|
|
||||||
# for the configuration class to use.
|
|
||||||
def self.config_keys
|
|
||||||
@config_keys ||= Registry.new
|
|
||||||
end
|
|
||||||
|
|
||||||
# Global registry of available host classes and shortcut symbols
|
# Global registry of available host classes and shortcut symbols
|
||||||
# associated with them.
|
# associated with them.
|
||||||
#
|
#
|
||||||
|
@ -183,13 +174,6 @@ Vagrant.commands.register(:status) { Vagrant::Command::Status }
|
||||||
Vagrant.commands.register(:suspend) { Vagrant::Command::Suspend }
|
Vagrant.commands.register(:suspend) { Vagrant::Command::Suspend }
|
||||||
Vagrant.commands.register(:up) { Vagrant::Command::Up }
|
Vagrant.commands.register(:up) { Vagrant::Command::Up }
|
||||||
|
|
||||||
# Register the built-in config keys
|
|
||||||
Vagrant.config_keys.register(:vagrant) { Vagrant::Config::VagrantConfig }
|
|
||||||
Vagrant.config_keys.register(:ssh) { Vagrant::Config::SSHConfig }
|
|
||||||
Vagrant.config_keys.register(:nfs) { Vagrant::Config::NFSConfig }
|
|
||||||
Vagrant.config_keys.register(:vm) { Vagrant::Config::VMConfig }
|
|
||||||
Vagrant.config_keys.register(:package) { Vagrant::Config::PackageConfig }
|
|
||||||
|
|
||||||
# Register the built-in hosts
|
# Register the built-in hosts
|
||||||
Vagrant.hosts.register(:arch) { Vagrant::Hosts::Arch }
|
Vagrant.hosts.register(:arch) { Vagrant::Hosts::Arch }
|
||||||
Vagrant.hosts.register(:bsd) { Vagrant::Hosts::BSD }
|
Vagrant.hosts.register(:bsd) { Vagrant::Hosts::BSD }
|
||||||
|
@ -219,8 +203,3 @@ Vagrant.provisioners.register(:chef_client) { Vagrant::Provisioners::ChefClien
|
||||||
Vagrant.provisioners.register(:puppet) { Vagrant::Provisioners::Puppet }
|
Vagrant.provisioners.register(:puppet) { Vagrant::Provisioners::Puppet }
|
||||||
Vagrant.provisioners.register(:puppet_server) { Vagrant::Provisioners::PuppetServer }
|
Vagrant.provisioners.register(:puppet_server) { Vagrant::Provisioners::PuppetServer }
|
||||||
Vagrant.provisioners.register(:shell) { Vagrant::Provisioners::Shell }
|
Vagrant.provisioners.register(:shell) { Vagrant::Provisioners::Shell }
|
||||||
|
|
||||||
# Register the built-in systems
|
|
||||||
Vagrant.config_keys.register(:freebsd) { Vagrant::Guest::FreeBSD::FreeBSDConfig }
|
|
||||||
Vagrant.config_keys.register(:linux) { Vagrant::Guest::Linux::LinuxConfig }
|
|
||||||
Vagrant.config_keys.register(:solaris) { Vagrant::Guest::Solaris::SolarisConfig }
|
|
||||||
|
|
|
@ -6,20 +6,6 @@ module Vagrant
|
||||||
#
|
#
|
||||||
# Contributed by Kenneth Vestergaard <kvs@binarysolutions.dk>
|
# Contributed by Kenneth Vestergaard <kvs@binarysolutions.dk>
|
||||||
class FreeBSD < Base
|
class FreeBSD < Base
|
||||||
# A custom config class which will be made accessible via `config.freebsd`
|
|
||||||
# This is not necessary for all system implementers, of course. However,
|
|
||||||
# generally, Vagrant tries to make almost every aspect of its execution
|
|
||||||
# configurable, and this assists that goal.
|
|
||||||
class FreeBSDConfig < Vagrant::Config::Base
|
|
||||||
attr_accessor :halt_timeout
|
|
||||||
attr_accessor :halt_check_interval
|
|
||||||
|
|
||||||
def initialize
|
|
||||||
@halt_timeout = 30
|
|
||||||
@halt_check_interval = 1
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# Here for whenever it may be used.
|
# Here for whenever it may be used.
|
||||||
class FreeBSDError < Errors::VagrantError
|
class FreeBSDError < Errors::VagrantError
|
||||||
error_namespace("vagrant.guest.freebsd")
|
error_namespace("vagrant.guest.freebsd")
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
require 'log4r'
|
require 'log4r'
|
||||||
|
|
||||||
require 'vagrant/guest/linux/error'
|
require 'vagrant/guest/linux/error'
|
||||||
require 'vagrant/guest/linux/config'
|
|
||||||
|
|
||||||
module Vagrant
|
module Vagrant
|
||||||
module Guest
|
module Guest
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
module Vagrant
|
|
||||||
module Guest
|
|
||||||
class Linux < Vagrant::Guest::Base
|
|
||||||
# A custom config class which will be made accessible via `config.linux`
|
|
||||||
# This is not necessary for all system implementers, of course. However,
|
|
||||||
# generally, Vagrant tries to make almost every aspect of its execution
|
|
||||||
# configurable, and this assists that goal.
|
|
||||||
class LinuxConfig < Vagrant::Config::Base
|
|
||||||
attr_accessor :halt_timeout
|
|
||||||
attr_accessor :halt_check_interval
|
|
||||||
|
|
||||||
def initialize
|
|
||||||
@halt_timeout = 30
|
|
||||||
@halt_check_interval = 1
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -4,25 +4,6 @@ module Vagrant
|
||||||
#
|
#
|
||||||
# Contributed by Blake Irvin <b.irvin@modcloth.com>
|
# Contributed by Blake Irvin <b.irvin@modcloth.com>
|
||||||
class Solaris < Base
|
class Solaris < Base
|
||||||
# A custom config class which will be made accessible via `config.solaris`
|
|
||||||
# This is not necessary for all system implementers, of course. However,
|
|
||||||
# generally, Vagrant tries to make almost every aspect of its execution
|
|
||||||
# configurable, and this assists that goal.
|
|
||||||
class SolarisConfig < Vagrant::Config::Base
|
|
||||||
attr_accessor :halt_timeout
|
|
||||||
attr_accessor :halt_check_interval
|
|
||||||
# This sets the command to use to execute items as a superuser. sudo is default
|
|
||||||
attr_accessor :suexec_cmd
|
|
||||||
attr_accessor :device
|
|
||||||
|
|
||||||
def initialize
|
|
||||||
@halt_timeout = 30
|
|
||||||
@halt_check_interval = 1
|
|
||||||
@suexec_cmd = 'sudo'
|
|
||||||
@device = "e1000g"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# Here for whenever it may be used.
|
# Here for whenever it may be used.
|
||||||
class SolarisError < Errors::VagrantError
|
class SolarisError < Errors::VagrantError
|
||||||
error_namespace("vagrant.guest.solaris")
|
error_namespace("vagrant.guest.solaris")
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
module VagrantPlugins
|
||||||
|
module GuestFreeBSD
|
||||||
|
class Config < Vagrant::Config::Base
|
||||||
|
attr_accessor :halt_timeout
|
||||||
|
attr_accessor :halt_check_interval
|
||||||
|
|
||||||
|
def initialize
|
||||||
|
@halt_timeout = 30
|
||||||
|
@halt_check_interval = 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,13 @@
|
||||||
|
require "vagrant"
|
||||||
|
|
||||||
|
module VagrantPlugins
|
||||||
|
module GuestFreeBSD
|
||||||
|
autoload :Config, File.expand_path("../config", __FILE__)
|
||||||
|
|
||||||
|
class Plugin < Vagrant.plugin("1")
|
||||||
|
name "FreeBSD guest"
|
||||||
|
description "FreeBSD guest support."
|
||||||
|
config("freebsd") { Config }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,13 @@
|
||||||
|
module VagrantPlugins
|
||||||
|
module GuestLinux
|
||||||
|
class Config < Vagrant::Config::Base
|
||||||
|
attr_accessor :halt_timeout
|
||||||
|
attr_accessor :halt_check_interval
|
||||||
|
|
||||||
|
def initialize
|
||||||
|
@halt_timeout = 30
|
||||||
|
@halt_check_interval = 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,13 @@
|
||||||
|
require "vagrant"
|
||||||
|
|
||||||
|
module VagrantPlugins
|
||||||
|
module GuestLinux
|
||||||
|
autoload :Config, File.expand_path("../config", __FILE__)
|
||||||
|
|
||||||
|
class Plugin < Vagrant.plugin("1")
|
||||||
|
name "Linux guest."
|
||||||
|
description "Linux guest support."
|
||||||
|
config("linux") { Config }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,18 @@
|
||||||
|
module VagrantPlugins
|
||||||
|
module GuestSolaris
|
||||||
|
class Config < Vagrant::Config::Base
|
||||||
|
attr_accessor :halt_timeout
|
||||||
|
attr_accessor :halt_check_interval
|
||||||
|
# This sets the command to use to execute items as a superuser. sudo is default
|
||||||
|
attr_accessor :suexec_cmd
|
||||||
|
attr_accessor :device
|
||||||
|
|
||||||
|
def initialize
|
||||||
|
@halt_timeout = 30
|
||||||
|
@halt_check_interval = 1
|
||||||
|
@suexec_cmd = 'sudo'
|
||||||
|
@device = "e1000g"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,13 @@
|
||||||
|
require "vagrant"
|
||||||
|
|
||||||
|
module VagrantPlugins
|
||||||
|
module GuestSolaris
|
||||||
|
autoload :Config, File.expand_path("../config", __FILE__)
|
||||||
|
|
||||||
|
class Plugin < Vagrant.plugin("1")
|
||||||
|
name "Solaris guest."
|
||||||
|
description "Solaris guest support."
|
||||||
|
config("solaris") { Config }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -9,10 +9,6 @@ describe Vagrant do
|
||||||
described_class.commands.should be_a(Vagrant::Registry)
|
described_class.commands.should be_a(Vagrant::Registry)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "has a registry for config keys" do
|
|
||||||
described_class.config_keys.should be_a(Vagrant::Registry)
|
|
||||||
end
|
|
||||||
|
|
||||||
it "has a registry for hosts" do
|
it "has a registry for hosts" do
|
||||||
described_class.hosts.should be_a(Vagrant::Registry)
|
described_class.hosts.should be_a(Vagrant::Registry)
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue