# File lib/openshift-origin-controller/app/models/group_instance.rb, line 189
  def fulfil_requirements(app)
    result_io = ResultIO.new
    return result_io if not app.scalable
    deficit = self.min - self.gears.length
    u = CloudUser.find(self.app.user.login)
    if (deficit + u.consumed_gears) > u.max_gears
      raise OpenShift::UserException.new("#{u.login} has a gear limit of #{u.max_gears} and this app requires #{deficit} more gears. Check the 'scales_from' limit of all cartridges of the app?", 104) 
    end
    deficit.times do
      result, new_gear = add_gear(app)
      result_io.append result
    end
    result_io
  end