summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Gomez <e@eriknicolasgomez.com>2016-09-29 19:59:54 -0700
committerErik Gomez <e@eriknicolasgomez.com>2016-09-29 19:59:54 -0700
commit46c9d98f80d9e489f62b20c2e5c49cd1a9665343 (patch)
treeb32e936db29320a242aff3d5c1f5747ab4fd9c87
parent1579b76348ee25417b189722b0df5bb34a9404fd (diff)
downloadohai-46c9d98f80d9e489f62b20c2e5c49cd1a9665343.tar.gz
Add logic to darwin hostname
-rw-r--r--lib/ohai/plugins/hostname.rb27
1 files changed, 26 insertions, 1 deletions
diff --git a/lib/ohai/plugins/hostname.rb b/lib/ohai/plugins/hostname.rb
index fb97d971..0f1b2c22 100644
--- a/lib/ohai/plugins/hostname.rb
+++ b/lib/ohai/plugins/hostname.rb
@@ -105,13 +105,38 @@ Ohai.plugin(:Hostname) do
collect_domain
end
- collect_data(:darwin, :netbsd, :openbsd, :dragonflybsd) do
+ collect_data(:netbsd, :openbsd, :dragonflybsd) do
hostname from_cmd("hostname -s")
fqdn resolve_fqdn
machinename from_cmd("hostname")
collect_domain
end
+ collect_data(:darwin) do
+ hostname from_cmd("hostname -s")
+ machinename from_cmd("hostname")
+ begin
+ ourfqdn = resolve_fqdn
+ # Sometimes... very rarely, but sometimes, 'hostname --fqdn' falsely
+ # returns a blank string. WTF.
+ if ourfqdn.nil? || ourfqdn.empty?
+ Ohai::Log.debug("hostname returned an empty string, retrying once.")
+ ourfqdn = resolve_fqdn
+ end
+
+ if ourfqdn.nil? || ourfqdn.empty?
+ Ohai::Log.debug("hostname returned an empty string twice and will" +
+ "not be set.")
+ else
+ fqdn ourfqdn
+ end
+ rescue
+ Ohai::Log.debug(
+ "hostname returned an error, probably no domain set")
+ end
+ domain collect_domain
+ end
+
collect_data(:freebsd) do
hostname from_cmd("hostname -s")
machinename from_cmd("hostname")