vagrant-notify 0.5.3 → 0.5.4
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/CHANGELOG.md +6 -0
- data/LICENSE.txt +1 -1
- data/README.md +1 -1
- data/lib/vagrant-notify/action/install_command.rb +9 -0
- data/lib/vagrant-notify/action/notify_provisioning_status.rb +14 -3
- data/lib/vagrant-notify/version.rb +1 -1
- data/spec/action/install_command_spec.rb +7 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1cc808b0736ce22d4855eafd7f920afa8d97834b
|
4
|
+
data.tar.gz: 51a1e2b03a29dac79356b8169a13ae7ee0f28bae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 727b9a5fbe52de21b671fa23acec9a767f17b935daeb8f6bee6753ce0713bfee81a94f7d59840e6abdf05d8d7562b5cc4d606104bc87cb927ffe8262cf8ff031
|
7
|
+
data.tar.gz: 3cdcf5e597f15b9e4502b5cba71eccde7accff59322963af74129e19e5a87cc0ec03af66f8b507544287a294bd66cb366ad0135c2eef83692b3debf94c160265
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
## [0.5.4](https://github.com/fgrehm/vagrant-notify/compare/v0.5.3...v0.5.4) (May 4, 2017)
|
2
|
+
IMPROVEMENTS
|
3
|
+
|
4
|
+
- Display warning if Ruby is not installed on guest. [[GH-35]](https://github.com/fgrehm/vagrant-notify/issues/35)
|
5
|
+
- Shell name included in provision notify message. [[GH-21]](https://github.com/fgrehm/vagrant-notify/issues/21)
|
6
|
+
|
1
7
|
## [0.5.3](https://github.com/fgrehm/vagrant-notify/compare/v0.5.2...v0.5.3) (November 18, 2016)
|
2
8
|
IMPROVEMENTS
|
3
9
|
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -21,7 +21,7 @@ $ vagrant plugin install vagrant-notify
|
|
21
21
|
### `notify-send` from guest VMs
|
22
22
|
|
23
23
|
Whenever you run `vagrant up`, a Ruby [TCPServer](http://www.ruby-doc.org/stdlib-1.9.3/libdoc/socket/rdoc/TCPServer.html)
|
24
|
-
will fire up on a port within the [usable port range](https://
|
24
|
+
will fire up on a port within the [usable port range](https://www.vagrantup.com/docs/vagrantfile/machine_settings.html)
|
25
25
|
and a Ruby [script](https://github.com/fgrehm/vagrant-notify/blob/master/files/notify-send.erb)
|
26
26
|
will be copied over to the guest machine to replace the original `notify-send`
|
27
27
|
command.
|
@@ -11,6 +11,7 @@ module Vagrant
|
|
11
11
|
|
12
12
|
path = compile_command(env, 'notify-send.erb')
|
13
13
|
install_command_on_guest(env, path)
|
14
|
+
check_if_ruby_on_guest(env)
|
14
15
|
|
15
16
|
@app.call env
|
16
17
|
end
|
@@ -37,6 +38,14 @@ module Vagrant
|
|
37
38
|
env[:machine].communicate.sudo("sed 's/\r\$//' -i /usr/bin/notify-send") # dos2unix
|
38
39
|
end
|
39
40
|
end
|
41
|
+
|
42
|
+
def check_if_ruby_on_guest(env)
|
43
|
+
ruby_check = ''
|
44
|
+
env[:machine].communicate.sudo("which ruby || true") {|type, data| ruby_check = data }
|
45
|
+
if ruby_check.empty?
|
46
|
+
env[:machine].ui.warn("Ruby is not installed on '#{env[:machine].name}' guest VM! vagrant-notify will not work until a version of Ruby is installed.")
|
47
|
+
end
|
48
|
+
end
|
40
49
|
end
|
41
50
|
end
|
42
51
|
end
|
@@ -7,8 +7,8 @@ module Vagrant
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def call(env)
|
10
|
-
|
11
|
-
system(
|
10
|
+
message = notify_provision_messages(env) unless env[:machine].config.notify.enable == false
|
11
|
+
system(message[:start]) unless env[:machine].config.notify.enable == false
|
12
12
|
|
13
13
|
begin
|
14
14
|
@app.call(env)
|
@@ -16,9 +16,20 @@ module Vagrant
|
|
16
16
|
system("notify-send '[#{env[:machine].name}] \"#{env[:provisioner_name]}\" provision failed!'") unless env[:machine].config.notify.enable == false
|
17
17
|
env[:machine].ui.error("#{msg}")
|
18
18
|
else
|
19
|
-
system(
|
19
|
+
system(message[:end]) unless env[:machine].config.notify.enable == false
|
20
20
|
end
|
21
|
+
end
|
21
22
|
|
23
|
+
def notify_provision_messages(env)
|
24
|
+
message = Hash.new
|
25
|
+
if env[:provisioner_name].to_s == 'shell' and env[:provisioner].config.name
|
26
|
+
message[:start] = "notify-send '[#{env[:machine].name}] Provisioning with \"#{env[:provisioner_name]} (#{env[:provisioner].config.name})\"...'"
|
27
|
+
message[:end] = "notify-send '[#{env[:machine].name}] Finished provisioning with \"#{env[:provisioner_name]} (#{env[:provisioner].config.name})\"'"
|
28
|
+
else
|
29
|
+
message[:start] = "notify-send '[#{env[:machine].name}] Provisioning with \"#{env[:provisioner_name]}\"...'"
|
30
|
+
message[:end] = "notify-send '[#{env[:machine].name}] Finished provisioning with \"#{env[:provisioner_name]}\"'"
|
31
|
+
end
|
32
|
+
return message
|
22
33
|
end
|
23
34
|
end
|
24
35
|
end
|
@@ -8,7 +8,9 @@ describe Vagrant::Notify::Action::InstallCommand do
|
|
8
8
|
let(:config) { mock(notify: stub(enable: true, bind_ip: "127.0.0.1")) }
|
9
9
|
let(:env) { {notify_data: {port: host_port}, machine: machine, tmp_path: tmp_path} }
|
10
10
|
let(:host_port) { 12345 }
|
11
|
-
let(:
|
11
|
+
let(:ui) { mock(warn: true)}
|
12
|
+
let(:name) { 'test-vm' }
|
13
|
+
let(:machine) { mock(communicate: communicator, config: config, provider_name: provider_name, ui: ui, name: name) }
|
12
14
|
let(:communicator) { mock(upload: true, sudo: true) }
|
13
15
|
let(:host_ip) { '192.168.1.2' }
|
14
16
|
let(:provider_name) { 'virtualbox' }
|
@@ -42,4 +44,8 @@ describe Vagrant::Notify::Action::InstallCommand do
|
|
42
44
|
it 'installs command for all users' do
|
43
45
|
communicator.should have_received(:sudo).with("mv #{guest_tmp_path} #{guest_path} && chmod +x #{guest_path}")
|
44
46
|
end
|
47
|
+
|
48
|
+
it 'verify if ruby is installed on guest' do
|
49
|
+
communicator.should have_received(:sudo).with("which ruby || true")
|
50
|
+
end
|
45
51
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-notify
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fabio Rehm
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2017-05-04 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: A Vagrant plugin that forwards `notify-send` from guest to host machine
|
15
15
|
and notifies provisioning status
|