Skip to content

Commit dd3ad7e

Browse files
authored
Migrate ec2 package to aws-sdk-to-v2 (#4446)
1 parent 828d235 commit dd3ad7e

File tree

1,414 files changed

+933775
-406192
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,414 files changed

+933775
-406192
lines changed

.gitallowed

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
012345678901
1+
012345678901
2+
123456789012

agent/app/agent.go

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -171,10 +171,24 @@ type ecsAgent struct {
171171
// newAgent returns a new ecsAgent object, but does not start anything
172172
func newAgent(blackholeEC2Metadata bool, acceptInsecureCert *bool) (agent, error) {
173173
ctx, cancel := context.WithCancel(context.Background())
174-
ec2MetadataClient := ec2.NewEC2MetadataClient(nil)
174+
175+
var (
176+
ec2MetadataClient ec2.EC2MetadataClient
177+
err error
178+
)
175179
if blackholeEC2Metadata {
176180
ec2MetadataClient = ec2.NewBlackholeEC2MetadataClient()
181+
} else {
182+
ec2MetadataClient, err = ec2.NewEC2MetadataClient(nil)
183+
if err != nil {
184+
logger.Critical("Error creating EC2 metadata client", logger.Fields{
185+
field.Error: err,
186+
})
187+
cancel()
188+
return nil, err
189+
}
177190
}
191+
178192
logger.Info("Starting Amazon ECS Agent", logger.Fields{
179193
"version": version.Version,
180194
"commit": version.GitShortHash,
@@ -200,9 +214,16 @@ func newAgent(blackholeEC2Metadata bool, acceptInsecureCert *bool) (agent, error
200214
cfg.NoIID = true
201215
}
202216

203-
ec2Client := ec2.NewClientImpl(cfg.AWSRegion)
204-
dockerClient, err := dockerapi.NewDockerGoClient(sdkclientfactory.NewFactory(ctx, cfg.DockerEndpoint), cfg, ctx)
217+
ec2Client, err := ec2.NewClientImpl(cfg.AWSRegion)
218+
if err != nil {
219+
logger.Critical("Error creating EC2 client", logger.Fields{
220+
field.Error: err,
221+
})
222+
cancel()
223+
return nil, err
224+
}
205225

226+
dockerClient, err := dockerapi.NewDockerGoClient(sdkclientfactory.NewFactory(ctx, cfg.DockerEndpoint), cfg, ctx)
206227
if err != nil {
207228
// This is also non terminal in the current config
208229
logger.Critical("Error creating Docker client", logger.Fields{
@@ -216,7 +237,7 @@ func newAgent(blackholeEC2Metadata bool, acceptInsecureCert *bool) (agent, error
216237
if cfg.Checkpoint.Enabled() {
217238
dataClient, err = data.New(cfg.DataDir)
218239
if err != nil {
219-
logger.Critical("Error creating Docker client", logger.Fields{
240+
logger.Critical("Error creating data client", logger.Fields{
220241
field.Error: err,
221242
})
222243
cancel()

agent/config/config_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ import (
2828
"github.com/aws/amazon-ecs-agent/agent/utils"
2929
"github.com/aws/amazon-ecs-agent/ecs-agent/ec2"
3030
mock_ec2 "github.com/aws/amazon-ecs-agent/ecs-agent/ec2/mocks"
31+
"github.com/aws/aws-sdk-go-v2/feature/ec2/imds"
3132

32-
"github.com/aws/aws-sdk-go/aws/ec2metadata"
3333
"github.com/golang/mock/gomock"
3434
"github.com/stretchr/testify/assert"
3535
"github.com/stretchr/testify/require"
@@ -76,7 +76,7 @@ func TestBooleanMergeNotSetOverridden(t *testing.T) {
7676
func TestBrokenEC2Metadata(t *testing.T) {
7777
ctrl := gomock.NewController(t)
7878
mockEc2Metadata := mock_ec2.NewMockEC2MetadataClient(ctrl)
79-
mockEc2Metadata.EXPECT().InstanceIdentityDocument().Return(ec2metadata.EC2InstanceIdentityDocument{}, errors.New("err"))
79+
mockEc2Metadata.EXPECT().InstanceIdentityDocument().Return(imds.InstanceIdentityDocument{}, errors.New("err"))
8080
mockEc2Metadata.EXPECT().GetUserData()
8181

8282
_, err := NewConfig(mockEc2Metadata)

agent/engine/engine_sudo_linux_integ_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,9 @@ func TestFirelensFluentbit(t *testing.T) {
215215
defer server.Close()
216216

217217
port := getPortFromAddr(t, server.URL)
218-
serverURL := fmt.Sprintf("http://%s:%s", getHostPrivateIP(t, ec2.NewEC2MetadataClient(nil)), port)
218+
ec2MetadataClient, err := ec2.NewEC2MetadataClient(nil)
219+
require.NoError(t, err)
220+
serverURL := fmt.Sprintf("http://%s:%s", getHostPrivateIP(t, ec2MetadataClient), port)
219221
defer setV3MetadataURLFormat(serverURL + "/v3/%s")()
220222

221223
testTask := createFirelensTask(t)

agent/go.mod

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ toolchain go1.22.7
77
require (
88
github.com/aws/amazon-ecs-agent/ecs-agent v0.0.0
99
github.com/aws/aws-sdk-go v1.51.3
10-
github.com/aws/aws-sdk-go-v2 v1.32.3
10+
github.com/aws/aws-sdk-go-v2 v1.32.6
11+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.18
1112
github.com/awslabs/go-config-generator-for-fluentd-and-fluentbit v0.0.0-20210308162251-8959c62cb8f9
1213
github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575
1314
github.com/container-storage-interface/spec v1.8.0
@@ -42,16 +43,16 @@ require (
4243
github.com/Microsoft/go-winio v0.6.2 // indirect
4344
github.com/aws/aws-sdk-go-v2/config v1.28.1 // indirect
4445
github.com/aws/aws-sdk-go-v2/credentials v1.17.42 // indirect
45-
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.18 // indirect
46-
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.22 // indirect
47-
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.22 // indirect
46+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.25 // indirect
47+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.25 // indirect
4848
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect
49-
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0 // indirect
50-
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.3 // indirect
49+
github.com/aws/aws-sdk-go-v2/service/ec2 v1.195.0 // indirect
50+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 // indirect
51+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.6 // indirect
5152
github.com/aws/aws-sdk-go-v2/service/sso v1.24.3 // indirect
5253
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.3 // indirect
5354
github.com/aws/aws-sdk-go-v2/service/sts v1.32.3 // indirect
54-
github.com/aws/smithy-go v1.22.0 // indirect
55+
github.com/aws/smithy-go v1.22.1 // indirect
5556
github.com/cilium/ebpf v0.16.0 // indirect
5657
github.com/containerd/containerd v1.7.24 // indirect
5758
github.com/containerd/log v0.1.0 // indirect

agent/go.sum

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -44,32 +44,34 @@ github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRF
4444
github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho=
4545
github.com/aws/aws-sdk-go v1.51.3 h1:OqSyEXcJwf/XhZNVpMRgKlLA9nmbo5X8dwbll4RWxq8=
4646
github.com/aws/aws-sdk-go v1.51.3/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk=
47-
github.com/aws/aws-sdk-go-v2 v1.32.3 h1:T0dRlFBKcdaUPGNtkBSwHZxrtis8CQU17UpNBZYd0wk=
48-
github.com/aws/aws-sdk-go-v2 v1.32.3/go.mod h1:2SK5n0a2karNTv5tbP1SjsX0uhttou00v/HpXKM1ZUo=
47+
github.com/aws/aws-sdk-go-v2 v1.32.6 h1:7BokKRgRPuGmKkFMhEg/jSul+tB9VvXhcViILtfG8b4=
48+
github.com/aws/aws-sdk-go-v2 v1.32.6/go.mod h1:P5WJBrYqqbWVaOxgH0X/FYYD47/nooaPOZPlQdmiN2U=
4949
github.com/aws/aws-sdk-go-v2/config v1.28.1 h1:oxIvOUXy8x0U3fR//0eq+RdCKimWI900+SV+10xsCBw=
5050
github.com/aws/aws-sdk-go-v2/config v1.28.1/go.mod h1:bRQcttQJiARbd5JZxw6wG0yIK3eLeSCPdg6uqmmlIiI=
5151
github.com/aws/aws-sdk-go-v2/credentials v1.17.42 h1:sBP0RPjBU4neGpIYyx8mkU2QqLPl5u9cmdTWVzIpHkM=
5252
github.com/aws/aws-sdk-go-v2/credentials v1.17.42/go.mod h1:FwZBfU530dJ26rv9saAbxa9Ej3eF/AK0OAY86k13n4M=
5353
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.18 h1:68jFVtt3NulEzojFesM/WVarlFpCaXLKaBxDpzkQ9OQ=
5454
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.18/go.mod h1:Fjnn5jQVIo6VyedMc0/EhPpfNlPl7dHV916O6B+49aE=
55-
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.22 h1:Jw50LwEkVjuVzE1NzkhNKkBf9cRN7MtE1F/b2cOKTUM=
56-
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.22/go.mod h1:Y/SmAyPcOTmpeVaWSzSKiILfXTVJwrGmYZhcRbhWuEY=
57-
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.22 h1:981MHwBaRZM7+9QSR6XamDzF/o7ouUGxFzr+nVSIhrs=
58-
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.22/go.mod h1:1RA1+aBEfn+CAB/Mh0MB6LsdCYCnjZm7tKXtnk499ZQ=
55+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.25 h1:s/fF4+yDQDoElYhfIVvSNyeCydfbuTKzhxSXDXCPasU=
56+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.25/go.mod h1:IgPfDv5jqFIzQSNbUEMoitNooSMXjRSDkhXv8jiROvU=
57+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.25 h1:ZntTCl5EsYnhN/IygQEUugpdwbhdkom9uHcbCftiGgA=
58+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.25/go.mod h1:DBdPrgeocww+CSl1C8cEV8PN1mHMBhuCDLpXezyvWkE=
5959
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ=
6060
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc=
61-
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0 h1:TToQNkvGguu209puTojY/ozlqy2d/SFNcoLIqTFi42g=
62-
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0/go.mod h1:0jp+ltwkf+SwG2fm/PKo8t4y8pJSgOCO4D8Lz3k0aHQ=
63-
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.3 h1:qcxX0JYlgWH3hpPUnd6U0ikcl6LLA9sLkXE2w1fpMvY=
64-
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.3/go.mod h1:cLSNEmI45soc+Ef8K/L+8sEA3A3pYFEYf5B5UI+6bH4=
61+
github.com/aws/aws-sdk-go-v2/service/ec2 v1.195.0 h1:F3pFi50sK30DZ4IkkNpHwTLGeal5c3nlKuvTgv7xec4=
62+
github.com/aws/aws-sdk-go-v2/service/ec2 v1.195.0/go.mod h1:00zqVNJFK6UASrTnuvjJHJuaqUdkVz5tW8Ip+VhzuNg=
63+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 h1:iXtILhvDxB6kPvEXgsDhGaZCSC6LQET5ZHSdJozeI0Y=
64+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1/go.mod h1:9nu0fVANtYiAePIBh2/pFUSwtJ402hLnp854CNoDOeE=
65+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.6 h1:50+XsN70RS7dwJ2CkVNXzj7U2L1HKP8nqTd3XWEXBN4=
66+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.6/go.mod h1:WqgLmwY7so32kG01zD8CPTJWVWM+TzJoOVHwTg4aPug=
6567
github.com/aws/aws-sdk-go-v2/service/sso v1.24.3 h1:UTpsIf0loCIWEbrqdLb+0RxnTXfWh2vhw4nQmFi4nPc=
6668
github.com/aws/aws-sdk-go-v2/service/sso v1.24.3/go.mod h1:FZ9j3PFHHAR+w0BSEjK955w5YD2UwB/l/H0yAK3MJvI=
6769
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.3 h1:2YCmIXv3tmiItw0LlYf6v7gEHebLY45kBEnPezbUKyU=
6870
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.3/go.mod h1:u19stRyNPxGhj6dRm+Cdgu6N75qnbW7+QN0q0dsAk58=
6971
github.com/aws/aws-sdk-go-v2/service/sts v1.32.3 h1:wVnQ6tigGsRqSWDEEyH6lSAJ9OyFUsSnbaUWChuSGzs=
7072
github.com/aws/aws-sdk-go-v2/service/sts v1.32.3/go.mod h1:VZa9yTFyj4o10YGsmDO4gbQJUvvhY72fhumT8W4LqsE=
71-
github.com/aws/smithy-go v1.22.0 h1:uunKnWlcoL3zO7q+gG2Pk53joueEOsnNB28QdMsmiMM=
72-
github.com/aws/smithy-go v1.22.0/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg=
73+
github.com/aws/smithy-go v1.22.1 h1:/HPHZQ0g7f4eUeK6HKglFz8uwVfZKgoI25rb/J+dnro=
74+
github.com/aws/smithy-go v1.22.1/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg=
7375
github.com/awslabs/go-config-generator-for-fluentd-and-fluentbit v0.0.0-20210308162251-8959c62cb8f9 h1:BKngsktYtIiCpkptsC6xzc9ZqleZTofjqrjJWPIiVwA=
7476
github.com/awslabs/go-config-generator-for-fluentd-and-fluentbit v0.0.0-20210308162251-8959c62cb8f9/go.mod h1:pHmn5q2flnnJgAQUoD3Hys3Fe3uoZnSwRy+Irb5Awak=
7577
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=

agent/vendor/github.com/aws/amazon-ecs-agent/ecs-agent/ec2/blackhole_ec2_metadata_client.go

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

agent/vendor/github.com/aws/amazon-ecs-agent/ecs-agent/ec2/ec2_client.go

Lines changed: 35 additions & 21 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)