Skip to content

Commit d25f312

Browse files
authored
Improve AWS AutoScaling group waiter conditions (#486)
* Improve AWS AutoScaling group waiter conditions * Migrate remaining logs to logrus
1 parent 61cb452 commit d25f312

File tree

3 files changed

+13
-16
lines changed

3 files changed

+13
-16
lines changed

task/aws/resources/resource_auto_scaling_group.go

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package resources
33
import (
44
"context"
55
"errors"
6-
"log"
76
"net"
87
"strconv"
98
"time"
@@ -14,7 +13,8 @@ import (
1413
"github.com/aws/aws-sdk-go-v2/service/autoscaling"
1514
"github.com/aws/aws-sdk-go-v2/service/autoscaling/types"
1615
"github.com/aws/aws-sdk-go-v2/service/ec2"
17-
ec2types "github.com/aws/aws-sdk-go-v2/service/ec2/types"
16+
17+
"github.com/sirupsen/logrus"
1818

1919
"terraform-provider-iterative/task/aws/client"
2020
"terraform-provider-iterative/task/common"
@@ -93,7 +93,7 @@ func (a *AutoScalingGroup) Create(ctx context.Context) error {
9393
AutoScalingGroupNames: []string{a.Identifier},
9494
}
9595

96-
if err := autoscaling.NewGroupInServiceWaiter(a.Client.Services.AutoScaling).Wait(ctx, &waitInput, a.Client.Cloud.Timeouts.Create); err != nil {
96+
if err := autoscaling.NewGroupExistsWaiter(a.Client.Services.AutoScaling).Wait(ctx, &waitInput, a.Client.Cloud.Timeouts.Create); err != nil {
9797
return err
9898
}
9999

@@ -134,7 +134,7 @@ func (a *AutoScalingGroup) Read(ctx context.Context) error {
134134
if instance.StateReason != nil {
135135
status += " " + aws.ToString(instance.StateReason.Message)
136136
}
137-
log.Println("[DEBUG] AutoScaling Group State:", status)
137+
logrus.Debug("AutoScaling Group State:", status)
138138
if status == "running" {
139139
a.Attributes.Status[common.StatusCodeActive]++
140140
}
@@ -209,16 +209,11 @@ func (a *AutoScalingGroup) Delete(ctx context.Context) error {
209209
return err
210210
}
211211

212-
waitInput := ec2.DescribeInstancesInput{
213-
Filters: []ec2types.Filter{
214-
{
215-
Name: aws.String("tag:Name"),
216-
Values: []string{a.Dependencies.LaunchTemplate.Identifier},
217-
},
218-
},
212+
waitInput := autoscaling.DescribeAutoScalingGroupsInput{
213+
AutoScalingGroupNames: []string{a.Identifier},
219214
}
220215

221-
if err := ec2.NewInstanceTerminatedWaiter(a.Client.Services.EC2).Wait(ctx, &waitInput, a.Client.Cloud.Timeouts.Delete); err != nil {
216+
if err := autoscaling.NewGroupNotExistsWaiter(a.Client.Services.AutoScaling).Wait(ctx, &waitInput, a.Client.Cloud.Timeouts.Delete); err != nil {
222217
return err
223218
}
224219

task/az/resources/resource_virtual_machine_scale_set.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import (
55
"encoding/base64"
66
"errors"
77
"fmt"
8-
"log"
98
"net"
109
"regexp"
1110
"time"
@@ -15,6 +14,8 @@ import (
1514
"github.com/Azure/go-autorest/autorest"
1615
"github.com/Azure/go-autorest/autorest/to"
1716

17+
"github.com/sirupsen/logrus"
18+
1819
"terraform-provider-iterative/task/az/client"
1920
"terraform-provider-iterative/task/common"
2021
"terraform-provider-iterative/task/common/machine"
@@ -244,7 +245,7 @@ func (v *VirtualMachineScaleSet) Read(ctx context.Context) error {
244245
if scaleSetView.VirtualMachine.StatusesSummary != nil {
245246
for _, status := range *scaleSetView.VirtualMachine.StatusesSummary {
246247
code := to.String(status.Code)
247-
log.Println("[DEBUG] ScaleSet Status Summary:", code, int(to.Int32(status.Count)))
248+
logrus.Debug("ScaleSet Status Summary:", code, int(to.Int32(status.Count)))
248249
if code == "ProvisioningState/succeeded" {
249250
v.Attributes.Status[common.StatusCodeActive] = int(to.Int32(status.Count))
250251
}

task/gcp/resources/resource_instance_group_manager.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,13 @@ package resources
33
import (
44
"context"
55
"errors"
6-
"log"
76
"net"
87
"path/filepath"
98
"strings"
109
"time"
1110

11+
"github.com/sirupsen/logrus"
12+
1213
"google.golang.org/api/compute/v1"
1314
"google.golang.org/api/googleapi"
1415

@@ -78,7 +79,7 @@ func (i *InstanceGroupManager) Read(ctx context.Context) error {
7879
i.Attributes.Addresses = []net.IP{}
7980
i.Attributes.Status = common.Status{common.StatusCodeActive: 0}
8081
for _, groupInstance := range groupInstances.Items {
81-
log.Println("[DEBUG] Instance Group Manager Status:", groupInstance.Status)
82+
logrus.Debug("Instance Group Manager Status:", groupInstance.Status)
8283
if groupInstance.Status == "RUNNING" {
8384
instance, err := i.Client.Services.Compute.Instances.Get(i.Client.Credentials.ProjectID, i.Client.Region, filepath.Base(groupInstance.Instance)).Do()
8485
if err != nil {

0 commit comments

Comments
 (0)