in cookbooks/fb_storage/libraries/storage.rb [356:387]
def self.gen_persistent_disk_data(disks)
id_list = []
id_map = {}
Dir.open(DEV_ID_DIR).each do |entry|
next if %w{. ..}.include?(entry)
p = "#{DEV_ID_DIR}/#{entry}"
id_map[File.basename(File.readlink(p))] = entry
end
disks.each do |disk|
id = id_map[disk]
if id.nil?
msg = "fb_storage: Can't convert #{disk} to an id"
if FB::Fstab.get_in_maint_disks.include?(disk)
Chef::Log.warn(
"#{msg}, but it's in maintenance, so using #{disk}",
)
id = disk
else
fail "fb_storage: Can't convert #{disk} to an id"
end
end
id_list << id
end
{
'version' => 2,
'disks' => id_list,
}
end