vagrant-hostmanager 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/Gemfile CHANGED
@@ -1,7 +1,7 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  group :development do
4
- gem 'vagrant', :git => 'git://github.com/mitchellh/vagrant.git', :tag => 'v1.2.2'
4
+ gem 'vagrant', :git => 'git://github.com/mitchellh/vagrant.git', :tag => 'v1.2.7'
5
5
  end
6
6
 
7
7
  gemspec
data/README.md CHANGED
@@ -5,6 +5,9 @@ file on guest machines (and optionally the host). Its goal is to enable
5
5
  resolution of multi-machine environments deployed with a cloud provider
6
6
  where IP addresses are not known in advance.
7
7
 
8
+ *NOTE:* Version 1.1 of the plugin prematurely introduced a feature to hook into
9
+ commands other than `vagrant up` and `vagrant destroy`. Version 1.1 broke support for some providers. Version 1.2 reverts this feature until a suitable implementation supporting all providers is available.
10
+
8
11
  Installation
9
12
  ------------
10
13
  Install the plugin following the typical Vagrant 1.1 procedure:
@@ -18,8 +21,8 @@ command:
18
21
 
19
22
  $ vagrant hostmanager
20
23
 
21
- The plugin hooks into the `vagrant up`, `vagrant destroy`, `vagrant halt`,
22
- `vagrant resume` and `vagrant suspend` commands automatically.
24
+ The plugin hooks into the `vagrant up` and `vagrant destroy` commands
25
+ automatically.
23
26
  When a machine enters or exits the running state , all active
24
27
  machines with the same provider will have their `/etc/hosts` file updated
25
28
  accordingly. Set the `hostmanager.enabled` attribute to `true` in the
@@ -15,17 +15,13 @@ module VagrantPlugins
15
15
  end
16
16
 
17
17
  def call(env)
18
- # skip if machine is running and the action is resume or up
19
- return @app.call(env) if @machine.state.id == :running && [:resume, :up].include?(env[:machine_action])
20
- # skip if machine is not running and the action is destroy, halt or suspend
21
- return @app.call(env) if @machine.state.id != :running && [:destroy, :halt, :suspend].include?(env[:machine_action])
22
- # skip if machine is not saved and the action is resume
23
- return @app.call(env) if @machine.state.id != :saved && env[:machine_action] == :resume
24
- # skip if machine is not running and the action is suspend
25
- return @app.call(env) if @machine.state.id != :running && env[:machine_action] == :suspend
18
+ # skip if machine is already active on up action
19
+ return @app.call(env) if @machine.id && env[:machine_action] == :up
20
+ # skip if machine is not active on destroy action
21
+ return @app.call(env) if !@machine.id && env[:machine_action] == :destroy
26
22
 
27
23
  # check config to see if the hosts file should be update automatically
28
- return @app.call(env) unless @machine.config.hostmanager.enabled?
24
+ return @app.call(env) unless @global_env.config_global.hostmanager.enabled?
29
25
  @logger.info 'Updating /etc/hosts file automatically'
30
26
 
31
27
  @app.call(env)
@@ -72,21 +72,20 @@ module VagrantPlugins
72
72
  end
73
73
 
74
74
  def get_machines
75
- machines = []
76
- @global_env.machine_names.each do |name|
77
- begin
78
- machine = @global_env.machine(name, @provider)
79
-
80
- # check if offline machines should be included in host entries
81
- if @global_env.config_global.hostmanager.include_offline? || machine.state.id == :running
75
+ if @global_env.config_global.hostmanager.include_offline?
76
+ machines = []
77
+ @global_env.machine_names.each do |name|
78
+ begin
79
+ @global_env.machine(name, @provider)
82
80
  machines << [name, @provider]
81
+ rescue Vagrant::Errors::MachineNotFound
83
82
  end
84
- rescue Vagrant::Errors::MachineNotFound
85
83
  end
84
+ machines
85
+ else
86
+ @global_env.active_machines
86
87
  end
87
- machines
88
88
  end
89
-
90
89
  end
91
90
  end
92
91
  end
@@ -24,18 +24,6 @@ module VagrantPlugins
24
24
  hook.prepend(Action.update_all)
25
25
  end
26
26
 
27
- action_hook(:hostmanager, :machine_action_halt) do |hook|
28
- hook.prepend(Action.update_all)
29
- end
30
-
31
- action_hook(:hostmanager, :machine_action_resume) do |hook|
32
- hook.prepend(Action.update_all)
33
- end
34
-
35
- action_hook(:hostmanager, :machine_action_suspend) do |hook|
36
- hook.prepend(Action.update_all)
37
- end
38
-
39
27
  provisioner(:hostmanager) do
40
28
  require_relative 'provisioner'
41
29
  Provisioner
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module HostManager
3
- VERSION = '1.1.0'
3
+ VERSION = '1.2.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-hostmanager
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-08-15 00:00:00.000000000 Z
12
+ date: 2013-08-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
16
- requirement: !ruby/object:Gem::Requirement
16
+ requirement: &9183860 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,15 +21,10 @@ dependencies:
21
21
  version: '1.3'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ~>
28
- - !ruby/object:Gem::Version
29
- version: '1.3'
24
+ version_requirements: *9183860
30
25
  - !ruby/object:Gem::Dependency
31
26
  name: rake
32
- requirement: !ruby/object:Gem::Requirement
27
+ requirement: &9190520 !ruby/object:Gem::Requirement
33
28
  none: false
34
29
  requirements:
35
30
  - - ! '>='
@@ -37,12 +32,7 @@ dependencies:
37
32
  version: '0'
38
33
  type: :development
39
34
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
35
+ version_requirements: *9190520
46
36
  description: A Vagrant plugin that manages the /etc/hosts file within a multi-machine
47
37
  environment
48
38
  email:
@@ -92,7 +82,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
92
82
  version: '0'
93
83
  requirements: []
94
84
  rubyforge_project:
95
- rubygems_version: 1.8.23
85
+ rubygems_version: 1.8.11
96
86
  signing_key:
97
87
  specification_version: 3
98
88
  summary: A Vagrant plugin that manages the /etc/hosts file within a multi-machine