guests/tinycore: error if DHCP [GH-4699]
This commit is contained in:
parent
b82d3c0990
commit
64139f2158
|
@ -7,6 +7,10 @@ module VagrantPlugins
|
|||
def self.configure_networks(machine, networks)
|
||||
machine.communicate.tap do |comm|
|
||||
networks.each do |n|
|
||||
if n[:type] == :dhcp
|
||||
raise Errors::NetworkStaticOnly
|
||||
end
|
||||
|
||||
ifc = "/sbin/ifconfig eth#{n[:interface]}"
|
||||
broadcast = (IPAddr.new(n[:ip]) | (~ IPAddr.new(n[:netmask]))).to_s
|
||||
comm.sudo("#{ifc} down")
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
module VagrantPlugins
|
||||
module GuestTinyCore
|
||||
module Errors
|
||||
class TinyCoreError < Vagrant::Errors::VagrantError
|
||||
error_namespace("vagrant_tinycore.errors")
|
||||
end
|
||||
|
||||
class NetworkStaticOnly < TinyCoreError
|
||||
error_key(:network_static_only)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -2,29 +2,45 @@ require "vagrant"
|
|||
|
||||
module VagrantPlugins
|
||||
module GuestTinyCore
|
||||
autoload :Errors, File.expand_path("../errors", __FILE__)
|
||||
|
||||
class Plugin < Vagrant.plugin("2")
|
||||
name "TinyCore Linux guest."
|
||||
description "TinyCore Linux guest support."
|
||||
|
||||
guest("tinycore", "linux") do
|
||||
require File.expand_path("../guest", __FILE__)
|
||||
init!
|
||||
Guest
|
||||
end
|
||||
|
||||
guest_capability("tinycore", "configure_networks") do
|
||||
require_relative "cap/configure_networks"
|
||||
init!
|
||||
Cap::ConfigureNetworks
|
||||
end
|
||||
|
||||
guest_capability("tinycore", "halt") do
|
||||
require_relative "cap/halt"
|
||||
init!
|
||||
Cap::Halt
|
||||
end
|
||||
|
||||
guest_capability("tinycore", "rsync_install") do
|
||||
require_relative "cap/rsync"
|
||||
init!
|
||||
Cap::RSync
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def self.init!
|
||||
return if defined?(@_init)
|
||||
I18n.load_path << File.expand_path(
|
||||
"templates/locales/guest_tinycore.yml", Vagrant.source_root)
|
||||
I18n.reload!
|
||||
@_init = true
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
en:
|
||||
vagrant_tinycore:
|
||||
errors:
|
||||
network_static_only: |-
|
||||
The TinyCore guest doesn't support DHCP for networks. Please use
|
||||
a static assigned IP. If you know how to configure DHCP for
|
||||
TinyCore, please open an issue on Vagrant with the steps and we'd
|
||||
be happy to bring this functionality in.
|
Loading…
Reference in New Issue