summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Smith <tsmith@chef.io>2016-10-18 14:21:45 +0200
committerGitHub <noreply@github.com>2016-10-18 14:21:45 +0200
commit7d440bc8e71db3cbdf91369e6f434185a9605375 (patch)
tree8d5b5dddc835e974ef933ff83ae617f2965de0a4
parentbe6acf77bf027b2ff289732d21870532b71779e1 (diff)
parent46c9d98f80d9e489f62b20c2e5c49cd1a9665343 (diff)
downloadohai-7d440bc8e71db3cbdf91369e6f434185a9605375.tar.gz
Merge pull request #884 from erikng/master
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")