vagrant-ohai 0.1.12 → 0.1.13
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 +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
|