Puppet Function: tripleo_swift_devices

Defined in:
lib/puppet/functions/tripleo_swift_devices.rb
Function type:
Ruby 4.x API

Overview

tripleo_swift_devices(String $raw_disk_prefix, Array $swift_node_ips, Array $raw_disks)Any

Build Swift devices list from the parts, e.g. for: raw_disk_prefix = ‘r1z1-’ swift_storage_node_ips = [‘192.168.1.12’, ‘192.168.1.13’] raw_disks = [‘:%PORT%/device1’, ‘:%PORT%/device2’]

devices will be [‘r1z1-192.168.1.12:%PORT%/device1’,

'r1z1-192.168.1.12:%PORT%/device2'
'r1z1-192.168.1.13:%PORT%/device1'
'r1z1-192.168.1.13:%PORT%/device2']

Parameters:

  • raw_disk_prefix (String)
  • swift_node_ips (Array)
  • raw_disks (Array)

Returns:

  • (Any)


10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/puppet/functions/tripleo_swift_devices.rb', line 10

Puppet::Functions.create_function(:tripleo_swift_devices) do
  dispatch :tripleo_swift_devices do
    param 'String', :raw_disk_prefix
    param 'Array', :swift_node_ips
    param 'Array', :raw_disks
  end

  def tripleo_swift_devices(raw_disk_prefix, swift_node_ips, raw_disks)
    devices = []
    for ip in swift_node_ips do
      for disk in raw_disks do
        devices << "#{raw_disk_prefix}#{ip}#{disk}"
      end
    end

    return devices
  end
end