# # Author:: "Tim Smith" # Copyright:: Copyright (c) 2015-2016 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 rescue Ohai::Exceptions::Exec logger.trace('Plugin Virtualbox: Could not execute "VBoxControl guestproperty enumerate". Skipping data') end end