vagrant-ohai 0.1.12 → 0.1.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +8 -3
- data/lib/ohai/vagrant.rb +11 -13
- data/lib/vagrant-ohai/action_configure_chef.rb +1 -1
- data/lib/vagrant-ohai/action_install_ohai_plugin.rb +14 -0
- data/lib/vagrant-ohai/config.rb +13 -0
- data/lib/vagrant-ohai/version.rb +1 -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: 73ce468107ce76701b2482582e1687926d540432
|
4
|
+
data.tar.gz: c2437560561622a680e3a376e85b858dcdf09940
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f1b1daf578e9b8949c6053d1bc2345c22010f7b84f6e9c4460d18a03c7d56326a908f7e25ebbe4fe42a2cf6410119c0d6650984d6e3d6c3f964d0e5ea42bdc63
|
7
|
+
data.tar.gz: aa6c7f51cf10555125d8cca6209b65a9ae5e3f21aaaef5bfc8f794bada351f180d6b9a5c5eae8176ad4dab06fcd3082bb136e82e02fec4bcc0daea0bdaa83672
|
data/README.md
CHANGED
@@ -7,18 +7,23 @@ In particular, the ipaddress is set to the private network defined in vagrant, i
|
|
7
7
|
|
8
8
|
vagrant plugin install vagrant-ohai
|
9
9
|
|
10
|
-
|
11
10
|
## Usage
|
12
11
|
|
13
|
-
The plugin will
|
12
|
+
The plugin will automatically activate when using the `:chef_solo`, `:chef_zero`, `:chef_apply`, `:chef_client` or `:shell` provisioners. If you want to disable it, put `config.ohai.enable = false` in your Vagrantfile.
|
14
13
|
If you wish to use a primary nic which is not a private network, e.g. when using a bridge, set the `primary_nic` option:
|
15
14
|
|
16
15
|
config.ohai.primary_nic = "eth1"
|
17
16
|
|
18
|
-
|
17
|
+
To activate custom plugin support put `config.ohai.plugins_dir = <full_path_to_plugins_dir>` in your Vagrantfile
|
18
|
+
|
19
|
+
config.ohai.plugins_dir = "/var/ohai/custom_plugins"
|
20
|
+
|
21
|
+
## Compatibility
|
19
22
|
|
20
23
|
This plugin works with Vagrant 1.2.3 and above.
|
21
24
|
|
25
|
+
It has only been tested on VirtualBox but should also work with other Vagrant providers.
|
26
|
+
|
22
27
|
## Contributing
|
23
28
|
|
24
29
|
1. Fork it
|
data/lib/ohai/vagrant.rb
CHANGED
@@ -47,19 +47,17 @@ Ohai.plugin(:VboxIpaddress) do
|
|
47
47
|
|
48
48
|
# requested nit
|
49
49
|
nic = vagrant['primary_nic']
|
50
|
-
if
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
ipaddress addr
|
62
|
-
end
|
50
|
+
if nic
|
51
|
+
nic, addr = lookup_address_by_nic(network, nic)
|
52
|
+
elsif vagrant['private_ipv4']
|
53
|
+
nic, addr = lookup_address_by_ipaddress(network, vagrant['private_ipv4'])
|
54
|
+
else
|
55
|
+
nic, addr = nil, nil
|
56
|
+
Ohai::Log.info("Neither nic nor private_ipv4 are set, skipping")
|
57
|
+
end
|
58
|
+
if addr
|
59
|
+
Ohai::Log.info("Ohai override :ipaddress to #{addr} from #{nic}")
|
60
|
+
ipaddress addr
|
63
61
|
end
|
64
62
|
end
|
65
63
|
end
|
@@ -26,7 +26,7 @@ module VagrantPlugins
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def register_custom_chef_config
|
29
|
-
return unless @machine.config.ohai.enable
|
29
|
+
return unless @machine.config.ohai.enable or @machine.config.ohai.plugins_dir
|
30
30
|
chef_provisioners.each do |provisioner|
|
31
31
|
if provisioner.config.respond_to? :custom_config_path and not provisioner.config.custom_config_path == Plugin::UNSET_VALUE
|
32
32
|
current_custom_config_path = provisioner.config.custom_config_path
|
@@ -23,6 +23,11 @@ module VagrantPlugins
|
|
23
23
|
create_ohai_folders
|
24
24
|
copy_ohai_plugin
|
25
25
|
end
|
26
|
+
if is_chef_used && @machine.config.ohai.plugins_dir
|
27
|
+
@machine.ui.info("Installing Custom Ohai plugin")
|
28
|
+
create_ohai_folders
|
29
|
+
copy_ohai_custom_plugins
|
30
|
+
end
|
26
31
|
end
|
27
32
|
|
28
33
|
private
|
@@ -58,6 +63,15 @@ module VagrantPlugins
|
|
58
63
|
@machine.communicate.upload(OHAI_PLUGIN_PATH, "/etc/chef/ohai_plugins/vagrant.rb")
|
59
64
|
end
|
60
65
|
|
66
|
+
def copy_ohai_custom_plugins
|
67
|
+
|
68
|
+
files = Dir.entries(@machine.config.ohai.plugins_dir).select { |e| e =~ /^[a-z]+\.rb/ }
|
69
|
+
files.each do |file|
|
70
|
+
custom_ohai_plugin_path = File.expand_path("#{@machine.config.ohai.plugins_dir}/#{file}", __FILE__)
|
71
|
+
@machine.communicate.upload(custom_ohai_plugin_path, "/etc/chef/ohai_plugins/#{file}")
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
61
75
|
end
|
62
76
|
end
|
63
77
|
end
|
data/lib/vagrant-ohai/config.rb
CHANGED
@@ -3,14 +3,17 @@ module VagrantPlugins
|
|
3
3
|
class Config < Vagrant.plugin(2, :config)
|
4
4
|
attr_accessor :enable
|
5
5
|
attr_accessor :primary_nic
|
6
|
+
attr_accessor :plugins_dir
|
6
7
|
|
7
8
|
def initialize
|
8
9
|
@enable = UNSET_VALUE
|
9
10
|
@primary_nic = UNSET_VALUE
|
11
|
+
@plugins_dir = UNSET_VALUE
|
10
12
|
end
|
11
13
|
def finalize!
|
12
14
|
@enable = true if @enable == UNSET_VALUE
|
13
15
|
@primary_nic = nil if @primary_nic == UNSET_VALUE
|
16
|
+
@plugins_dir = nil if @plugins_dir == UNSET_VALUE
|
14
17
|
end
|
15
18
|
|
16
19
|
def validate(machine)
|
@@ -28,6 +31,16 @@ module VagrantPlugins
|
|
28
31
|
else
|
29
32
|
{"enable" => ["enable must be true or false"] }
|
30
33
|
end
|
34
|
+
case @plugins_dir
|
35
|
+
when nil
|
36
|
+
{}
|
37
|
+
else
|
38
|
+
if !File.directory?(@plugins_dir.to_s) or @plugins_dir.to_s !~ /^\//
|
39
|
+
{"plugins_dir" => ["plugins_dir must be an absolute path to a folder"]}
|
40
|
+
else
|
41
|
+
{}
|
42
|
+
end
|
43
|
+
end
|
31
44
|
end
|
32
45
|
|
33
46
|
end
|
data/lib/vagrant-ohai/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-ohai
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Avishai Ish-Shalom
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-10-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|