def get_cart_status(app, gear, cart_name)
reply = ResultIO.new
source_container = gear.container
leave_stopped = false
idle = false
quota_blocks = nil
quota_files = nil
log_debug "DEBUG: Getting existing app '#{app.name}' status before moving"
do_with_retry('status') do
result = source_container.status(app, gear, cart_name)
result.cart_commands.each do |command_item|
case command_item[:command]
when "ATTR"
key = command_item[:args][0]
value = command_item[:args][1]
if key == 'status'
case value
when "ALREADY_STOPPED"
leave_stopped = true
when "ALREADY_IDLED"
leave_stopped = true
idle = true
end
elsif key == 'quota_blocks'
quota_blocks = value
elsif key == 'quota_files'
quota_files = value
end
end
reply.append result
end
end
if idle
log_debug "DEBUG: Gear component '#{cart_name}' was idle"
elsif leave_stopped
log_debug "DEBUG: Gear component '#{cart_name}' was stopped"
else
log_debug "DEBUG: Gear component '#{cart_name}' was running"
end
return [idle, leave_stopped, quota_blocks, quota_files]
end