diff options
author | Tim Smith <tsmith84@gmail.com> | 2015-11-24 14:00:17 -0800 |
---|---|---|
committer | Tim Smith <tsmith84@gmail.com> | 2015-11-24 14:00:17 -0800 |
commit | c88f805d623609fc25684f58c55b8082c3fc6426 (patch) | |
tree | 19c7aee6efc4f0d22e4f59527912fa5d2cd26c38 | |
parent | f1e35bf1d2352bcec0d8b244fdb575ea031a1ee4 (diff) | |
download | ohai-c88f805d623609fc25684f58c55b8082c3fc6426.tar.gz |
Virtualbox plugin
Collects information on the guest additions and the host. Requires the
guest additions to be installed.
-rw-r--r-- | lib/ohai/plugins/virtualbox.rb | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/lib/ohai/plugins/virtualbox.rb b/lib/ohai/plugins/virtualbox.rb new file mode 100644 index 00000000..791fc39d --- /dev/null +++ b/lib/ohai/plugins/virtualbox.rb @@ -0,0 +1,44 @@ +# +# Author:: "Tim Smith" <tsmith@chef.io> +# Copyright:: Copyright (c) 2015 Chef Software, Inc. +# License:: Apache License, Version 2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +Ohai.plugin(:Virtualbox) do + provides 'virtualbox' + + collect_data do + so = shell_out('VBoxControl guestproperty enumerate') + if so.exitstatus == 0 + virtualbox Mash.new + virtualbox[:host] = Mash.new + virtualbox[:guest] = Mash.new + so.stdout.lines.each do |line| + case line + when /LanguageID, value: (\S*),/ + virtualbox[:host][:language] = Regexp.last_match(1) + when /VBoxVer, value: (\S*),/ + virtualbox[:host][:version] = Regexp.last_match(1) + when /VBoxRev, value: (\S*),/ + virtualbox[:host][:revision] = Regexp.last_match(1) + when /GuestAdd\/VersionExt, value: (\S*),/ + virtualbox[:guest][:guest_additions_version] = Regexp.last_match(1) + when /GuestAdd\/Revision, value: (\S*),/ + virtualbox[:guest][:guest_additions_revision] = Regexp.last_match(1) + end + end + end + end +end |