vmreverter 0.0.9 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: eba0909318704255297e7f1b5636e73f4c47b4b7
4
- data.tar.gz: f91913c8358aa0a30ecd515d2d0b69e56cf39a2a
3
+ metadata.gz: 1695cd3a040c7d3675650f0f5b6e7b5001f0c6e2
4
+ data.tar.gz: e203d1ea4465fddcccdcd87baa26ae4a5b21559d
5
5
  SHA512:
6
- metadata.gz: 920562064189d1828f17234e69c20444cb07e716097946cb8dc1ddf3a068534f764e615bcb9c76735cc140ba5f401f5f6af941aa2687f91e4d41b3eedebecdd6
7
- data.tar.gz: cb80f8673ea2bdf8fb7d1dbcc018c6b63b5995d995a8e8405b55b50a0585d68718904bb31e229cd75be9a0babd2c17fdf51a9279e06696e6fee19de9574cbc63
6
+ metadata.gz: 1d03af2f9ff51183cf0a8c3ffe0bd5f380df9d384007bd80d60653a851f71ee5b6b434d9f63e86c0de04652341c2b8fe38d27b149e4a1169f805db15f32a58d4
7
+ data.tar.gz: a1c520209b623a28412bcaf9c228b1f6a88ad1d4cde940f6f99c0852d50a2b30db8c8291e2e92b1fff6c5bb5ce8fc5b7008992b1c37cf9b9060a82c72d0487a9
@@ -3,7 +3,7 @@ module Vmreverter
3
3
  def initialize
4
4
  @options = Vmreverter::Options.parse_args
5
5
  @logger = Vmreverter::Logger.new(@options)
6
- @options[:logger] = @logger
6
+
7
7
 
8
8
  if @options[:lockfile]
9
9
  if Pathname.new(@options[:lockfile]).exist?
@@ -31,7 +31,8 @@ module Vmreverter
31
31
  end
32
32
  end
33
33
 
34
- @config = Vmreverter::ConfigTester.new(@options[:config], @options)
34
+ Vmreverter::Configuration.build(@options, @logger)
35
+ @config = Vmreverter::Configuration.instance
35
36
 
36
37
  end
37
38
 
@@ -43,17 +44,7 @@ module Vmreverter
43
44
  FileUtils.rm @options[:lockfile], :force => true if @options[:lockfile]
44
45
  exit(1)
45
46
  end
46
-
47
- begin
48
- @vmmanager = Vmreverter::VMManager.new(@config)
49
- @vmmanager.invoke
50
- @vmmanager.close_connection
51
- rescue => e
52
- raise e
53
- ensure
54
- FileUtils.rm @options[:lockfile], :force => true if @options[:lockfile]
55
- end
56
-
47
+ Vmreverter::VMManager.execute!(@config)
57
48
  end #trap
58
49
  end #execute!
59
50
 
@@ -1,13 +1,21 @@
1
-
1
+ require 'singleton'
2
2
 
3
3
  module Vmreverter
4
4
  # Config was taken by Ruby.
5
- class ConfigTester
5
+ class Configuration
6
+ include Singleton
7
+
8
+ attr_reader :logger, :options, :config
9
+
10
+ def self.build(options, logger)
11
+ @@options = options
12
+ @@logger = logger
13
+ end
6
14
 
7
- attr_accessor :logger
8
- def initialize(config_file, options)
9
- @options = options
10
- @logger = options[:logger]
15
+ def initialize
16
+ @options = @@options
17
+ @logger = @@logger
18
+ config_file = @options[:config]
11
19
  @config = load_file(config_file)
12
20
  end
13
21
 
@@ -25,16 +33,16 @@ module Vmreverter
25
33
  config['HOSTS'].each_key do |host|
26
34
  config['HOSTS'][host]['tags'] ||= []
27
35
 
28
- report_and_raise(@logger, RuntimeError.new("Missing hypervisor: (#{host})"), "ConfigTester::load_file") unless config['HOSTS'][host].include? "hypervisor"
29
- hypervisor = config['HOSTS'][host]['hypervisor'].downcase
30
- #check to see if this host has a hypervisor
31
- report_and_raise(@logger, RuntimeError.new("Invalid hypervisor: #{hypervisor} (#{host})"), "ConfigTester::load_file") unless Vmreverter::HYPERVISOR_TYPES.include? hypervisor
32
-
33
- #check to see if this host has a hypervisor
34
- report_and_raise(@logger, RuntimeError.new("Missing snapshot: (#{host})"), "ConfigTester::load_file") unless config['HOSTS'][host].include? "snapshot"
36
+ report_and_raise(@logger, RuntimeError.new("Missing hypervisor: (#{host})"), "Configuration::load_file") unless config['HOSTS'][host].include? "hypervisor"
37
+ hypervisor = config['HOSTS'][host]['hypervisor'].downcase
38
+ #check to see if this host has a hypervisor
39
+ report_and_raise(@logger, RuntimeError.new("Invalid hypervisor: #{hypervisor} (#{host})"), "Configuration::load_file") unless Vmreverter::HYPERVISOR_TYPES.include? hypervisor
40
+
41
+ #check to see if this host has a hypervisor
42
+ report_and_raise(@logger, RuntimeError.new("Missing snapshot: (#{host})"), "Configuration::load_file") unless config['HOSTS'][host].include? "snapshot"
35
43
 
