fuel-plugin-ceph-multibackend/deployment_scripts/puppet/modules/fuel-plugin-ceph_multibackend/lib/puppet/parser/functions/get_disks.rb

22 lines
537 B
Ruby

module Puppet::Parser::Functions
newfunction(:get_disks, :type => :rvalue, :doc => <<-EOS
Return a list of disks (node roles are keys) that have the given node role.
example:
get_disks_list_by_role($node_volumes, 'cinder')
EOS
) do |args|
disks_metadata, role = args
disks = Array.new
disks_metadata.each do |disk|
disk['volumes'].each do |volume|
if volume['name'] == role and volume['size'] != 0 then
disks << disk['name']
end
end
end
return disks
end
end
# vim: set ts=2 sw=2 et :