From b96181afa899ca27984eabb71189001f50d37d16 Mon Sep 17 00:00:00 2001 From: Onur Filiz Date: Thu, 3 May 2018 14:13:21 -0700 Subject: [PATCH] Fargate: Handle describe failure and log failure reason --- providers/aws/fargate/pod.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/providers/aws/fargate/pod.go b/providers/aws/fargate/pod.go index 273087bb6..63a57ff1a 100644 --- a/providers/aws/fargate/pod.go +++ b/providers/aws/fargate/pod.go @@ -195,6 +195,9 @@ func (pod *Pod) Start() error { runTaskOutput, err := api.RunTask(runTaskInput) log.Printf("RunTask err:%+v output:%+v", err, runTaskOutput) if err != nil || len(runTaskOutput.Tasks) == 0 { + if len(runTaskOutput.Failures) != 0 { + err = fmt.Errorf("reason: %s", *runTaskOutput.Failures[0].Reason) + } err = fmt.Errorf("failed to run task: %v", err) return err } @@ -332,7 +335,11 @@ func (pod *Pod) describe() (*ecs.Task, error) { } describeTasksOutput, err := api.DescribeTasks(describeTasksInput) - if err != nil { + if err != nil || len(describeTasksOutput.Tasks) == 0 { + if len(describeTasksOutput.Failures) != 0 { + err = fmt.Errorf("reason: %s", *describeTasksOutput.Failures[0].Reason) + } + err = fmt.Errorf("failed to describe task: %v", err) return nil, err }