36
44
  end
37
-
45
+
38
46
  end
39
47
 
40
48
  # Merge some useful date into the config hash
@@ -53,7 +61,7 @@ module Vmreverter
53
61
  @logger.notify "Tags for #{host} #{tag}"
54
62
  end
55
63
  end
56
-
64
+
57
65
  # Access @config keys/values
58
66
  @config["CONFIG"].each_key do|cfg|
59
67
  @logger.notify "Config Key|Val: #{cfg} #{@config["CONFIG"][cfg].inspect}"
@@ -6,8 +6,8 @@ module Vmreverter
6
6
  #Blimpy will import your ~/.ssh/id_rsa.pub or ~/.ssh/id_dsa.pub into a Key Pair in every region that you use in your Blimpfiles.
7
7
  def initialize(blimpy_hosts, config)
8
8
  @config = config
9
- @options = config[:options]
10
- @logger = config[:logger]
9
+ @options = config.options
10
+ @logger = config.logger
11
11
  @blimpy_hosts = blimpy_hosts
12
12
  require 'rubygems' unless defined?(Gem)
13
13
  require 'yaml' unless defined?(YAML)
@@ -5,8 +5,8 @@ module Vmreverter
5
5
 
6
6
  def initialize(vsphere_hosts, config)
7
7
  @config = config
8
- @options = config[:options]
9
- @logger = config[:logger]
8
+ @options = config.options
9
+ @logger = config.logger
10
10
  @vsphere_hosts = vsphere_hosts
11
11
  require 'yaml' unless defined?(YAML)
12
12
  vsphere_credentials = VsphereHelper.load_config @options[:auth]
@@ -11,7 +11,7 @@ module Vmreverter
11
11
  end
12
12
 
13
13
  def self.register(type, hosts_to_provision, config)
14
- @logger = config[:logger]
14
+ @logger = config.logger
15
15
  @logger.notify("Hypervisor found some #{type} boxes to hook")
16
16
  case type.downcase
17
17
  when /vsphere/
@@ -1,3 +1,3 @@
1
1
  module Vmreverter
2
- VERSION = '0.0.9'
2
+ VERSION = '0.1.0'
3
3
  end
@@ -1,3 +1,4 @@
1
+ require 'pry'
1
2
  %w(hypervisor).each do |lib|
2
3
  begin
3
4
  require "vmreverter/#{lib}"
@@ -15,9 +16,23 @@ module Vmreverter
15
16
 
16
17
  attr_accessor :hypervisor_collection
17
18
 
19
+
20
+ def self.execute!(config)
21
+ begin
22
+ @vmmanager = Vmreverter::VMManager.new(config)
23
+ @vmmanager.invoke
24
+ @vmmanager.close_connection
25
+ rescue => e
26
+ raise e
27
+ ensure
28
+ FileUtils.rm config.options[:lockfile], :force => true if config.options[:lockfile]
29
+ end
30
+ end #execute!
31
+
32
+
18
33
  def initialize(config)
19
- @logger = config[:logger]
20
- @options = config[:options]
34
+ @logger = config.logger
35
+ @options = config.options
21
36
  @hosts = []
22
37
  @config = config
23
38
  @hypervisor_collection = {}
data/lib/vmreverter.rb CHANGED
@@ -19,7 +19,7 @@ module Vmreverter
19
19
  # hypervisor methods and helpers
20
20
  require 'vmreverter/hypervisor'
21
21
 
22
- %w( options vmmanager config_tester cli ).each do |lib|
22
+ %w( options vmmanager configuration cli ).each do |lib|
23
23
  begin
24
24
  require "vmreverter/#{lib}"
25
25
  rescue LoadError
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vmreverter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - shadowbq
@@ -139,7 +139,7 @@ files:
139
139
  - components.LICENSE.puppet_acceptance
140
140
  - lib/vmreverter.rb
141
141
  - lib/vmreverter/cli.rb
142
- - lib/vmreverter/config_tester.rb
142
+ - lib/vmreverter/configuration.rb
143
143
  - lib/vmreverter/hypervisor.rb
144
144
  - lib/vmreverter/hypervisor/aws.rb
145
145
  - lib/vmreverter/hypervisor/vsphere.rb