jenkinsci / amazon-ecs-plugin

Amazon EC2 Container Service Plugin for Jenkins
https://plugins.jenkins.io/amazon-ecs
MIT License
192 stars 226 forks source link

On amazon-ecs-plugin version 1.46, jenkins cannot start any jenkins agent on aws fargate. #298

Closed qalinn closed 1 year ago

qalinn commented 1 year ago

Jenkins and plugins versions report

Environment ```text Jenkins: 2.375.1 OS: Linux - 4.14.294-220.533.amzn2.x86_64 --- ace-editor:1.1 amazon-ecs:1.46 antisamy-markup-formatter:155.v795fb_8702324 apache-httpcomponents-client-4-api:4.5.13-138.v4e7d9a_7b_a_e61 atlassian-jira-software-cloud:1.4.5 authentication-tokens:1.4 aws-credentials:191.vcb_f183ce58b_9 aws-java-sdk:1.12.287-357.vf82d85a_6eefd aws-java-sdk-cloudformation:1.12.287-357.vf82d85a_6eefd aws-java-sdk-codebuild:1.12.287-357.vf82d85a_6eefd aws-java-sdk-ec2:1.12.287-357.vf82d85a_6eefd aws-java-sdk-ecr:1.12.287-357.vf82d85a_6eefd aws-java-sdk-ecs:1.12.287-357.vf82d85a_6eefd aws-java-sdk-efs:1.12.287-357.vf82d85a_6eefd aws-java-sdk-elasticbeanstalk:1.12.287-357.vf82d85a_6eefd aws-java-sdk-iam:1.12.287-357.vf82d85a_6eefd aws-java-sdk-logs:1.12.287-357.vf82d85a_6eefd aws-java-sdk-minimal:1.12.287-357.vf82d85a_6eefd aws-java-sdk-sns:1.12.287-357.vf82d85a_6eefd aws-java-sdk-sqs:1.12.287-357.vf82d85a_6eefd aws-java-sdk-ssm:1.12.287-357.vf82d85a_6eefd blueocean-commons:1.25.8 blueocean-core-js:1.25.8 blueocean-github-pipeline:1.25.8 blueocean-jwt:1.25.8 blueocean-pipeline-api-impl:1.25.8 blueocean-pipeline-scm-api:1.25.8 blueocean-rest:1.25.8 blueocean-rest-impl:1.25.8 blueocean-web:1.25.8 bootstrap5-api:5.2.1-3 bouncycastle-api:2.26 branch-api:2.1051.v9985666b_f6cc build-name-setter:2.2.0 build-timeout:1.25 build-timestamp:1.0.3 build-user-vars-plugin:1.9 caffeine-api:2.9.3-65.v6a_47d0f4d1fe checks-api:1.8.0 cloudbees-folder:6.800.v71307ca_b_986b command-launcher:1.2 commons-lang3-api:3.12.0-36.vd97de6465d5b_ commons-text-api:1.10.0-27.vb_fa_3896786a_7 config-file-provider:3.11.1 configuration-as-code:1569.vb_72405b_80249 credentials:1214.v1de940103927 credentials-binding:523.vd859a_4b_122e6 cucumber-reports:5.7.4 data-tables-api:1.12.1-4 display-url-api:2.3.6 docker-commons:1.21 docker-workflow:563.vd5d2e5c4007f durable-task:503.v57154d18d478 echarts-api:5.4.0-1 email-ext:2.92 envinject:2.892.v25453b_80e595 envinject-api:1.199.v3ce31253ed13 favorite:2.4.1 font-awesome-api:6.2.1-1 git:4.14.1 git-client:3.13.1 github:1.36.0 github-api:1.303-400.v35c2d8258028 github-branch-source:1696.v3a_7603564d04 github-oauth:0.39 h2-api:1.4.199 htmlpublisher:1.31 instance-identity:142.v04572ca_5b_265 ionicons-api:31.v4757b_6987003 jackson2-api:2.14.1-313.v504cdd45c18b jacoco:3.3.2 jakarta-activation-api:2.0.1-2 jakarta-mail-api:2.0.1-2 javadoc:226.v71211feb_e7e9 javax-activation-api:1.2.0-5 javax-mail-api:1.6.2-5 jaxb:2.3.7-1 jdk-tool:1.0 jenkins-design-language:1.25.8 jersey2-api:2.37-1 jira:3.8 jira-steps:2.0.141.vd0c6e6dc83f0 jjwt-api:0.11.5-77.v646c772fddb_0 job-dsl:1.81 jquery3-api:3.6.1-2 jsch:0.1.55.61.va_e9ee26616e7 junit:1166.va_436e268e972 kubernetes-cli:1.10.3 kubernetes-client-api:5.12.2-193.v26a_6078f65a_9 kubernetes-credentials:0.9.0 lockable-resources:1069.v726298f53f8c mailer:438.v02c7f0a_12fa_4 matrix-auth:3.1.5 matrix-project:785.v06b_7f47b_c631 maven-plugin:3.20 momentjs:1.1.1 nodejs:1.4.2 okhttp-api:4.9.3-108.v0feda04578cf pam-auth:1.10 parameterized-trigger:2.45 pipeline-aws:1.43 pipeline-build-step:2.18 pipeline-github-lib:38.v445716ea_edda_ pipeline-graph-analysis:195.v5812d95a_a_2f9 pipeline-groovy-lib:621.vb_44ce045b_582 pipeline-input-step:466.v6d0a_5df34f81 pipeline-maven:1239.v08f725b_927d9 pipeline-milestone-step:101.vd572fef9d926 pipeline-model-api:2.2118.v31fd5b_9944b_5 pipeline-model-definition:2.2118.v31fd5b_9944b_5 pipeline-model-extensions:2.2118.v31fd5b_9944b_5 pipeline-rest-api:2.28 pipeline-stage-step:296.v5f6908f017a_5 pipeline-stage-tags-metadata:2.2118.v31fd5b_9944b_5 pipeline-stage-view:2.28 pipeline-utility-steps:2.14.0 plain-credentials:139.ved2b_9cf7587b plugin-util-api:2.20.0 popper2-api:2.11.6-2 postgresql-api:42.3.3 promoted-builds:892.vd6219fc0a_efb pubsub-light:1.17 purge-job-history:1.6 resource-disposer:0.20 scm-api:621.vda_a_b_055e58f7 script-security:1218.v39ca_7f7ed0a_c slack:631.v40deea_40323b snakeyaml-api:1.33-90.v80dcb_3814d35 sonar:2.15 ssh-credentials:305.v8f4381501156 ssh-slaves:2.854.v7fd446b_337c9 sshd:3.236.ved5e1b_cb_50b_2 structs:324.va_f5d6774f3a_d timestamper:1.21 token-macro:321.vd7cc1f2a_52c8 trilead-api:2.84.v72119de229b_7 uno-choice:2.6.4 variant:59.vf075fe829ccb view-job-filters:2.3 workflow-aggregator:590.v6a_d052e5a_a_b_5 workflow-api:1200.v8005c684b_a_c6 workflow-basic-steps:994.vd57e3ca_46d24 workflow-cps:3536.vb_8a_6628079d5 workflow-durable-task-step:1217.v38306d8fa_b_5c workflow-job:1254.v3f64639b_11dd workflow-multibranch:716.vc692a_e52371b_ workflow-scm-step:400.v6b_89a_1317c9a_ workflow-step-api:639.v6eca_cd8c04a_a_ workflow-support:839.v35e2736cfd5c ws-cleanup:0.43 ```

