docker -workflow-plugin (docker -pipeline-plugin) java .io.IOException: сбой rm-контейнера - PullRequest
0 голосов
/ 19 июня 2020

Можно ли настроить процедуру очистки docker -workflow-plugin / docker -pipeline-plugin? Возможно, оставить контейнер и разрешить конвейерному коду обрабатывать его удаление в блоке повтора?

У меня есть задание, которое запускает последовательные группы из 30 этих предложений на 64 узлах, работающих в кластере ECS с 8 экземплярами EC2 и один сбой во время очистки

                docker.image(selectedNodeLabel).inside {
                    build_kernel_module(version, distro, test, type)
                }

Ошибка

java.io.IOException: Failed to rm container 'dd589a813fec46b7dc97fed273c4ddd09183a561ff8c9d584ea7b299d606d1fb'.
at org.jenkinsci.plugins.docker.workflow.client.DockerClient.rm(DockerClient.java:191)
at org.jenkinsci.plugins.docker.workflow.client.DockerClient.stop(DockerClient.java:178)
at org.jenkinsci.plugins.docker.workflow.WithContainerStep.destroy(WithContainerStep.java:109)
at org.jenkinsci.plugins.docker.workflow.WithContainerStep.access$400(WithContainerStep.java:76)
at org.jenkinsci.plugins.docker.workflow.WithContainerStep$Callback.finished(WithContainerStep.java:390)
at org.jenkinsci.plugins.workflow.steps.BodyExecutionCallback$TailCall.onSuccess(BodyExecutionCallback.java:118)
at org.jenkinsci.plugins.workflow.cps.CpsBodyExecution$SuccessAdapter.receive(CpsBodyExecution.java:377)
at com.cloudbees.groovy.cps.Outcome.resumeFrom(Outcome.java:73)
at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:166)
at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:163)
at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:163)
at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$001(SandboxContinuable.java:18)
at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:51)
at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:185)
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:400)
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$400(CpsThreadGroup.java:96)
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:312)
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:276)
at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:67)
at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:131)
at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:59)

1 Ответ

0 голосов
/ 25 июня 2020

Наше дело, похоже, было вызвано работой по уборке jenkins ecs, которая периодически очищала несуществующие контейнеры / тома и т. Д. c. Мы запускаем это, потому что у нас есть несколько заданий, которые взаимодействуют с sock docker для хоста ecs, чтобы запустить свои собственные тестовые среды. Если задание жестоко прервано, очистка не запускается. Мы запускаем docker чистку системы, удаляем остановленные контейнеры и т.д. c. Предполагается, что задание очищает все, что старше 1 дня.

После остановки задания в этом кластере проблемы исчезли.

...