providers/hyper-v: cleanup

This commit is contained in:
Mitchell Hashimoto 2014-02-15 15:38:11 -08:00
parent ca24d60d8f
commit 3d8971b15f
9 changed files with 8 additions and 108 deletions

View File

@ -1,9 +1,5 @@
#-------------------------------------------------------------------------
# Copyright (c) Microsoft Open Technologies, Inc.
# All Rights Reserved. Licensed under the MIT License.
#--------------------------------------------------------------------------
require "pathname" require "pathname"
require "vagrant/action/builder" require "vagrant/action/builder"
module VagrantPlugins module VagrantPlugins

View File

@ -1,9 +1,5 @@
#-------------------------------------------------------------------------
# Copyright (c) Microsoft Open Technologies, Inc.
# All Rights Reserved. Licensed under the MIT License.
#--------------------------------------------------------------------------
require "log4r" require "log4r"
module VagrantPlugins module VagrantPlugins
module HyperV module HyperV
module Action module Action

View File

@ -1,8 +1,3 @@
#-------------------------------------------------------------------------
# Copyright (c) Microsoft Open Technologies, Inc.
# All Rights Reserved. Licensed under the MIT License.
#--------------------------------------------------------------------------
module VagrantPlugins module VagrantPlugins
module HyperV module HyperV
module Communicator module Communicator

View File

@ -1,11 +1,7 @@
#-------------------------------------------------------------------------
# Copyright (c) Microsoft Open Technologies, Inc.
# All Rights Reserved. Licensed under the MIT License.
#--------------------------------------------------------------------------
require "vagrant" require "vagrant"
require_relative "guest_config/config" require_relative "guest_config/config"
require_relative "host_share/config" require_relative "host_share/config"
module VagrantPlugins module VagrantPlugins
module HyperV module HyperV
class Config < Vagrant.plugin("2", :config) class Config < Vagrant.plugin("2", :config)
@ -13,6 +9,7 @@ module VagrantPlugins
# #
# @return [Boolean] # @return [Boolean]
attr_accessor :gui attr_accessor :gui
attr_reader :host_share, :guest attr_reader :host_share, :guest
def host_config(&block) def host_config(&block)
@ -44,7 +41,6 @@ module VagrantPlugins
end end
{ "HyperV" => errors } { "HyperV" => errors }
end end
end end
end end
end end

View File

@ -1,8 +1,3 @@
#-------------------------------------------------------------------------
# Copyright (c) Microsoft Open Technologies, Inc.
# All Rights Reserved. Licensed under the MIT License.
#--------------------------------------------------------------------------
require "debugger"
require "json" require "json"
require "vagrant/util/which" require "vagrant/util/which"
require "vagrant/util/subprocess" require "vagrant/util/subprocess"

View File

@ -1,75 +1,20 @@
#-------------------------------------------------------------------------
# Copyright (c) Microsoft Open Technologies, Inc.
# All Rights Reserved. Licensed under the MIT License.
#--------------------------------------------------------------------------
begin
require "vagrant"
rescue LoadError
raise "The Vagrant Hyper-V plugin must be run within Vagrant."
end
# This is a sanity check to make sure no one is attempting to install
# this into an early Vagrant version.
if Vagrant::VERSION < "1.3.5"
raise "The Vagrant Hyper-V plugin is only compatible with Vagrant 1.3+"
end
module VagrantPlugins module VagrantPlugins
module HyperV module HyperV
class Plugin < Vagrant.plugin("2") class Plugin < Vagrant.plugin("2")
name "HyperV" name "Hyper-V provider"
description <<-DESC description <<-DESC
This plugin installs a provider that allows Vagrant to manage This plugin installs a provider that allows Vagrant to manage
machines in Hyper-V. machines in Hyper-V.
DESC DESC
config(:hyperv, :provider) do
require_relative "config"
Config
end
provider(:hyperv, parallel: true) do provider(:hyperv, parallel: true) do
# Setup logging and i18n
# setup_logging
# setup_i18n
# Return the provider
require_relative "provider" require_relative "provider"
Provider Provider
end end
# This initializes the internationalization strings. config(:hyperv, :provider) do
def self.setup_i18n require_relative "config"
Config
end
# This sets up our log level to be whatever VAGRANT_LOG is.
def self.setup_logging
require "log4r"
level = nil
begin
level = Log4r.const_get(ENV["VAGRANT_LOG"].upcase)
rescue NameError
# This means that the logging constant wasn't found,
# which is fine. We just keep `level` as `nil`. But
# we tell the user.
level = nil
end
# Some constants, such as "true" resolve to booleans, so the
# above error checking doesn't catch it. This will check to make
# sure that the log level is an integer, as Log4r requires.
level = nil if !level.is_a?(Integer)
# Set the logging level on all "vagrant" namespaced
# logs as long as we have a valid level.
if level
logger = Log4r::Logger.new("vagrant_hyperv")
logger.outputters = Log4r::Outputter.stderr
logger.level = level
logger = nil
end
end end
end end
end end

View File

@ -1,14 +1,8 @@
#-------------------------------------------------------------------------
# Copyright (c) Microsoft Open Technologies, Inc.
# All Rights Reserved. Licensed under the MIT License.
#--------------------------------------------------------------------------
require "log4r" require "log4r"
require "vagrant"
module VagrantPlugins module VagrantPlugins
module HyperV module HyperV
class Provider < Vagrant.plugin("2", :provider) class Provider < Vagrant.plugin("2", :provider)
def initialize(machine) def initialize(machine)
@machine = machine @machine = machine
end end
@ -30,7 +24,6 @@ module VagrantPlugins
state_id = env[:machine_state_id] state_id = env[:machine_state_id]
# Get the short and long description # Get the short and long description
# TODO
short = "Machine's current state is #{state_id}" short = "Machine's current state is #{state_id}"
long = "" long = ""

View File

@ -1,9 +1,3 @@
#-------------------------------------------------------------------------
# Copyright (c) Microsoft Open Technologies, Inc.
# All Rights Reserved. Licensed under the MIT License.
#--------------------------------------------------------------------------
param ( param (
[string]$vm_xml_config = $(throw "-vm_xml_config is required."), [string]$vm_xml_config = $(throw "-vm_xml_config is required."),
[string]$vhdx_path = $(throw "-vhdx_path is required.") [string]$vhdx_path = $(throw "-vhdx_path is required.")

View File

@ -1,10 +0,0 @@
#-------------------------------------------------------------------------
# Copyright (c) Microsoft Open Technologies, Inc.
# All Rights Reserved. Licensed under the MIT License.
#--------------------------------------------------------------------------
module VagrantPlugins
module HyperV
VERSION = "0.0.1"
end
end