vagrant-hostmanager 1.8.1 → 1.8.2
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.
- checksums.yaml +4 -4
- data/README.md +28 -18
- data/lib/vagrant-hostmanager/hosts_file/updater.rb +8 -2
- data/lib/vagrant-hostmanager/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 20391c2e9ad7167864e2778e8cd81ce144558883
|
4
|
+
data.tar.gz: 49f58ab529f9a1b45302d0ea9a4ede21e5fff8d5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5fb5405db5405e03aa33b4d6a1be3967a34714cd37c4832d5e7cf068f8eb0067e37431eb56de310f893429109c15d77b30b96a042dbcb6a9739047312b902ceb
|
7
|
+
data.tar.gz: 86ebee7b435cb91694049cf5de4781d151a5186a699962062a2fe842e50ae4df1154336bae678d2adb922c4dac226a5f5b483fe8c3ea84a98c1d70e75d51f8f3
|
data/README.md
CHANGED
@@ -4,24 +4,9 @@ Vagrant Host Manager
|
|
4
4
|
[](https://rubygems.org/gems/vagrant-hostmanager)
|
5
5
|
[](https://rubygems.org/gems/vagrant-hostmanager)
|
6
6
|
[](https://rubygems.org/gems/vagrant-hostmanager)
|
7
|
-
[](https://twitter.com/intent/tweet?text=Check%20out%20this%20awesome%20Vagrant%20plugin%21&url=https%3A%2F%2Fgithub.com%devopsgroup-io%2Fvagrant-hostmanager&hashtags=vagrant%hostmanager&original_referer=)
|
8
8
|
|
9
|
-
`vagrant-hostmanager` is a
|
10
|
-
file on guest machines (and optionally the host). Its goal is to enable
|
11
|
-
resolution of multi-machine environments deployed with a cloud provider
|
12
|
-
where IP addresses are not known in advance.
|
13
|
-
|
14
|
-
*NOTE:* Version 1.1 of the plugin prematurely introduced a feature to hook into
|
15
|
-
commands other than `vagrant up` and `vagrant destroy`. Version 1.1 broke support
|
16
|
-
for some providers. Version 1.2 reverts this feature until a suitable implementation
|
17
|
-
supporting all providers is available.
|
18
|
-
|
19
|
-
***Potentially breaking change in v1.5.0:*** the running order on `vagrant up` has changed
|
20
|
-
so that hostmanager runs before provisioning takes place. This ensures all hostnames are
|
21
|
-
available to the guest when it is being provisioned
|
22
|
-
(see [#73](https://github.com/smdahlen/vagrant-hostmanager/issues/73)).
|
23
|
-
Previously, hostmanager would run as the very last action. If you depend on the old behavior,
|
24
|
-
see the [provisioner](#provisioner) section.
|
9
|
+
`vagrant-hostmanager` is a plugin that manages the `/etc/hosts` file on guest machines (and optionally the host). Its goal is to enable resolution of multi-machine environments deployed with a cloud provider where IP addresses are not known in advance.
|
25
10
|
|
26
11
|
Installation
|
27
12
|
------------
|
@@ -172,6 +157,31 @@ Due to limitations caused by UAC, cancelling out of the UAC prompt will not caus
|
|
172
157
|
visible errors, however the ```hosts``` file will not be updated.
|
173
158
|
|
174
159
|
|
160
|
+
Compatibility
|
161
|
+
-------------
|
162
|
+
This Vagrant plugin has been tested with the following technology.
|
163
|
+
|
164
|
+
Date Tested | Vagrant Version | vagrant-hostmanager Version | Host (Workstation) Operating System | Guest (DigitalOcean) Operating System
|
165
|
+
------------|-----------------|-----------------------------|-------------------------------------|--------------------------------------
|
166
|
+
03/23/2016 | 1.8.1 | 1.8.1 | Ubuntu 14.04 LTS | CentOS 7.2
|
167
|
+
03/22/2016 | 1.8.1 | 1.8.1 | OS X 10.11.4 | CentOS 7.2
|
168
|
+
|
169
|
+
|
170
|
+
Troubleshooting
|
171
|
+
-------------
|
172
|
+
* Version 1.1 of the plugin prematurely introduced a feature to hook into
|
173
|
+
commands other than `vagrant up` and `vagrant destroy`. Version 1.1 broke support
|
174
|
+
for some providers. Version 1.2 reverts this feature until a suitable implementation
|
175
|
+
supporting all providers is available.
|
176
|
+
|
177
|
+
* Potentially breaking change in v1.5.0: the running order on `vagrant up` has changed
|
178
|
+
so that hostmanager runs before provisioning takes place. This ensures all hostnames are
|
179
|
+
available to the guest when it is being provisioned
|
180
|
+
(see [#73](https://github.com/devopsgroup-io/vagrant-hostmanager/issues/73)).
|
181
|
+
Previously, hostmanager would run as the very last action. If you depend on the old behavior,
|
182
|
+
see the [provisioner](#provisioner) section.
|
183
|
+
|
184
|
+
|
175
185
|
Contribute
|
176
186
|
----------
|
177
187
|
To contribute, fork then clone the repository, and then the following:
|
@@ -205,7 +215,7 @@ To release a new version of vagrant-hostmanager you will need to do the followin
|
|
205
215
|
* Follow [Semantic Versioning](http://semver.org/).
|
206
216
|
2. Then, create a matching GitHub Release (this will also create a tag):
|
207
217
|
* Preface the version number with a `v`.
|
208
|
-
* https://github.com/
|
218
|
+
* https://github.com/devopsgroup-io/vagrant-hostmanager/releases
|
209
219
|
3. You will then need to build and push the new gem to RubyGems:
|
210
220
|
* `rake gem:build`
|
211
221
|
* `gem push pkg/vagrant-hostmanager-1.6.1.gem`
|
@@ -10,6 +10,8 @@ module VagrantPlugins
|
|
10
10
|
@global_env = global_env
|
11
11
|
@config = Util.get_config(@global_env)
|
12
12
|
@provider = provider
|
13
|
+
@logger = Log4r::Logger.new('vagrant::hostmanager::updater')
|
14
|
+
@logger.debug("init updater")
|
13
15
|
end
|
14
16
|
|
15
17
|
def update_guest(machine)
|
@@ -29,10 +31,14 @@ module VagrantPlugins
|
|
29
31
|
# download and modify file with Vagrant-managed entries
|
30
32
|
file = @global_env.tmp_path.join("hosts.#{machine.name}")
|
31
33
|
machine.communicate.download(realhostfile, file)
|
34
|
+
|
35
|
+
@logger.debug("file is: #{file.to_s}")
|
36
|
+
@logger.debug("class of file is: #{file.class}")
|
37
|
+
|
32
38
|
if update_file(file, machine, false)
|
33
39
|
|
34
40
|
# upload modified file and remove temporary file
|
35
|
-
machine.communicate.upload(file, '/tmp/hosts')
|
41
|
+
machine.communicate.upload(file.to_s, '/tmp/hosts')
|
36
42
|
if windir
|
37
43
|
machine.communicate.sudo("mv -force /tmp/hosts/hosts.#{machine.name} #{realhostfile}")
|
38
44
|
else
|
@@ -56,7 +62,7 @@ module VagrantPlugins
|
|
56
62
|
copy_proc = Proc.new { windows_copy_file(file, hosts_location) }
|
57
63
|
else
|
58
64
|
hosts_location = '/etc/hosts'
|
59
|
-
copy_proc = Proc.new { `sudo cp #{file} #{hosts_location}` }
|
65
|
+
copy_proc = Proc.new { `[ -w #{hosts_location} ] && cat #{file} > #{hosts_location} || sudo cp #{file} #{hosts_location}` }
|
60
66
|
end
|
61
67
|
|
62
68
|
FileUtils.cp(hosts_location, file)
|
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.8.
|
4
|
+
version: 1.8.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shawn Dahlen
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-
|
12
|
+
date: 2016-06-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -91,7 +91,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
91
91
|
version: '0'
|
92
92
|
requirements: []
|
93
93
|
rubyforge_project:
|
94
|
-
rubygems_version: 2.4.
|
94
|
+
rubygems_version: 2.4.5
|
95
95
|
signing_key:
|
96
96
|
specification_version: 4
|
97
97
|
summary: A Vagrant plugin that manages the /etc/hosts file within a multi-machine
|