Puppet Function: getTungstenAvailableMasters

Defined in:
lib/puppet/parser/functions/getTungstenAvailableMasters.rb
Function type:
Ruby 3.x API

Overview

getTungstenAvailableMasters()Any

Returns:

  • (Any)


16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/puppet/parser/functions/getTungstenAvailableMasters.rb', line 16

newfunction(:getTungstenAvailableMasters, :type => :rvalue) do |args|
  clusterHash = args[0]
  
  availableMasters = []
  if clusterHash.is_a?(Array)
    # We already have an array, so no further work is needed
    availableMasters = clusterHash
  elsif clusterHash.is_a?(Hash)
    # Review each key-pair and pull out hostnames set for the possible settings
    clusterHash.each_pair do |currentClusterName, cluster|
      ["members", "dataservice-hosts", "master", "masters", "slaves"].each{
        |key|
        if cluster.has_key?(key)
          cluster[key].to_s().split(",").each{
            |i|
            availableMasters << i
          }
        end
      }
    end
  end
  
  # Dedup and sort the list so the offset values do not change from run to run
  availableMasters = availableMasters.uniq().sort()
  return availableMasters
end