summaryrefslogtreecommitdiffstats
path: root/lib/puppet
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet')
-rw-r--r--lib/puppet/node.rb20
1 files changed, 14 insertions, 6 deletions
diff --git a/lib/puppet/node.rb b/lib/puppet/node.rb
index 263aaf694..ad5a40b54 100644
--- a/lib/puppet/node.rb
+++ b/lib/puppet/node.rb
@@ -85,6 +85,10 @@ class Puppet::Node
names = []
+ if name.include?(".")
+ names += split_name(name)
+ end
+
# First, get the fqdn
unless fqdn = parameters["fqdn"]
if parameters["hostname"] and parameters["domain"]
@@ -97,12 +101,7 @@ class Puppet::Node
# Now that we (might) have the fqdn, add each piece to the name
# list to search, in order of longest to shortest.
if fqdn
- list = fqdn.split(".")
- tmp = []
- list.each_with_index do |short, i|
- tmp << list[0..i].join(".")
- end
- names += tmp.reverse
+ names += split_name(fqdn)
end
# And make sure the node name is first, since that's the most
@@ -116,4 +115,13 @@ class Puppet::Node
end
names.uniq
end
+
+ def split_name(name)
+ list = name.split(".")
+ tmp = []
+ list.each_with_index do |short, i|
+ tmp << list[0..i].join(".")
+ end
+ tmp.reverse
+ end
end