I wasn't sure if Mixlib::ShellOut did the logging part of that, i.e.

rescue Timeout::Error => e
Ohai::Log.error(...)
raise

but it sounds like raising the exception is enough.