@@ -222,7 +222,7 @@ func (r RunBinder) BindServiceInstances(appDeploy AppDeploy) ([]resources.Servic
222
222
223
223
// WaitStart checks the state of each process instance
224
224
func (r RunBinder ) WaitStart (appDeploy AppDeploy ) error {
225
- return common .PollingWithTimeout (func () (bool , error ) {
225
+ err := common .PollingWithTimeout (func () (bool , error ) {
226
226
process , _ , err := r .client .GetApplicationProcessByType (appDeploy .App .GUID , constant .ProcessTypeWeb )
227
227
if err != nil {
228
228
return true , err
@@ -250,6 +250,10 @@ func (r RunBinder) WaitStart(appDeploy AppDeploy) error {
250
250
251
251
return false , nil
252
252
}, 5 * time .Second , appDeploy .StartTimeout )
253
+ if err != nil {
254
+ return r .processDeployErr (err , appDeploy )
255
+ }
256
+ return nil
253
257
}
254
258
255
259
func (r RunBinder ) WaitStaging (appDeploy AppDeploy ) error {
@@ -348,13 +352,13 @@ func (r RunBinder) Start(appDeploy AppDeploy) (resources.Application, resources.
348
352
}, 5 * time .Second , appDeploy .StageTimeout )
349
353
350
354
if err != nil {
351
- return resources.Application {}, resources.Process {}, err
355
+ return resources.Application {}, resources.Process {}, r . processDeployErr ( err , appDeploy )
352
356
}
353
357
354
358
// Poll staged package
355
359
completedBuild , _ , err := r .client .GetBuild (build .GUID )
356
360
if err != nil {
357
- return resources.Application {}, resources.Process {}, err
361
+ return resources.Application {}, resources.Process {}, r . processDeployErr ( err , appDeploy )
358
362
}
359
363
dropletGUID := completedBuild .DropletGUID
360
364
@@ -384,7 +388,7 @@ func (r RunBinder) Start(appDeploy AppDeploy) (resources.Application, resources.
384
388
385
389
scaledProcess , _ , err := r .client .CreateApplicationProcessScale (appDeploy .App .GUID , processScaleInfo )
386
390
if err != nil {
387
- return resources.Application {}, resources.Process {}, err
391
+ return resources.Application {}, resources.Process {}, r . processDeployErr ( err , appDeploy )
388
392
}
389
393
390
394
// Process update info
@@ -397,7 +401,7 @@ func (r RunBinder) Start(appDeploy AppDeploy) (resources.Application, resources.
397
401
HealthCheckInvocationTimeout : appDeploy .Process .HealthCheckInvocationTimeout ,
398
402
})
399
403
if err != nil {
400
- return resources.Application {}, resources.Process {}, err
404
+ return resources.Application {}, resources.Process {}, r . processDeployErr ( err , appDeploy )
401
405
}
402
406
// If command = null or "", the command field in updatedProcess will be the default generated by buildpack
403
407
// In that case, we don't set it in tfstate
@@ -408,12 +412,12 @@ func (r RunBinder) Start(appDeploy AppDeploy) (resources.Application, resources.
408
412
// Start application
409
413
_ , _ , err = r .client .UpdateApplicationStart (appDeploy .App .GUID )
410
414
if err != nil {
411
- return resources.Application {}, resources.Process {}, err
415
+ return resources.Application {}, resources.Process {}, r . processDeployErr ( err , appDeploy )
412
416
}
413
417
414
418
err = r .WaitStart (appDeploy )
415
419
if err != nil {
416
- return resources.Application {}, resources.Process {}, r . processDeployErr ( err , appDeploy )
420
+ return resources.Application {}, resources.Process {}, err
417
421
}
418
422
419
423
app , _ , err := r .client .GetApplications (ccv3.Query {
@@ -430,7 +434,7 @@ func (r RunBinder) Start(appDeploy AppDeploy) (resources.Application, resources.
430
434
func (r RunBinder ) Stop (appDeploy AppDeploy ) error {
431
435
_ , _ , err := r .client .UpdateApplicationStop (appDeploy .App .GUID )
432
436
if err != nil {
433
- return err
437
+ return r . processDeployErr ( err , appDeploy )
434
438
}
435
439
436
440
return nil
@@ -456,5 +460,5 @@ func (r RunBinder) processDeployErr(origErr error, appDeploy AppDeploy) error {
456
460
if err != nil {
457
461
logs = fmt .Sprintf ("Error occurred when recolting app %s logs: %s" , appDeploy .App .Name , err .Error ())
458
462
}
459
- return fmt .Errorf ("%s\n \n App '%s' logs: \n %s" , origErr .Error (), appDeploy .App .Name , logs )
463
+ return fmt .Errorf ("%s\n \n App '%s' logs:\n %s" , origErr .Error (), appDeploy .App .Name , logs )
460
464
}
0 commit comments