Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-70372

Instance cap configuration not honored for spot insances

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • ec2-plugin
    • None

      The instance cap for an AMI configuration is ignored when spot instances turned on, causing EC2 plugin to create new spots instances for jobs in queue above the instance cap limit instead of keeping the number of agents (spot and on-demand) for the AMI configuration up to the instance cap limit.

      When on-demand instances are used (e.g spot instances off), the instance cap is honored by the EC2 Plugin.

      Our current workaround is to turn off the spot instances option until this issue is fixed.

       

      How to recreate:

      1. Turn on spot instances option on Cloud configuration, and set the instance cap limit for that configuration to 2.
      2. Create a pipeline job that runs sleep 120 in 4 parallel stages, using the agent configuration created in step 1.

      3. Run the job and check the Build executor staut on the main Jenkins page. If spot instances are available, Jenkins will start 4 agents, above the instance cap limit of 2.

      Example pipeline job for #2:

      pipeline {
          agent none
          
          stages {
              stage("run") {
                  parallel {
                      stage("1") {
                          agent { label "mylabel" }
                          steps {
                              sh "sleep 120"
                          }
                      }
                      stage("2") {
                          agent { label "mylabel" }
                          steps {
                              sh "sleep 120"
                          }
                      }
                      stage("3") {
                          agent { label "mylabel" }
                          steps {
                              sh "sleep 120"
                          }
                     }
                      stage("4") {
                          agent { label "mylabel" }
                          steps {
                              sh "sleep 120"
                          }
                      }
                  }
              }
          }
      } 

          [JENKINS-70372] Instance cap configuration not honored for spot insances

          Yaniv created issue -
          Yaniv made changes -
          Environment Original: Jenkins: 2.361.2
          OS: Linux - 5.15.0-1022-aws
          ---
          PrioritySorter:4.1.0
          ace-editor:1.1
          amazon-ecs:1.46
          ansicolor:1.0.2
          ant:481.v7b_09e538fcca
          antisamy-markup-formatter:155.v795fb_8702324
          apache-httpcomponents-client-4-api:4.5.13-138.v4e7d9a_7b_a_e61
          artifactory:3.17.4
          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:1.25.8
          blueocean-autofavorite:1.2.5
          blueocean-bitbucket-pipeline:1.25.8
          blueocean-commons:1.25.8
          blueocean-config:1.25.8
          blueocean-core-js:1.25.8
          blueocean-dashboard:1.25.8
          blueocean-display-url:2.4.1
          blueocean-events:1.25.8
          blueocean-git-pipeline:1.25.8
          blueocean-github-pipeline:1.25.8
          blueocean-i18n:1.25.8
          blueocean-jwt:1.25.8
          blueocean-personalization:1.25.8
          blueocean-pipeline-api-impl:1.25.8
          blueocean-pipeline-editor: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
          bootstrap4-api:4.6.0-5
          bootstrap5-api:5.2.1-3
          bouncycastle-api:2.26
          branch-api:2.1051.v9985666b_f6cc
          build-time-blame:64.vd8f4018a2bbe
          caffeine-api:2.9.3-65.v6a_47d0f4d1fe
          checks-api:1.8.0
          cloud-stats:254.v47891b_b_5b_6f6
          cloudbees-bitbucket-branch-source:791.vb_eea_a_476405b
          cloudbees-folder:6.758.vfd75d09eea_a_1
          cluster-stats:0.4.6
          cmakebuilder:4.1.1
          command-launcher:90.v669d7ccb_7c31
          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
          copyartifact:1.48
          credentials:1189.vf61b_a_5e2f62e
          credentials-binding:523.vd859a_4b_122e6
          dashboard-view:2.466.vdfefd95a_b_f8d
          data-tables-api:1.12.1-4
          display-url-api:2.3.6
          dtkit-api:3.0.2
          durable-task:503.v57154d18d478
          ec2:2.0.4
          ec2-fleet:2.5.2
          echarts-api:5.4.0-1
          email-ext:2.92
          extended-read-permission:3.2
          external-monitor-job:203.v683c09d993b_9
          favorite:2.4.1
          font-awesome-api:6.2.1-1
          gerrit-code-review:0.4.7
          gerrit-trigger:2.38.0
          git:4.14.1
          git-client:3.13.0
          git-server:99.va_0826a_b_cdfa_d
          github:1.36.0
          github-api:1.303-400.v35c2d8258028
          github-branch-source:1696.v3a_7603564d04
          gradle:2.1.1
          handlebars:3.0.8
          handy-uri-templates-2-api:2.1.8-22.v77d5b_75e6953
          htmlpublisher:1.31
          instance-identity:116.vf8f487400980
          ionicons-api:31.v4757b_6987003
          ivy:2.4
          jackson2-api:2.14.1-313.v504cdd45c18b
          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-8
          jaxb:2.3.7-1
          jdk-tool:63.v62d2fd4b_4793
          jenkins-design-language:1.25.8
          jjwt-api:0.11.5-77.v646c772fddb_0
          jobcacher:319.v8342b_21e1845
          jqs-monitoring:1.4
          jquery3-api:3.6.1-2
          jsch:0.1.55.61.va_e9ee26616e7
          junit:1166.va_436e268e972
          label-linked-jobs:6.0.1
          ldap:2.12
          lockable-resources:1069.v726298f53f8c
          log-parser:2.3.0
          mailer:438.v02c7f0a_12fa_4
          matrix-auth:3.1.5
          matrix-project:785.v06b_7f47b_c631
          maven-plugin:3.20
          mina-sshd-api-common:2.9.2-50.va_0e1f42659a_a
          mina-sshd-api-core:2.9.2-50.va_0e1f42659a_a
          momentjs:1.1.1
          monitoring:1.91.0
          node-iterator-api:49.v58a_8b_35f8363
          okhttp-api:4.9.3-108.v0feda04578cf
          pam-auth:1.10
          periodicbackup:1.9
          pipeline-build-step:2.18
          pipeline-graph-analysis:195.v5812d95a_a_2f9
          pipeline-groovy-lib:621.vb_44ce045b_582
          pipeline-input-step:466.v6d0a_5df34f81
          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-timeline:1.0.3
          plain-credentials:139.ved2b_9cf7587b
          plugin-util-api:2.20.0
          popper-api:1.16.1-3
          popper2-api:2.11.6-2
          project-build-times:1.2.1
          pubsub-light:1.17
          rebuild:1.34
          s3:0.12.3436.v674b_46258039
          scm-api:621.vda_a_b_055e58f7
          script-security:1218.v39ca_7f7ed0a_c
          skip-certificate-check:1.0
          snakeyaml-api:1.33-90.v80dcb_3814d35
          sse-gateway:1.26
          ssh-agent:295.v9ca_a_1c7cc3a_a_
          ssh-credentials:305.v8f4381501156
          ssh-slaves:2.854.v7fd446b_337c9
          sshd:3.270.vb_a_e71e64c287
          structs:324.va_f5d6774f3a_d
          timestamper:1.21
          token-macro:321.vd7cc1f2a_52c8
          trilead-api:2.84.v72119de229b_7
          variant:59.vf075fe829ccb
          windows-slaves:1.8.1
          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
          xunit:3.1.2
          New: Jenkins: 2.361.2
          ec2-plugin: 2.0.4
          OS: Linux - 5.15.0-1022-aws
          ---
          PrioritySorter:4.1.0
          ace-editor:1.1
          amazon-ecs:1.46
          ansicolor:1.0.2
          ant:481.v7b_09e538fcca
          antisamy-markup-formatter:155.v795fb_8702324
          apache-httpcomponents-client-4-api:4.5.13-138.v4e7d9a_7b_a_e61
          artifactory:3.17.4
          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:1.25.8
          blueocean-autofavorite:1.2.5
          blueocean-bitbucket-pipeline:1.25.8
          blueocean-commons:1.25.8
          blueocean-config:1.25.8
          blueocean-core-js:1.25.8
          blueocean-dashboard:1.25.8
          blueocean-display-url:2.4.1
          blueocean-events:1.25.8
          blueocean-git-pipeline:1.25.8
          blueocean-github-pipeline:1.25.8
          blueocean-i18n:1.25.8
          blueocean-jwt:1.25.8
          blueocean-personalization:1.25.8
          blueocean-pipeline-api-impl:1.25.8
          blueocean-pipeline-editor: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
          bootstrap4-api:4.6.0-5
          bootstrap5-api:5.2.1-3
          bouncycastle-api:2.26
          branch-api:2.1051.v9985666b_f6cc
          build-time-blame:64.vd8f4018a2bbe
          caffeine-api:2.9.3-65.v6a_47d0f4d1fe
          checks-api:1.8.0
          cloud-stats:254.v47891b_b_5b_6f6
          cloudbees-bitbucket-branch-source:791.vb_eea_a_476405b
          cloudbees-folder:6.758.vfd75d09eea_a_1
          cluster-stats:0.4.6
          cmakebuilder:4.1.1
          command-launcher:90.v669d7ccb_7c31
          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
          copyartifact:1.48
          credentials:1189.vf61b_a_5e2f62e
          credentials-binding:523.vd859a_4b_122e6
          dashboard-view:2.466.vdfefd95a_b_f8d
          data-tables-api:1.12.1-4
          display-url-api:2.3.6
          dtkit-api:3.0.2
          durable-task:503.v57154d18d478
          ec2:2.0.4
          ec2-fleet:2.5.2
          echarts-api:5.4.0-1
          email-ext:2.92
          extended-read-permission:3.2
          external-monitor-job:203.v683c09d993b_9
          favorite:2.4.1
          font-awesome-api:6.2.1-1
          gerrit-code-review:0.4.7
          gerrit-trigger:2.38.0
          git:4.14.1
          git-client:3.13.0
          git-server:99.va_0826a_b_cdfa_d
          github:1.36.0
          github-api:1.303-400.v35c2d8258028
          github-branch-source:1696.v3a_7603564d04
          gradle:2.1.1
          handlebars:3.0.8
          handy-uri-templates-2-api:2.1.8-22.v77d5b_75e6953
          htmlpublisher:1.31
          instance-identity:116.vf8f487400980
          ionicons-api:31.v4757b_6987003
          ivy:2.4
          jackson2-api:2.14.1-313.v504cdd45c18b
          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-8
          jaxb:2.3.7-1
          jdk-tool:63.v62d2fd4b_4793
          jenkins-design-language:1.25.8
          jjwt-api:0.11.5-77.v646c772fddb_0
          jobcacher:319.v8342b_21e1845
          jqs-monitoring:1.4
          jquery3-api:3.6.1-2
          jsch:0.1.55.61.va_e9ee26616e7
          junit:1166.va_436e268e972
          label-linked-jobs:6.0.1
          ldap:2.12
          lockable-resources:1069.v726298f53f8c
          log-parser:2.3.0
          mailer:438.v02c7f0a_12fa_4
          matrix-auth:3.1.5
          matrix-project:785.v06b_7f47b_c631
          maven-plugin:3.20
          mina-sshd-api-common:2.9.2-50.va_0e1f42659a_a
          mina-sshd-api-core:2.9.2-50.va_0e1f42659a_a
          momentjs:1.1.1
          monitoring:1.91.0
          node-iterator-api:49.v58a_8b_35f8363
          okhttp-api:4.9.3-108.v0feda04578cf
          pam-auth:1.10
          periodicbackup:1.9
          pipeline-build-step:2.18
          pipeline-graph-analysis:195.v5812d95a_a_2f9
          pipeline-groovy-lib:621.vb_44ce045b_582
          pipeline-input-step:466.v6d0a_5df34f81
          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-timeline:1.0.3
          plain-credentials:139.ved2b_9cf7587b
          plugin-util-api:2.20.0
          popper-api:1.16.1-3
          popper2-api:2.11.6-2
          project-build-times:1.2.1
          pubsub-light:1.17
          rebuild:1.34
          s3:0.12.3436.v674b_46258039
          scm-api:621.vda_a_b_055e58f7
          script-security:1218.v39ca_7f7ed0a_c
          skip-certificate-check:1.0
          snakeyaml-api:1.33-90.v80dcb_3814d35
          sse-gateway:1.26
          ssh-agent:295.v9ca_a_1c7cc3a_a_
          ssh-credentials:305.v8f4381501156
          ssh-slaves:2.854.v7fd446b_337c9
          sshd:3.270.vb_a_e71e64c287
          structs:324.va_f5d6774f3a_d
          timestamper:1.21
          token-macro:321.vd7cc1f2a_52c8
          trilead-api:2.84.v72119de229b_7
          variant:59.vf075fe829ccb
          windows-slaves:1.8.1
          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
          xunit:3.1.2

            thoulen FABRIZIO MANFREDI
            yanivyam Yaniv
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: