in cookbooks/fb_storage/libraries/storage.rb [304:352]
def self.load_previous_disk_order(include_version = false)
version = disks = nil
if File.size?(PREVIOUS_DISK_ORDER)
f = JSON.parse(File.read(PREVIOUS_DISK_ORDER))
case f
when Array
version = 1
disks = f.empty? ? nil : f
when Hash
unless f['version'] == 2
fail 'fb_storage: Unknown format of persistent-order cache file!'
end
version = f['version']
disklist = []
f['disks'].each do |id|
if id.nil?
return nil
end
sysfile = "#{DEV_ID_DIR}/#{id}"
if File.exist?(sysfile)
disklist << File.basename(File.readlink(sysfile))
else
Chef::Log.warn(
"fb_storage: Unable to translate #{id} into" +
' drive path - probably replaced disk.',
)
disklist << id
end
end
disks = disklist
end
if include_version
return { 'version' => version, 'disks' => disks }
else
return disks
end
end
nil
end