What Operating System are you using (both controller, and any agents involved in the problem)?

amazon linux

Reproduction steps

  1. Try to start a new jenkins agent using ecs-cloud plugin.
  2. Configure properly Ecs agent templates form.

Expected Results

Jenkins is launching jenkins agent according with the template.

Actual Results

Jenkins is failing to launch jenkins agent and throws the following error: Dec 05, 2022 11:32:59 AM INFO com.cloudbees.jenkins.plugins.amazonecs.ECSCloud provision Asked to provision 59 agent(s) for: java-17 Dec 05, 2022 11:32:59 AM INFO com.cloudbees.jenkins.plugins.amazonecs.ECSCloud provision Will provision ecs-cloud-java-17-p93cp, for label: java-17 Dec 05, 2022 11:32:59 AM SEVERE hudson.triggers.SafeTimerTask run Timer task hudson.slaves.NodeProvisioner$NodeProvisionerInvoker@7545234b failed java.lang.IllegalArgumentException at hudson.slaves.NodeProvisioner$PlannedNode.(NodeProvisioner.java:102) at com.cloudbees.jenkins.plugins.amazonecs.ECSCloud.provision(ECSCloud.java:283) at com.cloudbees.jenkins.plugins.amazonecs.ECSProvisioningStrategy.apply(ECSProvisioningStrategy.java:65) at hudson.slaves.NodeProvisioner.update(NodeProvisioner.java:325) at hudson.slaves.NodeProvisioner$NodeProvisionerInvoker.doRun(NodeProvisioner.java:823) at hudson.triggers.SafeTimerTask.run(SafeTimerTask.java:94) at jenkins.security.ImpersonatingScheduledExecutorService$1.run(ImpersonatingScheduledExecutorService.java:69) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829)

Anything else?

Is working fine with 1.41

squalou commented 1 year ago

Hi @qalinn

any idea how you solved this?

I personally faced the same issue and rolled back to 1.41 yet no idea why this issue is closed.

qalinn commented 1 year ago

Hello @squalou!

you must configure numExecutors field at least 1. Please see my configs: ` ``` clouds:

squalou commented 1 year ago

Thank you ! I suspected something like that after reading the code change - yet there's supposed to be a "default value" set to 1.

I'll fix my setup asap, thank you again !

squalou commented 1 year ago

Ok, it was hidden in the interface under "advanced" parameters, found it, set 1, everything is ok now. Thanks again!