@@ -11,7 +11,6 @@ import (
1111 ecsTypes "github.com/aws/aws-sdk-go-v2/service/ecs/types"
1212 "github.com/gruntwork-io/go-commons/collections"
1313 "github.com/gruntwork-io/go-commons/errors"
14- "github.com/gruntwork-io/go-commons/logging"
1514 "github.com/gruntwork-io/go-commons/retry"
1615)
1716
@@ -29,7 +28,7 @@ func GetContainerInstanceArns(opts *Options, clusterName string) ([]string, erro
2928 return nil , err
3029 }
3130
32- logger := logging . GetProjectLogger ()
31+ logger := opts . Logger
3332 logger .Infof ("Looking up Container Instance ARNs for ECS cluster %s" , clusterName )
3433
3534 input := & ecs.ListContainerInstancesInput {Cluster : aws .String (clusterName )}
@@ -60,7 +59,7 @@ func StartDrainingContainerInstances(opts *Options, clusterName string, containe
6059 return err
6160 }
6261
63- logger := logging . GetProjectLogger ()
62+ logger := opts . Logger
6463 batchSize := 10
6564 numBatches := int (math .Ceil (float64 (len (containerInstanceArns ) / batchSize )))
6665
@@ -100,7 +99,7 @@ func WaitForContainerInstancesToDrain(opts *Options, clusterName string, contain
10099 return err
101100 }
102101
103- logger := logging . GetProjectLogger ()
102+ logger := opts . Logger
104103 logger .Infof ("Checking if all ECS Tasks have been drained from the ECS Container Instances in Cluster %s." , clusterName )
105104
106105 batchSize := 100
@@ -133,7 +132,7 @@ func WaitForContainerInstancesToDrain(opts *Options, clusterName string, contain
133132 }
134133
135134 // Yay, all done.
136- if drained , _ := allInstancesFullyDrained (responses ); drained == true {
135+ if drained , _ := allInstancesFullyDrained (opts , responses ); drained == true {
137136 logger .Infof ("All container instances have been drained in Cluster %s!" , clusterName )
138137 return nil
139138 }
@@ -164,24 +163,24 @@ func NewECSClient(opts *Options) (*ecs.Client, error) {
164163 return ecs .NewFromConfig (cfg ), nil
165164}
166165
167- func allInstancesFullyDrained (responses []* ecs.DescribeContainerInstancesOutput ) (bool , error ) {
166+ func allInstancesFullyDrained (opts * Options , responses []* ecs.DescribeContainerInstancesOutput ) (bool , error ) {
168167 for _ , response := range responses {
169168 instances := response .ContainerInstances
170169 if len (instances ) == 0 {
171170 return false , errors .WithStackTrace (fmt .Errorf ("querying DescribeContainerInstances returned no instances" ))
172171 }
173172
174173 for _ , instance := range instances {
175- if ! instanceFullyDrained (instance ) {
174+ if ! instanceFullyDrained (opts , instance ) {
176175 return false , nil
177176 }
178177 }
179178 }
180179 return true , nil
181180}
182181
183- func instanceFullyDrained (instance ecsTypes.ContainerInstance ) bool {
184- logger := logging . GetProjectLogger ()
182+ func instanceFullyDrained (opts * Options , instance ecsTypes.ContainerInstance ) bool {
183+ logger := opts . Logger
185184 instanceArn := instance .ContainerInstanceArn
186185
187186 if * instance .Status == "ACTIVE" {
0 commit comments