         when ComputeErrors.TimeoutError
 
           retryIfNeeded task, machine
+          info "Cancelling... #{task} ..."
           call.cancel()
 
         when ComputeErrors.KiteError

        status      : response.state
        percentage  : 100

    .catch @errorHandler call, 'info', machine


  requireMachine: (options = {}, callback = noop)-> @ready =>


    call = @kloud.build { machineId: machine._id }

    .then (res)=>

      log "build res:", res
      @eventListener.addListener 'build', machine._id

    .timeout ComputeController.timeout

    .catch (err)=>

      (@errorHandler call, 'build', machine) err



  start: (machine)->
