Skip to content

Commit 62708fd

Browse files
committed
Support for docker engine 25+
- adds support for docker engine 25+, which has deprecated docker API versions less than 1.24. - dynamically determines which docker versions are available and what to use to call docker API, as well as advertising correct version support capabilities to the ECS backend
1 parent f3208a9 commit 62708fd

20 files changed

+485
-267
lines changed

agent/app/agent.go

+5-7
Original file line numberDiff line numberDiff line change
@@ -1097,26 +1097,24 @@ func (agent *ecsAgent) startACSSession(
10971097
return exitcodes.ExitSuccess
10981098
}
10991099

1100-
// validateRequiredVersion validates docker version.
1100+
// verifyRequiredDockerVersion validates docker version.
11011101
// Minimum docker version supported is 1.9.0, maps to api version 1.21
11021102
// see https://docs.docker.com/develop/sdk/#api-version-matrix
11031103
func (agent *ecsAgent) verifyRequiredDockerVersion() (int, bool) {
1104-
supportedVersions := agent.dockerClient.SupportedVersions()
1104+
supportedVersions := dockerclient.SupportedVersionsExtended(agent.dockerClient.SupportedVersions)
11051105
if len(supportedVersions) == 0 {
11061106
seelog.Critical("Could not get supported docker versions.")
11071107
return exitcodes.ExitError, false
11081108
}
11091109

1110-
// if api version 1.21 is supported, it means docker version is at least 1.9.0
11111110
for _, version := range supportedVersions {
1112-
if version == dockerclient.Version_1_21 {
1111+
if version == dockerclient.MinDockerAPIVersion {
11131112
return -1, true
11141113
}
11151114
}
11161115

1117-
// api 1.21 is not supported, docker version is older than 1.9.0
1118-
seelog.Criticalf("Required minimum docker API verion %s is not supported",
1119-
dockerclient.Version_1_21)
1116+
seelog.Criticalf("Required minimum docker API version %s is not supported",
1117+
dockerclient.MinDockerAPIVersion)
11201118
return exitcodes.ExitTerminal, false
11211119
}
11221120

agent/app/agent_capability.go

+6-14
Original file line numberDiff line numberDiff line change
@@ -206,14 +206,14 @@ func (agent *ecsAgent) capabilities() ([]*ecs.Attribute, error) {
206206
}
207207

208208
supportedVersions := make(map[dockerclient.DockerVersion]bool)
209-
// Determine API versions to report as supported. Supported versions are also used for capability-enablement, except
210-
// logging drivers.
211-
for _, version := range agent.dockerClient.SupportedVersions() {
209+
// Determine API versions to report as supported via com.amazonaws.ecs.capability.docker-remote-api.X.XX capabilities
210+
// and for determining which features we support that depend on specific docker API versions
211+
for _, version := range dockerclient.SupportedVersionsExtended(agent.dockerClient.SupportedVersions) {
212212
capabilities = appendNameOnlyAttribute(capabilities, capabilityPrefix+"docker-remote-api."+string(version))
213213
supportedVersions[version] = true
214214
}
215215

216-
capabilities = agent.appendLoggingDriverCapabilities(capabilities)
216+
capabilities = agent.appendLoggingDriverCapabilities(capabilities, supportedVersions)
217217

218218
if agent.cfg.SELinuxCapable.Enabled() {
219219
capabilities = appendNameOnlyAttribute(capabilities, capabilityPrefix+"selinux")
@@ -315,7 +315,6 @@ func (agent *ecsAgent) appendDockerDependentCapabilities(capabilities []*ecs.Att
315315
capabilities = appendNameOnlyAttribute(capabilities, capabilityPrefix+"ecr-auth")
316316
capabilities = appendNameOnlyAttribute(capabilities, attributePrefix+"execution-role-ecr-pull")
317317
}
318-
319318
if _, ok := supportedVersions[dockerclient.Version_1_24]; ok && !agent.cfg.DisableDockerHealthCheck.Enabled() {
320319
// Docker health check was added in API 1.24
321320
capabilities = appendNameOnlyAttribute(capabilities, attributePrefix+"container-health-check")
@@ -339,17 +338,10 @@ func (agent *ecsAgent) appendGMSADomainlessCapabilities(capabilities []*ecs.Attr
339338
return capabilities
340339
}
341340

342-
func (agent *ecsAgent) appendLoggingDriverCapabilities(capabilities []*ecs.Attribute) []*ecs.Attribute {
343-
knownVersions := make(map[dockerclient.DockerVersion]struct{})
344-
// Determine known API versions. Known versions are used exclusively for logging-driver enablement, since none of
345-
// the structural API elements change.
346-
for _, version := range agent.dockerClient.KnownVersions() {
347-
knownVersions[version] = struct{}{}
348-
}
349-
341+
func (agent *ecsAgent) appendLoggingDriverCapabilities(capabilities []*ecs.Attribute, supportedVersions map[dockerclient.DockerVersion]bool) []*ecs.Attribute {
350342
for _, loggingDriver := range agent.cfg.AvailableLoggingDrivers {
351343
requiredVersion := dockerclient.LoggingDriverMinimumVersion[loggingDriver]
352-
if _, ok := knownVersions[requiredVersion]; ok {
344+
if _, ok := supportedVersions[requiredVersion]; ok {
353345
capabilities = appendNameOnlyAttribute(capabilities, capabilityPrefix+"logging-driver."+string(loggingDriver))
354346
}
355347
}

agent/app/agent_capability_test.go

-33
Original file line numberDiff line numberDiff line change
@@ -108,10 +108,6 @@ func TestCapabilities(t *testing.T) {
108108
client.EXPECT().SupportedVersions().Return([]dockerclient.DockerVersion{
109109
dockerclient.Version_1_17,
110110
dockerclient.Version_1_18,
111-
}),
112-
client.EXPECT().KnownVersions().Return([]dockerclient.DockerVersion{
113-
dockerclient.Version_1_17,
114-
dockerclient.Version_1_18,
115111
dockerclient.Version_1_19,
116112
}),
117113
// CNI plugins are platform dependent.
@@ -255,11 +251,6 @@ func getCapabilitiesWithConfig(cfg *config.Config, t *testing.T) []*ecs.Attribut
255251
dockerclient.Version_1_17,
256252
dockerclient.Version_1_18,
257253
}),
258-
client.EXPECT().KnownVersions().Return([]dockerclient.DockerVersion{
259-
dockerclient.Version_1_17,
260-
dockerclient.Version_1_18,
261-
dockerclient.Version_1_19,
262-
}),
263254
mockMobyPlugins.EXPECT().Scan().AnyTimes().Return([]string{}, nil),
264255
client.EXPECT().ListPluginsWithFilters(gomock.Any(), gomock.Any(), gomock.Any(),
265256
gomock.Any()).AnyTimes().Return([]string{}, nil),
@@ -295,7 +286,6 @@ func TestCapabilitiesECR(t *testing.T) {
295286
client.EXPECT().SupportedVersions().Return([]dockerclient.DockerVersion{
296287
dockerclient.Version_1_19,
297288
})
298-
client.EXPECT().KnownVersions().Return(nil)
299289
mockMobyPlugins.EXPECT().Scan().AnyTimes().Return([]string{}, nil)
300290
client.EXPECT().ListPluginsWithFilters(gomock.Any(), gomock.Any(), gomock.Any(),
301291
gomock.Any()).AnyTimes().Return([]string{}, nil)
@@ -352,7 +342,6 @@ func TestCapabilitiesTaskIAMRoleForSupportedDockerVersion(t *testing.T) {
352342
client.EXPECT().SupportedVersions().Return([]dockerclient.DockerVersion{
353343
dockerclient.Version_1_19,
354344
})
355-
client.EXPECT().KnownVersions().Return(nil)
356345
mockMobyPlugins.EXPECT().Scan().AnyTimes().Return([]string{}, nil)
357346
client.EXPECT().ListPluginsWithFilters(gomock.Any(), gomock.Any(), gomock.Any(),
358347
gomock.Any()).AnyTimes().Return([]string{}, nil)
@@ -407,7 +396,6 @@ func TestCapabilitiesTaskIAMRoleForUnSupportedDockerVersion(t *testing.T) {
407396
client.EXPECT().SupportedVersions().Return([]dockerclient.DockerVersion{
408397
dockerclient.Version_1_18,
409398
})
410-
client.EXPECT().KnownVersions().Return(nil)
411399
mockMobyPlugins.EXPECT().Scan().AnyTimes().Return([]string{}, nil)
412400
client.EXPECT().ListPluginsWithFilters(gomock.Any(), gomock.Any(), gomock.Any(),
413401
gomock.Any()).AnyTimes().Return([]string{}, nil)
@@ -462,7 +450,6 @@ func TestCapabilitiesTaskIAMRoleNetworkHostForSupportedDockerVersion(t *testing.
462450
client.EXPECT().SupportedVersions().Return([]dockerclient.DockerVersion{
463451
dockerclient.Version_1_19,
464452
})
465-
client.EXPECT().KnownVersions().Return(nil)
466453
mockMobyPlugins.EXPECT().Scan().AnyTimes().Return([]string{}, nil)
467454
client.EXPECT().ListPluginsWithFilters(gomock.Any(), gomock.Any(), gomock.Any(),
468455
gomock.Any()).AnyTimes().Return([]string{}, nil)
@@ -517,7 +504,6 @@ func TestCapabilitiesTaskIAMRoleNetworkHostForUnSupportedDockerVersion(t *testin
517504
client.EXPECT().SupportedVersions().Return([]dockerclient.DockerVersion{
518505
dockerclient.Version_1_18,
519506
})
520-
client.EXPECT().KnownVersions().Return(nil)
521507
mockMobyPlugins.EXPECT().Scan().AnyTimes().Return([]string{}, nil)
522508
client.EXPECT().ListPluginsWithFilters(gomock.Any(), gomock.Any(), gomock.Any(),
523509
gomock.Any()).AnyTimes().Return([]string{}, nil)
@@ -591,11 +577,6 @@ func TestAWSVPCBlockInstanceMetadataWhenTaskENIIsDisabled(t *testing.T) {
591577
dockerclient.Version_1_17,
592578
dockerclient.Version_1_18,
593579
}),
594-
client.EXPECT().KnownVersions().Return([]dockerclient.DockerVersion{
595-
dockerclient.Version_1_17,
596-
dockerclient.Version_1_18,
597-
dockerclient.Version_1_19,
598-
}),
599580
mockMobyPlugins.EXPECT().Scan().AnyTimes().Return([]string{}, nil),
600581
client.EXPECT().ListPluginsWithFilters(gomock.Any(), gomock.Any(), gomock.Any(),
601582
gomock.Any()).AnyTimes().Return([]string{}, nil),
@@ -660,7 +641,6 @@ func TestCapabilitiesExecutionRoleAWSLogs(t *testing.T) {
660641
client.EXPECT().SupportedVersions().Return([]dockerclient.DockerVersion{
661642
dockerclient.Version_1_17,
662643
})
663-
client.EXPECT().KnownVersions().Return(nil)
664644
// CNI plugins are platform dependent.
665645
// Therefore, for any version query for any plugin return an error
666646
cniClient.EXPECT().Version(gomock.Any()).Return("v1", errors.New("some error happened"))
@@ -727,7 +707,6 @@ func TestCapabilitiesTaskResourceLimit(t *testing.T) {
727707

728708
gomock.InOrder(
729709
client.EXPECT().SupportedVersions().Return(versionList),
730-
client.EXPECT().KnownVersions().Return(versionList),
731710
mockMobyPlugins.EXPECT().Scan().AnyTimes().Return([]string{}, nil),
732711
client.EXPECT().ListPluginsWithFilters(gomock.Any(), gomock.Any(), gomock.Any(),
733712
gomock.Any()).AnyTimes().Return([]string{}, nil),
@@ -781,7 +760,6 @@ func TestCapabilitesTaskResourceLimitDisabledByMissingDockerVersion(t *testing.T
781760

782761
gomock.InOrder(
783762
client.EXPECT().SupportedVersions().Return(versionList),
784-
client.EXPECT().KnownVersions().Return(versionList),
785763
mockMobyPlugins.EXPECT().Scan().AnyTimes().Return([]string{}, nil),
786764
client.EXPECT().ListPluginsWithFilters(gomock.Any(), gomock.Any(), gomock.Any(),
787765
gomock.Any()).AnyTimes().Return([]string{}, nil),
@@ -834,7 +812,6 @@ func TestCapabilitesTaskResourceLimitErrorCase(t *testing.T) {
834812

835813
gomock.InOrder(
836814
client.EXPECT().SupportedVersions().Return(versionList),
837-
client.EXPECT().KnownVersions().Return(versionList),
838815
)
839816
ctx, cancel := context.WithCancel(context.TODO())
840817
// Cancel the context to cancel async routines
@@ -904,7 +881,6 @@ func TestCapabilitiesIncreasedTaskCPULimit(t *testing.T) {
904881

905882
gomock.InOrder(
906883
client.EXPECT().SupportedVersions().Return(versionList),
907-
client.EXPECT().KnownVersions().Return(versionList),
908884
mockMobyPlugins.EXPECT().Scan().AnyTimes().Return([]string{}, nil),
909885
client.EXPECT().ListPluginsWithFilters(gomock.Any(), gomock.Any(), gomock.Any(),
910886
gomock.Any()).AnyTimes().Return([]string{}, nil),
@@ -947,7 +923,6 @@ func TestCapabilitiesContainerHealth(t *testing.T) {
947923
client.EXPECT().SupportedVersions().Return([]dockerclient.DockerVersion{
948924
dockerclient.Version_1_24,
949925
})
950-
client.EXPECT().KnownVersions().Return(nil)
951926
mockMobyPlugins.EXPECT().Scan().AnyTimes().Return([]string{}, nil)
952927
client.EXPECT().ListPluginsWithFilters(gomock.Any(), gomock.Any(), gomock.Any(),
953928
gomock.Any()).AnyTimes().Return([]string{}, nil)
@@ -998,7 +973,6 @@ func TestCapabilitiesContainerHealthDisabled(t *testing.T) {
998973
client.EXPECT().SupportedVersions().Return([]dockerclient.DockerVersion{
999974
dockerclient.Version_1_24,
1000975
})
1001-
client.EXPECT().KnownVersions().Return(nil)
1002976
mockMobyPlugins.EXPECT().Scan().AnyTimes().Return([]string{}, nil)
1003977
client.EXPECT().ListPluginsWithFilters(gomock.Any(), gomock.Any(), gomock.Any(),
1004978
gomock.Any()).AnyTimes().Return([]string{}, nil)
@@ -1058,7 +1032,6 @@ func TestCapabilitesListPluginsErrorCase(t *testing.T) {
10581032

10591033
gomock.InOrder(
10601034
client.EXPECT().SupportedVersions().Return(versionList),
1061-
client.EXPECT().KnownVersions().Return(versionList),
10621035
mockMobyPlugins.EXPECT().Scan().AnyTimes().Return([]string{}, nil),
10631036
client.EXPECT().ListPluginsWithFilters(gomock.Any(), gomock.Any(), gomock.Any(),
10641037
gomock.Any()).AnyTimes().Return(nil, errors.New("listPlugins error happened")),
@@ -1106,7 +1079,6 @@ func TestCapabilitesScanPluginsErrorCase(t *testing.T) {
11061079

11071080
gomock.InOrder(
11081081
client.EXPECT().SupportedVersions().Return(versionList),
1109-
client.EXPECT().KnownVersions().Return(versionList),
11101082
mockMobyPlugins.EXPECT().Scan().AnyTimes().Return(nil, errors.New("Scan plugins error happened")),
11111083
client.EXPECT().ListPluginsWithFilters(gomock.Any(), gomock.Any(), gomock.Any(),
11121084
gomock.Any()).AnyTimes().Return([]string{}, nil),
@@ -1224,7 +1196,6 @@ func TestCapabilitiesExecuteCommand(t *testing.T) {
12241196

12251197
gomock.InOrder(
12261198
client.EXPECT().SupportedVersions().Return(versionList),
1227-
client.EXPECT().KnownVersions().Return(versionList),
12281199
mockMobyPlugins.EXPECT().Scan().AnyTimes().Return(nil, errors.New("Scan plugins error happened")),
12291200
client.EXPECT().ListPluginsWithFilters(gomock.Any(), gomock.Any(), gomock.Any(),
12301201
gomock.Any()).AnyTimes().Return([]string{}, nil),
@@ -1310,10 +1281,6 @@ func TestCapabilitiesNoServiceConnect(t *testing.T) {
13101281
client.EXPECT().SupportedVersions().Return([]dockerclient.DockerVersion{
13111282
dockerclient.Version_1_17,
13121283
dockerclient.Version_1_18,
1313-
}),
1314-
client.EXPECT().KnownVersions().Return([]dockerclient.DockerVersion{
1315-
dockerclient.Version_1_17,
1316-
dockerclient.Version_1_18,
13171284
dockerclient.Version_1_19,
13181285
}),
13191286
// CNI plugins are platform dependent.

agent/app/agent_capability_unix_test.go

-37
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,6 @@ func TestVolumeDriverCapabilitiesUnix(t *testing.T) {
8888
client.EXPECT().SupportedVersions().Return([]dockerclient.DockerVersion{
8989
dockerclient.Version_1_17,
9090
dockerclient.Version_1_18,
91-
}),
92-
client.EXPECT().KnownVersions().Return([]dockerclient.DockerVersion{
93-
dockerclient.Version_1_17,
94-
dockerclient.Version_1_18,
9591
dockerclient.Version_1_19,
9692
}),
9793
cniClient.EXPECT().Version(ecscni.VPCENIPluginName).Return("v1", nil),
@@ -183,9 +179,6 @@ func TestNvidiaDriverCapabilitiesUnix(t *testing.T) {
183179
client.EXPECT().SupportedVersions().Return([]dockerclient.DockerVersion{
184180
dockerclient.Version_1_17,
185181
}),
186-
client.EXPECT().KnownVersions().Return([]dockerclient.DockerVersion{
187-
dockerclient.Version_1_17,
188-
}),
189182
mockMobyPlugins.EXPECT().Scan().AnyTimes().Return([]string{}, nil),
190183
client.EXPECT().ListPluginsWithFilters(gomock.Any(), gomock.Any(), gomock.Any(),
191184
gomock.Any()).AnyTimes().Return([]string{}, nil),
@@ -269,9 +262,6 @@ func TestEmptyNvidiaDriverCapabilitiesUnix(t *testing.T) {
269262
client.EXPECT().SupportedVersions().Return([]dockerclient.DockerVersion{
270263
dockerclient.Version_1_17,
271264
}),
272-
client.EXPECT().KnownVersions().Return([]dockerclient.DockerVersion{
273-
dockerclient.Version_1_17,
274-
}),
275265
mockMobyPlugins.EXPECT().Scan().AnyTimes().Return([]string{}, nil),
276266
client.EXPECT().ListPluginsWithFilters(gomock.Any(), gomock.Any(), gomock.Any(),
277267
gomock.Any()).AnyTimes().Return([]string{}, nil),
@@ -349,9 +339,6 @@ func TestENITrunkingCapabilitiesUnix(t *testing.T) {
349339
client.EXPECT().SupportedVersions().Return([]dockerclient.DockerVersion{
350340
dockerclient.Version_1_17,
351341
}),
352-
client.EXPECT().KnownVersions().Return([]dockerclient.DockerVersion{
353-
dockerclient.Version_1_17,
354-
}),
355342
cniClient.EXPECT().Version(ecscni.VPCENIPluginName).Return("v1", nil),
356343
cniClient.EXPECT().Version(ecscni.ECSBranchENIPluginName).Return("v2", nil),
357344
mockMobyPlugins.EXPECT().Scan().AnyTimes().Return([]string{}, nil),
@@ -444,9 +431,6 @@ func TestNoENITrunkingCapabilitiesUnix(t *testing.T) {
444431
client.EXPECT().SupportedVersions().Return([]dockerclient.DockerVersion{
445432
dockerclient.Version_1_17,
446433
}),
447-
client.EXPECT().KnownVersions().Return([]dockerclient.DockerVersion{
448-
dockerclient.Version_1_17,
449-
}),
450434
cniClient.EXPECT().Version(ecscni.VPCENIPluginName).Return("v1", nil),
451435
mockMobyPlugins.EXPECT().Scan().AnyTimes().Return([]string{}, nil),
452436
client.EXPECT().ListPluginsWithFilters(gomock.Any(), gomock.Any(), gomock.Any(),
@@ -527,9 +511,6 @@ func TestPIDAndIPCNamespaceSharingCapabilitiesUnix(t *testing.T) {
527511
client.EXPECT().SupportedVersions().Return([]dockerclient.DockerVersion{
528512
dockerclient.Version_1_17,
529513
}),
530-
client.EXPECT().KnownVersions().Return([]dockerclient.DockerVersion{
531-
dockerclient.Version_1_17,
532-
}),
533514
mockMobyPlugins.EXPECT().Scan().AnyTimes().Return([]string{}, nil),
534515
client.EXPECT().ListPluginsWithFilters(gomock.Any(), gomock.Any(), gomock.Any(),
535516
gomock.Any()).AnyTimes().Return([]string{}, nil),
@@ -606,9 +587,6 @@ func TestPIDAndIPCNamespaceSharingCapabilitiesNoPauseContainer(t *testing.T) {
606587
client.EXPECT().SupportedVersions().Return([]dockerclient.DockerVersion{
607588
dockerclient.Version_1_17,
608589
}),
609-
client.EXPECT().KnownVersions().Return([]dockerclient.DockerVersion{
610-
dockerclient.Version_1_17,
611-
}),
612590
mockMobyPlugins.EXPECT().Scan().AnyTimes().Return([]string{}, nil),
613591
client.EXPECT().ListPluginsWithFilters(gomock.Any(), gomock.Any(), gomock.Any(),
614592
gomock.Any()).AnyTimes().Return([]string{}, nil),
@@ -683,9 +661,6 @@ func TestAppMeshCapabilitiesUnix(t *testing.T) {
683661
client.EXPECT().SupportedVersions().Return([]dockerclient.DockerVersion{
684662
dockerclient.Version_1_17,
685663
}),
686-
client.EXPECT().KnownVersions().Return([]dockerclient.DockerVersion{
687-
dockerclient.Version_1_17,
688-
}),
689664
mockMobyPlugins.EXPECT().Scan().AnyTimes().Return([]string{}, nil),
690665
client.EXPECT().ListPluginsWithFilters(gomock.Any(), gomock.Any(), gomock.Any(),
691666
gomock.Any()).AnyTimes().Return([]string{}, nil),
@@ -769,9 +744,6 @@ func TestTaskEIACapabilitiesNoOptimizedCPU(t *testing.T) {
769744
client.EXPECT().SupportedVersions().Return([]dockerclient.DockerVersion{
770745
dockerclient.Version_1_17,
771746
}),
772-
client.EXPECT().KnownVersions().Return([]dockerclient.DockerVersion{
773-
dockerclient.Version_1_17,
774-
}),
775747
mockMobyPlugins.EXPECT().Scan().AnyTimes().Return([]string{}, nil),
776748
client.EXPECT().ListPluginsWithFilters(gomock.Any(), gomock.Any(), gomock.Any(),
777749
gomock.Any()).AnyTimes().Return([]string{}, nil),
@@ -828,9 +800,6 @@ func TestTaskEIACapabilitiesWithOptimizedCPU(t *testing.T) {
828800
client.EXPECT().SupportedVersions().Return([]dockerclient.DockerVersion{
829801
dockerclient.Version_1_17,
830802
}),
831-
client.EXPECT().KnownVersions().Return([]dockerclient.DockerVersion{
832-
dockerclient.Version_1_17,
833-
}),
834803
mockMobyPlugins.EXPECT().Scan().AnyTimes().Return([]string{}, nil),
835804
client.EXPECT().ListPluginsWithFilters(gomock.Any(), gomock.Any(), gomock.Any(),
836805
gomock.Any()).AnyTimes().Return([]string{}, nil),
@@ -884,9 +853,6 @@ func TestCapabilitiesUnix(t *testing.T) {
884853
client.EXPECT().SupportedVersions().Return([]dockerclient.DockerVersion{
885854
dockerclient.Version_1_17,
886855
}),
887-
client.EXPECT().KnownVersions().Return([]dockerclient.DockerVersion{
888-
dockerclient.Version_1_17,
889-
}),
890856
mockMobyPlugins.EXPECT().Scan().AnyTimes().Return([]string{}, nil),
891857
client.EXPECT().ListPluginsWithFilters(gomock.Any(), gomock.Any(), gomock.Any(),
892858
gomock.Any()).AnyTimes().Return([]string{}, nil),
@@ -969,9 +935,6 @@ func TestFirelensConfigCapabilitiesUnix(t *testing.T) {
969935
client.EXPECT().SupportedVersions().Return([]dockerclient.DockerVersion{
970936
dockerclient.Version_1_17,
971937
}),
972-
client.EXPECT().KnownVersions().Return([]dockerclient.DockerVersion{
973-
dockerclient.Version_1_17,
974-
}),
975938
mockMobyPlugins.EXPECT().Scan().AnyTimes().Return([]string{}, nil),
976939
client.EXPECT().ListPluginsWithFilters(gomock.Any(), gomock.Any(), gomock.Any(),
977940
gomock.Any()).AnyTimes().Return([]string{}, nil),

0 commit comments

Comments
 (0)